MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
// { | // { | ||
// namespace: "Armoured_Combat", | // namespace: "Armoured_Combat", | ||
// label: " | // label: "Armoured combat rules", | ||
// webVersion: | // webVersion: | ||
// "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Handbook", | // "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Handbook", | ||
// pdfVersion: | // pdfVersion: | ||
// "https://sca.org.nz/wiki/index.php?title=Category:Fighters_Handbook&action= | // "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: [ | // chapters: [ | ||
// [ | // [ |
Revision as of 04:47, 11 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", // "Armoured_Combat:Combat Authorisation Requirements" // ], // ["Rules of the Lists", "Armoured_Combat:Rules of the Lists"], // ["Conventions of Combat", "Armoured_Combat:Conventions of Combat"], // [ // "The Use of Weapons and Shields", // "Armoured_Combat:The Use of Weapons and Shields" // ], // [ // "Target Areas and Acknowledgement of Blows", // "Armoured_Combat:Target Areas and Acknowledgement of Blows" // ], // ["Armour Requirements", "Armoured_Combat:Armour Requirements"], // ["Melee Weapon Standards", "Armoured_Combat:Melee Weapon Standards"], // [ // "Throwing Weapon Standards", // "Armoured_Combat:Throwing Weapon Standards" // ], // ["Missile Weapon Standards", "Armoured_Combat:Missile Weapon Standards"], // ["Grievances and Sanctions", "Armoured_Combat:Grievances and Sanctions"], // [ // "Procedures for Changes to These Rules", // "Armoured_Combat:Procedures for Changes to These Rules" // ], // ["Glossary", "Armoured_Combat:Glossary"] // ] // }, { 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(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);