MDL-10408 - added checks for propertyIsEnumerable for MooTools compatibility

This commit is contained in:
urs_hunkler 2007-08-05 12:15:27 +00:00
parent 48bfa2e0c9
commit d63ef3b83b

View file

@ -88,8 +88,12 @@ function lockoptionsall(formid) {
var dependons = eval(formid+'items'); var dependons = eval(formid+'items');
var tolock = Array(); var tolock = Array();
for (var dependon in dependons) { for (var dependon in dependons) {
// change for MooTools compatibility
if (!dependons.propertyIsEnumerable(dependon)) {
continue;
}
var master = form[dependon]; var master = form[dependon];
if (master == undefined) { if (master === undefined) {
continue; continue;
} }
for (var condition in dependons[dependon]) { for (var condition in dependons[dependon]) {
@ -108,6 +112,10 @@ function lockoptionsall(formid) {
lock = master.value!=value; break; lock = master.value!=value; break;
} }
for (var ei in dependons[dependon][condition][value]) { for (var ei in dependons[dependon][condition][value]) {
// change for MooTools compatibility
if (!window.webkit && (!dependons[dependon][condition][value].propertyIsEnumerable(ei))) {
continue;
}
var eltolock = dependons[dependon][condition][value][ei]; var eltolock = dependons[dependon][condition][value][ei];
if (tolock[eltolock] != null){ if (tolock[eltolock] != null){
tolock[eltolock] = tolock[eltolock] =
@ -120,8 +128,12 @@ function lockoptionsall(formid) {
} }
} }
for (var el in tolock){ for (var el in tolock){
// change for MooTools compatibility
if (!tolock.propertyIsEnumerable(el)) {
continue;
}
var formelement = form[el]; var formelement = form[el];
if (formelement == undefined) { if ((formelement === undefined) || (formelement.disabled === undefined)) {
continue; continue;
} }
formelement.disabled = tolock[el]; formelement.disabled = tolock[el];
@ -133,8 +145,12 @@ function lockoptionsallsetup(formid) {
var form = document.forms[formid]; var form = document.forms[formid];
var dependons = eval(formid+'items'); var dependons = eval(formid+'items');
for (var dependon in dependons) { for (var dependon in dependons) {
// change for MooTools compatibility
if (!dependons.propertyIsEnumerable(dependon)) {
continue;
}
var master = form[dependon]; var master = form[dependon];
if (master == undefined) { if (master === undefined) {
continue; continue;
} }
master.formid = formid; master.formid = formid;