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

Contenuto cancellato Contenuto aggiunto
m mw.util.addCSS
cerca un link diverso a seconda che il VE sia attivo
 
(7 versioni intermedie di 2 utenti non mostrate)
Riga 15:
// più le pagine qui di seguito configurate:
var extraPages = {
4: [ 'Officina', 'Oracolo', 'Richieste agli amministratori/Richieste correnti' ],
12: [ 'Sportello informazioni' ]
};
// Per verificare se i link "Cambusa" sono già stati aggiunti
Riga 24:
// La finestra di dialogo per configurare lo spostamento della discussione
var cambusaDialog;
// Nome dell'opzione nelle preferenze che controlla l'attivazione del VisualEditor
var veOptionName = 'visualeditor-betatempdisable';
// Chiavi dei messaggi che possono apparire come testo dei link di modifica sezione
var editLinkMsgKeys = {
0: 'visualeditor-ca-editsource-section', // VisualEditor attivo
1: 'editsection' // VisualEditor disattivo
};
 
/**
Riga 43 ⟶ 50:
readHandler( text );
} ).fail ( function ( code, data ) {
OO.ui.getWindowManager().getCurrentWindow().close();
OO.ui.alert( 'Errore nel leggere la discussione: ' + code );
} );
Riga 127 ⟶ 133:
extraPages[ formData.destNamespaceNum ].join( ', ' );
}
 
cambusaDialog.close();
 
if ( error ) {
OO.ui.alert( error );
} else {
cambusaDialog.close();
formData.destTitle = formData.destNamespace + ':' + formData.destTitle;
from = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
Riga 140 ⟶ 147:
addSection( formData.destTitle, formData.destSectionTitle, text, function ( newrevid ) {
getSectionAnchor( newrevid, function ( anchor ) {
text = '==' + formData.destSectionTitlesourceSectionTitle + '==\n\n' +
'{{Cambusa|' + formData.destIncipit + '|' + formData.destTitle + '#' + anchor + '|firma=~~\~~}}';
setSection( formData.sourceSection, text, 'cambusata discussione in [[' + formData.destTitle + ']]' );
Riga 207 ⟶ 214:
} ),
new OO.ui.FieldLayout( this.sectionTitleInput, {
label: 'Titolo nuova discussione di destinazione:',
align: 'top'
} ),
Riga 229 ⟶ 236:
CambusaDialog.prototype.setSourceSection = function ( sourceSection, sourceSectionTitle, sourceText ) {
this.sourceSection = sourceSection;
this.sourceSectionTitle = sourceSectionTitle;
this.sectionTitleInput.setValue( sourceSectionTitle );
this.sourceText = sourceText;
Riga 242 ⟶ 250:
destNamespaceNum: this.namespaceDropdown.getMenu().findSelectedItem().getData(),
sourceSection: this.sourceSection,
sourceSectionTitle: this.sourceSectionTitle,
sourceText: this.sourceText
};
Riga 253 ⟶ 262:
* Aggiunge il link "Cambusa" a ogni sezione della pagina corrente.
*/
async function addCambusaLinks() {
await mw.loader.load( [ 'mediawiki.jqueryMsg', 'user.options' ] );
const editLinkMsgKey = editLinkMsgKeys[ mw.user.options.get( veOptionName ) ];
await api.loadMessagesIfMissing( [ editLinkMsgKey ] );
var windowManager;
$( '`span.mw-editsection > a:last-of-type'contains(${ mw.msg( editLinkMsgKey ) })` ).each( function ( i, el ) => {
var $link, sectiontitlehref = $( el ).attr( 'title' ).replace( /^(Modifica|Cancella) la sezione /g, 'href' );
$linkvar pageTitle = $mw.util.getParamValue( '<a>title', href );
if ( pageTitle !== mw.config.get( 'wgPageName' ) ) {
$( el ).after(
'<span> | </span>',
$( '<span>' )
.css( 'color', '#54595d' )
}.attr(
} );'title',
'Sezione della pagina ' + pageTitle.replace( /_/g, ' ' )
} )
.text( 'sezione transclusa' )
} );
} )return;
}
var sectionTitle = $( el ).attr( 'title' ).replace( /^(Modifica|Cancella) la sezione /g, '' );
var $link = $( '<a>' )
.attr( 'href', '#' )
.attr( 'title', 'Cambusa la discussione ' + sectiontitlesectionTitle )
.text( 'cambusa' )
.click( functionasync ( event ) => {
event.preventDefault();
await mw.loader.usingload( [ 'mediawiki.api', 'oojs-ui-core', 'oojs-ui-widgets',
'oojs-ui-core', 'oojs-ui-widgets', 'oojs-ui-windows', 'mediawiki.widgets' ]
] );
getSection( mw.util.getParamValue( 'section', href ), ( text ) => {
.done( function () {
apivar match = newtext.match( mw/==\s*(.Api*?)\s*==\s*\n([\s\S]*)/ );
getSection( i + 1, functionif ( text!cambusaDialog ) {
cambusaDialog = buildCambusaDialog();
var match = text.match( /==\s*(.*?)\s*==\s*\n([\s\S]*)/ );
windowManager = new OO.ui.WindowManager();
if ( !cambusaDialog ) {
$( 'body' ).append( windowManager.$element );
cambusaDialog = buildCambusaDialog();
windowManager.addWindows( =[ newcambusaDialog ] OO.ui.WindowManager();
}
$( 'body' ).append( windowManager.$element );
windowManagercambusaDialog.addWindowssetSourceSection( i + 1, match[ cambusaDialog1 ], match[ 2 ] );
if windowManager.openWindow( !cambusaDialog ) {;
}
} );
cambusaDialog.setSourceSection( i + 1, match[ 1 ], match[ 2 ] );
windowManager.openWindow( cambusaDialog );
} );
} )
.fail( function () {
console.error( 'Impossibile avviare l\'accessorio cambusa.' );
} );
} );
$( el ).after( '<span> | </span>', $link );
Riga 300 ⟶ 321:
}
 
$( async function () {
if ( mw.config.get( 'wgAction' ) === 'view' && !cambusaLinksAllowed() ) {
return;
var portletLink = mw.util.addPortletLink( 'p-tb', '#', 'Cambusa', 't-cambusa', 'Aggiunge il link cambusa a ogni discussione' );
$( portletLink ).click( function ( event ) {
event.preventDefault();
if ( !inited ) {
addCambusaLinks();
inited = true;
}
} );
}
 
await mw.loader.load( 'mediawiki.util' );
 
var portletLink = mw.util.addPortletLink(
var portletLink = mw.util.addPortletLink( 'p-tb', '#', 'Cambusa', 't-cambusa', 'Aggiunge il link cambusa a ogni discussione' );
 
$( portletLink ).click( functionasync ( event ) => {
event.preventDefault();
 
if ( !inited ) {
await mw.loader.load( 'mediawiki.api' );
api = new mw.Api();
addCambusaLinks();
inited = true;
}
} );
} );
}( mediaWiki, jQuery ) );