MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
alert("JS is running"); | alert("JS is running"); | ||
mw.loader.using(['mediawiki.util']).then(function () { | |||
const | function processList() { | ||
const container = document.querySelector("#ns-tree"); | |||
if (!container) return; | |||
const items = container.querySelectorAll("li"); | |||
const | |||
const full = link.textContent; | if (items.length === 0) { | ||
// Try again shortly (content not ready yet) | |||
setTimeout(processList, 200); | |||
return; | |||
} | |||
items.forEach(function (li) { | |||
const link = li.querySelector("a"); | |||
if (!link) return; | |||
const full = link.textContent; | |||
let clean = full.replace(/^Drupal:/, ""); | |||
const depth = (clean.match(/\//g) || []).length; | |||
const parts = clean.split("/"); | |||
const label = parts[parts.length - 1]; | |||
link.textContent = label; | |||
li.style.marginLeft = (depth * 20) + "px"; | |||
if (depth === 0) { | |||
li.classList.add("top-level"); | |||
link.style.fontWeight = "bold"; | |||
} | |||
}); | |||
} | |||
// Run after DOM ready | |||
$(processList); | |||
}); | }); | ||
Revision as of 13:42, 12 April 2026
/* Any JavaScript here will be loaded for all users on every page load. */
alert("JS is running");
mw.loader.using(['mediawiki.util']).then(function () {
function processList() {
const container = document.querySelector("#ns-tree");
if (!container) return;
const items = container.querySelectorAll("li");
if (items.length === 0) {
// Try again shortly (content not ready yet)
setTimeout(processList, 200);
return;
}
items.forEach(function (li) {
const link = li.querySelector("a");
if (!link) return;
const full = link.textContent;
let clean = full.replace(/^Drupal:/, "");
const depth = (clean.match(/\//g) || []).length;
const parts = clean.split("/");
const label = parts[parts.length - 1];
link.textContent = label;
li.style.marginLeft = (depth * 20) + "px";
if (depth === 0) {
li.classList.add("top-level");
link.style.fontWeight = "bold";
}
});
}
// Run after DOM ready
$(processList);
});