MediaWiki:Common.js

From AYSO Wiki

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* 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 );