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:
bartvde
2009-11-17 07:34:51 +00:00
parent f57e19ae2d
commit 081ce883fb
2 changed files with 17 additions and 2 deletions

View File

@@ -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 = "";

View File

@@ -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) {