[Commits] r962 - in apps/opengeo/geoexplorer/trunk/lib: . GeoExplorer/Embed

commits at geoext.org commits at geoext.org
Tue Jun 2 22:30:25 CEST 2009


Author: sbenthall
Date: 2009-06-02 22:30:25 +0200 (Tue, 02 Jun 2009)
New Revision: 962

Modified:
   apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
   apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Embed/Embed.js
Log:
base layer handlers functionalized out, now working for the embed map


Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Embed/Embed.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Embed/Embed.js	2009-06-02 20:19:53 UTC (rev 961)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Embed/Embed.js	2009-06-02 20:30:25 UTC (rev 962)
@@ -79,6 +79,7 @@
         
         // create layer store
         this.layers = this.mapPanel.layers;
+        this.initLayerStoreHandlers();
 
         var addLayerButton = new Ext.Button({
             tooltip : "Add Layers",

Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js	2009-06-02 20:19:53 UTC (rev 961)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js	2009-06-02 20:30:25 UTC (rev 962)
@@ -286,51 +286,6 @@
         
         // create layer store
         this.layers = this.mapPanel.layers;
-
-        var prepareBackground = function(store, records, index){
- 
-           var backgroundChanged = function(evt){
-               var changedLayer = evt.object;
-                
-                if(changedLayer.getVisibility()){                    
-                    store.each(function(record){
-                        if(record.get("background") 
-                           && (record.get("layer") 
-                               != changedLayer)){
-                            record.get("layer").setVisibility(false);
-                        }
-                    });
-                } else {
-                    var visibleLayerIndex = store.findBy(function(record){
-                        return record.get("layer").getVisibility() 
-                            && record.get("background");
-                    })
-
-                    if(-1 == visibleLayerIndex){
-                        changedLayer.setVisibility(true);
-                    }
-                }
-            }
-            
-            var layer;
-            for(var i = 0; i < records.length; i++){
-                if(records[i].get("background")){
-                    layer = records[i].get("layer");
-                   
-                    layer.events.on({
-                        "visibilitychanged" : backgroundChanged
-                    });
-
-                    //to make sure only one visible background layer is set
-                    layer.events.triggerEvent("visibilitychanged");
-                }
-            }
-        };
-
-        this.layers.on({
-            "add" : prepareBackground,
-            scope: this
-        });
                        
         var addLayerButton = new Ext.Button({
             tooltip : "Add Layers",
@@ -510,6 +465,61 @@
             }
         });    
     },
+
+    initLayerStoreHandlers: function(){
+        if(!this.layers){
+            console.log("Can't initialize LayerStore handlers without a layer store");
+            return;
+        }
+
+        var prepareBackground = function(store, records, index){
+ 
+           var backgroundChanged = function(evt){
+               var changedLayer = evt.object;
+                
+                if(changedLayer.getVisibility()){                    
+                    store.each(function(record){
+                        if(record.get("background") 
+                           && (record.get("layer") 
+                               != changedLayer)){
+                            record.get("layer").setVisibility(false);
+                        }
+                    });
+                } else {
+                    var visibleLayerIndex = store.findBy(function(record){
+                        return record.get("layer").getVisibility() 
+                            && record.get("background");
+                    })
+
+                    if(-1 == visibleLayerIndex){
+                        changedLayer.setVisibility(true);
+                    }
+                }
+            }
+            
+            var layer;
+            for(var i = 0; i < records.length; i++){
+                if(records[i].get("background")){
+                    layer = records[i].get("layer");
+                   
+                    layer.events.on({
+                        "visibilitychanged" : backgroundChanged
+                    });
+
+                    //to make sure only one visible background layer is set
+                    layer.events.triggerEvent("visibilitychanged");
+                }
+            }
+        };
+
+        this.layers.on({
+            "add" : prepareBackground,
+            scope: this
+        });
+
+    },
+
+
     
     /** private: method[activate]
      * Activate the application.  Call after application is configured.



More information about the Commits mailing list