MediaWiki:CollapsibleTemplates.js

From Outreach Wiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
mw.loader.load( '/w/index.php?title=MediaWiki:CollapsibleTemplates.css&action=raw&ctype=text/css', 'text/css' );
jQuery(document).ready(function ($) {
    var slideDuration, $headings;

    function toggleTemplate($element) {
        if ($element.is('tr')) {
            $element
                .parent().parent()
                .toggleClass('collapsed');

            $element.nextAll('tr')
                .toggleClass('hidden');

        } else {
            $element
                .parent()
                .toggleClass('expanded')
                .toggleClass('collapsed')
                .find('div.body')
                .slideToggle(slideDuration);a
        }
    }

    slideDuration = mw.config.get('skin') === 'vector' ? 150 : 0;

    $('div.collapsibleheader').show();

    $('div.collapsibletemplate.collapsed div.body').hide();
    
    $('table.collapsible.collapsed > tbody > tr:not(:first-child)').toggleClass('hidden');

    $('div.collapsibletemplate div.body').removeClass('show-on-commons');
    $headings = $('div.collapsibletemplate > div.collapsibleheader, table.collapsible > tbody >tr:first-child');
    $headings.mousedown(function(e) {
        if ($(e.target).is('a')) {
          return true;
        }
        toggleTemplate($(this));
        return false;
    });
});