MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
mw.loader.using('mediawiki.util', function () { | mw.loader.using('mediawiki.util', function () { | ||
$(function () { | $(function () { | ||
// PDF Export Button (for InternationalisationForms) | // 📄 PDF Export Button (for InternationalisationForms pages) | ||
var cats = mw.config.get('wgCategories') || []; | var cats = mw.config.get('wgCategories') || []; | ||
var targetCat = 'InternationalisationForms'; | var targetCat = 'InternationalisationForms'; | ||
Line 32: | Line 32: | ||
} | } | ||
// Hide toolbox for anonymous users | // 🧰 Hide toolbox for anonymous users | ||
if (mw.config.get('wgUserName') === null) { | if (mw.config.get('wgUserName') === null) { | ||
$('#p-tb').hide(); | $('#p-tb').hide(); | ||
Line 38: | Line 38: | ||
} | } | ||
// Hide “Switch to old look” | // 🧼 Hide “Switch to old look” link | ||
function hideSkinSwitcher() { | function hideSkinSwitcher() { | ||
$('a').filter(function () { | $('a').filter(function () { | ||
Line 49: | Line 49: | ||
observer.observe(document.body, { childList: true, subtree: true }); | observer.observe(document.body, { childList: true, subtree: true }); | ||
// | // 🌳 COLLAPSIBLE TREE TABLE (expand/collapse rows based on parent) | ||
$(".treetable .tree-row").each(function () { | $(".treetable .tree-row").each(function () { | ||
const id = $(this).data("id"); | const id = $(this).data("id"); |
Latest revision as of 11:37, 24 July 2025
mw.loader.using('mediawiki.util', function () {
$(function () {
// 📄 PDF Export Button (for InternationalisationForms pages)
var cats = mw.config.get('wgCategories') || [];
var targetCat = 'InternationalisationForms';
if (cats.indexOf(targetCat) !== -1) {
var $pdfLink = $('<a>')
.text('📄 Export this page to PDF')
.attr('href', '#')
.css({
display: 'inline-block',
padding: '0.39em 0.77em',
'font-size': '0.82em',
'background-color': '#19529E',
color: '#fff',
'text-decoration': 'none',
'border-radius': '3px',
margin: '0.39em'
})
.click(function (e) {
e.preventDefault();
window.print();
});
$('#content').before(
$('<div>')
.attr('id', 'export-to-pdf-container')
.css({ 'text-align': 'right', padding: '0.5em' })
.append($pdfLink)
);
}
// 🧰 Hide toolbox for anonymous users
if (mw.config.get('wgUserName') === null) {
$('#p-tb').hide();
$('#p-toolbox, #vector-page-tools, #vector-page-tools-dropdown').hide();
}
// 🧼 Hide “Switch to old look” link
function hideSkinSwitcher() {
$('a').filter(function () {
return $(this).text().trim() === 'Switch to old look';
}).closest('li, span, div').hide();
}
hideSkinSwitcher();
const observer = new MutationObserver(hideSkinSwitcher);
observer.observe(document.body, { childList: true, subtree: true });
// 🌳 COLLAPSIBLE TREE TABLE (expand/collapse rows based on parent)
$(".treetable .tree-row").each(function () {
const id = $(this).data("id");
const parent = $(this).data("parent");
if (parent) {
$(this).addClass("child-of-" + parent.replace(/\s/g, "-")).hide();
} else {
$(this).addClass("root-row").css("cursor", "pointer");
}
});
$(".treetable .root-row").on("click", function () {
const id = $(this).data("id").replace(/\s/g, "-");
$(".child-of-" + id).toggle();
});
});
});