Changeset 306


Ignore:
Timestamp:
03/31/09 20:21:12 (9 years ago)
Author:
dwins
Message:

Delegate the 'update when layer visibility changes' functionality to the GFI control; some jslint-inspired code cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js

    r305 r306  
    5151
    5252    /**
    53      * Property: wmsStore
    54      * {<GeoExt.data.WMSCapabilitiesStore>} A store of WMS Capabilities records from the url provided by configuration.
    55 
    56     /**
    57      * Property: toolbarItems
    58      * {Array} An array containing toolbar items suitable for passing as a tbar: property
    59      * on an Ext component
    60      */
    61     toolbarItems: null,
    62    
    63     /**
    6453     * Property: load
    6554     * Called at the end of construction.  This initiates the sequence that
     
    8170        // create the layers store
    8271        this.initLayers();
    83         this.initWMSStore();
    84 
    85         this.initMapControls();
    86         this.initToolbar();
     72
     73        var toolbarItems = this.initMapControlsAndToolbar();
    8774       
    8875        // place map in panel
     
    139126        var toolbar = new Ext.Toolbar({
    140127            region: 'north',
    141             items: this.toolbarItems
     128            items: toolbarItems
    142129        });
    143130
     
    169156                        transparent: true,
    170157                        format: "image/png"
    171                     })
     158                    });
    172159                }
    173160            },
     
    239226                handler: function() {
    240227                    win.close();
    241                 }
    242             }]
     228                })
     229            ],
     230            bbar: ["->",doneButton]
    243231        });
    244232
     
    246234    },
    247235
    248     initMapControls: function() {
    249         this.mapControls = {
     236    initMapControlsAndToolbar: function() {
     237        var mapControls = {
    250238            getFeatureInfo: new OpenLayers.Control.WMSGetFeatureInfo(this.initialConfig.ows, {
     239                queryVisible: true
    251240            })
    252241        };
    253242
    254         this.updateGFILayers();
    255 
    256         this.mapControls.getFeatureInfo.events.register("getfeatureinfo", this, this.displayPopup);
    257 
    258         for (var key in this.mapControls) {
    259             this.map.addControl(this.mapControls[key]);
     243        mapControls.getFeatureInfo.events.register("getfeatureinfo", this, this.displayPopup);
     244
     245        for (var key in mapControls) {
     246            this.map.addControl(mapControls[key]);
    260247        }
    261     },
    262 
    263     initToolbar: function() {
     248
    264249        var toolGroup = "toolGroup";
    265         this.toolbarItems = [
     250        var toolbarItems = [
    266251            new Ext.Button({
    267252                text: "GetFeatureInfo",
     
    270255                handler: function(toggled, item) {
    271256                    if (toggled){
    272                         this.mapControls.getFeatureInfo.activate();
     257                        mapControls.getFeatureInfo.activate();
    273258                    } else {
    274                         this.mapControls.getFeatureInfo.deactivate();
     259                        mapControls.getFeatureInfo.deactivate();
    275260                    }
    276261                },
     
    278263            })
    279264        ];
    280     },
    281 
    282     updateGFILayers: function() {
    283         var layers = [];
    284         for (var i = 0, len = this.map.layers.length; i < len; i++) {
    285             if (this.map.layers[i].params && this.map.layers[i].getVisibility()) {
    286                 layers.push(this.map.layers[i]);
    287             }
    288         }
    289 
    290         this.mapControls.getFeatureInfo.layers = layers;
     265
     266        return toolbarItems;
    291267    },
    292268
Note: See TracChangeset for help on using the changeset viewer.