[Commits] r2621 - sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree
commits at geoext.org
commits at geoext.org
Tue Mar 15 16:09:56 CET 2011
Author: edube
Date: 2011-03-15 16:09:56 +0100 (Tue, 15 Mar 2011)
New Revision: 2621
Modified:
sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
Log:
Fix instanciation of WMSLegend/VectorLegend objects in LayerTreeBuilder (wrong legend object type can be created if WMS and Vector layers are part of the same group node)
Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js 2011-03-14 14:04:01 UTC (rev 2620)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js 2011-03-15 15:09:56 UTC (rev 2621)
@@ -146,6 +146,8 @@
},
addGroupNodes: function(groups, parentNode, groupString, layerRecord){
+ var that = this;
+
var group = groups.shift();
var childNode = this.getNodeByText(parentNode, group);
var layer = layerRecord.getLayer();
@@ -166,56 +168,29 @@
return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
}
}
- // WMS and Vector layers can have legend nodes if according
- // property is enabled
- else if (layer instanceof OpenLayers.Layer.WMS
- && this.wmsLegendNodes)
- {
+ else {
createNode = function(attr) {
var layerRecord = this.store.getByLayer(attr.layer);
var layer = layerRecord.getLayer();
- attr.component = {
- xtype: "gx_wmslegend",
- layerRecord: layerRecord,
- showTitle: false,
- hidden: !layer.visibility,
- cls: "gx-layertreebuilder-legend"
- };
- if (this.store.treeBuilder.checkableLeafGroupNodes &&
- !layer.isBaseLayer) {
- Ext.apply(attr, {
- listeners: {
- checkchange: this.store.treeBuilder.checkChange
- }
- });
+ // WMS and Vector layers can have legend nodes if according
+ // property is enabled
+ if (layer instanceof OpenLayers.Layer.WMS && that.wmsLegendNodes) {
+ attr.component = {
+ xtype: "gx_wmslegend",
+ layerRecord: layerRecord,
+ showTitle: false,
+ hidden: !layer.visibility,
+ cls: "gx-layertreebuilder-legend"
+ };
+ } else if (layer instanceof OpenLayers.Layer.Vector && that.vectorLegendNodes) {
+ attr.component = {
+ xtype: "gx_vectorlegend",
+ layerRecord: layerRecord,
+ showTitle: false,
+ hidden: !layer.visibility,
+ cls: "gx-layertreebuilder-legend"
+ };
}
- return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
- }
- } else if (layer instanceof OpenLayers.Layer.Vector
- && this.vectorLegendNodes)
- {
- createNode = function(attr) {
- var layerRecord = this.store.getByLayer(attr.layer);
- var layer = layerRecord.getLayer();
- attr.component = {
- xtype: "gx_vectorlegend",
- layerRecord: layerRecord,
- showTitle: false,
- hidden: !layer.visibility,
- cls: "gx-layertreebuilder-legend"
- };
- if (this.store.treeBuilder.checkableLeafGroupNodes &&
- !layer.isBaseLayer) {
- Ext.apply(attr, {
- listeners: {
- checkchange: this.store.treeBuilder.checkChange
- }
- });
- }
- return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
- }
- } else {
- createNode = function(attr) {
if (this.store.treeBuilder.checkableContainerGroupNodes &&
this.store.treeBuilder.checkableLeafGroupNodes &&
!layer.isBaseLayer) {
More information about the Commits
mailing list