Binding of Isaac: Rebirth Wiki
Advertisement

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. */

$( _ => {
	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' } );
} );

// Tooltips
$( document ).on( 'mousemove', event => $( '.tooltip:hover > .tooltip-block' ).css( { 'left': event.clientX + 10 + 'px', 'top': event.clientY + 20 + 'px' } ) );

$( _ => {

	// 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( _ => {
		$( '.nav-master-button-visible, .nav-master' ).hide();
		$( '.nav-master-button-collapsed' ).show();
	} );
	$( '.nav-master-button-collapsed' ).click( _ => {
		$( '.nav-master-button-visible, .nav-master' ).show();
		$( '.nav-master-button-collapsed' ).hide();
	} );

	// Slideshows initialization
	let $slideshows = $( '.infobox-slideshow' ),
		anim        = new Array( $slideshows.size() ).fill( 0 );
	$slideshows.each( ( _, slideshow ) => {
		let maxHeight = 0,
			maxWidth  = 0;
		$( slideshow )
			.find( '.slide' )
			.each( ( _, slide ) => {
				maxHeight = Math.max( maxHeight, $( slide ).height() );
				maxWidth  = Math.max( maxWidth , $( slide ).width()  );
            } );
        $( slideshow )
			.height( maxHeight )
			.width ( maxWidth  );
	} );

	// Slideshows loop
	setInterval( _ => {
		$slideshows.each( ( i, slideshow ) => {
            let $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 );

} )

// Translation progress
var pageName = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
fetch( "https://bindingofisaacrebirth-fr.gamepedia.com/api.php?format=json&action=cargoquery&tables=maintenance&fields=revision&where=_pageName='" + pageName + "'&limit=1" )
	.then( r => r.json() )
	.then( r => {
		if ( r.cargoquery.length ) {
            let fr       = r.cargoquery[0].title,
                revision = fr.revision;
            fetch( 'https://bindingofisaacrebirth.gamepedia.com/api.php?origin=*&format=json&action=query&prop=revisions&revids=' + revision )
                .then( r2 => r2.json() )
                .then( r2 => {
                    for ( let origine in r2.query.pages ) {
                        fetch( 'https://bindingofisaacrebirth.gamepedia.com/api.php?origin=*&format=json&action=query&prop=revisions&pageids=' + origine )
                            .then( r3 => r3.json() )
                            .then( r3 => {
                                let lastRevision = r3.query.pages[origine].revisions[0].revid;
                                if ( lastRevision == revision ) {
                                    $( 'body.action-view #firstHeading' )
                                        .prepend( '<a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?curid=' + origine + '" title="Traduction à jour"><div class="translation-icon translation-icon-uptodate"></div></a>' );
                                    $( 'body.action-edit #mw-translation-editnotice' )
                                        .css( 'background', 'green' )
                                        .html( '<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=' + origine + '">' + r3.query.pages[origine].title + '</a>.' );
                                } else {
                                    $( 'body.action-view #firstHeading' )
                                        .prepend( '<a target="_blank" rel="noopener noreferrer" href="https://bindingofisaacrebirth.gamepedia.com/index.php?type=revision&diff=' + lastRevision + '&oldid=' + revision + '"><div class="translation-icon translation-icon-toupdate"></div></a>' );
                                    $( 'body.action-edit #mw-translation-editnotice' )
                                        .css( 'background', 'darkred' )
                                        .html( '<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=' + revision + '">la mettant à jour</a>, puis en remplaçant <code>{{révision | ' + revision + ' }}</code> par <code>{{révision | ' + lastRevision + ' }}</code> en bas de la page.' );
                                }
                            } );
                        break;
                    }
                } );
		} else
			$( '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="' + pageName.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>&gt;</b></a><br><code>{{révision | <span id="mw-translation-editnotice-revision"></span> }}</code>' );
	} );

function translationSearch() {
	let pageName = $( '#mw-translation-editnotice-search' ).val();
	fetch( 'https://bindingofisaacrebirth.gamepedia.com/api.php?origin=*&format=json&action=query&prop=revisions&titles=' + pageName )
		.then( r => r.json() )
		.then( r => {
            let pages = r.query.pages,
                p;
			for ( p in pages )
				break;
			if ( p === "-1" )
				$( '#mw-translation-editnotice-revision, #mw-translation-editnotice-origine' ).html( '' );
			else {
				let page = pages[p];
				$( '#mw-translation-editnotice-revision' ).html( page.revisions[0].revid );
				$( '#mw-translation-editnotice-origine' ).html( page.pageid );
			}
		} );
}

// Outdated pages list
var $list = $( '#mw-translation-list' );
if ( $list.length )
	fetch( "https://bindingofisaacrebirth-fr.gamepedia.com/api.php?format=json&action=cargoquery&tables=maintenance&fields=_pageName=page,revision&limit=500" )
		.then( r => r.json() )
		.then( r => {
			for ( var page of r.cargoquery )
				li( page.title );
		} );

function li( page ) {
    let title    = page.page,
        revision = page.revision;
    fetch( 'https://bindingofisaacrebirth.gamepedia.com/api.php?origin=*&format=json&action=query&prop=revisions&revids=' + revision )
        .then( r => r.json() )
        .then( r => {
            for ( let origine in r.query.pages ) {
                fetch( "https://bindingofisaacrebirth.gamepedia.com/api.php?origin=*&format=json&action=query&prop=revisions&pageids=" + origine )
                    .then( r2 => r2.json() )
                    .then( r2 => {
                        let lastRevision = r2.query.pages[origine].revisions[0].revid;
                        if ( revision != lastRevision )
                            $list.append( '<li><a href="https://bindingofisaacrebirth-fr.gamepedia.com/index.php?title=' + title + '">' + title + '</a> : <a href="https://bindingofisaacrebirth.gamepedia.com/index.php?type=revision&diff=' + lastRevision + '&oldid=' + revision + '"><code>' + revision + '</code> -> <code>' + lastRevision + '</code></a>' );
                    } );
                break;
            }
        } );
}
Advertisement