Difference between revisions of "MediaWiki:Common.js"

From AquaPedia Case Study Database
Jump to: navigation, search
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);