<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fr.buckwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-CommonEdit.js</id>
	<title>MediaWiki:Gadget-CommonEdit.js - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://fr.buckwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-CommonEdit.js"/>
	<link rel="alternate" type="text/html" href="https://fr.buckwiki.ddns.net/index.php?title=MediaWiki:Gadget-CommonEdit.js&amp;action=history"/>
	<updated>2026-06-19T06:50:18Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://fr.buckwiki.ddns.net/index.php?title=MediaWiki:Gadget-CommonEdit.js&amp;diff=1629&amp;oldid=prev</id>
		<title>LIMAFOX76 : Page créée avec « /**  * Applications spécifiques aux pages de modification.  *  * Todo : migrer celles qui ne sont pas vitales dans les gadgets  *  * &lt;nowiki&gt;  */  // Penser à maintenir... »</title>
		<link rel="alternate" type="text/html" href="https://fr.buckwiki.ddns.net/index.php?title=MediaWiki:Gadget-CommonEdit.js&amp;diff=1629&amp;oldid=prev"/>
		<updated>2022-02-21T08:47:15Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;span class=&quot;autocomment&quot;&gt;*  * Applications spécifiques aux pages de modification.  *  * Todo : migrer celles qui ne sont pas vitales dans les gadgets  *  * &amp;lt;nowiki&amp;gt; : &lt;/span&gt;  // Penser à maintenir... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Applications spécifiques aux pages de modification.&lt;br /&gt;
 *&lt;br /&gt;
 * Todo : migrer celles qui ne sont pas vitales dans les gadgets&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// Penser à maintenir à jour les dépendances dans [[MediaWiki:Gadgets-definition]] !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Désactiver le bouton Sauvegarder à la première édition&lt;br /&gt;
 * English : Force IP to preview before saving changes.&lt;br /&gt;
 * Copyright Marc Mongenet, 2006&lt;br /&gt;
 * Plyd 05/2007: add &amp;quot;after preview&amp;quot; in the button to prevent misunderstanding from beginners&lt;br /&gt;
 */&lt;br /&gt;
