source: spip-zone/_core_/plugins/svp/formulaires/admin_plugin.html @ 103482

Last change on this file since 103482 was 103482, checked in by george@…, 3 years ago

attribut_html sur les chaines de langues dans le javascript affichait les entites html a la place des langues non latines. J'ai supprime le filtre, je ne sais pas si ca a des consequences ailleurs. Plus, correction de l'affichage du champ filtrer des plugins en RTL.

File size: 5.3 KB
Line 
1<B_erreurs_xml>
2<div class='svp_retour'>
3        [(#BOITE_OUVRIR{<:svp:actions_en_erreur:>, error})]
4        <:svp:erreurs_xml:>
5        <ul>
6<BOUCLE_erreurs_xml(DATA){source tableau,#ENV{_erreurs_xml}}>
7        <li>#VALEUR*</li>
8</BOUCLE_erreurs_xml>
9        </ul>
10        #BOITE_FERMER
11</div>
12</B_erreurs_xml>
13<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})]<span id="nbr_plugin"><:plugins_liste:></span> </h3>
15        <input type="input" id="filtrer" placeholder="<:svp:filtrer|attribut_html:>">
16        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
17        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
18        <form method="post" action="#ENV{action}">
19                <INCLURE{fond=formulaires/inc-confirmer_actions, env} />
20                #ACTION_FORMULAIRE{#ENV{action}}
21                <div class="liste-plugins">
22                        <fieldset>
23                                <p class="explication">
24                                [(#ENV{verrouille}|=={oui}|oui)
25                                        #SET{dir_plugins_dist,#EVAL{_DIR_PLUGINS_DIST}|joli_repertoire}
26                                        <:svp:info_admin_plugin_verrouille{dir_plugins_dist=#GET{dir_plugins_dist}}:>
27                                ][(#ENV{verrouille}|=={oui}|non)
28                                        [(#VAL{svp:info_admin_plugin}|concat{[_actif_(#ENV{actif, oui})], [_verrou_(#ENV{verrouille, non})]}|_T)]
29                                ]
30                                </p>
31                                <INCLURE{fond=formulaires/inc-admin_plugin,env} />
32                        </fieldset>
33                </div>
34                <div class="actions_multiples">
35                        [<fieldset class="boutons">(#VAL{'_DIR_PLUGINS_DIST'}|in_array{#ENV{constante,#ARRAY}}|non)
36                                <p class="cocher">
37                                        <a href="#" id="select_tous"><:svp:tout_cocher:></a><span class="sep"> | </span>
38                                        <a href="#" id="select_aucun"><:svp:tout_decocher:></a><span class="sep"> | </span>
39                                        <a href="#" id="select_up"><:svp:tout_cocher_up:></a>
40                                </p>
41                                <select id="action_globale" class="action" name="action_globale">
42                                        [(#ENV{actif}|=={oui}|non)<option value="on"><:svp:bouton_activer:></option>]
43                                        [(#ENV{actif}|=={non}|non)<option value="off"><:svp:bouton_desactiver:></option>]
44                                        <option value="up" id="option_up"><:svp:bouton_up:></option>
45                                        [(#ENV{actif}|=={non}|non|et{#AUTORISER{webmestre}}|oui)<option value="stop"><:svp:bouton_desinstaller:></option>]
46                                </select>
47                                <input type="submit" class="submit" name="appliquer" value="<:svp:bouton_appliquer:>" />
48                        </fieldset>]
49                        <script type="text/javascript">
50                        /*<![CDATA[*/
51                                (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                                                jQuery('h1.grostitre').attr('data',$(this).val());
62                                                var elements_trouves = tous_les_elements.filter(function(i, li){
63                                                        var listItemText = $(li).text().toUpperCase()
64                                                        searchText       = that.value.toUpperCase();
65                                                        return ~listItemText.indexOf(searchText);
66                                                });
67                                                tous_les_elements.hide();
68                                                elements_trouves.show();
69
70                                                // recalculer le nombre de plugin
71                                                calculer_nbr_plugin(elements_trouves);
72                                        });
73
74                                        $("#select_tous").click(function(){
75                                                jQuery("input.select_plugin").prop("checked",true);
76                                                return false;
77                                        });
78                                        $("#select_aucun").click(function(){
79                                                $("input.select_plugin").prop("checked",false);
80                                                return false;
81                                        });
82                                        var cocher_plugins_up = function(){
83                                                if ($(".plugins li.item.up").length != 0) {
84                                                        $("#select_up").click(function(){
85                                                                $(".plugins li.item.up input.select_plugin").prop("checked",true);
86                                                                $("select#action_globale>option#option_up").prop("selected",true);
87                                                                return false;
88                                                        });
89                                                } else {
90                                                        $("#select_up").hide();
91                                                        $("#select_up").prev(".sep").hide();
92                                                        $("#option_up").hide();
93                                                }
94                                        }
95                                        // lorsqu'il y a de nombreux plugins et comme la remontee ajax est desactivee
96                                        // on ne voit pas forcement les erreurs. A ce monent la, on remonte dessus.
97                                        var remonter_sur_erreurs = function() {
98                                                if ($('#formulaire_admin_plugin .reponse_formulaire_erreur').length) {
99                                                        $(document).scrollTop($('#formulaire_admin_plugin').offset().top - 20);
100                                                }
101                                        }
102                                        cocher_plugins_up();
103                                        onAjaxLoad(cocher_plugins_up);
104                                        onAjaxLoad(remonter_sur_erreurs);
105                                        onAjaxLoad(refiltrer);
106
107                                        // On rechargement de la page, quand on visualise de descriptif d'un plugin
108                                        // on recupere et on rejoue le filtrage
109                                        function refiltrer(){
110                                                var elements_trouves = tous_les_elements.filter(function(i, li){
111                                                        var listItemText = $(li).text().toUpperCase()
112                                                        var searchText = jQuery('h1.grostitre').attr('data');
113                                                        jQuery('input#filtrer').val(searchText);
114                                                        return ~listItemText.indexOf(searchText.toUpperCase());
115                                                });
116                                                tous_les_elements.hide();
117                                                elements_trouves.show();
118                                        }
119
120                                        function calculer_nbr_plugin(liste_plugins){
121                                                var nbr_plugin = liste_plugins.length;
122                                                if (nbr_plugin > 1){
123                                                        var texte = '<:svp:info_nb_plugins:>';
124                                                        texte = texte.replace('@nb@', nbr_plugin);
125                                                        jQuery('span#nbr_plugin').text(texte);
126                                                } else if (nbr_plugin === 1){
127                                                        jQuery('span#nbr_plugin').text('<:svp:info_1_plugin:>');
128                                                } else {
129                                                        jQuery('span#nbr_plugin').text('<:svp:info_0_plugin:>');
130                                                }
131                                        }
132                                })(jQuery);
133
134                        /*]]>*/
135                        </script>
136                </div>
137        </form>
138</div>
Note: See TracBrowser for help on using the repository browser.