Merge pull request #108 from elemoine/panel
Fix panel iconOn and iconOff behavior
This commit is contained in:
@@ -295,7 +295,9 @@ OpenLayers.Control.Panel = OpenLayers.Class(OpenLayers.Control, {
|
||||
*/
|
||||
iconOn: function() {
|
||||
var d = this.panel_div; // "this" refers to a control on panel!
|
||||
d.className = d.className.replace(/ItemInactive$/, "ItemActive");
|
||||
var re = new RegExp(this.displayClass + 'ItemInactive');
|
||||
d.className = d.className.replace(re,
|
||||
this.displayClass + "ItemActive");
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -304,7 +306,9 @@ OpenLayers.Control.Panel = OpenLayers.Class(OpenLayers.Control, {
|
||||
*/
|
||||
iconOff: function() {
|
||||
var d = this.panel_div; // "this" refers to a control on panel!
|
||||
d.className = d.className.replace(/ItemActive$/, "ItemInactive");
|
||||
var re = new RegExp(this.displayClass + 'ItemActive');
|
||||
d.className = d.className.replace(re,
|
||||
this.displayClass + "ItemInactive");
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -288,6 +288,40 @@
|
||||
// panel.deactivate();
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_iconOn_iconOff(t) {
|
||||
t.plan(2);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
|
||||
var panel = new OpenLayers.Control.Panel();
|
||||
var ctrl = new OpenLayers.Control({displayClass: 'ctrl'});
|
||||
panel.addControls([ctrl]);
|
||||
|
||||
map.addControl(panel);
|
||||
|
||||
// add arbitrary classes to the panel div - we want to test
|
||||
// than iconOn and iconOff do their jobs even when the panel
|
||||
// div has application-specific classes.
|
||||
|
||||
ctrl.panel_div.className =
|
||||
'ctrlItemInactive fooItemActive fooItemInactive';
|
||||
|
||||
panel.iconOn.call(ctrl);
|
||||
t.eq(ctrl.panel_div.className,
|
||||
'ctrlItemActive fooItemActive fooItemInactive',
|
||||
'iconOn behaves as expected');
|
||||
|
||||
ctrl.panel_div.className =
|
||||
'ctrlItemActive fooItemActive fooItemInactive';
|
||||
|
||||
panel.iconOff.call(ctrl);
|
||||
t.eq(ctrl.panel_div.className,
|
||||
'ctrlItemInactive fooItemActive fooItemInactive',
|
||||
'iconOff behaves as expected');
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user