MediaWiki:Gadget-Requests-Wizard-Config.js

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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.

/* <nowiki> */
/**
 * Configurazione per ogni pagina, i valori accettati sono:
 *  - reqPage (stringa, obbligatorio): Pagina dove eseguire la modifica
 *  - buttonID (stringa, obbligatorio): ID del pulsante, deve iniziare con "btn-"
 *  - dialogTitle (stringa, obbligatorio): Titolo da usare nell'intestazione del dialog
 *  - buildForm (funzione, obbligatorio): Funzione che costruisce il form, prende
 *      il dialog come argomento e deve aggiungere i campi chiamando setFields().
 *  - getSubmitData (funzione, obbligatorio): Funzione che gestisce il submit,
 *      prende il dialog come argomento. Restituisce un oggetto con due proprietà:
 *      'text' (stringa, testo da aggiungere alla pagina) e 'summary' (stringa,
 *      oggetto della modifica e titolo della sezione). La funzione viene chiamata
 *      dopo aver validato l'input (campi obbligatori).
 *  - successMsg (stringa, obbligatorio): Messaggio da mostrare all'utente se tutto
 *      va a buon fine.
 *  - dialogSize (stringa, facoltativo): Dimensione della finestra, deve essere
 *      'small', 'medium' o 'large'; default: 'medium'.
 *  - dialogHeight (intero, facoltativo): Altezza del dialog; default: 500.
 *  - getIntroText (funzione, facoltativo): Funzione che restituisce una promise
 *      il cui valore è del testo (HTML) da usare come introduzione del dialog.
 *      Prende come argomento l'oggetto Api da usare per fare richieste.
 *      NB: L'HTML della pagina in oggetto viene inserito direttamente nel dialog;
 *      di conseguenza, è necessario accertarsi che la pagina sia modificabile
 *      SOLO dagli amministratori o dagli AI.
 */
