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

Contenuto cancellato Contenuto aggiunto
evito rollback involontari prima che lo script sia caricato
m namo bene
Etichetta: Annulla
 
(8 versioni intermedie di 2 utenti non mostrate)
Riga 1:
/**
* Aggiunge una richiesta di conferma al primo click di un rollback nella pagina e
* Questo gadget è per te se non sai come mai MediaWiki chieda conferma
* consente a tutti i rollback successivi di partire all'istante come di consueto.
* 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
*
* TODO: this snippet should coexist with the 'mediawiki.page.patrol.ajax' ResourceLoader module somehow.
*
* @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-rollback-link a' )
confirm: 'sicuro sicuro sicuro?',
.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 );
 
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-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;
}
} );
} );
.css( 'pointer-events', 'auto' ); // ready
 
if ( opts.disablePatrolAjax ) {
// actually this is the simpler way to prevent automatic patrol action
mw.loader.using( 'mediawiki.misc-authed-curate' ).then( function () {
// @see mediwiki.page.patrol.ajax ResourceLoader module
$( '.patrollink[data-mw="interface"] a' ).off( 'click' );
if( opts.disablePatrolAjax ) {
} );
$( '.patrollink[data-mw="interface"] a' ).off( 'click' );
}
} );