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;
|
layer.isBaseLayer = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.events.triggerEvent("preaddlayer", {layer: layer});
|
if (this.events.triggerEvent("preaddlayer", {layer: layer}) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
layer.div.className = "olLayerDiv";
|
layer.div.className = "olLayerDiv";
|
||||||
layer.div.style.overflow = "";
|
layer.div.style.overflow = "";
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_Map_add_layers(t) {
|
function test_Map_add_layers(t) {
|
||||||
t.plan(6);
|
t.plan(8);
|
||||||
map = new OpenLayers.Map('map');
|
map = new OpenLayers.Map('map');
|
||||||
var layer1 = new OpenLayers.Layer.WMS("Layer 1",
|
var layer1 = new OpenLayers.Layer.WMS("Layer 1",
|
||||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||||
@@ -101,6 +101,19 @@
|
|||||||
"layer1 zIndex is set" );
|
"layer1 zIndex is set" );
|
||||||
t.eq( parseInt(layer2.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 5,
|
t.eq( parseInt(layer2.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 5,
|
||||||
"layer2 zIndex is set" );
|
"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) {
|
function test_Map_options(t) {
|
||||||
|
|||||||
Reference in New Issue
Block a user