MediaWiki:Gadget-SureSureSure.js: differenze tra le versioni

Da Semi del Verbo, l'enciclopedia dell'influenza del Vangelo sulla cultura
m (namo bene)
 
m (una versione importata)
 
(Nessuna differenza)

Versione attuale delle 22:40, 30 ago 2020

/**
 * 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' );
		} );
	}
} );