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) {
|
mergeNewParams:function(newParams) {
|
||||||
this.params = OpenLayers.Util.extend(this.params, 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
|
* object will include a *layer* property that references the removed
|
||||||
* layer.
|
* layer.
|
||||||
* - *changelayer* triggered after a layer name change, order change,
|
* - *changelayer* triggered after a layer name change, order change,
|
||||||
* opacity change or visibility change (due to resolution thresholds).
|
* opacity change, params change or visibility change
|
||||||
* Listeners will receive an event object with *layer* and *property*
|
* (due to resolution thresholds). Listeners will receive an event
|
||||||
* properties. The *layer* property will be a reference to the
|
* object with *layer* and *property* properties. The *layer*
|
||||||
* changed layer. The *property* property will be a key to the
|
* property will be a reference to the changed layer.
|
||||||
* changed property (name, order, opacity or visibility).
|
* 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
|
* - *movestart* triggered after the start of a drag, pan, or zoom
|
||||||
* - *move* triggered after each drag, pan, or zoom
|
* - *move* triggered after each drag, pan, or zoom
|
||||||
* - *moveend* triggered after a drag, pan, or zoom completes
|
* - *moveend* triggered after a drag, pan, or zoom completes
|
||||||
|
|||||||
@@ -65,9 +65,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_Layer_HTTPRequest_mergeNewParams (t) {
|
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);
|
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',
|
var newParams = { layers: 'sooper',
|
||||||
chickpeas: 'image/png'};
|
chickpeas: 'image/png'};
|
||||||
@@ -76,6 +86,10 @@
|
|||||||
|
|
||||||
t.eq( layer.params.layers, "sooper", "mergeNewParams() overwrites well");
|
t.eq( layer.params.layers, "sooper", "mergeNewParams() overwrites well");
|
||||||
t.eq( layer.params.chickpeas, "image/png", "mergeNewParams() adds 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;
|
newParams.chickpeas = 151;
|
||||||
|
|
||||||
@@ -85,8 +99,6 @@
|
|||||||
t.ok(true, "layer.mergeNewParams calls layer.redraw");
|
t.ok(true, "layer.mergeNewParams calls layer.redraw");
|
||||||
}
|
}
|
||||||
layer.mergeNewParams();
|
layer.mergeNewParams();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_Layer_HTTPRequest_getFullRequestString (t) {
|
function test_Layer_HTTPRequest_getFullRequestString (t) {
|
||||||
|
|||||||
Reference in New Issue
Block a user