« MediaWiki:Common.js » : différence entre les versions

Exclusion-des-sous-pages-du-tirage
Cartes : version 3 du script
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 59 : Ligne 59 :
} );
} );
} );
} );
// une page appartenant à deux catégories ne doit pas sortir sur deux cartes
var dejaSorties = [];


Array.prototype.forEach.call( encarts, function ( el ) {
Array.prototype.forEach.call( encarts, function ( el ) {
Ligne 67 : Ligne 70 :
if ( !cible || choix.length === 0 ) {
if ( !cible || choix.length === 0 ) {
return;                // on garde le lien statique
return;                // on garde le lien statique
}
var libres = choix.filter( function ( t ) {
return dejaSorties.indexOf( t ) === -1;
} );
if ( libres.length ) {
choix = libres;
}
}


Ligne 76 : Ligne 86 :
titre = pool[ Math.floor( Math.random() * pool.length ) ];
titre = pool[ Math.floor( Math.random() * pool.length ) ];


dejaSorties.push( titre );
memoire( nom, titre );
memoire( nom, titre );


Ligne 85 : Ligne 96 :
} );
} );
} );
} );
} );
/* Cartes OpenStreetMap ({{Carte OSM}}, {{Point carte}}) : le code est dans
* MediaWiki:Carte-osm.js et ne se charge que sur les pages qui contiennent une carte.
* Le crochet wikipage.content couvre aussi l'aperçu d'une modification. */
mw.hook( 'wikipage.content' ).add( function ( $contenu ) {
if ( !mw.carteOsm && $contenu && $contenu[ 0 ] && $contenu[ 0 ].querySelector( '.carte-osm' ) ) {
mw.loader.load( mw.config.get( 'wgScript' ) + '?title=MediaWiki:Carte-osm.js&action=raw&ctype=text/javascript&v=3' );
}
} );
} );