From d63ef3b83ba010ec68bda600cd18082716c995b3 Mon Sep 17 00:00:00 2001 From: urs_hunkler Date: Sun, 5 Aug 2007 12:15:27 +0000 Subject: [PATCH] MDL-10408 - added checks for propertyIsEnumerable for MooTools compatibility --- lib/javascript-static.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/javascript-static.js b/lib/javascript-static.js index 739355dce1..d4477a8c3c 100644 --- a/lib/javascript-static.js +++ b/lib/javascript-static.js @@ -88,8 +88,12 @@ function lockoptionsall(formid) { var dependons = eval(formid+'items'); var tolock = Array(); for (var dependon in dependons) { + // change for MooTools compatibility + if (!dependons.propertyIsEnumerable(dependon)) { + continue; + } var master = form[dependon]; - if (master == undefined) { + if (master === undefined) { continue; } for (var condition in dependons[dependon]) { @@ -108,6 +112,10 @@ function lockoptionsall(formid) { lock = master.value!=value; break; } 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]; if (tolock[eltolock] != null){ tolock[eltolock] = @@ -120,8 +128,12 @@ function lockoptionsall(formid) { } } for (var el in tolock){ + // change for MooTools compatibility + if (!tolock.propertyIsEnumerable(el)) { + continue; + } var formelement = form[el]; - if (formelement == undefined) { + if ((formelement === undefined) || (formelement.disabled === undefined)) { continue; } formelement.disabled = tolock[el]; @@ -133,8 +145,12 @@ function lockoptionsallsetup(formid) { var form = document.forms[formid]; var dependons = eval(formid+'items'); for (var dependon in dependons) { + // change for MooTools compatibility + if (!dependons.propertyIsEnumerable(dependon)) { + continue; + } var master = form[dependon]; - if (master == undefined) { + if (master === undefined) { continue; } master.formid = formid; -- 2.39.5