85,447
edits
m (Undo revision 37163 by Abhidevananda (talk) - did not resolve problem of missing Twinkle) |
m (Undo revision 37164 by Abhidevananda (talk) on the other hand, newer version is more compact and does no apparent damage) |
||
Line 11: | Line 11: | ||
* dependency hasn't arrived yet it'll make sure those are loaded before this. | * dependency hasn't arrived yet it'll make sure those are loaded before this. | ||
*/ | */ | ||
mw.loader.using( ['mediawiki.util', 'mediawiki.notify', 'jquery.client'] | /* global mw, $, importStylesheet, importScript */ | ||
/* jshint strict:false, browser:true */ | |||
mw.loader.using( ['mediawiki.util', 'mediawiki.notify', 'jquery.client'] ).done( function () { | |||
/* Begin of mw.loader.using callback */ | /* Begin of mw.loader.using callback */ | ||
Line 22: | Line 23: | ||
* Description: Adds an additional link to the complete list of languages available. | * Description: Adds an additional link to the complete list of languages available. | ||
* Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]] | * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]] | ||
* | */ | ||
if ( mw.config.get( 'wgPageName' ) === 'Main_Page' || mw.config.get( 'wgPageName' ) === 'Talk:Main_Page' ) { | if ( mw.config.get( 'wgPageName' ) === 'Main_Page' || mw.config.get( 'wgPageName' ) === 'Talk:Main_Page' ) { | ||
$( function () { | $( function () { | ||
Line 29: | Line 30: | ||
} ); | } ); | ||
} | } | ||
/** | /** | ||
Line 52: | Line 52: | ||
/** | /** | ||
* Map addPortletLink to mw.util | * Map addPortletLink to mw.util | ||
* @deprecated: Use mw.util.addPortletLink instead. | * @deprecated: Use mw.util.addPortletLink instead. | ||
*/ | */ | ||
mw.log.deprecate( window, 'addPortletLink', | mw.log.deprecate( window, 'addPortletLink', mw.util.addPortletLink, 'Use mw.util.addPortletLink instead' ); | ||
/** | /** | ||
* Extract a URL parameter from the current URL | * Extract a URL parameter from the current URL | ||
* @deprecated: Use mw.util.getParamValue with proper escaping | * @deprecated: Use mw.util.getParamValue with proper escaping | ||
*/ | */ | ||
mw.log.deprecate( window, 'getURLParamValue', | mw.log.deprecate( window, 'getURLParamValue', mw.util.getParamValue, 'Use mw.util.getParamValue instead' ); | ||
/** | /** | ||
* Test if an element has a certain class | * Test if an element has a certain class | ||
* @deprecated: Use $(element).hasClass() instead. | * @deprecated: Use $(element).hasClass() instead. | ||
*/ | */ | ||
Line 80: | Line 73: | ||
/** | /** | ||
* @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL | * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL | ||
* @rev | * @rev 6 | ||
*/ | */ | ||
var extraCSS = mw.util.getParamValue( 'withCSS' ), | |||
var extraCSS = mw.util.getParamValue( 'withCSS' ); | extraJS = mw.util.getParamValue( 'withJS' ); | ||
if ( extraCSS ) { | if ( extraCSS ) { | ||
if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) { | |||
importStylesheet( extraCSS ); | |||
} else { | |||
mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } ); | |||
} | |||
} | } | ||
if ( extraJS ) { | if ( extraJS ) { | ||
if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) { | |||
importScript( extraJS ); | |||
} else { | |||
mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } ); | |||
} | |||
} | } | ||
Line 118: | Line 110: | ||
/** | /** | ||
* | * Helper script for .hlist class in Common.css | ||
* Add pseudo-selector class to last-child list items in IE8 | |||
* @source mediawiki.org/wiki/Snippets/Horizontal_lists | |||
* @revision 6 (2014-08-23) | |||
* @author [[User:Edokter]] | |||
*/ | */ | ||
( function ( mw, $ ) { | |||
var profile = $.client.profile(); | |||
} | if ( profile.name === 'msie' && profile.versionNumber === 8 ) { | ||
mw.hook( 'wikipage.content' ).add( function ( $content ) { | |||
$content.find( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' ) | |||
.addClass( 'hlist-last-child' ); | |||
} ); | |||
} | |||
}( mediaWiki, jQuery ) ); | |||
/** | /** | ||
Line 128: | Line 130: | ||
*/ | */ | ||
if ( navigator.appVersion.search(/windows nt 5/i) !== -1 ) { | if ( navigator.appVersion.search(/windows nt 5/i) !== -1 ) { | ||
mw.util.addCSS( '.IPA { font-family: "Lucida Sans Unicode", "Arial Unicode MS"; } ' + | mw.util.addCSS( '.IPA { font-family: "Lucida Sans Unicode", "Arial Unicode MS"; } ' + | ||
'.Unicode { font-family: "Arial Unicode MS", "Lucida Sans Unicode"; } ' ); | '.Unicode { font-family: "Arial Unicode MS", "Lucida Sans Unicode"; } ' ); | ||
} | } | ||
Line 138: | Line 140: | ||
* This script causes all of our coordinate links to display the WikiMiniAtlas popup button. | * This script causes all of our coordinate links to display the WikiMiniAtlas popup button. | ||
* The script itself is located on meta because it is used by many projects. | * The script itself is located on meta because it is used by many projects. | ||
* See [[Meta:WikiMiniAtlas]] for more information. | * See [[Meta:WikiMiniAtlas]] for more information. | ||
* Maintainers: [[User:Dschwen]] | * Maintainers: [[User:Dschwen]] | ||
*/ | */ | ||
Line 160: | Line 162: | ||
} ); | } ); | ||
} )(); | } )(); | ||
/** | /** | ||
* Collapsible tables | * Collapsible tables | ||
* | * | ||
* Allows tables to be collapsed, showing only the header. See | * Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]]. | ||
* | * | ||
* @version 2.0.3 (2014-03-14) | * @version 2.0.3 (2014-03-14) | ||
Line 204: | Line 179: | ||
var collapseCaption = 'hide'; | var collapseCaption = 'hide'; | ||
var expandCaption = 'show'; | var expandCaption = 'show'; | ||
var tableIndex = 0; | |||
function collapseTable( tableIndex ) { | function collapseTable( tableIndex ) { | ||
Line 228: | Line 204: | ||
} | } | ||
} | } | ||
function createClickHandler( tableIndex ) { | function createClickHandler( tableIndex ) { | ||
return function ( e ) { | return function ( e ) { | ||
Line 236: | Line 212: | ||
} | } | ||
function createCollapseButtons() { | function createCollapseButtons( $content ) { | ||
var NavigationBoxes = {}; | var NavigationBoxes = {}; | ||
var Tables = | var $Tables = $content.find( 'table' ); | ||
var i; | var i; | ||
$Tables.each( function( i, table ) { | |||
if ( $( | if ( $(table).hasClass( 'collapsible' ) ) { | ||
/* only add button and increment count if there is a header row to work with */ | /* only add button and increment count if there is a header row to work with */ | ||
var HeaderRow = | var HeaderRow = table.getElementsByTagName( 'tr' )[0]; | ||
if ( !HeaderRow ) { | if ( !HeaderRow ) { | ||
return; | |||
} | } | ||
var Header = | var Header = table.getElementsByTagName( 'th' )[0]; | ||
if ( !Header ) { | if ( !Header ) { | ||
return; | |||
} | } | ||
NavigationBoxes[ tableIndex ] = | NavigationBoxes[ tableIndex ] = table; | ||
table.setAttribute( 'id', 'collapsibleTable' + tableIndex ); | |||
var Button = document.createElement( 'span' ); | var Button = document.createElement( 'span' ); | ||
Line 277: | Line 252: | ||
tableIndex++; | tableIndex++; | ||
} | } | ||
} | } ); | ||
for ( i = 0; i < tableIndex; i++ ) { | for ( i = 0; i < tableIndex; i++ ) { | ||
Line 284: | Line 259: | ||
) { | ) { | ||
collapseTable( i ); | collapseTable( i ); | ||
} | } | ||
else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) { | else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) { | ||
var element = NavigationBoxes[i]; | var element = NavigationBoxes[i]; | ||
Line 309: | Line 284: | ||
var NavigationBarHide = '[' + collapseCaption + ']'; | var NavigationBarHide = '[' + collapseCaption + ']'; | ||
var NavigationBarShow = '[' + expandCaption + ']'; | var NavigationBarShow = '[' + expandCaption + ']'; | ||
var indexNavigationBar = 0; | |||
/** | /** | ||
Line 347: | Line 323: | ||
/* adds show/hide-button to navigation bars */ | /* adds show/hide-button to navigation bars */ | ||
function createNavigationBarToggleButton() { | function createNavigationBarToggleButton( $content ) { | ||
var NavChild; | var NavChild; | ||
/* iterate over all < div >-elements */ | /* iterate over all < div >-elements */ | ||
var divs = | var $divs = $content.find( 'div' ); | ||
$divs.each( function ( i, NavFrame ) { | |||
/* if found a navigation bar */ | /* if found a navigation bar */ | ||
if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { | if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { | ||
Line 398: | Line 372: | ||
NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar ); | NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar ); | ||
} | } | ||
} | } ); | ||
} | } | ||
Line 453: | Line 427: | ||
$( function () { | $( function () { | ||
var cats = | var cats = mw.config.get('wgCategories'); | ||
if ( !cats ) { | if ( !cats ) { | ||
return; | return; | ||
} | } | ||
if ( $.inArray( 'Living people', cats ) !== -1 || $.inArray( 'Possibly living people', cats ) !== -1 ) { | |||
addEditIntro( 'Template:BLP_editintro' ); | |||
} | } | ||
} ); | } ); | ||
} | } | ||