Toggle menu
7
505
3
1.1K
ZNY Wiki
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
Import from source wiki for parity
 
Fix mw-collapsible toggle text update (hardcoded [Show]/[Hide] in wikitext)
Line 18: Line 18:
     });
     });
     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]');
        });
    });
});
});

Revision as of 03:16, 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 });
});


/* 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]');
        });
    });
});