aboutsummaryrefslogtreecommitdiffstats
path: root/skins
diff options
context:
space:
mode:
authorAaron Schulz <aaron@users.mediawiki.org>2007-03-15 02:52:28 +0000
committerAaron Schulz <aaron@users.mediawiki.org>2007-03-15 02:52:28 +0000
commit11ef493f49931a22ca6149ffdd7121fa57cda9ac (patch)
tree25a02821bcc1c5600be4f14feaaaaf52d4ee3b85 /skins
parent8250faf941c12ab02fb9a074ad4861fa9c1b0712 (diff)
downloadmediawikicore-11ef493f49931a22ca6149ffdd7121fa57cda9ac.tar.gz
mediawikicore-11ef493f49931a22ca6149ffdd7121fa57cda9ac.zip
*Add nifty JS function to grey out cascade option when it will not apply
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/20475
Diffstat (limited to 'skins')
-rw-r--r--skins/common/protect.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/skins/common/protect.js b/skins/common/protect.js
index 896860737177..f10c810a16f3 100644
--- a/skins/common/protect.js
+++ b/skins/common/protect.js
@@ -33,16 +33,36 @@ function protectInitialize(tableId, labelText) {
check.checked = true;
protectEnable(true);
}
+
+ allowCascade();
return true;
}
return false;
}
+function allowCascade() {
+ var pr_types = document.getElementsByTagName("select");
+ for (var i = 0; i < pr_types.length; i++) {
+ if (pr_types[i].id.match(/^mwProtect-level-/)) {
+ var selected_level = pr_types[i].getElementsByTagName("option")[pr_types[i].selectedIndex].value;
+ for (var k=0; k < wgCascadeableLevels.length; k++) {
+ if ( wgCascadeableLevels[k] != selected_level ) {
+ document.getElementById('mwProtect-cascade').disabled=true;
+ return false;
+ }
+ }
+ }
+ }
+ document.getElementById('mwProtect-cascade').disabled=false;
+ return true;
+}
+
function protectLevelsUpdate(source) {
if (!protectUnchained()) {
protectUpdateAll(source.selectedIndex);
}
+ allowCascade();
}
function protectChainUpdate() {