[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