MediaWiki:Gadget-SubmitDraftForReview-core.js
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.
/**
* Al click del pulsante generato dal template:Bozza per chiedere la revisione
* di una bozza, mostra una richiesta di conferma e aggiorna la pagina dopo
* aver aggiunto in cima alla bozza il template:Richiesta revisione bozza.
*
* @author https://it.wikipedia.org/wiki/Utente:Sakretsu
*/
/* global mediaWiki, jQuery, OO */
( function ( mw, $ ) {
'use strict';
var msg = {
anonwarning: 'Il tuo indirizzo IP sarà visibile pubblicamente.',
conflict: 'Si è verificato un conflitto di modifiche. Per favore, aggiorna la pagina e ripeti la richiesta.',
error: 'Si è verificato un errore inaspettato alla modifica della pagina. Per favore, riprova o segnala agli amministratori.',
license: 'Pubblicando, accetti le nostre <a href="https://foundation.wikimedia.org/wiki/Terms_of_Use/it">condizioni d\'uso</a>.',
prompt: 'Confermi di voler pubblicare la tua richiesta di revisione?',
success: 'Richiesta effettuata con successo.',
};
function submit() {
var api = new mw.Api();
var articleId = mw.config.get( 'wgArticleId' );
var $content = $( '#content' ).children();
$content.css( { "opacity": 0.5, "pointer-events": "none" } );
api.get( {
action: 'query',
prop: 'revisions',
pageids: articleId,
rvlimit: 1,
format: 'json'
} ).then( function ( result ) {
// ottiene in questo momento l'ID della revisione visualizzata per
// coprire l'eventualità che siano state fatte modifiche con l'editor visuale
var cur_rev = mw.config.get( 'wgRevisionId' );
if ( cur_rev !== result.query.pages[ articleId ].revisions[ 0 ].revid ) {
return $.Deferred().reject( 'editconflict' );
}
return api.postWithToken( 'csrf', {
action: 'edit',
pageid: articleId,
prependtext: '{\{subst:Bozza/preload}\}\n',
minor: true,
summary: 'richiesta revisione',
watchlist: 'nochange'
} );
} ).done( function () {
OO.ui.alert( msg.success );
api.get( {
action: 'parse',
pageid: articleId,
prop: [ 'text', 'categorieshtml', 'modules', 'jsconfigvars' ],
useskin: mw.config.get( 'skin' )
} ).then( function ( result ) {
$( '#mw-content-text' ).html( result.parse.text[ '*' ] );
$( '#bodyContent > .catlinks' ).replaceWith( result.parse.categorieshtml[ '*' ] );
mw.config.set( result.parse.jsconfigvars );
mw.loader.load( result.parse.modulestyles );
mw.loader.load( result.parse.modules );
} );
} ).fail( function ( code, data ) {
OO.ui.alert( msg[ code === 'editconflict' ? 'conflict' : 'error' ] );
console.log( 'Errore API', code, data );
} ).always( function () {
$content.css( { "opacity": 1, "pointer-events": "auto" } );
} );
}
function init( isPostEdit ) {
if ( isPostEdit === false ) { return }
var license = $( '<div>' )
.css( 'font-size', '12px' )
.css( 'margin-top', '.5em' )
.html( msg.license );
var text = $( '<div>' )
.css( 'text-align', 'center' )
.text( msg.prompt )
.append( license );
if ( mw.config.get( 'wgUserId' ) === null ) {
license.append( '<br />', msg.anonwarning );
}
$( '.pulsante-richiesta-revisione' ).on( 'click', function( event ) {
event.preventDefault();
OO.ui.confirm( text )
.done( function ( confirmed ) {
if ( confirmed ) {
submit();
}
} );
} );
}
$( function () {
mw.loader.using( [ 'mediawiki.api', 'oojs-ui-core', 'oojs-ui-windows' ] )
.done( function () {
init();
mw.hook( 've.deactivationComplete' ).add( init );
} );
} );
}( mediaWiki, jQuery ) );