Panel iconOn and iconOff do not behave correctly if application-specific classes are set in the control

This commit is contained in:
Éric Lemoine
2011-12-14 15:49:19 +01:00
parent 9f9829053a
commit 45a6e24299
2 changed files with 44 additions and 2 deletions

View File

@@ -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");
},
/**