function forcePreview($) {&lt;br /&gt;
    $(&amp;#039;#wpSave&amp;#039;)&lt;br /&gt;
        .prop(&amp;#039;disabled&amp;#039;, true)&lt;br /&gt;
        .val(&amp;#039;Publier (après prévisualisation)&amp;#039;);&lt;br /&gt;
    $(&amp;#039;#wpSaveWidget&amp;#039;)&lt;br /&gt;
        .removeClass(&amp;#039;oo-ui-widget-enabled&amp;#039;)&lt;br /&gt;
        .addClass(&amp;#039;oo-ui-widget-disabled&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
if (mw.config.get(&amp;#039;wgUserName&amp;#039;) === null &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgAction&amp;#039;) === &amp;#039;edit&amp;#039;) {&lt;br /&gt;
    $(forcePreview);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Textes de remplissage automatique&lt;br /&gt;
 */&lt;br /&gt;
var init_if_empty = [&lt;br /&gt;
    [&amp;quot;Wikipédia:Comité_d&amp;#039;arbitrage/Arbitrage/&amp;quot;,&lt;br /&gt;
        &amp;quot;&amp;lt;!-- Enregistrer la page pour l&amp;#039;initialiser puis suivre les instructions --&amp;gt;\n&amp;quot; +&lt;br /&gt;
        &amp;quot;{{subst:Wikipédia:Comité d&amp;#039;arbitrage/Arbitrage/Modèle}}\n&amp;quot; +&lt;br /&gt;
        &amp;quot;&amp;lt;!-- N&amp;#039;oubliez pas d&amp;#039;ajouter un lien vers cette page sur [[Wikipédia:Comité d&amp;#039;arbitrage/Arbitrage]] --&amp;gt;&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    [&amp;quot;Discussion_Wikipédia:Comité_d&amp;#039;arbitrage/Arbitrage/&amp;quot;,&lt;br /&gt;
        &amp;quot;&amp;lt;!-- Enregistrer la page pour l&amp;#039;initialiser --&amp;gt;\n&amp;quot; +&lt;br /&gt;
        &amp;quot;{{subst:Discussion Wikipédia:Comité d&amp;#039;arbitrage/Arbitrage/Modèle}}&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Remplit la zone d&amp;#039;édition si elle est vide avec le texte&lt;br /&gt;
 * sélectionné par le nom de la page.&lt;br /&gt;
 */&lt;br /&gt;
function InitPage( $ ) {&lt;br /&gt;
    // Tester si wpTextbox1 existe sinon il y a une erreur lorsqu&amp;#039;on&lt;br /&gt;
    // ouvre l&amp;#039;historique d&amp;#039;une page qui match un des noms de init_if_empty[],&lt;br /&gt;
    // tester seulement le nom de la page n&amp;#039;est pas suffisant.&lt;br /&gt;
    var text_area = document.getElementById(&amp;#039;wpTextbox1&amp;#039;);&lt;br /&gt;
    if (!text_area) return;&lt;br /&gt;
    if (text_area.value.length &amp;gt; 0) return;&lt;br /&gt;
    var pageName = mw.config.get( &amp;#039;wgPageName&amp;#039; );&lt;br /&gt;
    for (var i = 0; i &amp;lt; init_if_empty.length; ++i) {&lt;br /&gt;
        var page_match = init_if_empty[i][0];&lt;br /&gt;
        if (pageName.indexOf(page_match) === 0) {&lt;br /&gt;
            text_area.value = init_if_empty[i][1];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
$( InitPage );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Caractères spéciaux&lt;br /&gt;
 *&lt;br /&gt;
 * Ajouter un menu pour choisir des sous-ensembles de caractères spéciaux.&lt;br /&gt;
 * Ecrit par Zelda, voir sur [[Utilisateur:Zelda/Edittools.js]].&lt;br /&gt;
 * Remplace l&amp;#039;ancienne fonction par une variante plus rapide.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Ajoute un menu déroulant permettant de choisir un jeu de caractères spéciaux&lt;br /&gt;
 * Les caractères spéciaux sont définis dans [[MediaWiki:Edittools]]&lt;br /&gt;
 */&lt;br /&gt;
window.addCharSubsetMenu = function () {&lt;br /&gt;
    var $specialchars = $(&amp;#039;#specialcharsets&amp;#039;);&lt;br /&gt;
    if (!$specialchars.length) return;&lt;br /&gt;
&lt;br /&gt;
    var saveLastSelected = mw.util.debounce(250, function (lastSelected) {&lt;br /&gt;
        mw.storage.set(&amp;#039;CharSubset-lastSelected&amp;#039;, lastSelected);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Construction du menu de sélection&lt;br /&gt;
    var $charSubsetSelect = $(&amp;#039;&amp;lt;select&amp;gt;&amp;#039;)&lt;br /&gt;
        .change(function () {&lt;br /&gt;
            chooseCharSubset(this.selectedIndex);&lt;br /&gt;
            saveLastSelected(this.value);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
    refreshCharSubsetSelect($specialchars, $charSubsetSelect);&lt;br /&gt;
&lt;br /&gt;
    $specialchars.prepend($charSubsetSelect);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Ajout des options au menu et restauration de la dernière position&lt;br /&gt;
 */&lt;br /&gt;
function refreshCharSubsetSelect($specialchars, $charSubsetSelect) {&lt;br /&gt;
    $charSubsetSelect.empty();&lt;br /&gt;
&lt;br /&gt;
    var titles = [];&lt;br /&gt;
    $specialchars.find(&amp;#039;p&amp;#039;).each(function () {&lt;br /&gt;
        titles.push(this.title);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $.each(titles, function () {&lt;br /&gt;
        $charSubsetSelect.append($(&amp;#039;&amp;lt;option&amp;gt;&amp;#039;).text(this));&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    var lastSelected = mw.storage.get(&amp;#039;CharSubset-lastSelected&amp;#039;);&lt;br /&gt;
    var position = titles.indexOf(lastSelected);&lt;br /&gt;
    if (position !== -1) {&lt;br /&gt;
        $charSubsetSelect.val(lastSelected);&lt;br /&gt;
        chooseCharSubset(position);&lt;br /&gt;
    } else {&lt;br /&gt;
        chooseCharSubset(0); /* default subset */&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Affichage du jeu de caractères sélectionné&lt;br /&gt;
 */&lt;br /&gt;
function chooseCharSubset(index) {&lt;br /&gt;
    $(&amp;#039;#specialcharsets&amp;#039;).find(&amp;#039;p&amp;#039;).each(function (i, p) {&lt;br /&gt;
        // Initialisation du jeu de caractères sélectionné&lt;br /&gt;
        if (i === index) {&lt;br /&gt;
            initializeCharSubset(p);&lt;br /&gt;
        }&lt;br /&gt;
        // Affichage du jeu sélectionné, masquage des autres&lt;br /&gt;
        p.style.display = (i === index) ? &amp;#039;inline&amp;#039; : &amp;#039;none&amp;#039;;&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Initialisation du jeu de caractères sélectionné&lt;br /&gt;
 * Paramètre : paragraphe contenant le jeu à initialiser. Initialise tous les&lt;br /&gt;
 * caractères contenus dans les sous-spans du paragraphe&lt;br /&gt;
 */&lt;br /&gt;
function initializeCharSubset(p) {&lt;br /&gt;
    // traitement des spans du paragraphe&lt;br /&gt;
    $(p).find(&amp;quot;span&amp;quot;).each(function (_, span) {&lt;br /&gt;
        // span déjà traité&lt;br /&gt;
        if (span.childNodes.length === 0 || span.childNodes[0].nodeType !== 3) return;&lt;br /&gt;
&lt;br /&gt;
        // on parse le contenu du span&lt;br /&gt;
        var chars = span.childNodes[0].nodeValue&lt;br /&gt;
            .replace(/\\ /g, &amp;quot;__ESCAPED_SPACE__&amp;quot;)&lt;br /&gt;
            .trim()&lt;br /&gt;
            .split(&amp;quot; &amp;quot;)&lt;br /&gt;
            .map(function (value) {&lt;br /&gt;
                return value.replace(/__ESCAPED_SPACE__/g, &amp;quot; &amp;quot;);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
        // création des liens MonobookToolbar.insertTags(tagBegin, tagEnd, defaultValue)&lt;br /&gt;
        var newElements = [];&lt;br /&gt;
        for (var k = 0; k &amp;lt; chars.length; ++k) {&lt;br /&gt;
            var tags = chars[k].split(&amp;quot;+&amp;quot;);&lt;br /&gt;
            var tagBegin = tags[0];&lt;br /&gt;
            var tagEnd = tags.length &amp;gt; 1 ? tags[1] : &amp;quot;&amp;quot;;&lt;br /&gt;
            var defaultValue = tags.length &amp;gt; 2 ? tags[2] : &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            var callback = (function (tagBegin, tagEnd, defaultValue) {&lt;br /&gt;
                return function (e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    MonobookToolbar.insertTags(tagBegin, tagEnd, defaultValue);&lt;br /&gt;
                };&lt;br /&gt;
            })(tagBegin, tagEnd, defaultValue);&lt;br /&gt;
&lt;br /&gt;
            var $a = $(&amp;quot;&amp;lt;a&amp;gt;&amp;quot;)&lt;br /&gt;
                .attr(&amp;quot;href&amp;quot;, &amp;quot;#&amp;quot;)&lt;br /&gt;
                .text(tagBegin + tagEnd)&lt;br /&gt;
                .click(callback);&lt;br /&gt;
&lt;br /&gt;
            newElements.push($a, &amp;quot; &amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // remplacement du contenu&lt;br /&gt;
        $(span).empty().append(newElements);&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(function ($) {&lt;br /&gt;
    addCharSubsetMenu();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Les deux fonctions ci-dessous ne doivent pas être contenues&lt;br /&gt;
// dans des &amp;quot;mw.loader.using&amp;quot; ou autres &amp;quot;document ready&amp;quot;,&lt;br /&gt;
// de sorte à être définies sitôt ce fichier chargé.&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Permet d&amp;#039;ajouter un jeu de caractères spéciaux dans le menu déroulant&lt;br /&gt;
 * paramètres :&lt;br /&gt;
 * - nom du jeu de caractères&lt;br /&gt;
 * - contenu HTML. Les caractères spéciaux doivent être dans des spans&lt;br /&gt;
 *   exemple : &amp;quot;caractères : &amp;lt;span&amp;gt;â ê î ô û&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
 */&lt;br /&gt;
window.realAddSpecialCharsetHTML = function (title, charsHTML) {&lt;br /&gt;
    $(function ($) {&lt;br /&gt;
        var $specialchars = $(&amp;#039;#specialcharsets&amp;#039;);&lt;br /&gt;
        if (!$specialchars.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Ajout des caractères spéciaux. Les liens seront initialisés par initializeCharSubset()&lt;br /&gt;
        // lors de la sélection&lt;br /&gt;
        var $p = $(&amp;#039;&amp;lt;p&amp;gt;&amp;#039;)&lt;br /&gt;
            .css(&amp;#039;display&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
            .attr(&amp;#039;title&amp;#039;, title)&lt;br /&gt;
            .html(charsHTML);&lt;br /&gt;
        $specialchars.append($p);&lt;br /&gt;
&lt;br /&gt;
        // Si le menu de sélection existe déjà, il faut reconstruire ses options&lt;br /&gt;
        var $charSubsetSelect = $specialchars.find(&amp;#039;select&amp;#039;);&lt;br /&gt;
        if ($charSubsetSelect.length) {&lt;br /&gt;
            refreshCharSubsetSelect($specialchars, $charSubsetSelect);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Permet d&amp;#039;ajouter un jeu de caractères spéciaux dans le menu déroulant&lt;br /&gt;
 * paramètres :&lt;br /&gt;
 * - nom du jeu de caractères&lt;br /&gt;
 * - caractères spéciaux&lt;br /&gt;
 * exemple d&amp;#039;utilisation : addSpecialCharset(&amp;quot;Français&amp;quot;, &amp;quot;â ê î ô û&amp;quot;);&lt;br /&gt;
 */&lt;br /&gt;
window.realAddSpecialCharset = function (title, chars) {&lt;br /&gt;
    realAddSpecialCharsetHTML(title, &amp;quot;&amp;lt;span&amp;gt;&amp;quot; + mw.html.escape(chars) + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>LIMAFOX76</name></author>
	</entry>
</feed>