MediaWiki:Gadget-SureSureSure.js

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.


Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.

/**
 * Aggiunge una richiesta di conferma al primo click di un rollback nella pagina e
 * consente a tutti i rollback successivi di partire all'istante come di consueto.
 * L'uso è configurabile a seconda di touch screen e dimensioni della finestra.
 *
 * @license [[WTFPL]] or [[GNU GPL]] or [[CC BY SA 3.0]] at your opinion
 * @author [[w:User:Valerio Bozzolan]] and contributors
 */

$( function () {
	var defaultOpts = {
		confirm: 'sicuro sicuro sicuro?',
		disablePatrolAjax: false,
		hasTouchScreen: undefined,
		maxScreenWidth: Infinity
	};

	window.sureSureSure = window.sureSureSure || {};

	var opts = $.extend( defaultOpts, window.sureSureSure );
	var isIOS = /iPad|iPhone|iPod/.test( navigator.platform ); // Safari iOS pre 13

	if (
		opts.maxScreenWidth < window.innerWidth ||
		opts.hasTouchScreen !== undefined &&
		opts.hasTouchScreen !== ( isIOS ? isIOS : navigator.maxTouchPoints > 0 )
	) {
		return;
	}

	mw.hook( 'wikipage.content' ).add( function () {
		$( '.mw-rollback-link a' ).click( function ( event ) {
			var yes = 'ok-guy-im-not-accidentally-clicking-this';
			if( !$( this ).hasClass( yes ) && !window.sureSureSure._yetConfirmed ) {
				var $t = $( this );
				$t.addClass( yes ).text( $t.text() + ": " + opts.confirm );
				event.preventDefault();
				window.sureSureSure._yetConfirmed = true;
			}
		} );
	} );

	if ( opts.disablePatrolAjax ) {
		mw.loader.using( 'mediawiki.misc-authed-curate' ).then( function () {
			$( '.patrollink[data-mw="interface"] a' ).off( 'click' );
		} );
	}
} );