"Layer Switcher does not do sufficient layer state information storage",
review by e-dog. (Closes #970) git-svn-id: http://svn.openlayers.org/trunk/openlayers@4336 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -197,6 +197,8 @@ OpenLayers.Control.LayerSwitcher =
|
|||||||
var layerState = this.layerStates[i];
|
var layerState = this.layerStates[i];
|
||||||
var layer = this.map.layers[i];
|
var layer = this.map.layers[i];
|
||||||
if ( (layerState.name != layer.name) ||
|
if ( (layerState.name != layer.name) ||
|
||||||
|
(layerState.inRange != layer.inRange) ||
|
||||||
|
(layerState.id != layer.id) ||
|
||||||
(layerState.visibility != layer.visibility) ) {
|
(layerState.visibility != layer.visibility) ) {
|
||||||
redraw = true;
|
redraw = true;
|
||||||
break;
|
break;
|
||||||
@@ -238,7 +240,9 @@ OpenLayers.Control.LayerSwitcher =
|
|||||||
var layer = this.map.layers[i];
|
var layer = this.map.layers[i];
|
||||||
this.layerStates[i] = {
|
this.layerStates[i] = {
|
||||||
'name': layer.name,
|
'name': layer.name,
|
||||||
'visibility': layer.visibility
|
'visibility': layer.visibility,
|
||||||
|
'inRange': layer.inRange,
|
||||||
|
'id': layer.id
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
function test_04_Control_LayerSwitcher_redraw (t) {
|
function test_04_Control_LayerSwitcher_redraw (t) {
|
||||||
|
|
||||||
t.plan( 12 );
|
t.plan( 19 );
|
||||||
|
|
||||||
map = new OpenLayers.Map('map');
|
map = new OpenLayers.Map('map');
|
||||||
var layer = new OpenLayers.Layer.WMS("WMS",
|
var layer = new OpenLayers.Layer.WMS("WMS",
|
||||||
@@ -95,12 +95,42 @@
|
|||||||
t.eq(false, control.checkRedraw(), "check redraw is false");
|
t.eq(false, control.checkRedraw(), "check redraw is false");
|
||||||
|
|
||||||
control = new OpenLayers.Control.LayerSwitcher();
|
control = new OpenLayers.Control.LayerSwitcher();
|
||||||
|
var myredraw = control.redraw;
|
||||||
control.redraw = function() {
|
control.redraw = function() {
|
||||||
t.ok(true, "redraw called when setting vis");
|
t.ok(true, "redraw called when setting vis");
|
||||||
}
|
}
|
||||||
map.addControl(control);
|
map.addControl(control);
|
||||||
|
var func = myredraw.bind(control);
|
||||||
|
func();
|
||||||
markers.setVisibility(false);
|
markers.setVisibility(false);
|
||||||
t.eq(control.checkRedraw(), true, "check redraw is true after changing layer and not letting redraw happen.");
|
t.eq(control.checkRedraw(), true, "check redraw is true after changing layer and not letting redraw happen.");
|
||||||
|
map.removeControl(control);
|
||||||
|
|
||||||
|
control = new OpenLayers.Control.LayerSwitcher();
|
||||||
|
var myredraw = control.redraw;
|
||||||
|
control.redraw = function() {
|
||||||
|
t.ok(true, "redraw called when setting inRange");
|
||||||
|
}
|
||||||
|
map.addControl(control);
|
||||||
|
var func = myredraw.bind(control);
|
||||||
|
func();
|
||||||
|
markers.inRange = false;
|
||||||
|
t.eq(control.checkRedraw(), true, "check redraw is true after changing layer.inRange and not letting redraw happen.");
|
||||||
|
map.removeControl(control);
|
||||||
|
|
||||||
|
control = new OpenLayers.Control.LayerSwitcher();
|
||||||
|
var myredraw = control.redraw;
|
||||||
|
control.redraw = function() {
|
||||||
|
t.ok(true, "redraw called when raising base layer ");
|
||||||
|
}
|
||||||
|
|
||||||
|
map.addControl(control);
|
||||||
|
var func = myredraw.bind(control);
|
||||||
|
func();
|
||||||
|
map.raiseLayer(layer, 1);
|
||||||
|
t.eq(control.checkRedraw(), true, "check redraw is true after changing layer.inRange and not letting redraw happen.");
|
||||||
|
map.removeControl(control);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
function test_05_Control_LayerSwitcher_ascendingw (t) {
|
function test_05_Control_LayerSwitcher_ascendingw (t) {
|
||||||
|
|||||||
Reference in New Issue
Block a user