Changeset 103098 in spip-zone


Ignore:
Timestamp:
Mar 1, 2017, 8:07:41 PM (3 years ago)
Author:
tofulm@…
Message:

On ajoute un champ pour filtrer la liste des plugins
On en profite pour ajouter une information sur le nombre de plugins de la liste.

On tient compte des remarques de MM (Merci)

TODO : maintenir le filtrage apres rechargement du formulaire quand on clique sur le titre pour déplier le descriptif

Location:
_core_/plugins/svp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/svp/formulaires/admin_plugin.html

    r95527 r103098  
    1212</B_erreurs_xml>
    1313<div class="formulaire_spip formulaire_admin_plugin" id="formulaire_admin_plugin">
    14         <h3 class="titrem">[(#CHEMIN_IMAGE{plugin-24.png}|balise_img{icone plugin-24,cadre-icone})]<:plugins_liste:></h3>
     14        <h3 class="titrem">[(#CHEMIN_IMAGE{plugin-24.png}|balise_img{icone plugin-24,cadre-icone})]<span id="nbr_plugin"><:plugins_liste:></span></h3>
    1515        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    1616        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
     
    2828                                ]
    2929                                </p>
     30                                <input type="input" id="filtrer" placeholder="<:svp:filtrer|attribut_html:>">
    3031                                <INCLURE{fond=formulaires/inc-admin_plugin,env} />
    3132                        </fieldset>
     
    4950                        /*<![CDATA[*/
    5051                                (function($){
     52
     53                                        var tous_les_elements = $('div#liste_plugins ul > li');
     54
     55                                        // afficher le nombre de plugin au chargement de la page
     56                                        calculer_nbr_plugin(tous_les_elements);
     57
     58                                        // on filtre les plugins
     59                                        $('input#filtrer').keyup(function(){
     60                                                var that = this;
     61                                                var elements_trouves = tous_les_elements.filter(function(i, li){
     62                                                        var listItemText = $(li).text().toUpperCase()
     63                                                        searchText       = that.value.toUpperCase();
     64                                                        return ~listItemText.indexOf(searchText);
     65                                                });
     66                                                tous_les_elements.hide();
     67                                                elements_trouves.show();
     68
     69                                                // recalculer le nombre de plugin
     70                                                calculer_nbr_plugin(elements_trouves);
     71                                        });
     72
    5173                                        $("#select_tous").click(function(){
    5274                                                jQuery("input.select_plugin").prop("checked",true);
     
    81103                                        onAjaxLoad(remonter_sur_erreurs);
    82104                                })(jQuery);
     105
     106                                function calculer_nbr_plugin(liste_plugins){
     107                                        var nbr_plugin = liste_plugins.length;
     108                                        console.log(nbr_plugin);
     109                                        if (nbr_plugin > 1){
     110                                                var texte = '<:svp:info_nb_plugins:>';
     111                                                texte = texte.replace('@nb@', nbr_plugin);
     112                                                jQuery('span#nbr_plugin').text(texte);
     113                                        } else if (nbr_plugin === 1){
     114                                                jQuery('span#nbr_plugin').text('<:svp:info_1_plugin:>');
     115                                        } else {
     116                                                jQuery('span#nbr_plugin').text('<:svp:info_0_plugin:>');
     117                                        }
     118                                }
    83119                        /*]]>*/
    84120                        </script>
  • _core_/plugins/svp/lang/svp_fr.php

    r102754 r103098  
    101101        'fieldset_edition' => 'Édition',
    102102        'fieldset_fonctionnement' => 'Fonctionnement',
     103        'filtrer' => 'Filtrer',
    103104
    104105        // I
     
    106107        'info_1_paquet' => '1 paquet',
    107108        'info_1_plugin' => '1 plugin',
     109        'info_0_plugin' => 'Aucun plugin',
    108110        'info_admin_plugin_actif_non_verrou_non' => 'Cette page liste les plugins non actifs du site. Ces plugins sont forcément non verrouillés.',
    109111        'info_admin_plugin_actif_non_verrou_tous' => 'Cette page liste les plugins non actifs du site. Ces plugins sont forcément non verrouillés.',
Note: See TracChangeset for help on using the changeset viewer.