[Commits] r1246 - in core/trunk/geoext: lib/GeoExt/widgets/tree tests/lib/GeoExt/widgets/tree

commits at geoext.org commits at geoext.org
Fri Jul 10 14:37:25 CEST 2009


Author: bartvde
Date: 2009-07-10 14:37:25 +0200 (Fri, 10 Jul 2009)
New Revision: 1246

Modified:
   core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html
Log:
LayerNode should not change defaults on the UI, r=ahocevar, (closes #114)

Modified: core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js	2009-07-10 07:15:35 UTC (rev 1245)
+++ core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js	2009-07-10 12:37:25 UTC (rev 1246)
@@ -30,8 +30,11 @@
      *  :param bulkRender: ``Boolean``
      */
     render: function(bulkRender) {
-        GeoExt.tree.LayerNodeUI.superclass.render.call(this, bulkRender);
         var a = this.node.attributes;
+        if (a.checked === undefined) {
+            a.checked = this.node.layer.getVisibility();
+        }
+        GeoExt.tree.LayerNodeUI.superclass.render.call(this, bulkRender);
         if (a.radioGroup && this.radio === null) {
             this.radio = Ext.DomHelper.insertAfter(this.checkbox,
                 ['<input type="radio" class="gx-tree-layer-radio" name="',
@@ -168,9 +171,6 @@
         
         config.iconCls = typeof config.iconCls == "undefined" &&
             !config.children ? "layer-icon" : config.iconCls;
-        // checked status will be set by layer event, so setting it to false
-        // to always get the checkbox rendered
-        config.checked = false;
         
         this.defaultUI = this.defaultUI || GeoExt.tree.LayerNodeUI;
         this.addEvents(
@@ -223,10 +223,7 @@
                 }
                 
                 ui.show();
-                ui.toggleCheck(layer.getVisibility());
                 this.addVisibilityEventHandlers();
-                // set initial checked status
-                this.attributes.checked = layer.getVisibility();
             } else {
                 ui.hide();
             }

Modified: core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-07-10 07:15:35 UTC (rev 1245)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-07-10 12:37:25 UTC (rev 1246)
@@ -26,7 +26,7 @@
         
         function test_render(t) {
             
-            t.plan(7);
+            t.plan(8);
             
             var layer = new OpenLayers.Layer("foo");
             
@@ -57,7 +57,8 @@
             
             mapPanel.on("render", function() {
                 t.ok(node.layer === layer, "layer found on detected map panel");
-                
+
+                t.ok(node.ui.checkbox, "node has a checkbox");
                 t.ok(node.ui.radio, "node has a radio button");
                 // simulate a click event for testing the radiochange event
                 node.ui.onClick({getTarget: function() {return true}});



More information about the Commits mailing list