MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
var ruleBooks = { | var ruleBooks = [ | ||
{ | |||
namespace: "Archery", | |||
label: "Target Archery / Thrown Weapon Rules", | label: "Target Archery / Thrown Weapon Rules", | ||
webVerson: "https://sca.org.nz/wiki/index.php?title=Archery:Handbook", | webVerson: "https://sca.org.nz/wiki/index.php?title=Archery:Handbook", | ||
| Line 27: | Line 28: | ||
] | ] | ||
} | } | ||
]; | |||
function ModifySidebar(action, section, name, link) { | function ModifySidebar(action, section, name, link) { | ||
| Line 83: | Line 84: | ||
return; | return; | ||
} | } | ||
} | } | ||
function showToolBox() { | function showToolBox() { | ||
var toolBox = document.getElementById("p-tb"); | var toolBox = document.getElementById("p-tb"); | ||
toolBox.style.visibility = "visible"; | 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) | |||
); | |||
} | |||
} | |||
} | } | ||
| Line 103: | Line 128: | ||
} | } | ||
if ( | if (isLoggedIn) { | ||
showToolBox(); | showToolBox(); | ||
} | } | ||
Revision as of 04:17, 2 June 2019
/* 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);