Main Page
Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(Fix global show collapsible button) |
(Make collapse-global a toggle with state in dataset) |
||
Line 28: | Line 28: | ||
− | document.getElementById("collapse-global").addEventListener("click", function( | + | const collapseGlobal = document.getElementById("collapse-global"); |
− | $(".mw-collapsible-toggle.mw-collapsible-toggle-collapsed").click(); | + | collapseGlobal.addEventListener("click", function(){ |
+ | if (collapseGlobal.dataset.state != "expanded") { | ||
+ | $(".mw-collapsible-toggle.mw-collapsible-toggle-collapsed").click(); | ||
+ | collapseGlobal.dataset.state = "expanded"; | ||
+ | } else { | ||
+ | $(".mw-collapsible-toggle.mw-collapsible-toggle-expanded").click(); | ||
+ | collapseGlobal.dataset.state = "collapsed"; | ||
+ | } | ||
}); | }); |
Revision as of 11:06, 23 April 2020
/* Any JavaScript here will be loaded for all users on every page load. */ /** * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL * @revision 2017-05-16 */ mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () { var extraCSS = mw.util.getParamValue( 'withCSS' ), extraJS = mw.util.getParamValue( 'withJS' ); if ( extraCSS ) { // DONT REMOVE THIS IF (unless you are OK with CSRF attacks) if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) { mw.loader.load( '/wiki/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' ); } else { mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } ); } } if ( extraJS ) { // DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks) if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) { mw.loader.load( '/wiki/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' ); } else { mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } ); } } }); const collapseGlobal = document.getElementById("collapse-global"); collapseGlobal.addEventListener("click", function(){ if (collapseGlobal.dataset.state != "expanded") { $(".mw-collapsible-toggle.mw-collapsible-toggle-collapsed").click(); collapseGlobal.dataset.state = "expanded"; } else { $(".mw-collapsible-toggle.mw-collapsible-toggle-expanded").click(); collapseGlobal.dataset.state = "collapsed"; } });