create an option to cancel adding a layer, r=tschaub (closes #2121)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9802 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -906,7 +906,9 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
layer.isBaseLayer = false;
|
||||
}
|
||||
|
||||
this.events.triggerEvent("preaddlayer", {layer: layer});
|
||||
if (this.events.triggerEvent("preaddlayer", {layer: layer}) === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
layer.div.className = "olLayerDiv";
|
||||
layer.div.style.overflow = "";
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
}
|
||||
|
||||
function test_Map_add_layers(t) {
|
||||
t.plan(6);
|
||||
t.plan(8);
|
||||
map = new OpenLayers.Map('map');
|
||||
var layer1 = new OpenLayers.Layer.WMS("Layer 1",
|
||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||
@@ -101,6 +101,19 @@
|
||||
"layer1 zIndex is set" );
|
||||
t.eq( parseInt(layer2.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 5,
|
||||
"layer2 zIndex is set" );
|
||||
|
||||
map.events.register('preaddlayer', this, function(evt) {
|
||||
return !(evt.layer.name === 'donotadd');
|
||||
});
|
||||
var layer3 = new OpenLayers.Layer.WMS("donotadd",
|
||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||
{map: "/mapdata/vmap_wms.map", layers: "basic"});
|
||||
map.addLayers([layer3]);
|
||||
t.eq(map.layers.length, 2, "layer is not added since preaddlayer returns false");
|
||||
layer3.name = 'pleaseadd';
|
||||
map.addLayers([layer3]);
|
||||
t.eq(map.layers.length, 3, "layer is added since preaddlayer returns true");
|
||||
|
||||
}
|
||||
|
||||
function test_Map_options(t) {
|
||||
|
||||
Reference in New Issue
Block a user