MediaWiki:Gadget-GlobalScript.js: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
No edit summary
mNo edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all skins on both desktop and mobile */
/* Any JavaScript here will be loaded for all skins on both desktop and mobile */
/* Fix media negative margin bug for wide galleries */
$(function() {
$('.gallerybox audio').each(function(i, obj) {
if ($(this).parent().css('margin-top') < '15px')
$(this).parent().css('margin', '15px auto');
});
});


/* Add autocollapse support to mw-collapsible */
/* Add autocollapse support to mw-collapsible */
function mwCollapsibleSetup($collapsibleContent) {
function mwCollapsibleSetup($collapsibleContent) {
var $element, autoCollapseThreshold = 2;
var $element, autoCollapseThreshold = 2;
$.each($collapsibleContent, function (index, element) {
$.each($collapsibleContent, function(index, element) {
$element = $(element);
$element = $(element);
if ($collapsibleContent.length >= autoCollapseThreshold && $element.hasClass('autocollapse'))
if ($collapsibleContent.length >= autoCollapseThreshold && $element.hasClass('autocollapse'))
Line 19: Line 11:
}
}
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);
/* Fix search suggestions on mobile devices */
$(function() {
$('#searchInput').on('input', function(e) {
$(this).trigger(jQuery.Event('keydown', {
keyCode: e.keyCode,
which: e.which
}));
$(this).trigger(jQuery.Event('keypress', {
keyCode: e.keyCode,
which: e.which
}));
});
});
/* Clean-up Unicode */
function unicodeFixer() {
var textAreas = ['#wpTextbox1', '#wikitext-editor'];
for (var i = 0; i < textAreas.length; i++) {
if ($(textAreas[i]).length)
$(textAreas[i]).val($(textAreas[i]).val().replace(/[\u200B-\u200F\uFEFF]/g, '').replace(/[‘’]{3}/g, "'''").replace(/[‘’]{2}/g, "''"));
}
}
$(function() {
$('#searchform').on('submit', function() {
$('#searchInput').val($('#searchInput').val().replace(/[‘’]/g, "'").replace(/[“”]/g, '"'));
});
if (['edit', 'submit'].includes(mw.config.get('wgAction')) && ![8, 274, 828, 2300].includes(mw.config.get('wgNamespaceNumber'))) {
$('.editButtons input').click(unicodeFixer);
if ($('body.skin-minerva').length)
setTimeout(function() { $('.header-action button').click(unicodeFixer) }, 3000);
}
});
/* SmashWiki: Match active tabber tab to infobox */
$(function() {
if ($('.infobox .tabber').length && $('.infobox th').length) {
var bgColor = $('.infobox th').css('background');
if (bgColor !== 'none' && bgColor !== 'rgb(255, 255, 255)')
$('head').append('<style type="text/css">body .mw-parser-output .infobox ul.tabbernav li.tabberactive a { background: ' + bgColor + '; }</style>');
}
});

Latest revision as of 17:05, February 15, 2024

/* Any JavaScript here will be loaded for all skins on both desktop and mobile */

/* Add autocollapse support to mw-collapsible */
function mwCollapsibleSetup($collapsibleContent) {
	var $element, autoCollapseThreshold = 2;
	$.each($collapsibleContent, function(index, element) {
		$element = $(element);
		if ($collapsibleContent.length >= autoCollapseThreshold && $element.hasClass('autocollapse'))
			$element.data('mw-collapsible').collapse();
	});
}
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);

/* Fix search suggestions on mobile devices */
$(function() {
	$('#searchInput').on('input', function(e) {
		$(this).trigger(jQuery.Event('keydown', {
			keyCode: e.keyCode,
			which: e.which
		}));
		$(this).trigger(jQuery.Event('keypress', {
			keyCode: e.keyCode,
			which: e.which
		}));
	});
});

/* Clean-up Unicode */
function unicodeFixer() {
	var textAreas = ['#wpTextbox1', '#wikitext-editor'];
	for (var i = 0; i < textAreas.length; i++) {
		if ($(textAreas[i]).length)
			$(textAreas[i]).val($(textAreas[i]).val().replace(/[\u200B-\u200F\uFEFF]/g, '').replace(/[‘’]{3}/g, "'''").replace(/[‘’]{2}/g, "''"));
	}
}
$(function() {
	$('#searchform').on('submit', function() {
		$('#searchInput').val($('#searchInput').val().replace(/[‘’]/g, "'").replace(/[“”]/g, '"'));
	});
	if (['edit', 'submit'].includes(mw.config.get('wgAction')) && ![8, 274, 828, 2300].includes(mw.config.get('wgNamespaceNumber'))) {
		$('.editButtons input').click(unicodeFixer);
		if ($('body.skin-minerva').length)
			setTimeout(function() { $('.header-action button').click(unicodeFixer) }, 3000);
	}
});

/* SmashWiki: Match active tabber tab to infobox */
$(function() {
	if ($('.infobox .tabber').length && $('.infobox th').length) {
		var bgColor = $('.infobox th').css('background');
		if (bgColor !== 'none' && bgColor !== 'rgb(255, 255, 255)')
			$('head').append('<style type="text/css">body .mw-parser-output .infobox ul.tabbernav li.tabberactive a { background: ' + bgColor + '; }</style>');
	}
});