MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
*/ | */ | ||
// Show "up to date" notice on top-right of pages. | |||
// See Template:Up_to_date | |||
/* | |||
(function () { | (function () { | ||
if (document.getElementById("bg3wiki-legacy-content-notice")) { | if (document.getElementById("bg3wiki-legacy-content-notice")) { | ||
Line 25: | Line 28: | ||
return; | return; | ||
} | } | ||
})(); | })(); | ||
*/ | |||
// Related to centering the content; fix for popups. | // Related to centering the content; fix for popups. |
Revision as of 22:51, 3 March 2024
/* Any JavaScript here will be loaded for all users on every page load. */
/*
(function () {
var notice = document.getElementById("bg3wiki-downtime-notice");
if (notice && new Date().getMonth() + 1 == 9) {
notice.style.display = 'block';
}
})();
*/
// Show "up to date" notice on top-right of pages.
// See Template:Up_to_date
/*
(function () {
if (document.getElementById("bg3wiki-legacy-content-notice")) {
return;
}
var siteNotice = document.getElementById("siteNotice");
if (!siteNotice) {
return;
}
var uptodateNotice = document.getElementById("bg3wiki-uptodate-notice");
if (uptodateNotice) {
siteNotice.style.float = "right";
siteNotice.innerHTML = uptodateNotice.innerHTML;
uptodateNotice.remove();
return;
}
})();
*/
// Related to centering the content; fix for popups.
(function () {
var body = document.getElementsByTagName("body")[0];
var callback = function(mutList, _obs) {
var nodes = mutList[0].addedNodes;
if (nodes.length == 0 || nodes[0].classList == undefined) {
return;
}
var node = nodes[0];
if (node.classList.contains("mwe-popups")) {
var bodyStyle = window.getComputedStyle(body);
var bodyLeft = bodyStyle.getPropertyValue("margin-left");
node.style.left = "calc("+ node.style.left + " - "+ bodyLeft + ")";
}
};
var observer = new MutationObserver(callback);
observer.observe(body, { childList: true });
})();
/**
* Add support to mw-collapsible for autocollapse, innercollapse and outercollapse
*
* Maintainers: TheDJ. See https://en.wikipedia.org/wiki/MediaWiki:Common.js for more information.
*/
function mwCollapsibleSetup( $collapsibleContent ) {
var $element,
$toggle,
autoCollapseThreshold = 2;
$.each( $collapsibleContent, function ( index, element ) {
$element = $( element );
if ( $element.hasClass( 'collapsible' ) ) {
$element.find( 'tr:first > th:first' ).prepend( $element.find( 'tr:first > * > .mw-collapsible-toggle' ) );
}
if ( $collapsibleContent.length >= autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) {
$element.data( 'mw-collapsible' ).collapse();
} else if ( $element.hasClass( 'innercollapse' ) ) {
if ( $element.parents( '.outercollapse' ).length > 0 ) {
$element.data( 'mw-collapsible' ).collapse();
}
}
// because of colored backgrounds, style the link in the text color
// to ensure accessible contrast
$toggle = $element.find( '.mw-collapsible-toggle' );
if ( $toggle.length ) {
// Make the toggle inherit text color (Updated for T333357 2023-04-29)
if ( $toggle.parent()[ 0 ].style.color ) {
$toggle.css( 'color', 'inherit' );
$toggle.find( '.mw-collapsible-text' ).css( 'color', 'inherit' );
}
}
} );
}
mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );