[Commits] r2816 - sandbox/gxm/geoext/gxm/lib/GXM/widgets
commits at geoext.org
commits at geoext.org
Wed Aug 17 16:17:31 CEST 2011
Author: marcjansen
Date: 2011-08-17 16:17:30 +0200 (Wed, 17 Aug 2011)
New Revision: 2816
Modified:
sandbox/gxm/geoext/gxm/lib/GXM/widgets/MapPanel.js
Log:
[gxm]
- delete the layers-property on destroy
- compilation optiomization (local variable as alias for this)
Modified: sandbox/gxm/geoext/gxm/lib/GXM/widgets/MapPanel.js
===================================================================
--- sandbox/gxm/geoext/gxm/lib/GXM/widgets/MapPanel.js 2011-08-17 13:50:13 UTC (rev 2815)
+++ sandbox/gxm/geoext/gxm/lib/GXM/widgets/MapPanel.js 2011-08-17 14:17:30 UTC (rev 2816)
@@ -140,78 +140,76 @@
* Initializes the Component.
*/
initComponent: function(){
+ var me = this;
// set scroll to false just as the original Map-component of
// Sencha Touch does (Review BvdE).
- this.scroll = false;
+ me.scroll = false;
// check config-property map for an existing OpenLayers.Map-instance, a
// conf object for an OpenLayers.Map or null
- if ( !(this.map instanceof OpenLayers.Map) ) {
- var mapConf = Ext.applyIf(this.map || {}, {
+ if ( !(me.map instanceof OpenLayers.Map) ) {
+ var mapConf = Ext.applyIf(me.map || {}, {
allOverlays: true,
- controls: this.initialConfig.controls || this.getDefaultControls()
+ controls: me.initialConfig.controls || me.getDefaultControls()
});
- this.map = new OpenLayers.Map(mapConf);
+ me.map = new OpenLayers.Map(mapConf);
} else {
// add any additionally configured controls:
- if (this.initialConfig.controls) {
- this.map.addControls(this.initialConfig.controls);
+ if (me.initialConfig.controls) {
+ me.map.addControls(me.initialConfig.controls);
}
}
// this.map is now initialized in any case and has needed and
// configured controls
// check config-property layers for any layers to be added to the map
- if ( this.layers ) {
+ if ( me.layers ) {
// normalize the case where this.layers was not an array but a layer
- if(this.layers instanceof OpenLayers.Layer) {
- this.layers = [this.layers];
+ if(me.layers instanceof OpenLayers.Layer) {
+ me.layers = [me.layers];
}
//TODO: this possibly requests data from the layers to early
// we might move this e.g. to the renderMap-method
- this.map.addLayers(this.layers);
+ me.map.addLayers(me.layers);
}
// create a layerstore with the current maps layers
- this.layers = new GXM.data.LayerStore({
- data: this.map.layers
+ me.layers = new GXM.data.LayerStore({
+ data: me.map.layers
});
// check config-property controls
- if ( this.controls ) {
+ if ( me.controls ) {
// normalize the case where this.controls was not an array but a control
- if(this.controls instanceof OpenLayers.Control) {
- this.controls = [this.controls];
+ if(me.controls instanceof OpenLayers.Control) {
+ me.controls = [me.controls];
}
- this.map.addControls(this.controls);
+ me.map.addControls(me.controls);
}
// check config-property center
- if ( Ext.isString(this.center) ) {
- this.center = OpenLayers.LonLat.fromString(this.center);
- } else if(Ext.isArray(this.center)) {
- //TODO: this method does not exist. but IMO should
+ if ( Ext.isString(me.center) ) {
+ me.center = OpenLayers.LonLat.fromString(me.center);
+ } else if(Ext.isArray(me.center)) {
// see: http://trac.osgeo.org/openlayers/ticket/3433
- // this.center = OpenLayers.LonLat.fromArray(this.center);
- this.center = new OpenLayers.LonLat(this.center[0], this.center[1]);
+ me.center = OpenLayers.LonLat.fromArray(me.center);
}
-
// check config-property bounds
- if ( Ext.isString(this.extent) ) {
- this.extent = OpenLayers.Bounds.fromString(this.extent);
- } else if(Ext.isArray(this.extent)) {
- this.extent = OpenLayers.Bounds.fromArray(this.extent);
+ if ( Ext.isString(me.extent) ) {
+ me.extent = OpenLayers.Bounds.fromString(me.extent);
+ } else if(Ext.isArray(me.extent)) {
+ me.extent = OpenLayers.Bounds.fromArray(me.extent);
}
// call the superclass constructor
- GXM.MapPanel.superclass.initComponent.call(this);
+ GXM.MapPanel.superclass.initComponent.call(me);
// events
//TODO: discuss whether we need our own mapping to the OpenLayers-Events
- this.addEvents(
+ me.addEvents(
/** private: event[aftermapmove]
*
* Fires after the map is moved.
@@ -256,12 +254,12 @@
);
// bind various listeners to the corresponding OpenLayers.Map-events
- this.map.events.on({
- "moveend": this.onMoveend,
- "changelayer": this.onChangelayer,
- "addlayer": this.onAddlayer,
- "removelayer": this.onRemovelayer,
- scope: this
+ me.map.events.on({
+ "moveend": me.onMoveend,
+ "changelayer": me.onChangelayer,
+ "addlayer": me.onAddlayer,
+ "removelayer": me.onRemovelayer,
+ scope: me
});
},
@@ -279,15 +277,16 @@
* The "changelayer" listener bound to the :attr:`map`.
*/
onChangelayer: function(e) {
+ var me = this;
if(e.property) {
if(e.property === "visibility") {
- this.fireEvent("afterlayervisibilitychange");
+ me.fireEvent("afterlayervisibilitychange");
} else if(e.property === "order") {
- this.fireEvent("afterlayerorderchange");
+ me.fireEvent("afterlayerorderchange");
} else if(e.property === "name") {
- this.fireEvent("afterlayernamechange");
+ me.fireEvent("afterlayernamechange");
} else if(e.property === "opacity") {
- this.fireEvent("afterlayeropacitychange");
+ me.fireEvent("afterlayeropacitychange");
}
}
},
@@ -370,12 +369,12 @@
// Adjust the geographic position according to the passed config-options
if (!map.getCenter()) {
- if (this.center || this.zoom ) {
+ if (me.center || me.zoom ) {
// center and/or zoom?
- map.setCenter(this.center, this.zoom);
- } else if (this.extent instanceof OpenLayers.Bounds) {
+ map.setCenter(me.center, me.zoom);
+ } else if (me.extent instanceof OpenLayers.Bounds) {
// extent
- map.zoomToExtent(this.extent, true);
+ map.zoomToExtent(me.extent, true);
}else {
map.zoomToMaxExtent();
}
@@ -401,28 +400,30 @@
* Private method called during the destroy sequence.
*/
beforeDestroy: function() {
- if(this.ownerCt) {
- this.ownerCt.un("move", this.updateMapSize, this);
+ var me = this;
+ if(me.ownerCt) {
+ me.ownerCt.un("move", me.updateMapSize, me);
}
- if(this.map && this.map.events) {
- this.map.events.un({
- "moveend": this.onMoveend,
- "changelayer": this.onChangelayer,
- "addlayer": this.onAddlayer,
- "removelayer": this.onRemovelayer,
- scope: this
+ if(me.map && me.map.events) {
+ me.map.events.un({
+ "moveend": me.onMoveend,
+ "changelayer": me.onChangelayer,
+ "addlayer": me.onAddlayer,
+ "removelayer": me.onRemovelayer,
+ scope: me
});
}
// if the map panel was passed a map instance, this map instance
// is under the user's responsibility
- if(!this.initialConfig.map ||
- !(this.initialConfig.map instanceof OpenLayers.Map)) {
- if(this.map && this.map.destroy) {
- this.map.destroy();
+ if(!me.initialConfig.map ||
+ !(me.initialConfig.map instanceof OpenLayers.Map)) {
+ if(me.map && me.map.destroy) {
+ me.map.destroy();
}
}
- delete this.map;
- GXM.MapPanel.superclass.beforeDestroy.apply(this, arguments);
+ delete me.map;
+ delete me.layers;
+ GXM.MapPanel.superclass.beforeDestroy.apply(me, arguments);
}
});
More information about the Commits
mailing list