Utente:Arrow303/Sandbox/Switcher
Nota bene! Fintantoché non viene abilitato il gadget per tutti gli utenti di itwiki, la corretta visualizzazione è possibile solo se si possiede nel proprio Speciale:MiaPaginaUtente/common.js il seguente codice:
codice
//Switcher, importato da en:MediaWiki:Gadget-switcher.js, CC-BY-SA-4.0, con modifiche 'use strict'; $( function () { $.each( document.querySelectorAll( '.switcher-container' ), function ( i, container ) { if ( i == 0 ) { mw.loader.using(['mediawiki.util'], function(){mw.util.addCSS('.switcher-container label input{margin-right:0.5em}')}) } var selected, $radio; var switchers = [] var radioName = 'switcher-' + i; var first = true; $.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:' + (first ? "inline-block" : "block") + '"></label>' ).append( $radio, label.childNodes ).appendTo( container ); first = false; $( label ).remove(); } ); if ( switchers.length > 1 ) { $( '<label style="display:block">Mostra tutto</label>' ).prepend( $( '<input>' ).prop({ type: 'radio', name: radioName }).on( 'click', function () { $( switchers ).show(); selected = switchers; } ) ).appendTo( container ); } if ( switchers.length === 1 ) { $radio.remove(); } } ); } );
Test infobox | |
---|---|
Test infobox | |
---|---|