MediaWiki:Common.js: Difference between revisions
From WikiMSK
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/** | |||
* Keep code in MediaWiki:Common.js to a minimum as it is unconditionally | |||
* loaded for all users on every wiki page. If possible create a gadget that is | |||
* enabled by default instead of adding it here (since gadgets are fully | |||
* optimized ResourceLoader modules with possibility to add dependencies etc.) | |||
* | |||
* Since Common.js isn't a gadget, there is no place to declare its | |||
* dependencies, so we have to lazy load them with mw.loader.using on demand and | |||
* then execute the rest in the callback. In most cases these dependencies will | |||
* be loaded (or loading) already and the callback will not be delayed. In case a | |||
* dependency hasn't arrived yet it'll make sure those are loaded before this. | |||
*/ | |||
/** | |||
* ImageStacks | |||
* Maintainer: [[User:Hellerhoff]], [[User:DieBuche]] | |||
*/ | |||
// Only load if page contains template | |||
mw.hook( 'wikipage.content' ).add( function ( $content ) { | |||
if ( $content.find( 'div.ImageStack' ).length ) mw.loader.load( 'ext.gadget.ImageStack' ); | |||
} ); | |||
Revision as of 18:19, 20 October 2022
/**
* Keep code in MediaWiki:Common.js to a minimum as it is unconditionally
* loaded for all users on every wiki page. If possible create a gadget that is
* enabled by default instead of adding it here (since gadgets are fully
* optimized ResourceLoader modules with possibility to add dependencies etc.)
*
* Since Common.js isn't a gadget, there is no place to declare its
* dependencies, so we have to lazy load them with mw.loader.using on demand and
* then execute the rest in the callback. In most cases these dependencies will
* be loaded (or loading) already and the callback will not be delayed. In case a
* dependency hasn't arrived yet it'll make sure those are loaded before this.
*/
/**
* ImageStacks
* Maintainer: [[User:Hellerhoff]], [[User:DieBuche]]
*/
// Only load if page contains template
mw.hook( 'wikipage.content' ).add( function ( $content ) {
if ( $content.find( 'div.ImageStack' ).length ) mw.loader.load( 'ext.gadget.ImageStack' );
} );
/* Any JavaScript here will be loaded for all users on every page load. */
/*Remove the file size information on the gallery image for dynamicpagelist*/
var galleryText = document.querySelectorAll('.gallerytext');
var linkList = [];
for (i = 0; i < galleryText.length; i++) {
var pageLink = galleryText[i].innerHTML;
var endLinkIndex = pageLink.indexOf("</a>");
pageLink = pageLink.slice(0,endLinkIndex);
pageLink += "</a></p>";
linkList.push(pageLink);
}
for (i = 0; i < galleryText.length; i++) {
document.querySelectorAll('.gallerytext')[i].innerHTML = linkList[i];
}
/* Toggle advanced search checkboxes;. to use in conjunction with css to hide it if using semantic mediawiki */
/*
const advancedSearchToggle = document.createElement("li");
advancedSearchToggle.className = "advancedSearchToggle";
const newContent = document.createTextNode("˅");
advancedSearchToggle.appendChild(newContent);
const searchTabs = document.querySelector(".search-types ul");
searchTabs.appendChild(advancedSearchToggle);
advancedSearchToggle.addEventListener("click", function() {
var advancedSearchBox = document.getElementById("mw-searchoptions");
if (advancedSearchBox.style.display == "none") {
advancedSearchBox.style.display = "block";
} else {
advancedSearchBox.style.display = "none";
}
});
*/