MediaWiki:Gadget-SmartEdittools.js

Da Wikivoyage.

Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tenere premuto il tasto delle maiuscole e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer: tenere premuto il tasto Ctrl mentre si fa clic su Refresh, oppure premere Ctrl-F5
  • Opera: svuotare completamente la cache dal menu Strumenti → Preferenze
/**<nowiki>
 * Aggiunge un combobox a [[MediaWiki:Edittools]] per selezionare un gruppo di caratteri speciali
 * lo posiziona proprio sotto il riquadro di edit e nasconde i link che non servono in una determinata tipologia di pagina.
 */
function SmartEdittools() {
	if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) {
		$( '.editOptions' ).before( $( '#specialchars' ));
		$( '#specialchars p' ).css( 'display', 'inline' );
		$( '#specialchars p a' ).each(function(){
			$(this).html( '&nbsp;'+$(this).html()+'&nbsp;' );
		});

		// Rimuovo i link che non servono in accordo alla pagina attuale
		if(mw.config.get("wgCanonicalNamespace")!='Template')
			$("#specialchars p a[data-mw-charinsert-start*='include']").remove();
		if((mw.config.get("wgCanonicalNamespace").indexOf('_talk') <= 0)
		  && (mw.config.get("wgCanonicalNamespace").indexOf('Discussioni_') <= 0)
		  && (mw.config.get("wgCanonicalNamespace") != 'Talk')
		  && (mw.config.get("wgCanonicalNamespace") != 'User')
		  && (mw.config.get("wgCanonicalNamespace") != 'Project') ) //Wikivoyage
			$("#specialchars p a[data-mw-charinsert-start*='~~~~']").remove();
		if( (mw.config.get("wgCanonicalNamespace") === '')
		  ||  (mw.config.get("wgCanonicalNamespace") == 'Portale') )
			$("#specialchars p a[data-mw-charinsert-start*='{{U|']").remove();
		if(mw.config.get("wgCanonicalNamespace")!='User_talk')
			$("#specialchars p a[data-mw-charinsert-start*='Benvenuto']").remove();
	
		var $specialChars = $( '#specialchars' ), $select;
		if ( $specialChars.length ) {
			$select = $( '<select>' ).change( function () {
				$specialChars.find( 'p' ).hide();
				$specialChars.find( 'option:selected' ).data().show();
			} );
			$specialChars.find( 'p' ).each( function () {
				$( '<option>' ).html( $( this ).attr( 'id' ).replace( /_/g, ' ' ) )
					.data( $( this ) ).appendTo( $select );
			} );
			$specialChars.prepend( $select );
			$select.change();
		}
	}
}

$(SmartEdittools);
//</nowiki>