MediaWiki:Gadget-site.js

Iz Medžuviki, svobodnoj enciklopedije
Jump to navigation Jump to search

Note: After publishing, 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: Press Ctrl-F5.
/*
 * Any JavaScript here will be loaded for all users on every page load on desktop and mobile.
 */
( function() {
	// Conditionally load interwiki list gadget in Minerva
	mw.hook( 'mobileFrontend.languageSearcher.onOpen' ).add( function () {
		if ( mw.loader.getState( 'ext.gadget.interwiki' ) === 'ready' ) {
			return;
		}
		
		mw.loader.load( '/w/load.php?modules=ext.gadget.interwiki&skin=minerva' );
	} );
	
	// Load ext.gadget.addInterwiki where appropriate
	if ( mw.config.get( 'wgIsProbablyEditable' ) ) {
		var hasInterwiki = $( '.interwiki-d' ).length > 0 || $( '#t-wikibase' ).length > 0;
		if ( mw.config.get( 'skin' ) === 'minerva' ) {
			hasInterwiki = !$( '#language-selector a' ).hasClass( 'disabled' );
		}
		
		if ( !hasInterwiki ) {
			mw.loader.load( 'ext.gadget.addInterwiki' );
		}
	}
	
	// Do not translate timestamps to English
	if ( mw.config.get( 'wgPageContentModel' ) === 'flow-board' ) {
		document.querySelectorAll( '.flow-timestamp' ).forEach( function( el ) {
			el.classList.remove( 'flow-load-interactive' );
		} );
	}
	
	// Restore create link in search, see [[MediaWiki:Minerva.css]]
	if ( mw.config.get( 'skin' ) === 'minerva' && mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
		mw.loader.using( 'mediawiki.util', function() {
			mw.util.addCSS( '.mw-search-createlink { display: block; }' );
		} );
	}
}() );

/**
 * Correct sorting order for sortable tables in standard Interslavic orthography
 * 
 * Maps Extended Latin to ASCII and Cyrillic to ASCII Latin.
 * The leading ~ is to ensure Cyrillic always goes after Latin.
 */
mw.config.set( 'tableSorterCollation', {
	'Č': 'CXX', 'č': 'cxx',
	'Ě': 'E', 'ě': 'e',
	'Ĺ': 'l', 'ĺ': 'l',
	'Ń': 'N', 'ń': 'n',
	'Š': 'SXX', 'š': 'sxx',
	'Ž': 'ZXX', 'ž': 'zxx',
	'А': '~A',  'а': '~a',
	'Б': '~B',  'б': '~b',
	'Ц': '~C',  'ц': '~c',
	'Ч': '~CXX',  'ч': '~cxx',
	'Д': '~D',  'д': '~d',
	'E': '~E',  'e': '~e',
	'Є': '~E',  'є': '~e',
	'Ф': '~F',  'ф': '~f',
	'Г': '~G',  'г': '~g',
	'Х': '~H',  'х': '~h',
	'И': '~I',  'и': '~i',
	'Ј': '~J',  'ј': '~j',
	'К': '~K',  'к': '~k',
	'Л': '~L',  'л': '~l',
	'Љ': '~Lj',  'љ': '~lj',
	'М': '~M',  'м': '~m',
	'Н': '~N',  'н': '~n',
	'Њ': '~Nj',  'њ': '~nj',
	'О': '~O',  'о': '~o',
	'П': '~P',  'п': '~p',
	'Р': '~R',  'р': '~r',
	'С': '~S',  'с': '~s',
	'Ш': '~SXX',  'ш': '~sxx',
	'Т': '~T',  'т': '~t',
	'У': '~U',  'у': '~u',
	'В': '~V',  'в': '~v',
	'З': '~Z',  'з': '~z',
	'Ж': '~ZXX',  'ж': '~zxx'
} );