MediaWiki:Gadget-GlobalScript.js: Difference between revisions
From Halopedia, the Halo wiki
mNo edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
} | } | ||
mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup); | mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup); | ||
/* Fix links to hidden mw-collapsible sections */ | |||
window.onhashchange = function() { | |||
escapedHash = $.escapeSelector(decodeURI(location.hash.split('#').pop())); | |||
hiddenParents = $('#' + escapedHash).parents('.mw-collapsed'); | |||
if (hiddenParents.length) { | |||
hiddenParents.each(function() { | |||
$(this).find('.mw-collapsible-toggle-collapsed').first().click(); | |||
}); | |||
location.href = location.hash; | |||
} | |||
} | |||
$(function() { | |||
if (location.hash) | |||
window.dispatchEvent(new HashChangeEvent('hashchange')); | |||
}); | |||
/* SocialProfile: Point social talk tabs to user talk */ | /* SocialProfile: Point social talk tabs to user talk */ |
Revision as of 23:03, January 29, 2022
/* 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 */
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 links to hidden mw-collapsible sections */
window.onhashchange = function() {
escapedHash = $.escapeSelector(decodeURI(location.hash.split('#').pop()));
hiddenParents = $('#' + escapedHash).parents('.mw-collapsed');
if (hiddenParents.length) {
hiddenParents.each(function() {
$(this).find('.mw-collapsible-toggle-collapsed').first().click();
});
location.href = location.hash;
}
}
$(function() {
if (location.hash)
window.dispatchEvent(new HashChangeEvent('hashchange'));
});
/* SocialProfile: Point social talk tabs to user talk */
$(function() {
var namespace = mw.config.get('wgCanonicalNamespace');
if (namespace === 'UserProfile' || namespace === 'UserWiki') {
var talkTab;
if (mw.config.get('skin') == 'nimbus') {
talkTab = $('a#ca-talk');
talkTab.removeClass('tab-new');
} else if (mw.config.get('skin') == 'minerva') {
talkTab = $('a[data-event-name="tabs.talk"]');
talkTab.removeClass('new');
} else {
talkTab = $('#ca-talk a');
$('#ca-talk').removeClass('new');
}
var talkUrl = talkTab.attr('href').replace('index.php?title=', '').replace(namespace, 'User').replace('?action=edit&redlink=1', '');
var subIndex = talkUrl.indexOf('/', 1);
if (subIndex > 0)
talkUrl = talkUrl.substring(0, subIndex);
talkTab.attr('href', talkUrl);
}
});
/* SocialProfile: Prevent repeated button clicks */
$(function() {
$('.site-button[type="button"]').click(function() {
$(this).prop('disabled', true);
});
});