MediaWiki:Common.js
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */ /* Hacky solution to invert images with transparent backgrounds in dark mode */ /*var elementToInvert = document.querySelector(".infobox-image > span");*/ /*elementToInvert.classList.add("mw-no-invert");*/ /* Create Page */ const createPageTargetIdDataSetString = "[data-create-page-target-id]"; if (document.querySelector(createPageTargetIdDataSetString)) { /** * @type {HTMLElement[]} */ let itemsCreateInputPageGrid = []; let itemsCreatePageGrid = []; const createPageTargetId = "createPageTargetId"; const createPageInputHiddenClass = "hidden"; const createPageInputActiveClass = "pageInputActive"; /** * @param {HTMLElement} element */ function getGridTarget(element) { const targetId = element.dataset[createPageTargetId]; return document.getElementById(targetId); } /** * @this {HTMLDivElement} */ function toggleGridTarget(element, targetElement) { for (let index = 0; index < itemsCreateInputPageGrid.length; index += 1) { const target = itemsCreateInputPageGrid[index]; target.classList.add(createPageInputHiddenClass); if (target === targetElement) { target.classList.remove(createPageInputHiddenClass); } const clickedElement = itemsCreatePageGrid[index]; clickedElement.classList.remove(createPageInputActiveClass); if (clickedElement === element) { clickedElement.classList.add(createPageInputActiveClass); } } } /** * @param {HTMLElement} element * @param {HTMLElement} targetElement */ function addToggleGridTargetEvent(element, targetElement) { itemsCreatePageGrid.push(element); itemsCreateInputPageGrid.push(targetElement); element.addEventListener("click", () => toggleGridTarget(element, targetElement) ); } const createPageTargetElements = document.querySelectorAll( createPageTargetIdDataSetString ); for (let index = 0; index < createPageTargetElements.length; index += 1) { const element = createPageTargetElements[index]; const targetElement = getGridTarget(element); if (targetElement) { addToggleGridTargetEvent(element, targetElement); } } } /* Create Page */ /* testing */ document.getElementById("incidentInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'block'; document.getElementById("productLineCreate").style.display = 'none'; document.getElementById("productCreate").style.display = 'none'; document.getElementById("companyCreate").style.display = 'none'; document.getElementById("themeCreate").style.display = 'none'; document.getElementById("customCreate").style.display = 'none'; document.getElementById("incidentInput").classList.add("pageInputActive"); document.getElementById("productLineInput").classList.remove("pageInputActive"); document.getElementById("productInput").classList.remove("pageInputActive"); document.getElementById("companyInput").classList.remove("pageInputActive"); document.getElementById("themeInput").classList.remove("pageInputActive"); document.getElementById("customInput").classList.remove("pageInputActive"); } document.getElementById("productLineInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'none'; document.getElementById("productLineCreate").style.display = 'block'; document.getElementById("productCreate").style.display = 'none'; document.getElementById("companyCreate").style.display = 'none'; document.getElementById("themeCreate").style.display = 'none'; document.getElementById("customCreate").style.display = 'none'; document.getElementById("incidentInput").classList.remove("pageInputActive"); document.getElementById("productLineInput").classList.add("pageInputActive"); document.getElementById("productInput").classList.remove("pageInputActive"); document.getElementById("companyInput").classList.remove("pageInputActive"); document.getElementById("themeInput").classList.remove("pageInputActive"); document.getElementById("customInput").classList.remove("pageInputActive"); } document.getElementById("productInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'none'; document.getElementById("productLineCreate").style.display = 'none'; document.getElementById("productCreate").style.display = 'block'; document.getElementById("companyCreate").style.display = 'none'; document.getElementById("themeCreate").style.display = 'none'; document.getElementById("customCreate").style.display = 'none'; document.getElementById("incidentInput").classList.remove("pageInputActive"); document.getElementById("productLineInput").classList.remove("pageInputActive"); document.getElementById("productInput").classList.add("pageInputActive"); document.getElementById("companyInput").classList.remove("pageInputActive"); document.getElementById("themeInput").classList.remove("pageInputActive"); document.getElementById("customInput").classList.remove("pageInputActive"); } document.getElementById("companyInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'none'; document.getElementById("productLineCreate").style.display = 'none'; document.getElementById("productCreate").style.display = 'none'; document.getElementById("companyCreate").style.display = 'block'; document.getElementById("themeCreate").style.display = 'none'; document.getElementById("customCreate").style.display = 'none'; document.getElementById("incidentInput").classList.remove("pageInputActive"); document.getElementById("productLineInput").classList.remove("pageInputActive"); document.getElementById("productInput").classList.remove("pageInputActive"); document.getElementById("companyInput").classList.add("pageInputActive"); document.getElementById("themeInput").classList.remove("pageInputActive"); document.getElementById("customInput").classList.remove("pageInputActive"); } document.getElementById("themeInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'none'; document.getElementById("productLineCreate").style.display = 'none'; document.getElementById("productCreate").style.display = 'none'; document.getElementById("companyCreate").style.display = 'none'; document.getElementById("themeCreate").style.display = 'block'; document.getElementById("customCreate").style.display = 'none'; document.getElementById("incidentInput").classList.remove("pageInputActive"); document.getElementById("productLineInput").classList.remove("pageInputActive"); document.getElementById("productInput").classList.remove("pageInputActive"); document.getElementById("companyInput").classList.remove("pageInputActive"); document.getElementById("themeInput").classList.add("pageInputActive"); document.getElementById("customInput").classList.remove("pageInputActive"); } document.getElementById("customInput").onclick = function() { document.getElementById("incidentCreate").style.display = 'none'; document.getElementById("productLineCreate").style.display = 'none'; document.getElementById("productCreate").style.display = 'none'; document.getElementById("companyCreate").style.display = 'none'; document.getElementById("themeCreate").style.display = 'none'; document.getElementById("customCreate").style.display = 'block'; document.getElementById("incidentInput").classList.remove("pageInputActive"); document.getElementById("productLineInput").classList.remove("pageInputActive"); document.getElementById("productInput").classList.remove("pageInputActive"); document.getElementById("companyInput").classList.remove("pageInputActive"); document.getElementById("themeInput").classList.remove("pageInputActive"); document.getElementById("customInput").classList.add("pageInputActive"); }