[Commits] r801 - sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets

commits at geoext.org commits at geoext.org
Mon May 18 09:35:31 CEST 2009


Author: bartvde
Date: 2009-05-18 09:35:31 +0200 (Mon, 18 May 2009)
New Revision: 801

Modified:
   sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js
Log:
only add label if there is a legend generator

Modified: sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js
===================================================================
--- sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js	2009-05-18 07:14:40 UTC (rev 800)
+++ sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js	2009-05-18 07:35:31 UTC (rev 801)
@@ -198,13 +198,16 @@
      *
      *  :param record: ``Ext.data.Record`` The record object from the layer
      *      store.
+     *
+     *  :return: ``Ext.Panel`` The created panel per layer
      */
     createLegendSubpanel: function(record) {
         var layer = record.get('layer');
-        var mainPanel = this.createMainPanel(record);
+        var mainPanel = null;
         // the default legend can be overridden by specifying a
         // legendURL property
         if (record.get('legendURL')) {
+            mainPanel = this.createMainPanel(record);
             var legend = new GeoExt.legend.Image({url:
                 record.get('legendURL')});
             mainPanel.add(legend);
@@ -212,6 +215,7 @@
             var legendGenerator = GeoExt.legend[layer.CLASS_NAME.replace(
                 'OpenLayers.Layer.', '')];
             if (legendGenerator) {
+                mainPanel = this.createMainPanel(record);
                 var legend = new legendGenerator({layer: layer});
                 mainPanel.add(legend);
             }
@@ -231,11 +235,13 @@
         // property to true
         var hideInLegend = record.get('hideInLegend');
         var legendSubpanel = this.createLegendSubpanel(record);
-        legendSubpanel.setVisible((layer && layer.getVisibility() && !hideInLegend));
-        if (this.ascending) {
-            this.add(legendSubpanel);
-        } else {
-            this.insert(0, legendSubpanel);
+        if (legendSubpanel !== null) {
+            legendSubpanel.setVisible((layer && layer.getVisibility() && !hideInLegend));
+            if (this.ascending) {
+                this.add(legendSubpanel);
+            } else {
+                this.insert(0, legendSubpanel);
+            }
         }
     },
 
@@ -244,6 +250,8 @@
      *
      *  :param record: ``Ext.data.Record`` The record object from the layer
      *      store.
+     *
+     *  :return: ``Ext.Panel`` The created main panel with a label.
      */
     createMainPanel: function(record) {
         var layer = record.get('layer');



More information about the Commits mailing list