Autres langues : English
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
- Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
- Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
- Opera : Videz le cache dans Outils → Préférences.
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
$( function () {
// Cache purge shortcut
var purge_href = $( '#ca-cargo-purge > a' ).attr( 'href' );
$( '#ca-cargo-purge' ).remove();
$( '#p-views > ul' ).append( '<li></li>' );
$( '#p-views > ul > li:not([id])' ).attr( 'id', 'ca-cargo-purge' );
$( '#ca-cargo-purge' ).append( '<span><a>⟳</a></span>' );
$( '#ca-cargo-purge > span > a' )
.attr( { 'title': 'Purge the cache [alt-shift-g]', 'href': purge_href, 'accesskey': 'g' } )
.css( { 'line-height': 0, 'font-size': 'large' } );
// Links titles
$( '.notitle, .tooltip' )
.find( 'a' )
.attr( 'title', '' );
// Nav
$( '.nav-master-button-visible, .nav-master' ).hide();
$( '.nav-master-button-collapsed' ).show();
$( '.nav-master-button-visible' ).click( function () {
$( '.nav-master-button-visible, .nav-master' ).hide();
$( '.nav-master-button-collapsed' ).show();
} );
$( '.nav-master-button-collapsed' ).click( function () {
$( '.nav-master-button-visible, .nav-master' ).show();
$( '.nav-master-button-collapsed' ).hide();
} );
// Slideshows initialization
var $slideshows = $( '.infobox-slideshow' );
var anim = new Array( $slideshows.size() ).fill( 0 );
$slideshows.each( function ( _, slideshow ) {
var maxHeight = 0;
var maxWidth = 0;
$( slideshow )
.find( '.slide' )
.each( function ( _, slide ) {
maxHeight = Math.max( maxHeight, $( slide ).height() );
maxWidth = Math.max( maxWidth , $( slide ).width() );
} );
$( slideshow )
.height( maxHeight )
.width ( maxWidth );
} );
// Slideshows loop
setInterval( function () {
$slideshows.each( function ( i, slideshow ) {
var $slides = $( slideshow ).find( '.slide' );
if ( $slides.length > 1 )
if ( $( slideshow ).hasClass( 'infobox-slideshow-smooth' ) ) {
$( $slides.get( anim[i] ) ).fadeOut( 'slow' );
anim[i] = ( anim[i] + 1 ) % $slides.length;
$( $slides.get( anim[i] ) ).fadeIn( 'slow' );
} else {
$( $slides.get( anim[i] ) ).fadeOut( 'slow' );
anim[i] = ( anim[i] + 1 ) % $slides.length;
$( $slides.get( anim[i] ) ).fadeIn( 'slow' );
}
} );
}, 3000 );
} );
// Tooltips
$( document ).on( 'mousemove', function ( event ) {
$( '.tooltip:hover > .tooltip-block' ).css( { 'left': event.clientX + 10 + 'px', 'top': event.clientY + 20 + 'px' } );
} );
/**********************
* TRANSLATION SYSTEM *
**********************/
$( function () {
// Translation progress
var translatedRevision;
wikiCargoQueryFetch( false, 'tables=maintenance&fields=revision&where=_pageID=' + mw.config.get( 'wgArticleId' ) + '&limit=1' )
.then( function ( r ) {
if ( !r.length )
throw new Error();
translatedRevision = r[0].title.revision;
return wikiQueryFetch( true, 'prop=revisions&revids=' + translatedRevision );
} )
.then( function ( r ) { return r.pages; } )
.then( function ( r ) {
for ( var page in r ) {
console.log( r[page] );
return wikiQueryFetch( true, 'prop=revisions&pageids=' + r[page] );
}
} )
.then( function ( r ) { return r.pages; } )
.then( function ( r ) {
for ( var page in r ) {
var lastRevision = r[page].revisions[0].revid;
console.log( 'étape 3 : ' + lastRevision );
if ( $( 'body.action-view' ).length )
$( '#firstHeading' ).prepend( lastRevision === translatedRevision ?
'<a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?curid=' + page + '" title="Traduction à jour"><div class="translation-icon translation-icon-uptodate"></div></a>' :
'<a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?type=revision&diff=' + lastRevision + '&oldid=' + translatedRevision + '"><div class="translation-icon translation-icon-toupdate"></div></a>'
);
else if ( $( 'body.action-edit' ).length )
$( '#mw-translation-editnotice' )
.css( 'background', lastRevision === translatedRevision ? 'green' : 'darkred' )
.html( lastRevision === translatedRevision ?
'<b>Cette page est à jour.</b><br>Elle est une traduction de la révision <code>' + lastRevision + '</code> de la page <a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?curid=' + page + '">' + r[page].title + '</a>.' :
'<b>Cette page n’est pas à jour.</b><br>Vous pouvez aider en <a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?type=revision&diff=' + lastRevision + '&oldid=' + translatedRevision + '">la mettant à jour</a>, puis en remplaçant <code>{{révision | ' + translatedRevision + ' }}</code> par <code>{{révision | ' + lastRevision + ' }}</code> en bas de la page.'
);
break;
}
} )
.catch( function () {
$( 'body.action-edit #mw-translation-editnotice' ).append( '<br><br>Entrer le nom d’une page pour obtenir le texte correspondant à la dernière révision.<br><div class="oo-ui-widget oo-ui-widget-enabled oo-ui-inputWidget oo-ui-textInputWidget oo-ui-textInputWidget-type-text oo-ui-labelElement" style="width: 40%; display: inline-block"><input type="text" id="mw-translation-editnotice-search" class="oo-ui-inputWidget-input" value="' + mw.config.get( 'wgPageName' ).replace( /_/g, ' ' ).replace( 'Aide:', 'Help:' ).replace( 'Catégorie:', 'Category:' ).replace( 'Modèle:', 'Template:' ) + '"></div><a class="mw-ui-button button" style="min-width: 30px; margin-right: 0.5em" onclick="translationSearch()"><b>></b></a><br><code>{{révision | <span id="mw-translation-editnotice-revision"></span> }}</code>' );
} );
} );
function wikiCargoQueryFetch( fromSource, args ) {
return wikiFetch( 'cargoquery', fromSource, args ).then( function ( r ) { return r.cargoquery; } );
}
function wikiQueryFetch( fromSource, args ) {
return wikiFetch( 'query', fromSource, args ).then( function ( r ) { return r.query; } );
}
function wikiFetch( action, fromSource, args ) {
return fetch( 'https://bindingofisaacrebirth' + ( fromSource ? '.gamepedia.com/api.php?origin=*&' : '-fr.gamepedia.com/api.php?' ) + 'format=json&action=' + action + '&' + ( args || '' ) ).then( function ( r ) { return r.json(); } );
}
function translationSearch() {
wikiQueryFetch( true, 'prop=revisions&titles=' + $( '#mw-translation-editnotice-search' ).val() )
.then( function ( r ) { return r.pages; } )
.then( function ( r ) {
for ( var p in r ) {
$( '#mw-translation-editnotice-revision' ).html( p === '-1' ? '?' : r[p].revisions[0].revid );
break;
}
} );
}