MediaWiki:Gadget-SureSureSure.js

Versione del 23 mag 2020 alle 04:35 di Krinkle (discussione | contributi) (Maintennace: Prepare for gerrit:598141 which changes 'mediawiki.page.patrol.ajax' module)

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.

/**
 * Questo gadget è per te se non sai come mai MediaWiki chieda conferma
 * per ringraziare qualcuno, mentre per rollbackare no. asd
 *
 * This gadget is for you if you don't know why MediaWiki asks for confirmation
 * to thank someone, but it doesn't for rollbacking. asd
 *
 * This snippet coexists with the MediaWiki core patrol.js code by making
 * sure its code runs first, and then our code calls off('click') afterward.
 *
 * @license [[WTFPL]] or [[GNU GPL]] or [[CC BY SA 3.0]] at your opinion
 * @author [[w:User:Valerio Bozzolan]] and contributors
 * @see https://phabricator.wikimedia.org/T49782
 */
const defaultOpts = {
	confirm: 'sicuro sicuro sicuro?',
	disablePatrolAjax: false,
};
window.sureSureSure = window.sureSureSure || {};
var opts = $.extend( defaultOpts, window.sureSureSure );
$( function () {
	mw.hook( 'wikipage.content' ).add( function () {
		$( '.mw-rollback-link a' )
			.click( function ( event ) {
				var yes = 'ok-guy-im-not-accidetally-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;
				}
			} )
			.css( 'pointer-events', 'auto' ); // ready
	} );

	// actually this is the simpler way to prevent automatic patrol action
	// @see mediawiki.page.patrol.ajax ResourceLoader module
	if( opts.disablePatrolAjax ) {
		mw.loader.using( 'mediawiki.misc-authed-curate' ).catch( function () {
			// Temporary: Try old name instead <https://gerrit.wikimedia.org/r/598141> (until 1 June 2020)
			return mw.loader.using( 'mediawiki.page.patrol.ajax' );
		} ).then( function () {
			$( '.patrollink[data-mw="interface"] a' ).off( 'click' );
		} );
	}
} );