add changelayer event to mergeNewParams function, r=bartvde (closes #2179)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9618 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -121,7 +121,14 @@ OpenLayers.Layer.HTTPRequest = OpenLayers.Class(OpenLayers.Layer, {
|
||||
*/
|
||||
mergeNewParams:function(newParams) {
|
||||
this.params = OpenLayers.Util.extend(this.params, newParams);
|
||||
return this.redraw();
|
||||
var ret = this.redraw();
|
||||
if(this.map != null) {
|
||||
this.map.events.triggerEvent("changelayer", {
|
||||
layer: this,
|
||||
property: "params"
|
||||
});
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -62,11 +62,12 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
* object will include a *layer* property that references the removed
|
||||
* layer.
|
||||
* - *changelayer* triggered after a layer name change, order change,
|
||||
* opacity change or visibility change (due to resolution thresholds).
|
||||
* Listeners will receive an event object with *layer* and *property*
|
||||
* properties. The *layer* property will be a reference to the
|
||||
* changed layer. The *property* property will be a key to the
|
||||
* changed property (name, order, opacity or visibility).
|
||||
* opacity change, params change or visibility change
|
||||
* (due to resolution thresholds). Listeners will receive an event
|
||||
* object with *layer* and *property* properties. The *layer*
|
||||
* property will be a reference to the changed layer.
|
||||
* The *property* property will be a key to the
|
||||
* changed property (name, order, opacity, params or visibility).
|
||||
* - *movestart* triggered after the start of a drag, pan, or zoom
|
||||
* - *move* triggered after each drag, pan, or zoom
|
||||
* - *moveend* triggered after a drag, pan, or zoom completes
|
||||
|
||||
@@ -65,9 +65,19 @@
|
||||
}
|
||||
|
||||
function test_Layer_HTTPRequest_mergeNewParams (t) {
|
||||
t.plan( 4 );
|
||||
t.plan( 8 );
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.HTTPRequest(name, url, params, options);
|
||||
map.addLayer(layer);
|
||||
|
||||
var scope = {some: "scope"}, log = [];
|
||||
map.events.on({
|
||||
changelayer: function(e) {
|
||||
log.push({layer: e.layer, property: e.property, scope: this});
|
||||
},
|
||||
scope: scope
|
||||
});
|
||||
|
||||
var newParams = { layers: 'sooper',
|
||||
chickpeas: 'image/png'};
|
||||
@@ -76,6 +86,10 @@
|
||||
|
||||
t.eq( layer.params.layers, "sooper", "mergeNewParams() overwrites well");
|
||||
t.eq( layer.params.chickpeas, "image/png", "mergeNewParams() adds well");
|
||||
t.eq( log.length, 1, "mergeNewParams() triggers changelayer once");
|
||||
t.ok( log[0].layer == layer, "mergeNewParams() passes changelayer listener the expected layer");
|
||||
t.ok( log[0].property == "params", "mergeNewParams() passes changelayer listener the property \"params\"");
|
||||
t.eq( log[0].scope, scope, "mergeNewParams() executes changelayer listener with expected scope");
|
||||
|
||||
newParams.chickpeas = 151;
|
||||
|
||||
@@ -85,8 +99,6 @@
|
||||
t.ok(true, "layer.mergeNewParams calls layer.redraw");
|
||||
}
|
||||
layer.mergeNewParams();
|
||||
|
||||
|
||||
}
|
||||
|
||||
function test_Layer_HTTPRequest_getFullRequestString (t) {
|
||||
|
||||
Reference in New Issue
Block a user