MediaWiki:Common.js: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Importo qui il codice per gli slideshow, per evitare di appesantire il caricamento della pagina con uno script caricato a runtime (MediaWiki:Common.js/Slideshow.js). Fonte: en:MediaWiki:Common.js/Slideshows.js |
rimuovo codice spostato in gadget |
||
Riga 2: | Riga 2: | ||
mw.loader.using( [ 'mediawiki.user', 'mediawiki.util', 'mediawiki.notify' ] ).then( function () { |
mw.loader.using( [ 'mediawiki.user', 'mediawiki.util', 'mediawiki.notify' ] ).then( function () { |
||
// Slideshows |
|||
$.fn.slideshow = ( function() { |
|||
return this.each( function() { |
|||
var $ss = $(this), $sl = $ss.children( '.slide' ), $actions; |
|||
if ( $sl.length < 2 ) { |
|||
return; |
|||
} |
|||
$sl.slice(1).hide(); |
|||
$actions = $('<div class="slide-actions"><span class="slide-prev"></span><span class="slide-next"></span></div>'); |
|||
$ss.data( 'slides', { 'at': 0, 'total': $sl.length }).append( $actions ).click( function(e) { |
|||
var $where = $( e.target ), $ss, $sl, data; |
|||
if ( $where.is( '.slide-prev' ) ) { |
|||
e.stopPropagation(); |
|||
$ss = $(this); $sl = $ss.children( '.slide' ); data = $ss.data( 'slides' ); |
|||
if ( data.at > 0 ) { |
|||
--data.at; |
|||
$sl.eq( data.at + 1).fadeOut(1000).end().eq( data.at ).delay(1000).fadeIn(1000); |
|||
$ss.data( 'slides', data ); |
|||
} |
|||
} else if ( $where.is( '.slide-next' ) ) { |
|||
e.stopPropagation(); |
|||
$ss = $(this); $sl = $ss.children( '.slide' ); data = $ss.data( 'slides' ); |
|||
if ( data.at < data.total - 1 ) { |
|||
++data.at; |
|||
$sl.eq( data.at - 1).fadeOut(1000).end().eq( data.at ).delay(1000).fadeIn(1000); |
|||
$ss.data( 'slides', data ); |
|||
} |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
$.when($.ready).then( function() { $( '.slides' ).slideshow(); } ); |
|||
//$.when( mw.loader.using( ['mediawiki.util']), $.ready ).then(function() { |
//$.when( mw.loader.using( ['mediawiki.util']), $.ready ).then(function() { |
Versione delle 21:04, 21 nov 2018
/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */
mw.loader.using( [ 'mediawiki.user', 'mediawiki.util', 'mediawiki.notify' ] ).then( function () {
//$.when( mw.loader.using( ['mediawiki.util']), $.ready ).then(function() {
// /* Strumenti: "Carica su Commons" */
// mw.util.addPortletLink('p-tb',
// '//commons.wikimedia.org/wiki/Commons:Upload/it',
// 'Carica su Commons',
// 't-uploadcommons',
// 'Carica file multimediali su Wikimedia Commons',
// 'm', '#t-specialpages');
//});
function dynamicNavigationBars() {
/* Dynamic navigation bars */
// Avoid expensive DOM manipulation if there are no navigation bars
if(document.getElementsByClassName('NavFrame').length === 0) {
return;
}
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
var NavigationBarHide = '▲ nascondi';
var NavigationBarShow = '▼ espandi';
// adds show/hide-button to navigation bars
$("<a></a>")
.attr({'class': 'NavToggle', 'href': ''})
.prependTo('.NavFrame')
.on('click', function(event){
// "this" is NavToggle
event.preventDefault();
// shows and hides content and picture (if available) of navigation bars
if ($(this).text() == NavigationBarHide) { // if shown now
$(this).siblings('.NavContent, .NavPic').css('display', 'none');
$(this).text(NavigationBarShow);
} else if ($(this).text() == NavigationBarShow) { // if hidden now
$(this).siblings('.NavContent, .NavPic').css('display', 'block');
$(this).text(NavigationBarHide);
}
});
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < $('.NavFrame').length) {
$('.NavFrame').children('.NavContent, .NavPic').css('display', 'none');
$('.NavToggle').text(NavigationBarShow);
} else {
$('.NavToggle').text(NavigationBarHide);
}
}
mw.hook('wikipage.content').add(dynamicNavigationBars);
function fixTitles() {
function setTabName(newName) {
document.querySelector('#ca-nstab-main a' ).childNodes[0].textContent = newName;
}
/* Modifica il nome del tipo di pagina per alcune pagine */
if(mw.config.get('wgNamespaceNumber') === 0) {
var titolo = mw.config.get('wgTitle');
if(titolo.indexOf('Libro di cucina/Ricette/') != -1) /* Ricette */
setTabName('Ricetta');
else if(titolo.indexOf('Pagina principale') != -1) /* Pagina principale del sito */
setTabName('Pagina principale');
else if (titolo.indexOf('/') == -1) /* Pagina principale di un libro */
setTabName('Libro');
}
/* Nasconde il titolo nelle pagine che hanno il template {{Nascondi titolo}} */
if(document.querySelector('#NoTitle'))
{
document.querySelector('#firstHeading').style.display = 'none';
document.querySelector('#siteSub').style.display = 'none';
var subpagesLink = document.querySelector('.subpages');
if(subpagesLink)
subpagesLink.style.display = 'none';
}
}
$.when($.ready).then(fixTitles);
function addInterwikiLinks() {
/* Evidenzia i link agli articoli di qualità su altre wiki */
if ( document.getElementById( "p-lang" ) ) {
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);
if ( document.getElementById( className + '-fa' ) ) {
InterwikiLinks[i].className += " FA";
InterwikiLinks[i].title = "La voce è in vetrina in questa lingua.";
}
}
}
}
mw.hook('wikipage.content').add(addInterwikiLinks);
function addLoadOnCommonsLink() {
// Aggiunge "Carica file su Commons" nella Sidebar
$('#t-upload a').text('Carica file su Commons').attr('href', '//commons.wikimedia.org/wiki/Special:UploadWizard/it');
}
$.when($.ready).then(addLoadOnCommonsLink);
/*
* Aggiunge il menu a tendina per selezionare un sottoinsieme di caratteri speciali
* Aggiornto da: https://it.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=98798969
*/
function comboboxEdittools() {
var $specialChars = $( '#specialchars' );
if ( $specialChars.length ) {
var $select = $( '<select>' ).change( function () {
$specialChars.find( 'p' ).hide();
$specialChars.find( 'option:selected' ).data().show();
} );
$specialChars.find( 'p' ).each( function () {
$( '<option>' ).html( $( this ).attr( 'id' ).replace( /_/g, ' ' ) )
.data( $( this ) ).appendTo( $select );
} );
$specialChars.prepend( $select );
$select.change();
}
}
mw.hook('wikipage.editform').add(comboboxEdittools);
});