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

Contenuto cancellato Contenuto aggiunto
rimuovo, visto il miglioramento senza la dipendenza
rimuovo parti obsolete ed estendo personalizzazioni utente, vedi discussioni 1 e 2
Riga 1:
/**
* Aggiunge una richiesta di conferma al primo click di un rollback nella pagina
* Questo gadget è per te se non sai come mai MediaWiki chieda conferma
* e lascia che i successivi rollback partano come di consueto all'istante.
* per ringraziare qualcuno, mentre per rollbackare no. asd
* L'uso è configurabile a seconda di touch screen e dimensioni della finestra.
*
* 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 () {
const var defaultOpts = {
mw.hook( 'wikipage.content' ).add( function () {
confirm: 'sicuro sicuro sicuro?',
$( '.mw-rollback-link a' ).click( function ( event ) {
disablePatrolAjax: false,
var yes = 'ok-guy-im-not-accidetally-clicking-this';
hasTouchScreen: undefined,
if( ! $(this).hasClass(yes) && ! window.sureSureSure._yetConfirmed ) {
maxScreenWidth: Infinity
var $t = $(this);
};
$t.addClass(yes).text( $t.text() + ": " + opts.confirm );
 
event.preventDefault();
window.sureSureSure._yetConfirmed = truewindow.sureSureSure || {};
 
}
var opts = $.extend( defaultOpts, window.sureSureSure );
 
if (
opts.maxScreenWidth >= window.innerWidth &&
( opts.hasTouchScreen === undefined || opts.hasTouchScreen === navigator.maxTouchPoints > 0 )
) {
mw.hook( 'wikipage.content' ).add( function () {
$( '.mw-rollback-link a' ).click( function ( event ) {
var yes = 'ok-guy-im-not-accidetallyaccidentally-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 ) {
// actually this is the simpler way to prevent automatic patrol action
mw.loader.using( 'mediawiki.misc-authed-curate' ).catchthen( function () {
// @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' );
} );