Revert "Merge pull request #708 from mpriour/displayEvent"

This reverts commit 0b3f582e10, reversing
changes made to 74103ec3e0.

The reason for reverting this is a regression. See #997.
This commit is contained in:
ahocevar
2013-06-07 10:05:08 +02:00
committed by Bart van den Eijnden
parent fe0ffbf56e
commit cc69b73dcf
4 changed files with 11 additions and 64 deletions
+6 -5
View File
@@ -743,6 +743,12 @@ OpenLayers.Layer = OpenLayers.Class({
this.visibility = visibility; this.visibility = visibility;
this.display(visibility); this.display(visibility);
this.redraw(); this.redraw();
if (this.map != null) {
this.map.events.triggerEvent("changelayer", {
layer: this,
property: "visibility"
});
}
this.events.triggerEvent("visibilitychanged"); this.events.triggerEvent("visibilitychanged");
} }
}, },
@@ -759,11 +765,6 @@ OpenLayers.Layer = OpenLayers.Class({
display: function(display) { display: function(display) {
if (display != (this.div.style.display != "none")) { if (display != (this.div.style.display != "none")) {
this.div.style.display = (display && this.calculateInRange()) ? "block" : "none"; this.div.style.display = (display && this.calculateInRange()) ? "block" : "none";
if(this.map){
this.map.events.triggerEvent("changelayer", {
layer: this, property: "visibility"
});
}
} }
}, },
+3 -1
View File
@@ -2038,7 +2038,9 @@ OpenLayers.Map = OpenLayers.Class({
if (!inRange) { if (!inRange) {
layer.display(false); layer.display(false);
} }
this.events.triggerEvent("changelayer", {
layer: layer, property: "visibility"
});
} }
if (inRange && layer.visibility) { if (inRange && layer.visibility) {
layer.moveTo(bounds, zoomChanged, options.dragging); layer.moveTo(bounds, zoomChanged, options.dragging);
-38
View File
@@ -858,44 +858,6 @@
"setOpacity() does not trigger changelayer if the opacity value is the same"); "setOpacity() does not trigger changelayer if the opacity value is the same");
} }
function test_display(t) {
t.plan(9);
var map, layer, log;
map = new OpenLayers.Map("map");
layer = new OpenLayers.Layer("", {
alwaysInRange: true,
visibility: true
});
map.addLayer(layer);
log = [];
map.events.register('changelayer', t, function(event) {
log.push({
layer: event.layer,
property: event.property
});
});
layer.display(false);
t.eq(layer.div.style.display, "none", "display() set layer's display style to correct value");
t.eq(layer.getVisibility(), true, "display() does not affect layer's visibility state");
t.eq(log.length, 1, "display() triggers changelayer once");
t.ok(log[0].layer == layer, "changelayer listener called with expected layer");
t.eq(log[0].property, "visibility", "changelayer listener called with expected property");
layer.visibility = false;
layer.display(true);
t.eq(layer.div.style.display, "block", "display() set layer's display style to correct value");
t.eq(layer.getVisibility(), false, "display() does not affect layer's visibility state");
layer.setVisibility(true);
// This call must not trig the event because the opacity value is the same.
log = [];
layer.display(true);
t.eq(log.length, 0, "display() does not trigger changelayer if the display value is the same");
layer.setVisibility(false);
t.eq(log.length, 1, "changelayer event called only once. setVisibility doesn't fire any extra changelayer events");
}
/****** /******
* *
+2 -20
View File
@@ -984,22 +984,14 @@
} }
function test_Map_moveTo(t) { function test_Map_moveTo(t) {
t.plan(12); t.plan(2);
map = new OpenLayers.Map('map'); map = new OpenLayers.Map('map');
var baseLayer = new OpenLayers.Layer.WMS("Test Layer", var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
"http://octo.metacarta.com/cgi-bin/mapserv?", "http://octo.metacarta.com/cgi-bin/mapserv?",
{map: "/mapdata/vmap_wms.map", layers: "basic"}, {map: "/mapdata/vmap_wms.map", layers: "basic"},
{maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)}); {maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)});
var testLayer = new OpenLayers.Layer("",{maxResolution: 0.1, minResolution: 0.03, isBaseLayer: false, visibility: true}); baseLayer.events.on({
var log = [];
map.events.register('changelayer', t, function(event) {
log.push({
layer: event.layer,
property: event.property
});
});
map.events.on({
move: function() { move: function() {
t.ok(true, "move listener called"); t.ok(true, "move listener called");
}, },
@@ -1013,19 +1005,9 @@
} }
}); });
map.addLayer(baseLayer); map.addLayer(baseLayer);
map.addLayer(testLayer);
log = [];
var ll = new OpenLayers.LonLat(-100,-150); var ll = new OpenLayers.LonLat(-100,-150);
map.moveTo(ll, 2); map.moveTo(ll, 2);
t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat"); t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat");
t.eq(testLayer.div.style.display, "none", "moveTo out of resolution range set layer's display style to correct value");
t.eq(log.length, 1, "Map.moveTo out of resolution range triggers changelayer once");
t.ok(log[0].layer == testLayer, "changelayer listener called with expected layer");
t.eq(log[0].property, "visibility", "changelayer listener called with expected property");
map.moveTo(new OpenLayers.LonLat(0,0), 0);
t.eq(testLayer.div.style.display, "block", "moveTo in to resolution range set layer's display style to correct value");
map.destroy(); map.destroy();
} }