MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Move some js to MediaWiki:Gadget-rizline-clickable-bio-chips.js |
No edit summary |
||
Line 16: | Line 16: | ||
findAndExecute(".rgwiki-main-negative-tabindex", (element) => { | findAndExecute(".rgwiki-main-negative-tabindex", (element) => { | ||
element.tabIndex = -1; | element.tabIndex = -1; | ||
}); | |||
/* Links without href/links to "javascript:void(0)" are not allowed by MediaWiki, this is a workaround */ | |||
/* Use Template:EmptyLink to activate this piece of code. */ | |||
findAndExecute(".rgwiki-main-emptylink", (span) => { | |||
const a = span.querySelector("a"); | |||
for (const className of span.classList) { | |||
if (className !== "rgwiki-main-emptylink") { | |||
a.classList.add(className); | |||
} | |||
} | |||
a.href = "javascript:void(0)"; | |||
const parent = span.parentNode; | |||
parent.replaceChild(a, span); | |||
}); | }); | ||
Revision as of 22:53, 26 February 2025
/* Any JavaScript here will be loaded for all users on every page load. */ /* Finds elements by a selector and executes a function for each element */ function findAndExecute(selector, callback) { const elements = document.querySelectorAll(selector); elements.forEach((element) => { try { callback(element); } catch (e) { console.error(`Error while initializing "${selector}"`, e); } }); } /* tabindex="-1" is not allowed by MediaWiki, this is a workaround */ findAndExecute(".rgwiki-main-negative-tabindex", (element) => { element.tabIndex = -1; }); /* Links without href/links to "javascript:void(0)" are not allowed by MediaWiki, this is a workaround */ /* Use Template:EmptyLink to activate this piece of code. */ findAndExecute(".rgwiki-main-emptylink", (span) => { const a = span.querySelector("a"); for (const className of span.classList) { if (className !== "rgwiki-main-emptylink") { a.classList.add(className); } } a.href = "javascript:void(0)"; const parent = span.parentNode; parent.replaceChild(a, span); }); /* Localized date */ findAndExecute(".rgwiki-main-date-localized", (span) => { const inputDateString = span.dataset.datetime !== undefined ? span.dataset.datetime : span.textContent; const date = new Date(inputDateString); const outputDateString = date.toString(); span.title = `This date in your timezone: ${outputDateString}`; });