« 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' ); | |||
} | |||
} ); | } ); | ||