Changeset 1187

Show
Ignore:
Timestamp:
10/10/08 16:21:34 (3 months ago)
Author:
alex
Message:

fixed some pb underlined during the IRC review

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/camptocamp/MapFishAeai/client/mfbase/mapfish/widgets/recenter/Base.js

    r1183 r1187  
    2727/** 
    2828 * Class: mapfish.widgets.recenter.Base 
    29  * Base class for various recentering tools. 
     29 * Base class for various recentering tools. Must be extended in specific classes. 
    3030 * 
    3131 * Inherits from: 
     
    3838 * Parameters: 
    3939 * config - {Object} The config object 
     40 * Returns: 
     41 * {<mapfish.widgets.recenter.Base>} 
    4042 */ 
    4143mapfish.widgets.recenter.Base = function(config) { 
    4244    Ext.apply(this, config); 
    4345    mapfish.widgets.recenter.Base.superclass.constructor.call(this); 
    44 } 
     46}; 
    4547 
    4648Ext.extend(mapfish.widgets.recenter.Base, Ext.FormPanel, { 
     
    4850    /** 
    4951     * APIProperty: scales 
    50      * {<Array>} - List of available scales 
     52     * {Array} - List of available scales 
    5153     */ 
    5254    scales: null, 
     
    5456    /** 
    5557     * APIProperty: showCenter 
    56      * {<Boolean>} - Indicates if a symbol must be shown at the new center 
     58     * {Boolean} - Indicates if a symbol must be shown at the new center 
    5759     */ 
    5860    showCenter: null, 
    5961 
    6062    /** 
    61      * APIProperty: defaultScale 
    62      * {<Integer>} - Scale used if no scale is provided by the user 
    63      */ 
    64     defaultScale: null, 
     63     * APIProperty: defaultZoom 
     64     * {Integer} - Zoom level used if no zoom level is provided by the user 
     65     */ 
     66    defaultZoom: null, 
    6567 
    6668    /** 
    6769     * Property: scaleData 
    68      * {<Array>} - 2D-array containing available scales values and labels 
     70     * {Array} - 2D-array containing available scales values and labels 
    6971     */ 
    7072    scaleData: null, 
     
    7274    /** 
    7375     * Property: vectorLayer 
    74      * {<OpenLayers. Layer. Vector>} - Vector layer used to display a symbol 
    75      *                                 on new center point 
     76     * {<OpenLayers.Layer.Vector>} - Vector layer used to display a symbol 
     77     *                               on new center point 
    7678     */ 
    7779    vectorLayer: null, 
     
    9496     * implemented by child classes. 
    9597     */ 
    96     fillComponent: null
     98    fillComponent: function() {}
    9799 
    98100    /** 
     
    115117 
    116118        this.scaleData = []; 
    117         for (var i = 0; i < this.scales.length; i++) { 
     119        for (var i = 0, len = this.scales.length; i < len; i++) { 
    118120             
    119121            this.scaleData.push([ 
     
    146148     * Recentering action. implemented by child classes. 
    147149     */ 
    148     recenter: null
     150    recenter: function() {}
    149151 
    150152    /** 
    151153     * Method: recenterOnCoords 
    152154     * 
    153      * Recenters on given coordinates and scale 
    154      */ 
    155     recenterOnCoords: function(x, y, scale) { 
    156          
    157         if (typeof scale == 'undefined') { 
    158             if (this.defaultScale) { 
    159                 // use default scale if provided in widget config 
    160                 scale = this.defaultScale; 
    161  
    162             } else { 
    163                 // keep current scale 
    164                 scale = this.map.getScale(); 
    165             } 
     155     * Recenters on given coordinates and zoom level 
     156     */ 
     157    recenterOnCoords: function(x, y, zoom) { 
     158         
     159        if (zoom == undefined) { 
     160            // use default zoom level if provided in widget config,  
     161            // else keep current zoom level 
     162            zoom = this.defaultZoom ? this.defaultZoom : this.map.getZoom(); 
    166163        } 
    167164 
     
    182179        } 
    183180         
    184         //console.log('recentering on x=' + x + ' y=' + y + ' scale=' + scale); 
    185         this.map.setCenter(new OpenLayers.LonLat(x, y), scale); 
     181        this.map.setCenter(new OpenLayers.LonLat(x, y), zoom); 
    186182    }, 
    187183 
     
    208204                "Center Symbol", { 
    209205                    styleMap: styles, 
    210                     isBaseLayer: false, 
    211                     calculateInRange: function() { 
    212                         return true; 
    213                     } 
     206                    alwaysInRange: true 
    214207                } 
    215208            ); 
     
    220213 
    221214    /** 
    222      * Method: getScaleByName 
    223      * 
    224      * Returns the zoom level matching the given scale label 
    225      */ 
    226     getScaleByName: function(scaleName) { 
     215     * Method: getZoomByName 
     216     * 
     217     * Returns: 
     218     * {Integer} - zoom level matching the given scale label 
     219     */ 
     220    getZoomByName: function(scaleName) { 
    227221        var scales = this.scaleData; 
    228         for (var i = 0; i < scales.length; i++) { 
     222        for (var i = 0, len = scales.length; i < len; i++) { 
    229223            var cur = scales[i]; 
    230224            if (cur[1] == scaleName) { 
  • sandbox/camptocamp/MapFishAeai/client/mfbase/mapfish/widgets/recenter/Coords.js

    r1183 r1187  
    3636 *    scales: config.scales, // list of available scales.  
    3737 *                           // If not provided, no scales combo is displayed  
    38  *    showCenter: true,      // boolean, indicates if a symbol must be shown at the new center 
    39  *    defaultScale: 4        // scale used if no scale is provided by the user 
    40  *                           // if no scale value is eventually available, scale remains unchanged 
     38 *    showCenter: true,      // boolean, indicates if a symbol must be shown  
     39 *                           // at the new center 
     40 *    defaultZoom: 4         // zoom level used if no zoom level is provided by 
     41 *                           // the user. If no zoom level value is eventually  
     42 *                           // available, zoom level remains unchanged. 
    4143 * }); 
    4244 * (end) 
     
    4749 
    4850/** 
    49  * Constructor: mapfish.widgets.recenter.Base 
     51 * Constructor: mapfish.widgets.recenter.Coords 
    5052 * 
    5153 * Parameters: 
    5254 * config - {Object} The config object 
     55 * Returns: 
     56 * {<mapfish.widgets.recenter.Coords>} 
    5357 */ 
    5458mapfish.widgets.recenter.Coords = function(config) { 
    5559    Ext.apply(this, config); 
    5660    mapfish.widgets.recenter.Coords.superclass.constructor.call(this); 
    57 } 
     61}; 
    5862 
    5963Ext.extend(mapfish.widgets.recenter.Coords, mapfish.widgets.recenter.Base, { 
     
    97101        if (this.checkCoords(x, y)) { 
    98102             
    99             var scale
     103            var zoom
    100104 
    101105            if (this.scales && values.scale) { 
    102106                // use user-provided scale 
    103                 scale = this.getScaleByName(values.scale); 
     107                zoom = this.getZoomByName(values.scale); 
    104108            } 
    105109 
    106             this.recenterOnCoords(x, y, scale); 
     110            this.recenterOnCoords(x, y, zoom); 
    107111        } 
    108112    }, 
     
    112116     * 
    113117     * Checks that submitted coordinates are well-formatted and within the map bounds. 
     118     * Returns:  
     119     * {Boolean} 
    114120     */ 
    115121    checkCoords: function(x, y) { 
  • sandbox/camptocamp/MapFishAeai/client/mfbase/mapfish/widgets/recenter/Ws.js

    r1183 r1187  
    6262 
    6363/** 
    64  * Constructor: mapfish.widgets.WsRecenter 
     64 * Constructor: mapfish.widgets.Ws 
    6565 * 
    6666 * Parameters: 
    6767 * config - {Object} The config object 
     68 * Returns: 
     69 * {<mapfish.widgets.recenter.Ws>} 
    6870 */ 
    6971 
     
    7173    Ext.apply(this, config); 
    7274    mapfish.widgets.recenter.Ws.superclass.constructor.call(this); 
    73 } 
     75}; 
    7476 
    7577Ext.extend(mapfish.widgets.recenter.Ws, mapfish.widgets.recenter.Base, { 
     
    183185    onWsRecenterSelect: function(combo) { 
    184186 
    185         if (combo.value == '') { 
     187        if (combo.value.length == 0) { 
    186188            return; 
    187189            // prevent action if user press enter only on first try 
    188190        } 
    189191        var url = this.wsRecenterCurrentService.url + this.wsRecenterCurrentService.urlSuffixGeo + '?' + this.wsRecenterCurrentService.paramIdGeo + '=' + combo.value;  
    190         new OpenLayers.Request.GET({ 
     192        OpenLayers.Request.GET({ 
    191193            url: url, 
    192194            success: function(response) { 
    193195 
    194196                var values = this.getForm().getValues(); 
    195                 var scale
     197                var zoom
    196198 
    197199                var f = new OpenLayers.Format.GeoJSON(); 
     
    204206                if (this.scales && values.scale) { 
    205207                    // use user-provided scale 
    206                     scale = this.getScaleByName(values.scale); 
     208                    zoom = this.getZoomByName(values.scale); 
    207209                } 
    208210 
    209                 this.recenterOnCoords(feature.geometry.x, feature.geometry.y, scale); 
     211                this.recenterOnCoords(feature.geometry.x, feature.geometry.y, zoom); 
    210212 
    211213            }, 
     
    213215                var msg = this.errorMsg + "<br /><br />" + url + "<br /><br />" + response.status + "<br />" + response.statusText; 
    214216                this.showError(msg); 
    215             }, scope: this // bind parent context to the current event handler 
     217            }, 
     218            scope: this // bind parent context to the current event handler 
    216219 
    217220        }); 
     
    223226    initWsRecenterService: function () { 
    224227        // set default service 
    225         for (var i=0; i < this.wsRecenterServices.length; i++) { 
     228        for (var i = 0, len = this.wsRecenterServices.length; i < len; i++) { 
    226229            if (this.wsRecenterServices[i].isDefault) { 
    227230                this.wsRecenterCurrentService = this.wsRecenterServices[i];