MediaWiki:Common.js
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.load("/images/assets/image-selector.js");
/* mw.loader.load("/images/assets/nav.js"); */
mw.loader.load("https://dxgalaxy.org/js/nav.js");
$(function () {
var $variants = $('.variant');
if ($variants.length === 0) return;
// Get unique variant keys on the page
var keys = [];
$variants.each(function () {
var k = $(this).data('variant');
if (keys.indexOf(k) === -1) keys.push(k);
});
if (keys.length < 2) return; // no need for toggle
// Build tab bar
var $tabs = $('<div class="variant-tabs"></div>');
keys.forEach(function (k) {
var $btn = $('<button>' + k.charAt(0).toUpperCase() + k.slice(1) + '</button>');
$btn.on('click', function () {
// Show only the selected variant
$variants.hide().filter('[data-variant="' + k + '"]').show();
// Update active tab
$tabs.find('button').removeClass('active');
$btn.addClass('active');
// Save selection
localStorage.setItem('variant-selected', k);
});
$tabs.append($btn);
});
// Insert tab bar inside main content
$('#mw-content-text').prepend($tabs);
// Load saved choice or default to last variant
var saved = localStorage.getItem('variant-selected') || keys[0];
$variants.hide().filter('[data-variant="' + saved + '"]').show();
$tabs.find('button').removeClass('active')
.filter(':contains("' + saved.charAt(0).toUpperCase() + saved.slice(1) + '")')
.addClass('active');
});