MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 116: | Line 116: | ||
chapter = bookObj.chapters[i]; | chapter = bookObj.chapters[i]; | ||
var chapterLink = document.createElement("a"); | var chapterLink = document.createElement("a"); | ||
chapterLink.appendChild(document.createTextNode(chapter[0])); | chapterLink.appendChild(document.createTextNode(I + ". "+ chapter[0])); | ||
chapterLink.setAttribute("href", chapter[1]); | chapterLink.setAttribute("href", chapter[1]); | ||
var li = document.createElement("li"); | var li = document.createElement("li"); | ||
Revision as of 06:17, 14 July 2019
/* Any JavaScript here will be loaded for all users on every page load. */
var ruleBooks = [
{
namespace: "Armoured_Combat",
label: "Armoured combat rules",
webVersion:
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Handbook",
pdfVersion:
"https://sca.org.nz/wiki/index.php?title=Category:Fighters_Handbook&action=pandocpdfbook&titlePage=Armoured_Combat:Fighters_Handbook_Titlepage&template=Armoured_Combat:Fighters_Handbook_Template",
chapters: [
[
"Classes of Participant and combat",
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Classes_of_Participant_and_Combat"
],
[
"Combat Authorisation Requirements",
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Combat Authorisation Requirements"
],
["Rules of the Lists", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Rules of the Lists"],
["Conventions of Combat", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Conventions of Combat"],
[
"The Use of Weapons and Shields",
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:The Use of Weapons and Shields"
],
[
"Target Areas and Acknowledgement of Blows",
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Target Areas and Acknowledgement of Blows"
],
["Armour Requirements", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Armour Requirements"],
["Melee Weapon Standards", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Melee Weapon Standards"],
[
"Throwing Weapon Standards",
"Armoured_Combat:https://sca.org.nz/wiki/index.php?title=Throwing Weapon Standards"
],
["Missile Weapon Standards", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Missile Weapon Standards"],
["Grievances and Sanctions", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Grievances and Sanctions"],
[
"Procedures for Changes to These Rules",
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Procedures for Changes to These Rules"
],
["Glossary", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Glossary"],
["Change log", "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Change_Log"]
]
},
{
namespace: "Archery",
label: "Target Archery / Thrown Weapon Rules",
webVersion: "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 showToolBox() {
var toolBox = document.getElementById("p-tb");
toolBox.style.visibility = "visible";
}
function buildSideMenu() {
currentNamespace = mw.config.get("wgCanonicalNamespace");
var navigationMenu = document.getElementById("mw-panel");
for (var ruleBook in ruleBooks) {
var bookObj = ruleBooks[ruleBook];
var bookDiv = document.createElement("div");
bookDiv.setAttribute("class", "portal");
navigationMenu.insertBefore(bookDiv, document.getElementById("p-tb"));
var title = document.createElement("h3");
//title.setAttribute("class", "portal");
//title.setAttribute("role", "navigation");
if ("webVersion" in bookObj) {
var titleLink = document.createElement("a");
titleLink.setAttribute("href", bookObj.webVersion);
titleLink.appendChild(document.createTextNode(bookObj.label));
title.appendChild(titleLink);
} else {
title.appendChild(document.createTextNode(bookObj.label));
}
bookDiv.appendChild(title);
var navBody = document.createElement("div");
navBody.setAttribute("class", "body");
bookDiv.appendChild(navBody);
var entries = document.createElement("ul");
navBody.appendChild(entries);
if (
bookObj.namespace === mw.config.get("wgCanonicalNamespace") &&
"chapters" in bookObj
) {
var chapterCount = bookObj.chapters.length;
for (var i = 0; i < chapterCount; i++) {
chapter = bookObj.chapters[i];
var chapterLink = document.createElement("a");
chapterLink.appendChild(document.createTextNode(I + ". "+ chapter[0]));
chapterLink.setAttribute("href", chapter[1]);
var li = document.createElement("li");
li.appendChild(chapterLink);
entries.appendChild(li);
}
}
if ("pdfVersion" in bookObj) {
var pdfLink = document.createElement("a");
pdfLink.appendChild(document.createTextNode("PDF version"));
pdfLink.setAttribute("href", bookObj.pdfVersion);
var h3 = document.createElement("h3");
h3.appendChild(pdfLink);
bookDiv.appendChild(h3);
}
}
}
function CustomizeModificationsOfSidebar() {
var isLoggedIn;
try {
isLoggedIn = mw.config.get("wgUserId");
if (isLoggedIn === null) {
isLoggedIn = false;
} else {
isLoggedIn = true;
}
} catch (ReferenceError) {
isLoggedIn = false;
}
if (isLoggedIn) {
showToolBox();
}
buildSideMenu();
}
jQuery(CustomizeModificationsOfSidebar);