Toggle menu
7
505
3
1.1K
New York ARTCC
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
Fix mw-collapsible toggle text update (hardcoded [Show]/[Hide] in wikitext)
Remove mw-collapsible patch (moved into ShowHide extension)
 
Line 11: Line 11:
     var observer = new MutationObserver(function(mutations) {
     var observer = new MutationObserver(function(mutations) {
         mutations.forEach(function(mutation) {
         mutations.forEach(function(mutation) {
             if (mutation.type === "attributes" && mutation.target.classList.contains('tabber--live')) {
             if (mutation.type === "attributes" && mutation.target.classList.contains(tabber--live)) {
                 var tabName = elem.closest('article.tabber__panel').id;
                 var tabName = elem.closest(article.tabber__panel).id;
                 document.getElementById('tab-' + tabName).click();
                 document.getElementById(tab- + tabName).click();
             }
             }
         });
         });
     });
     });
     observer.observe(elem.closest('div.tabber'), { attributes: true });
     observer.observe(elem.closest(div.tabber), { attributes: true });
});
 
 
/* Fix mw-collapsible toggle text — hardcoded [Show]/[Hide] in wikitext
  The makeCollapsible module toggles CSS classes but does not update
  hardcoded toggle text. This patches all mw-collapsible-toggle elements. */
mw.hook('wikipage.content').add(function () {
    document.querySelectorAll('.mw-collapsible-toggle').forEach(function (toggle) {
        var text = toggle.textContent;
        if (text.indexOf('[Show]') === -1 && text.indexOf('[Hide]') === -1) return;
        toggle.addEventListener('click', function () {
            var container = toggle.closest('.mw-collapsible');
            if (!container) return;
            var collapsed = container.classList.contains('mw-collapsed');
            toggle.textContent = text.replace(/\[(Show|Hide)\]/, collapsed ? '[Show]' : '[Hide]');
        });
    });
});
});

Latest revision as of 03:55, 27 March 2026

/* Any JavaScript here will be loaded for all users on every page load. */

/* - - - - - - - - - - - - - - -
 | Tabber Autoselections
 | Looks for autoselect markers
 | and executes after tabber control
 | is fully mounted.
 |- - - - - - - - - - - - - - - - */
var autoselectTargets = document.querySelectorAll(".tabber--autoselect");
autoselectTargets.forEach(function (elem) {
    var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (mutation.type === "attributes" && mutation.target.classList.contains(tabber--live)) {
                var tabName = elem.closest(article.tabber__panel).id;
                document.getElementById(tab- + tabName).click();
            }
        });
    });
    observer.observe(elem.closest(div.tabber), { attributes: true });
});