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

commits at geoext.org commits at geoext.org
Mon Nov 16 12:11:03 CET 2009


Author: ahocevar
Date: 2009-11-16 12:11:03 +0100 (Mon, 16 Nov 2009)
New Revision: 1458

Modified:
   core/trunk/geoext/lib/GeoExt/widgets/tree/LayerParamNode.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerParamNode.html
Log:
made checked attribute of LayerParamNode configurable. r=tschaub (closes 
#166)


Modified: core/trunk/geoext/lib/GeoExt/widgets/tree/LayerParamNode.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/tree/LayerParamNode.js	2009-11-16 08:48:09 UTC (rev 1457)
+++ core/trunk/geoext/lib/GeoExt/widgets/tree/LayerParamNode.js	2009-11-16 11:11:03 UTC (rev 1458)
@@ -110,7 +110,13 @@
         }
         this.layer = layer;
         this.allItems = this.getItems();
-        this.attributes.checked = layer.getVisibility();
+        
+        var visibility = layer.getVisibility();
+        this.attributes.checked = this.attributes.checked == null ?
+            visibility : this.attributes.checked;
+        if(this.attributes.checked !== visibility) {
+            this.onCheckChange(this, !visibility);
+        }
 
         this.addVisibilityEventHandlers();
         GeoExt.tree.LayerParamNode.superclass.render.apply(this, arguments);

Modified: core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerParamNode.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerParamNode.html	2009-11-16 08:48:09 UTC (rev 1457)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerParamNode.html	2009-11-16 11:11:03 UTC (rev 1458)
@@ -7,7 +7,7 @@
     
         <script>
             
-        function setupTree() {
+        function setupTree(layer1Checked) {
             var layer = new OpenLayers.Layer.WMS("Group", "http://localhost/wms", {
                  "LAYERS": ["layer1", "layer2"],
                  "CQL_FILTER": "city='Vienna' OR city='Graz'"
@@ -33,7 +33,8 @@
                         nodeType: "gx_layerparam",
                         layer: layer,
                         param: "LAYERS",
-                        item: "layer1"
+                        item: "layer1",
+                        checked: layer1Checked
                     }, {
                         nodeType: "gx_layerparam",
                         layer: layer,
@@ -86,14 +87,16 @@
         }
         
         function test_render(t) {
-            t.plan(3);
+            t.plan(5);
             
-            var panel = setupTree();
+            var panel = setupTree(true);
             var nodes = panel.getRootNode().childNodes;
             var layer = nodes[0].layer;
 
             t.ok(nodes[2].layer instanceof OpenLayers.Layer, "layer set from store.");
             t.eq(nodes[0].allItems, ["layer1", "layer2"], "allItems with set from array");
+            t.eq(nodes[0].attributes.checked, true, "checked attribute maintained correctly");
+            t.eq(layer.params.LAYERS, ["layer1"], "layer displayed with checked item");
             t.eq(nodes[2].allItems, ["city='Vienna'", "city='Graz'"], "allItems with custom delimiter set");
             
             panel.destroy();



More information about the Commits mailing list