[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