diff options
author | Aaron Schulz <aaron@users.mediawiki.org> | 2007-03-15 02:52:28 +0000 |
---|---|---|
committer | Aaron Schulz <aaron@users.mediawiki.org> | 2007-03-15 02:52:28 +0000 |
commit | 11ef493f49931a22ca6149ffdd7121fa57cda9ac (patch) | |
tree | 25a02821bcc1c5600be4f14feaaaaf52d4ee3b85 /skins | |
parent | 8250faf941c12ab02fb9a074ad4861fa9c1b0712 (diff) | |
download | mediawikicore-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.js | 20 |
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() { |