Difference between revisions of "MediaWiki:Common.js"
From AYSO Wiki
Line 44: | Line 44: | ||
} | } | ||
}); | }); | ||
+ | |||
+ | /** | ||
+ | * Collapsible tables; reimplemented with mw-collapsible | ||
+ | * Styling is also in place to avoid FOUC | ||
+ | * | ||
+ | * Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]]. | ||
+ | * @version 3.0.0 (2018-05-20) | ||
+ | * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js | ||
+ | * @author [[User:R. Koot]] | ||
+ | * @author [[User:Krinkle]] | ||
+ | * @author [[User:TheDJ]] | ||
+ | * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which | ||
+ | * is supported in MediaWiki core. Shimmable since MediaWiki 1.32 | ||
+ | * | ||
+ | * @param {jQuery} $content | ||
+ | */ | ||
+ | function makeCollapsibleMwCollapsible( $content ) { | ||
+ | var $tables = $content | ||
+ | .find( 'table.collapsible:not(.mw-collapsible)' ) | ||
+ | .addClass( 'mw-collapsible' ); | ||
+ | |||
+ | $.each( $tables, function ( index, table ) { | ||
+ | // mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.'); | ||
+ | if ( $( table ).hasClass( 'collapsed' ) ) { | ||
+ | $( table ).addClass( 'mw-collapsed' ); | ||
+ | // mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.'); | ||
+ | } | ||
+ | } ); | ||
+ | if ( $tables.length > 0 ) { | ||
+ | mw.loader.using( 'jquery.makeCollapsible' ).then( function () { | ||
+ | $tables.makeCollapsible(); | ||
+ | } ); | ||
+ | } | ||
+ | } | ||
+ | mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible ); |
Latest revision as of 04:59, 12 May 2022
/* Any JavaScript here will be loaded for all users on every page load. */
$('#ayso-banner').insertBefore('#ayso-subcontent');
$('#ayso-subcontent-wrapper').prepend($('#subcontent'));
$('#ayso-footer .ayso-footer-menu.social a.fas, #ayso-footer .ayso-footer-menu.social a.far, #ayso-footer .ayso-footer-menu.social a.fab').empty();
$('#menu-toggle').click(function(){
$('#ayso-footer').toggleClass('position-fixed');
});
$(function() {
$('#toc ul').addClass('ayso-toc').detach().appendTo('#ayso-sidebar');
$('#ayso-footer .ayso-footer-menu.social a.fas, #ayso-footer .ayso-footer-menu.social a.far, #ayso-footer .ayso-footer-menu.social a.fab').show().addClass('d-flex');
});
var resizeId;
$(window).resize(function() {
clearTimeout(resizeId);
resizeId = setTimeout(doneResizing, 500);
});
function doneResizing(){
$( "#ayso-banner" ).load(window.location.href + " #ayso-slides" );
}
$.fn.isInViewport = function() {
var elementTop = $(this).offset().top;
var elementBottom = elementTop + $(this).outerHeight();
var viewportTop = $(window).scrollTop();
var viewportBottom = viewportTop + $(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
$(window).on('resize scroll', function() {
if ($('#ayso-footer').isInViewport()) {
$('#ayso-sidebar').css({"height": "calc(100% - 54px - 210px )"});
} else {
$('#ayso-sidebar').css({"height": "calc(100% - 54px )"});
}
});
/**
* Collapsible tables; reimplemented with mw-collapsible
* Styling is also in place to avoid FOUC
*
* Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]].
* @version 3.0.0 (2018-05-20)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author [[User:R. Koot]]
* @author [[User:Krinkle]]
* @author [[User:TheDJ]]
* @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
* is supported in MediaWiki core. Shimmable since MediaWiki 1.32
*
* @param {jQuery} $content
*/
function makeCollapsibleMwCollapsible( $content ) {
var $tables = $content
.find( 'table.collapsible:not(.mw-collapsible)' )
.addClass( 'mw-collapsible' );
$.each( $tables, function ( index, table ) {
// mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.');
if ( $( table ).hasClass( 'collapsed' ) ) {
$( table ).addClass( 'mw-collapsed' );
// mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.');
}
} );
if ( $tables.length > 0 ) {
mw.loader.using( 'jquery.makeCollapsible' ).then( function () {
$tables.makeCollapsible();
} );
}
}
mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible );