Display title | MediaWiki:Gadget-switcher.js |
Default sort key | Gadget-switcher.js |
Page length (in bytes) | 1,380 |
Namespace ID | 8 |
Namespace | MediaWiki |
Page ID | 468 |
Page content language | en - English |
Page content model | JavaScript |
Indexing by robots | Allowed |
Number of redirects to this page | 0 |
Number of subpages of this page | 0 (0 redirects; 0 non-redirects) |
Edit | Allow only users with "editsitejs" permission (infinite) |
Move | Allow only users with "editsitejs" permission (infinite) |
Page creator | df-21>Krinkle |
Date of page creation | 06:36, 6 April 2022 |
Latest editor | Df21admin (talk | contribs) |
Date of latest edit | 20:17, 15 July 2022 |
Total number of edits | 2 |
Total number of distinct authors | 2 |
Recent number of edits (within past 90 days) | 0 |
Recent number of distinct authors | 0 |
Description | Content |
Article description: (description ) This attribute controls the content of the description and og:description elements. | 'use strict';
$( function () {
$.each( document.querySelectorAll( '.switcher-container' ), function ( i, container ) {
var selected, $radio;
var switchers = []
var radioName = 'switcher-' + i;
$.each( container.children, function ( j, switcher ) {
var label = switcher.querySelector( '.switcher-label' );
if ( !label || !label.childNodes.length ) {
return;
}
switchers.push( switcher );
$radio = $( '<input>' ).prop({ type: 'radio', name: radioName }).on( 'click', function () {
$( selected ).hide();
$( switcher ).show();
selected = switcher;
} );
if ( !selected ) {
// Mark the first one as selected
selected = switcher;
$radio.prop( 'checked', true );
} else if ( label.getAttribute( 'data-switcher-default' ) !== null ) {
// Custom default
$radio.click();
} else {
// Hide non-default
$( switcher ).hide();
}
$( '<label style="display:block"></label>' ).append( $radio, label.childNodes ).appendTo( container );
$( label ).remove();
} );
if ( switchers.length > 1 ) {
$( '<label style="display:block">Show all</label>' ).prepend(
$( '<input>' ).prop({ type: 'radio', name: radioName }).on( 'click', function () {
$( switchers ).show();
selected = switchers;
} )
).appendTo( container );
}
if ( switchers.length === 1 ) {
$radio.remove();
}
} );
} ); |