MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 4: | Line 4: | ||
$('#pt-darkmode a').on('click', function (e) { | $('#pt-darkmode a').on('click', function (e) { | ||
e.preventDefault() | e.preventDefault() | ||
let | let darkmode = /\bdarkmode=1\b/.test(document.cookie); | ||
if (darkmode) { | if (darkmode) { | ||
Revision as of 19:16, 3 April 2024
/* Any JavaScript here will be loaded for all users on every page load. */
;(function () {
$('#pt-darkmode a').on('click', function (e) {
e.preventDefault()
let darkmode = /\bdarkmode=1\b/.test(document.cookie);
if (darkmode) {
document.body.classList.remove('darkmode')
document.cookie = `darkmode=; Path=/; Max-Age=0;`
} else {
document.body.classList.add('darkmode')
document.cookie = 'darkmode=1; Path=/;'
}
})
})();
/* Implements section-collapse and stop-section-collapse */
var collapsing = document.querySelectorAll(".section-collapse");
if (collapsing.length>0) {
for (var i = 0; i < collapsing.length ; i++) {
collapsing.item(i).addEventListener('click',collapseHandler,false);
if (collapsing.item(i).classList.contains("collapsed"))
collapseHandlerThis(collapsing.item(i));
}
}
function collapseHandler() {
collapseHandlerThis(this);
}
function collapseHandlerThis(t) {
var c = t.parentNode.parentNode.nextSibling;
while (c) {
if (c.classList) {
if (c.classList.contains("section-collapse") || c.classList.contains("stop-section-collapse"))
break;
c.classList.toggle('section-collapsed');
}
c = c.nextSibling;
}
t.classList.toggle('collapsed-icon');
}