|
|
| (102 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| /* Any JavaScript here will be loaded for all users on every page load. */
| |
|
| |
|
| var ruleBooks = [
| |
| {
| |
| namespace: "Archery",
| |
| label: "Target Archery / Thrown Weapon Rules",
| |
| webVerson: "https://sca.org.nz/wiki/index.php?title=Archery:Handbook",
| |
| pdfVersion:
| |
| "https://sca.org.nz/wiki/index.php?title=Category:Target_Archery_Rulebook&action=pdfbook&titlePage=Archery:Titlepage",
| |
| chapters: [
| |
| [
| |
| "Basic Rules",
| |
| "https://sca.org.nz/wiki/index.php?title=Archery:Basic_Rules"
| |
| ],
| |
| [
| |
| "Equipment standards",
| |
| "https://sca.org.nz/wiki/index.php?title=Archery:Equipment_standards"
| |
| ],
| |
| [
| |
| "Range safety",
| |
| "https://sca.org.nz/wiki/index.php?title=Archery:Range_safety"
| |
| ],
| |
| ["Officers", "https://sca.org.nz/wiki/index.php?title=Archery:Officers"],
| |
| [
| |
| "Authorising as a Target Archery Marshal",
| |
| "https://sca.org.nz/wiki/index.php?title=Archery:Authorising"
| |
| ]
| |
| ]
| |
| }
| |
| ];
| |
|
| |
| 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) {
| |
| // let's just ignore what's happened
| |
| return;
| |
| }
| |
| }
| |
| function showToolBox() {
| |
| var toolBox = document.getElementById("p-tb");
| |
| toolBox.style.visibility = "visible";
| |
| }
| |
|
| |
| function buildSideMenu() {
| |
| currentNamespace = wgCanonicalNamespace;
| |
| var navigationMenu = document.getElementById("p-navigation");
| |
|
| |
| for (var ruleBook in ruleBooks) {
| |
| var bookObj = ruleBooks[ruleBook];
| |
|
| |
| var title = document.createElement("h3");
| |
| title.appendChild(document.createTextNode(bookObj.title));
| |
| navigationMenu.appendChild(title);
| |
|
| |
| var entries = document.createElement("ul");
| |
| navigationMenu.appendChild(entries);
| |
|
| |
| if ("webVersion" in bookObj) {
| |
| }
| |
| if ("pdfVersion" in bookObj) {
| |
| var pdfLink = document.createElement("a");
| |
| pdfLink.appendChild(document.createTextNode("PDF version"));
| |
| pdfLink.setAttribute("href", bookObj.pdfVersion);
| |
|
| |
| navigationMenu.appendChild(
| |
| docment.createElement("ul").appendChild(pdfLink)
| |
| );
| |
| }
| |
| }
| |
| }
| |
|
| |
| function CustomizeModificationsOfSidebar() {
| |
| var isLoggedIn;
| |
|
| |
| try {
| |
| isLoggedIn = wgUserId;
| |
| isLoggedIn = true;
| |
| } catch (ReferenceError) {
| |
| isLoggedIn = false;
| |
| }
| |
|
| |
| if (isLoggedIn) {
| |
| showToolBox();
| |
| }
| |
| buildSideMenu();
| |
| }
| |
|
| |
| jQuery(CustomizeModificationsOfSidebar);
| |