var config = {
	'Wikipedia:Vandalismi_in_corso': {
		reqPage: 'Wikipedia:Vandalismi in corso',
		buttonID: 'btn-nuovo-vandalo',
		dialogTitle: 'Aggiungi una nuova segnalazione',
		successMsg: 'Segnalazione inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.usernameInput = new mw.widgets.UserInputWidget( {
				required: true
			} );
			dialog.usernameField = new OO.ui.FieldLayout(
				dialog.usernameInput,
				{ 
					label: 'Utente da segnalare', 
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				required: true,
				rows: 5,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Breve spiegazione (senza firma)', 
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.usernameField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var username = dialog.usernameInput.getValue(),
				details = dialog.detailsInput.getValue();
			var newText = '{{vandalo|' + username.trim() + '}} ' + details.trim() + ' --~~~~';
			return { text: newText, summary: '' };
		}
	},
	'Wikipedia:Richieste_agli_amministratori': {
		reqPage: 'Wikipedia:Richieste agli amministratori/Richieste correnti',
		buttonID: 'btn-richiesta-admin',
		dialogTitle: 'Aggiungi la tua richiesta',
		dialogSize: 'large',
		dialogHeight: 600,
		successMsg: 'Richiesta inserita correttamente',
		getIntroText: function ( api ) {
			return api.parse(
                	new mw.Title( "Template:Editnotices/Page/Wikipedia:Richieste agli amministratori/Richieste correnti" ),
                	{ prop:"text", disablelimitreport: '' }
                );
		},
		buildForm: function ( dialog ) {
			dialog.titleInput = new OO.ui.TextInputWidget( {
				required: true
			} );
			dialog.titleField = new OO.ui.FieldLayout(
				dialog.titleInput,
				{ 
					label: 'Titolo della richiesta', 
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				required: true,
				placeholder: 'Spiega chiaramente e sinteticamente la tua richiesta, senza firmare',
				rows: 10,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Richiesta', 
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.titleField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var title = dialog.titleInput.getValue(),
				details = dialog.detailsInput.getValue();
			return { text: details.trim() + ' --~~~~', summary: title };
		}
	},
	'Wikipedia:Segnalazioni_NUI': {
		reqPage: 'Wikipedia:Segnalazioni NUI',
		buttonID: 'btn-nuovo-nui',
		dialogTitle: 'Aggiungi una nuova segnalazione',
		successMsg: 'Segnalazione inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.usernameInput = new mw.widgets.UserInputWidget( {
				required: true
			} );
			dialog.usernameField = new OO.ui.FieldLayout(
				dialog.usernameInput,
				{ 
					label: 'Nome utente da segnalare', 
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				rows: 5,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Spiegazione (facoltativa, senza firma)', 
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.usernameField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var username = dialog.usernameInput.getValue(),
				details = dialog.detailsInput.getValue().trim();
			var newText = '{{Reported|' + username.trim() + '}}' + ( details ? ' ' + details.trim() : '' ) + ' --~~~~';
			return { text: newText, summary: '' };
		}
	},
	'Wikipedia:Oracolo': {
		reqPage: 'Wikipedia:Oracolo',
		buttonID: 'btn-richiesta-oracolo',
		dialogTitle: 'Fai la tua richiesta',
		successMsg: 'Richiesta inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.titleInput = new OO.ui.TextInputWidget( {
				required: true
			} );
			dialog.titleField = new OO.ui.FieldLayout(
				dialog.titleInput,
				{ 
					label: 'Titolo della richiesta', 
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				required: true,
				rows: 10,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Richiesta (senza firma)', 
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.titleField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var title = dialog.titleInput.getValue(),
				details = dialog.detailsInput.getValue();
			return { text: details.trim() + ' --~~~~', summary: title };
		}
	},
	'Wikipedia:Sospette_violazioni_di_copyright/Segnalazioni': {
		reqPage: 'Wikipedia:Sospette violazioni di copyright/Segnalazioni/' + new Date().toLocaleString( 'it-it', { month: 'long', year: 'numeric' } ),
		buttonID: 'btn-segnalazione-copyviol',
		dialogTitle: 'Segnala violazione di copyright',
		dialogSize: 'large',
		successMsg: 'Segnalazione inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.pageInput = new mw.widgets.TitleInputWidget( {
				validateTitle: true,
				required: true
			} );
			dialog.pageField = new OO.ui.FieldLayout(
				dialog.pageInput,
				{ 
					label: 'Pagina con la violazione di copyright', 
					align: 'top' 
				}
			);
			dialog.diffInput = new OO.ui.NumberInputWidget( {
				showButtons: false,
				min: 1,
				required: true
			} );
			dialog.diffField = new OO.ui.FieldLayout(
				dialog.diffInput,
				{ 
					label: 'Identificativo del diff in cui è stata inserita la violazione di copyright',
					help: new OO.ui.HtmlSnippet( 'Vedi <a href="//it.wikipedia.org/wiki/Aiuto:Diff">Aiuto:Diff</a> per maggiori informazioni' ),
					align: 'top' 
				}
			);
			dialog.rmDiffInput = new OO.ui.NumberInputWidget( {
				showButtons: false,
				min: 1
			} );
			dialog.rmDiffField = new OO.ui.FieldLayout(
				dialog.rmDiffInput,
				{ 
					label: 'Eventuale identificativo della modifica con cui è stata tolta la violazione di copyright',
					help: new OO.ui.HtmlSnippet( 'Vedi <a href="//it.wikipedia.org/wiki/Aiuto:Diff">Aiuto:Diff</a> per maggiori informazioni' ),
					align: 'top' 
				}
			);
			dialog.siteInput = new OO.ui.TextInputWidget( {
				required: true
			} );
			dialog.siteField = new OO.ui.FieldLayout(
				dialog.siteInput,
				{ 
					label: 'Link del sito da cui è stato copiato il materiale', 
					align: 'top' 
				}
			);
			dialog.site2Input = new OO.ui.TextInputWidget( {} );
			dialog.site2Field = new OO.ui.FieldLayout(
				dialog.site2Input,
				{ 
					label: 'Eventuale altro sito da cui è stato copiato il materiale', 
					align: 'top' 
				}
			);
			dialog.sourceInput = new OO.ui.TextInputWidget( {} );
			dialog.sourceField = new OO.ui.FieldLayout(
				dialog.sourceInput,
				{ 
					label: 'Eventuale fonte cartacea, sito non linkabile o altra provenienza del materiale', 
					align: 'top' 
				}
			);
			dialog.noTitleInput = new OO.ui.ToggleSwitchWidget( {} );
			dialog.noTitleField = new OO.ui.FieldLayout(
				dialog.noTitleInput,
				{ 
					label: 'Ometti titolo della sezione, aggiungendo la segnalazione in coda a quelle esistenti', 
					align: 'top' 
				}
			);
			dialog.setFields( [ dialog.pageField, dialog.diffField, dialog.rmDiffField, dialog.siteField, dialog.site2Field, dialog.sourceField, dialog.noTitleField ] );
		},
		getSubmitData: function ( dialog ) {
			var page = dialog.pageInput.getValue().trim();
			var newText = "{{subst:#ifexist:Wikipedia:Sospette violazioni di copyright/Segnalazioni/{{subst:LOCALMONTHNAME}} {{subst:LOCALYEAR}}" +
				"||<noinclude>{{Wikipedia:Sospette violazioni di copyright/Segnalazioni/Cassetto mensile|{{subst:LOCALMONTHNAME}} {{subst:LOCALYEAR}}}}" +
				"</noinclude>}}{{Segnala copyviol" +
				"|pagina= " + page +
				"|diff= " + dialog.diffInput.getValue().trim() +
				"|diff2= " + dialog.rmDiffInput.getValue().trim() +
				"|sito= " + dialog.siteInput.getValue().trim() +
				"|sito2= " + dialog.site2Input.getValue().trim() +
				"|fonte= " + dialog.sourceInput.getValue().trim() +
				"|firma=~~~~" +
				"|senzatitolo= " + ( dialog.noTitleInput.getValue() ? 'y' : '' ) +
				"|conferma=  <!-- Parametro riservato a chi verifica la segnalazione-->}}";
			return { text: newText, summary: '' };
		}
	},
	'Wikipedia:Richieste_di_protezione_pagina': {
		reqPage: 'Wikipedia:Richieste di protezione pagina',
		buttonID: 'btn-richiesta-protezione',
		dialogTitle: 'Aggiungi una nuova richiesta',
		successMsg: 'Richiesta inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.reqTypeInput = new OO.ui.RadioSelectInputWidget( {
				options: [
					{ data: 'protect', label: 'Protezione' },
					{ data: 'unprotect', label: 'Rimozione della protezione' }
				]
			} );
			dialog.reqTypeField = new OO.ui.FieldLayout(
				dialog.reqTypeInput,
				{ 
					label: 'Tipo di richiesta', 
					align: 'top' 
				}
			);
			dialog.pageInput = new mw.widgets.TitleInputWidget( {
				validateTitle: true,
				required: true
			} );
			dialog.pageField = new OO.ui.FieldLayout(
				dialog.pageInput,
				{ 
					label: 'Pagina',
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				required: true,
				rows: 5,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Spiegazione (senza firma)',
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.reqTypeField, dialog.pageField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var page = dialog.pageInput.getValue();
			var newText = '{{Richiesta protezione';
			if ( dialog.reqTypeInput.getValue() === 'unprotect' ) {
				newText += '|Sprotezione = sì';
			}
			newText += '|NomePagina = ' + page + '}} ' +
				dialog.detailsInput.getValue().trim() + ' --~~~~';

			return { text: newText, summary: page };
		}
	},
	'Aiuto:Sportello_informazioni': {
		reqPage: 'Aiuto:Sportello informazioni',
		buttonID: 'btn-richiesta-informazioni',
		dialogTitle: 'Chiedi informazioni',
		successMsg: 'Richiesta inserita correttamente',
		buildForm: function ( dialog ) {
			dialog.titleInput = new OO.ui.TextInputWidget( {
				required: true
			} );
			dialog.titleField = new OO.ui.FieldLayout(
				dialog.titleInput,
				{ 
					label: 'Titolo della richiesta', 
					align: 'top' 
				}
			);
			dialog.detailsInput = new OO.ui.MultilineTextInputWidget( {
				required: true,
				rows: 10,
				classes: [ 'requests-wizard-textarea-resize-vertical' ]
			} );
			dialog.detailsField = new OO.ui.FieldLayout(
				dialog.detailsInput,
				{ 
					label: 'Richiesta (senza firma)', 
					align: 'top' 
				}
			);

			dialog.setFields( [ dialog.titleField, dialog.detailsField ] );
		},
		getSubmitData: function ( dialog ) {
			var title = dialog.titleInput.getValue(),
				details = dialog.detailsInput.getValue();
			return { text: details.trim() + ' --~~~~', summary: title };
		}
	},
};

module.exports = config;
/* </nowiki> */