MediaWiki:Gadget-GlobalScript.js: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(7 intermediate revisions by the same user not shown)
Line 12: Line 12:
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup);


/* Replace smart quotes */
/* Fix search suggestions on mobile devices */
function quoteFixer() {
$(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'];
var textAreas = ['#wpTextbox1', '#wikitext-editor'];
for (var i = 0; i < textAreas.length; i++) {
for (var i = 0; i < textAreas.length; i++) {
if ($(textAreas[i]).length)
if ($(textAreas[i]).length)
$(textAreas[i]).val($(textAreas[i]).val().replace(/[‘’]/g, "'").replace(/[“”]/g, '"'));
$(textAreas[i]).val($(textAreas[i]).val().replace(/[\u200B-\u200F\uFEFF]/g, '').replace(/[‘’]{3}/g, "'''").replace(/[‘’]{2}/g, "''"));
}
}
}
}
$(function() {
$(function() {
if (['edit', 'submit'].includes(mw.config.get('wgAction')) && ![8, 10, 274, 828, 2300].includes(mw.config.get('wgNamespaceNumber'))) {
$('#searchform').on('submit', function() {
$('.editButtons input').click(quoteFixer);
$('#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)
if ($('body.skin-minerva').length)
setTimeout(function() { $('.header-action button').click(quoteFixer) }, 3000);
setTimeout(function() { $('.header-action button').click(unicodeFixer) }, 3000);
}
}
});
});


/* Gallery videos */
/* SmashWiki: Match active tabber tab to infobox */
$(function() {
$(function() {
$('.gallery').each(function(i, gallery) {
if ($('.infobox .tabber').length && $('.infobox th').length) {
var videos = $(gallery).find('.gallerybox video');
var bgColor = $('.infobox th').css('background');
if (!videos.length)
if (bgColor !== 'none' && bgColor !== 'rgb(255, 255, 255)')
return;
$('head').append('<style type="text/css">body .mw-parser-output .infobox ul.tabbernav li.tabberactive a { background: ' + bgColor + '; }</style>');
var boxes = $(gallery).find('.gallerybox');
}
var onlyVideos = videos.length == boxes.length ? true : false;
videos.each(function(ii, video) {
if (onlyVideos)
$(video).css('height', 'auto');
$(video).parent().css({'max-width': 'calc(100% - 30px)', 'margin': '15px auto'});
});
var timeOut = onlyVideos ? 1000 : 0;
setTimeout(function() {
var height = 0;
$(gallery).find('.gallerybox .thumb').each(function(ii, thumb) {
if ($(thumb).innerHeight() > height)
height = $(thumb).innerHeight();
});
videos.each(function(ii, video) {
maxHeight = height - 30;
$(video).parent().parent().css({'height': height, 'display': 'flex'});
$(video).parent().css({'width': '100%', 'min-width': '125px', 'margin': 'auto'});
$(video).css({'height': 'auto', 'max-height': maxHeight});
});
}, timeOut);
});
});
});