MediaWiki:Common.js: Difference between revisions

no edit summary
No edit summary
No edit summary
Tag: Reverted
Line 7: Line 7:
var subpagesLink = '/Special:PrefixIndex/User:' + title + '/';
var subpagesLink = '/Special:PrefixIndex/User:' + title + '/';
mediaWiki.util.addPortletLink('p-tb', subpagesLink, 'User subpages', 't-subpages', 'Subpages of this page');
mediaWiki.util.addPortletLink('p-tb', subpagesLink, 'User subpages', 't-subpages', 'Subpages of this page');
}
});
/* TOC ad unit */
function tocAdPositioner() {
if ($('.desktopBox').css('position') === 'relative') {
var winTopPos = $(window).scrollTop();
var tocHeight = $('#toc').outerHeight();
var tocTopPos = $('#toc').offset().top;
var tocBotPos = tocTopPos + tocHeight;
if (tocBotPos > winTopPos) {
var boxWidth = $('.desktopBox').outerWidth();
var boxHeight = $('.desktopBox').outerHeight();
var boxMarginLeft = parseFloat($('.desktopBox').css('marginLeft'));
var boxRightPos = $('.desktopBox').offset().left + boxWidth + parseFloat($('.desktopBox').css('right'));
var tocRightPos = $('#toc').offset().left + $('#toc').outerWidth();
$('.desktopBox').css('right', (boxRightPos - tocRightPos - boxWidth - boxMarginLeft)/2);
if (tocHeight > boxHeight) {
var winBotPos = $(window).scrollTop() + $(window).outerHeight();
var curBotPos = winBotPos > tocBotPos ? tocBotPos : winBotPos;
var offsetVal = boxHeight > 300 ? 4 : 2;
var topOffset = (curBotPos - winTopPos - boxHeight)/offsetVal;
if (tocTopPos - topOffset > winTopPos)
$('.desktopBox').css('top', 0);
else if (tocBotPos - boxHeight - topOffset > winTopPos)
$('.desktopBox').css('top', winTopPos - tocTopPos + topOffset);
else
$('.desktopBox').css('top', tocHeight - boxHeight);
}
}
}
}
$(function() {
if ($('.desktopBox').length) {
$(tocAdPositioner);
$(window).on('scroll resize', function() {
$(tocAdPositioner);
});
}
}
});
});