Aller au contenu

Utilisatrice:Danÿa/test.js

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Remarque: après avoir sauvegardé, vous devez vider le cache de votre navigateur pour que les changements prennent effet. Mozilla, cliquez sur Actualiser (ou ctrl-r). Internet Explorer / Opera: ctrl-f5. Safari: cmd-r. Konqueror ctrl-r.

// Création d'une page de flexions en français depuis le lien rouge dans la page principale
//<nowiki>
mw.loader.load("//fr.wiktionary.org/wiki/MediaWiki:Gadget-CommonWikt.js?action=raw&ctype=text/javascript");
// activation du gadget dans l'espace principal
//if ( mw.config.get('wgNamespaceNumber') === 0 )
CreerFlexionsIt_ChangerLiensRouges();

// création de liens vers le gadget en remplaçant les liens rouges
// dans les infobox ayant la classe flextable-it-mfsp
function CreerFlexionsIt_ChangerLiensRouges()
{
    var genre_pagename;
    // genre du mot de la page courante ? On cherche le mot en gras dans la boite de flexions
    var flextable_vedette = $('.flextable-it-mfsp .selflink').length;
    console.log("flextable_vedette:", flextable_vedette)
    if ( flextable_vedette && $('.flextable-it-mfsp .selflink').first().parents('.flextable-it-m').length ) {
        genre_pagename = 'm';
    } else if ( flextable_vedette && $('.flextable-it-mfsp .selflink').first().parents('.flextable-it-f').length ) {
        genre_pagename = 'f';
    }
    console.log("genre_pagename:", genre_pagename);

    $(".flextable-it-mfsp .new").each(function() {
		var flex = $(this).text();
		// Une boite de flexions pour noms communs contient deux lemmes différents :
		// celui au masculin et au féminin : on ne colore dans ce cas que les formes
		// du genre correspondant au nom de la page
		var isNomCommun = false;
		var typeDeMot = $(this).parents('.flextable-it-mfsp').prevAll('h3').first()
		                .find('.titredef').text();
        console.log("typeDeMot:", typeDeMot);
		if ( typeDeMot == 'Nom commun' || typeDeMot == 'Locution nominale' ) {
			isNomCommun = true;
			console.log("nom commun");
		}
		// genre du mot en lien rouge ?
		var genre_lien_rouge;
		if ( $(this).parents('.flextable-it-m').length ) {
			genre_lien_rouge = 'm';
		} else if ( $(this).parents('.flextable-it-f').length ) {
			genre_lien_rouge = 'f';
		}
		console.log("genre lien rouge:", genre_lien_rouge);
		// On ne surligne pas les liens qui ne sont pas des flexions du mot courant
		// genre_lien_rouge est undefined dans le cas de fr-rég, où le genre n'est pas indiqué dans le tableau de flexions
		if (isNomCommun && (genre_lien_rouge != genre_pagename && genre_lien_rouge !== undefined)) {
			console.log("arrivederci");
			return;
		}
		// sinon on surligne
		$(this).css('background-color','#00ff00');
		$(this).prop('title', 'Cliquez pour créer « ' + flex + ' » avec le gadget');
		$(this).click(function(e) {
			// l'utilisateur a cliqué sur le lien surligné, on empêche le navigateur de le suivre
			e.preventDefault();
			
			// on appelle la fonction de création de la page de flexion
			CreerFlexionsIt_CreerFlexion1( flex.replace(/&nbsp;/g, ' ') );
		});
    });
}

// mot concerné
var CreerFlexionsIt_Mot = '';
// nom flexion
var CreerFlexionsIt_Flexion = '';

function CreerFlexionsIt_CreerFlexion1(flx)
{
	console.log("CreerFlexionsIt_CreerFlexion1");
	// on sauve les valeurs concernées
    CreerFlexionsIt_Mot = mw.config.get('wgPageName').replace(/_/g," ");
    CreerFlexionsIt_Flexion = flx;
 
    // construction et appel de la requête pour obtenir le contenu de l'article
    var urlMot = mw.config.get('wgServer') + mw.config.get('wgScript')
    			 + '?title=' + encodeURIComponent(CreerFlexionsIt_Mot);
    CommonWikt_ajax.http({ 
        url: urlMot + '&action=raw',
        onSuccess: CreerFlexionsIt_CreerFlexion2
    });
}

function CreerFlexionsIt_CreerFlexion2(Req, data)
{
	console.log('CreerFlexionsIt_CreerFlexion2');
}

//</nowiki>