Jump to content

MediaWiki:Common.js

From Megabonk Wiki
Revision as of 21:42, 4 October 2025 by MegaAdmin (talk | contribs)

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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
mw.loader.using(['mediawiki.api','mediawiki.util']).then(function(){
  var api = new mw.Api();
  function togglePanel($btn){
    var targetId = $btn.attr('data-target');
    var $panel = $('#'+targetId);
    var $panelRow = $panel.closest('tr');
    var $content = $panel.find('.build-content');
    var $loading = $panel.find('.build-loading');

    if ($panelRow.is(':visible')) { $panelRow.hide(); $btn.text('Show'); return; }
    $panelRow.show(); $btn.text('Hide');

    if ($content.data('loaded')===1) return;

    $loading.show();
    api.get({action:'parse',page:$panel.data('title'),prop:'text',disableeditsection:1,formatversion:2})
      .then(function(data){
        var html=(data && data.parse && data.parse.text)?data.parse.text:'<em>Could not load content.</em>';
        $content.html(html);
        $content.data('loaded',1);
      })
      .catch(function(){ $content.html('<em>Error while loading content.</em>'); })
      .always(function(){ $loading.hide(); });
  }
  $(document).on('click','a.build-toggle',function(e){ e.preventDefault(); togglePanel($(this)); });
});