User:Nattern/vector.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
var mwPanel = document.getElementById('mw-panel');
var leftNavigation = document.getElementById('left-navigation');
var rightNavigation = document.getElementById('right-navigation');
function newMwPanelPortlet(id) {
var nav = document.createElement("nav");
nav.id = "p-" + id;
nav.className = "vector-menu mw-portlet mw-portlet-" + id + " vector-menu-portal portal";
nav.setAttribute("aria-labelledby", "p-" + id + "-label");
nav.setAttribute("role", "navigation");
var h3 = document.createElement("h3");
h3.id = "p-" + id + "-label";
h3.className = "vector-menu-heading";
var span = document.createElement("span");
span.className = "vector-menu-heading-label";
span.textContent = id;
h3.appendChild(span);
nav.appendChild(h3);
var div = document.createElement("div");
div.className = "vector-menu-content";
var ul = document.createElement("ul");
ul.className = "vector-menu-content-list";
div.appendChild(ul);
nav.appendChild(div);
mwPanel.appendChild(nav);
}
newMwPanelPortlet("Custom");
var contentLists = document.querySelectorAll('.vector-menu-content-list');
var pPersonal = contentLists[0];
var pNamespaces = contentLists[1];
var pVariants = contentLists[2];
var pViews = contentLists[3];
var pCactions = contentLists[4];
var pNavigation = contentLists[5];
var pSpecial = contentLists[6];
var pTb = contentLists[7];
var pCustom = contentLists[8];
function createListItem(end, contentList, listItemName, onClick, title, accessKey) {
var li = document.createElement('li');
var a = document.createElement('a');
var span = document.createElement('span');
if (end == "p" || end == "pre") {contentList.prepend(li);}
else if (Number.isInteger(end)) {contentList.insertBefore(li, contentList.children[end-1]);}
else {contentList.append(li);}
// li.id = "pt/t/ca-" + listItemName;
li.appendChild(a);
if (onClick.includes('/')){
a.href = onClick;
}
a.setAttribute('onclick', onClick);
if (title) {a.title = title;}
if (accessKey) {a.accessKey = accessKey;}
a.appendChild(span);
span.innerText = listItemName;
li.classList.add("mw-list-item");
}
function openPage(pageType) {
if (pageType == undefined) {
pageType = " ";
} else {
pageType = " " + pageType + " ";
}
var pageName = prompt("Type" + pageType + "here:");
if (pageName) {
window.open('https://bg3.wiki/wiki/'+ pageType + ':' + pageName, '_blank');
}
}
createListItem("a", pViews, "Image Search", "/w/index.php?title=Special:Search&profile=images&search=&fulltext=1", "Open wiki search page on Multimedia");
createListItem(4, pPersonal, "JS", "https://bg3.wiki/wiki/User:Nattern/vector.js", "User:Nattern/vector.js");
createListItem(5, pPersonal, "CSS", "https://bg3.wiki/wiki/User:Nattern/vector.css", "User:Nattern/vector.css");
createListItem("a", pCustom, "Templates", "/wiki/Category:Templates", "List of templates");
createListItem("a", pCustom, "Categories", "/wiki/Special:Categories", "List of categories");
createListItem("a", pCustom, "Wiki Maintenance", "/wiki/Category:Wiki_Maintenance", "Wiki maintenance pages");
createListItem("a", pCustom, "All Pages", "/wiki/Special:AllPages", "A list of all pages on the wiki");
createListItem("a", pCustom, "Export", "/wiki/Special:Export", "Export pages as xml");