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

commits at geoext.org commits at geoext.org
Thu Oct 8 19:55:08 CEST 2009


Author: tschaub
Date: 2009-10-08 19:55:08 +0200 (Thu, 08 Oct 2009)
New Revision: 1392

Modified:
   core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html
Log:
Going with a compromise for layer nodes with regard to layer titles.  If you want the layer node to display the layer title, don't construct a node a text property.  If you don't want the node to be a view of the layer (and display any updated title), then construct the node with text.  r=me (closes #110)

Modified: core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js	2009-10-08 13:56:45 UTC (rev 1391)
+++ core/trunk/geoext/lib/GeoExt/widgets/tree/LayerNode.js	2009-10-08 17:55:08 UTC (rev 1392)
@@ -254,6 +254,9 @@
             layer: config.layer,
             layerStore: config.layerStore
         });
+        if (config.text) {
+            this.fixedText = true;
+        }
         GeoExt.tree.LayerNode.superclass.constructor.apply(this, arguments);
     },
 
@@ -404,9 +407,8 @@
      */
     onStoreUpdate: function(store, record, operation) {
     	var layer = record.get("layer");
-        if(this.layer == layer && record.isModified("title") &&
-                                    record.modified["title"] == this.text) {
-            this.setText(record.get("title"));
+        if(!this.fixedText && (this.layer == layer && this.text !== layer.name)) {
+            this.setText(layer.name);
         }
     },
 

Modified: core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-10-08 13:56:45 UTC (rev 1391)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-10-08 17:55:08 UTC (rev 1392)
@@ -151,7 +151,7 @@
         }
 
         function test_changelayername(t) {
-            t.plan(2);
+            t.plan(3);
 
             var layer = new OpenLayers.Layer("test");
 
@@ -166,13 +166,16 @@
             });
 
             var panel = new Ext.tree.TreePanel({
-                 root: node
+                root: node
             });
             panel.render(document.body);
 
             layer.setName("My new name");
             t.eq(node.text, "My new name", "Node is named 'My new name' after layer setName is called");
             
+            layer.setName("Second Name");
+            t.eq(node.text, "Second Name", "Layer name (title) can be set multiple times and the node respects it.");
+            
             node = new GeoExt.tree.LayerNode({
                 layer: "My new name",
                 layerStore: mapPanel.layers,



More information about the Commits mailing list