MediaWiki:Gadget-MobileScript.js: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for users of the mobile site */
/* Any JavaScript here will be loaded for users of the mobile site */
/* Expand single talk section */
$(function() {
setTimeout(function() {
if ($('.ns-talk .collapsible-heading').length === 1)
$('.collapsible-heading:not(.open-block)').click();
}, 100);
});


/* Collapse boxes on smaller devices */
/* Collapse boxes on smaller devices */
Line 9: Line 17:
}
}
mw.hook('wikipage.collapsibleContent').add(mwMobileCollapse);
mw.hook('wikipage.collapsibleContent').add(mwMobileCollapse);
/* Add mobile options toolbox link on Timeless */
$(function() {
if (mw.config.get('skin') === 'timeless') {
var optionsLink = '/Special:MobileOptions';
var optionsDesc = 'Settings for the mobile site';
mw.util.addPortletLink('p-tb', optionsLink, 'Mobile options', 't-options', optionsDesc);
}
});


/* Move navboxes to dedicated section */
/* Move navboxes to dedicated section */
Line 22: Line 39:
}
}
}
}
});
/* Adjust margin of thumbs with no caption */
function thumbFixer() {
$('.thumb').each(function(i, obj) {
if (!$(this).find('.thumbcaption').text()) {
if (window.matchMedia('all and (max-width: 719px)').matches)
$(this).css('margin-bottom', '0.75em');
else
$(this).css('margin-bottom', '');
}
});
}
$(thumbFixer);
$(window).resize(function() {
$(thumbFixer);
});
/* 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);
});
});