Difference between revisions of "MediaWiki:Common.js"
From AquaPedia Case Study Database
Line 22: | Line 22: | ||
}); | }); | ||
+ | |||
+ | |||
+ | function ModifySidebar(action, section, name, link) { | ||
+ | try { | ||
+ | switch (section) { | ||
+ | case "languages": | ||
+ | var target = "p-lang"; | ||
+ | break; | ||
+ | case "toolbox": | ||
+ | var target = "p-tb"; | ||
+ | break; | ||
+ | case "navigation": | ||
+ | var target = "p-navigation"; | ||
+ | break; | ||
+ | default: | ||
+ | var target = "p-" + section; | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | if (action == "add") { | ||
+ | var node = document.getElementById(target) | ||
+ | .getElementsByTagName('div')[0] | ||
+ | .getElementsByTagName('ul')[0]; | ||
+ | |||
+ | var aNode = document.createElement('a'); | ||
+ | var liNode = document.createElement('li'); | ||
+ | |||
+ | aNode.appendChild(document.createTextNode(name)); | ||
+ | aNode.setAttribute('href', link); | ||
+ | liNode.appendChild(aNode); | ||
+ | liNode.className='plainlinks'; | ||
+ | node.appendChild(liNode); | ||
+ | } | ||
+ | |||
+ | if (action == "remove") { | ||
+ | var list = document.getElementById(target) | ||
+ | .getElementsByTagName('div')[0] | ||
+ | .getElementsByTagName('ul')[0]; | ||
+ | |||
+ | var listelements = list.getElementsByTagName('li'); | ||
+ | |||
+ | for (var i = 0; i < listelements.length; i++) { | ||
+ | if (listelements[i].getElementsByTagName('a')[0].innerHTML == name || | ||
+ | listelements[i].getElementsByTagName('a')[0].href == link) { | ||
+ | |||
+ | list.removeChild(listelements[i]); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } catch(e) { | ||
+ | // lets just ignore what's happened | ||
+ | return; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function CustomizeModificationsOfSidebar() { | ||
+ | //to add to toolbox: ModifySidebar("add", "toolbox", "...","http://.."); | ||
+ | //removes [[Special:SpecialPages]] from toolbox | ||
+ | ModifySidebar("remove", "toolbox", "Special Pages", "http://aquapedia.waterdiplomacy.org/wiki/index.php?title=Special:SpecialPages"); | ||
+ | ModifySidebar("remove", "toolbox", "Related Changes", "http://aquapedia.waterdiplomacy.org/wiki/index.php?title=Special:RecentChangesLinked"); | ||
+ | } | ||
+ | |||
+ | addOnloadHook(CustomizeModificationsOfSidebar); |
Revision as of 13:28, 14 August 2012
/* Any JavaScript here will be loaded for all users on every page load. */ jQuery(document).ready(function() { jQuery(".expSectionBody").hide(); //toggle the component with class msg_body jQuery(".expSectionHeader").click( function() { jQuery(this).next(".expSectionBody").slideToggle(700); if (jQuery(this).hasClass('open')) { jQuery(this).removeClass('open').addClass('closed'); } else if (jQuery(this).hasClass('closed')) { jQuery(this).removeClass('closed').addClass('open'); } else { jQuery(this).addClass('open'); } }); jQuery(".ASI.expSectionHeader").mouseover(function () { jQuery(this).css("text-decoration","underline"); }); jQuery(".ASI.expSectionHeader").mouseout(function () { jQuery(this).css("text-decoration","none"); }); }); function ModifySidebar(action, section, name, link) { try { switch (section) { case "languages": var target = "p-lang"; break; case "toolbox": var target = "p-tb"; break; case "navigation": var target = "p-navigation"; break; default: var target = "p-" + section; break; } if (action == "add") { var node = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement('a'); var liNode = document.createElement('li'); aNode.appendChild(document.createTextNode(name)); aNode.setAttribute('href', link); liNode.appendChild(aNode); liNode.className='plainlinks'; node.appendChild(liNode); } if (action == "remove") { var list = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var listelements = list.getElementsByTagName('li'); for (var i = 0; i < listelements.length; i++) { if (listelements[i].getElementsByTagName('a')[0].innerHTML == name || listelements[i].getElementsByTagName('a')[0].href == link) { list.removeChild(listelements[i]); } } } } catch(e) { // lets just ignore what's happened return; } } function CustomizeModificationsOfSidebar() { //to add to toolbox: ModifySidebar("add", "toolbox", "...","http://.."); //removes [[Special:SpecialPages]] from toolbox ModifySidebar("remove", "toolbox", "Special Pages", "http://aquapedia.waterdiplomacy.org/wiki/index.php?title=Special:SpecialPages"); ModifySidebar("remove", "toolbox", "Related Changes", "http://aquapedia.waterdiplomacy.org/wiki/index.php?title=Special:RecentChangesLinked"); } addOnloadHook(CustomizeModificationsOfSidebar);