Note: After saving, you have to
bypass your browser's cache to see the changes.
Internet Explorer: press
Ctrl-F5 ,
Mozilla: hold down
Shift while clicking
Reload (or press
Ctrl-Shift-R ),
Opera/Konqueror: press
F5 ,
Safari: hold down
Shift + Alt while clicking
Reload ,
Chrome: hold down
Shift while clicking
Reload .
( function ( $ ) {
'use strict' ;
$ ( function () {
$ ( '.switcher-container' ). each ( function ( i ) {
var activeElement , $showRadio , $showAllRadio ;
var elements = [], container = this ;
var radioName = 'switcher-' + i ;
$ ( this ). children (). each ( function () {
var self = this ;
var $labelContainer = $ ( this ). find ( '.switcher-label' );
var $labelText = $labelContainer . contents ();
if ( ! $labelText . length ) {
return ;
}
elements . push ( this );
$showRadio = $ ( '<input type="radio" />' ). attr ( 'name' , radioName ). click ( function () {
$ ( activeElement ). hide ();
$ ( self ). show ();
activeElement = self ;
} );
$ ( '<label style="white-space: nowrap"></label>' ). append ( $showRadio ). append ( $labelText ). appendTo ( container ). after ( '<wbr>' );
if ( ! activeElement ) {
activeElement = this ;
$showRadio . prop ( 'checked' , true );
} else if ( $labelContainer . is ( '[data-switcher-default]' ) ) {
$showRadio . click ();
} else {
$ ( this ). hide ();
}
$labelContainer . remove ();
} );
if ( elements . length > 1 ) {
$ . when ( mw . loader . using ( [ 'mediawiki.api' ] ) )
. then ( function () {
return new mw . Api (). loadMessagesIfMissing ( [ 'Pagetriage-filter-all' ] );
})
. then ( function () {
$showAllRadio = $ ( '<input type="radio" />' ). attr ( 'name' , radioName ). click ( function () {
$ ( elements ). show ();
activeElement = elements ;
} );
$ ( '<label style="display:block">' )
. text ( " " + mw . msg ( 'Pagetriage-filter-all' ) )
. prepend ( $showAllRadio )
. appendTo ( container );
} );
} else if ( elements . length === 1 ) {
$showRadio . remove ();
}
} );
} );
} )( jQuery );