Fixed a bug with the onClassChanged and the Disabled template code.

This commit is contained in:
2025-07-20 15:44:59 -07:00
parent 93dde5893f
commit f1bff47ae7

View File

@@ -1224,7 +1224,12 @@ class IgniteTemplate {
} }
} else { } else {
this._attributes["disabled"] = null; this._attributes["disabled"] = null;
this._classes.splice(this._classes.indexOf("disabled"), 1);
var disabledIndex = this._classes.indexOf("disabled");
if (disabledIndex >= 0) {
this._classes.splice(disabledIndex, 1);
}
if (this.element) { if (this.element) {
this.element.removeAttribute("disabled"); this.element.removeAttribute("disabled");
@@ -1660,10 +1665,20 @@ class IgniteTemplate {
} }
//Remove the old values from the template, but only remove one copy. //Remove the old values from the template, but only remove one copy.
oldClasses.forEach((cl) => this._classes.splice(this._classes.indexOf(cl), 1)); oldClasses.forEach((cl) => {
var clIndex = this._classes.indexOf(cl);
if (clIndex >= 0) {
this._classes.splice(clIndex, 1);
}
});
//Add the new classes to the template. //Add the new classes to the template.
newClasses.forEach((cl) => this._classes.push(cl)); newClasses.forEach((cl) => {
var clIndex = this._classes.indexOf(cl);
if (clIndex < 0) {
this._classes.push(cl);
}
});
//For any classes that are missing on the element, add them. If we have duplicates this //For any classes that are missing on the element, add them. If we have duplicates this
//can happen. //can happen.