Modifications

Aller à : navigation, rechercher

MediaWiki:Gadget-ResumeDeluxe.js

4 041 octets supprimés, 3 juillet 2016 à 16:12
m
Annulation des modifications 102092 de FredoB (discussion)
/* * Résumé Deluxe.
*
* Ajoute des commentaires de modification prédéfinis
*
* Auteur : Dake
* Contributions : Pabix, Tieno, Ltrlg * * Dépendances Date de dernière révision :10 avril 2009 * — les habituelles implicites 'mediawiki' & 'jquery' ; * — 'user' (chargement du common.js). * * {{Projet:JavaScript/Script|ResumeDeluxe}}
*/
var /* Vérifier la présence d’un titre de section. * Cela permet de n’ajouter un séparateur ' ; ' entre deux résumés que si * nécessaire. * Note : on ne vérifie que le fait que le motif est en fin de chaîne, pas * en début. */ sansPointVirgule = /\*\/\s*$/, /* La liste des liens qui seront affichés. * Les éléments du tableau sont d’une des deux formes suivantes : * — [ 'lien' , 'resume' ] * — 'texte' * où 'lien' représente l’intitulé du lien, 'resume' le résumé d’édition * inséré par le lien et 'texte' les deux à la fois. */ listeLiens = [], /* Liens affichés par défaut, même format que listeLiens. */ liensParDefaut = [ 'orthographe', 'typographie', 'catégorisation', 'wikification', 'image', 'mise en forme', 'mise en page', 'redirection', 'relecture', 'style', 'revert', 'réorganisation', 'réponse', 'maintenance', [ 'homonymie', 'création homonymie' ], [ 'bandeau', 'ajout de bandeau' ], 'infobox', 'références', 'retouche de la modification précédente' ], /* Objet permettant de désactiver des liens (parmi la liste par défaut * ci-avant), sous la forme { 'lien1': false, 'lien2': false, … } où * 'lien1', 'lien2'… est l’intitulé du lien à ne pas afficher. */ liensAffiches = window.ResumeDeluxe_affiches || {}, /* Objet jQuery contenant l’<input> ou le <textarea> constituant le résumé. */ $resume, /* Objet jQuery contenant la liste de liens. */ $liste; /* Fonction renvoyant l’intitulé d’un lien à partir de sa représentation sous * forme de tableau ou de chaîne. */function texteDuLien( definition ) { if ( $.isArray( definition ) ) { return definition[0]; } else { // Soyons sûr d’avoir une chaîne de caractères return definition.toString(); }} /* Fonction renvoyant le texte ajouté par un lien à partir de sa représentation * sous forme de tableau ou de chaîne. */function resumeAInserer( definition ) { if ( $.isArray( definition ) ) { return definition[1]; } else { /ZONE PERSONNALISABLE////////////// Soyons sûr d’avoir une chaîne de caractères. return definition.toString(); }} /* Procédure transformant l’ancien format de configuration pour la * compatibilité. */function transformerAncienneConfiguration() { var i; if ( // Appliqué seulement si le nouveau format n’existe pas ! $.isArray( window.ResumeDeluxe_liens ) && // Les deux tableaux doivent exister $.isArray( window.resumedeluxeTitles ) && $.isArray( window.resumedeluxeInputs ) && // Les deux tableaux doivent avoir la même longueur window.var resumedeluxeTitles.length == window.resumedeluxeInputs.length new Array() { window.ResumeDeluxe_liens = []; for with ( i = 0; i < window.resumedeluxeTitles.length; i++ ) { window.ResumeDeluxe_liens. push( ["orthographe"); window.resumedeluxeTitles[i].replace push( /^.\s+/, '' "- typographie"),; window.resumedeluxeInputs[i] push("- complément"); ] push("- catégorisation"); } push("- interwiki"); }} /* Procédure appliquant les préférences de l’utilisateur : * — si l’utilisateur a défini window.ResumeDeluxe_liens, celui push("-ci est utilisé * à la place de la liste par défaut liensParDefaut wikification"); * — sinon si l’utilisateur a défini window.ResumeDeluxe_affiches, les règles * de désactivation sont appliquées push("- image"); * — sinon liensAffiches est un objet vide, donc la liste par défaut est * utilisée. */function appliquerConfiguration push("- mise en page") { var i, cle; if push( $.isArray( window.ResumeDeluxe_liens ) "- redirection") { listeLiens = window.ResumeDeluxe_liens; } else { for push( i = 0"- relecture"); i < liensParDefaut.length; i++ ) { cle = texteDuLien push( liensParDefaut[i] "- style"); if push( liensAffiches[cle] !== false "- retour") {; listeLiens. push( liensParDefaut[i] "- révocation"); } } }} /* Procedure effectuant l’ajout d’une chaîne au résumé d’édition, avec un * séparateur si besoin */function ajouterAuResume push( chaine "- réorganisation") {; var resumeActuel = $resume.val push("- réponse"); if push( resumeActuel === '' "- maintenance") {; $resume.val push( chaine "- évaluation"); } else if push( sansPointVirgule.test( resumeActuel "- homonymie") ) {; $resume.val push( resumeActuel + chaine "- bandeau"); } else { $resume.val push( resumeActuel + ' ; ' + chaine "- infobox"); } // L’ÉditeurVisuel ne se base plus sur le contenu mais sur l’évènement $resume.change push("- références"); // Conserver le focus sur le lien est inutile à l’utilisateur // Plaçons push("-le sur le champ retouche de résumé, s’il veut compléter à la main $resume.focus(modification précédente");
}
var resumedeluxeInputs= new Array();/* Fonction renvoyant un lien à partir de sa définition. */with (resumedeluxeInputs) { push("orthographe"); push("typographie"); push("Paragraphe complémentaire"); push("catégorisation"); push("interwiki"); push("wikification"); push("image");function $lien push( definition "mise en page") {; var resume = resumeAInserer push( definition "redirection"); return $ push( '<a>' "relecture"); .text push( texteDuLien"style"); push( definition "retour version précédente") ; push("Révocation"); .attr push( {"réorganisation"); href: '#', push("réponse"); title: 'Ajouter «\xA0' + resume + '\xA0» au résumé de modification' push("maintenance"); } push("évaluation WikiGenWeb"); .click push( function "création homonymie"); push("ajout de bandeau") {; ajouterAuResume push( resume "infobox"); return false push("références"); } push("retouche de la modification précédente");
}
/////////////////FIN DE LA ZONE PERSONNALISABLE/////////////////
/* Procédure construisant la liste de liens. */function contruireListesetSummary(str) { var i, $ul; $ul = $( '<ul>' ) .addClass( 'liste-horizontale' ) .css( { display: 'inline', margin: 0 } ); for( i = 0; i < listeLiens document.length; i++ ) { $uleditform.append( $( '<li>' )wpSummary.append( $lien( listeLiens[i] ) ) ); } $cont value = $( '<div>' ).attr( 'id', 'ResumeDeluxe' ) .text( 'Messages prédéfinis\xA0: ' ) .append( $ul )str;
}
/* Procédure initialisant $resume et insérant la liste de liens dans le cas de * l’éditeur de wikicode, quand les nœuds nécessaires sont en place. */function demarrer_wikicodeaddToSummary(str) { $( var resum = document ).readyeditform.wpSummary.value; if( function resum != 0 && resum.indexOf("*/") < resum.length - 3) { $( '#wpSummaryLabel' ) document.editform.wpSummary.before( $cont )value += " ; $resume = $( '#wpSummary' )"; } ) document.editform.wpSummary.value += str;
}
/* Procédure initialisant $resume et insérant la liste de liens dans le cas de * l’ÉditeurVisuel, quand les nœuds nécessaires sont en place. */function demarrer_EditeurVisuelDeluxeSummary() { mw.hook if ( 'vedocument.saveDialogURL.stateChanged' indexOf("&section=new") > 0)return; var sumLbl = document.addgetElementById( function "wpSummaryLabel"); if(sumLbl) { /* var sumInput = document.getElementById("wpSummary"); * Traitement : si le dialogue a été recréé, on y remet ce qu’il faut sumInput. * TODO Vérifier si cette vérification est encore nécessairestyle.width = "95%"; */ var str = "Messages prédéfinis : "; if for( $( '#ResumeDeluxe' )var cpt = 0; cpt < resumedeluxeTitles.size() < 1 length; cpt ++) { $( '#MediaWiki-summary' ).after( $cont ) var tmp = resumedeluxeInputs[cpt]; $resume str += "<a href= $\"javascript:addToSummary( '" + tmp.ve-ui-mwSaveDialog-summary textareareplace( /[']/g , "\\'") + "' )\"" + " class=\"sumLink\" title=\"Ajouter dans la boîte de résumé\">" + resumedeluxeTitles[cpt] + "</a> "; } sumLbl.innerHTML = str + "<br />" + sumLbl.innerHTML; } );
}
 /* Procédure qui détermine quel éditeur peut être utilisé et démarre le gadget * selon le résultat. */function demarrer() { switch ( mw.config.get( 'wgAction' ) ) { case 'edit': case 'submit': // Désactivé pour la création de sections if ( ! /(\?|&)section=new(&|$)/.test( document.location.search ) ) { demarrer_wikicode(); } // fallthrough: L’EV peut démarrer de ces modes sans rechargement case 'view': demarrer_EditeurVisuel(); break; }} /***** Démarrage du tout *****/ // Compatibilité avec l’ancien format de configurationtransformerAncienneConfiguration();// Lecture des préférencesappliquerConfiguration();// Construction de la liste des lienscontruireListe();// Insère la liste dans l’arbre des nœuds et cherche le nœud contenant le résumédemarreraddOnloadHook(DeluxeSummary);
ForumAdmin, ForumModerator, bureaucrate, administrateur, wgw
78 134
modifications

Menu de navigation