MediaWiki:Gadget-MobileScript.js

From Destinypedia, the Destiny wiki

Revision as of 20:23, September 2, 2021 by Porplemontage (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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for users of the mobile site */

/* Collapse boxes on smaller devices */
function mwMobileCollapse($collapsibleContent) {
	if ($(window).width() < 720)
		$.each($collapsibleContent, function(index, element) {
			$(element).data('mw-collapsible').collapse();
		});
}
mw.hook('wikipage.collapsibleContent').add(mwMobileCollapse);

/* Move navboxes to dedicated section */
$(function() {
	if ($('.navbox-section').length) {
		if ($('section:nth-last-of-type(2) > *:not(.navbox):not(.mw-empty-elt)').length > 0
		  || $('.section-heading:nth-last-of-type(2) > .mw-headline#References').length > 0
		  || $('.section-heading:nth-last-of-type(2) > .mw-headline#Sources').length > 0)
			$('section:nth-last-of-type(2) > .navbox').detach().appendTo('.navbox-section');
		if ($.trim($('.navbox-section').text()) == '') {
			$('.navbox-heading').attr('style', 'display:none !important');
			$('.navbox-section').attr('style', 'display:none !important');
		}
	}
});

/* Adjust table of contents to fit with infobox */
$(function() {
	var body = $('#bodyContent');
	var infobox = $('.infobox');

	if (infobox) {
	    var maxWidth = Math.round(body.width() - infobox.outerWidth(true) - 10);
	    $('head').append('<style type="text/css">.toc-mobile { max-width: ' + maxWidth + 'px; }</style>');
	}
});
function tocResizer() {
	var body = $('#bodyContent');
	var infobox = $('.infobox');
	var toc = $('.toc-mobile');

	if (infobox && toc) {
	    var maxWidth = Math.round(body.width() - infobox.outerWidth(true) - 10);
	    toc.css('max-width', maxWidth);
	}
}
$(window).resize(function() {
	$(tocResizer);
});