Changeset 117969 in spip-zone


Ignore:
Timestamp:
Sep 26, 2019, 5:04:10 PM (12 months ago)
Author:
root
Message:

Formulaire d'édition d'une zone : ajout d'un petit widget pour filtrer la liste des rubriques, exactement sur le même principe que la liste des plugins dans SVP : on tape les 1ères lettres, et hop, la liste n'affiche que les rubriques correspondantes en direct. Quand la liste est très longue, ça aide à retrouver une rubrique précise.

Location:
_plugins_/acces_restreint/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/acces_restreint/trunk/formulaires/editer_zone.html

    r107230 r117969  
    4545                </[(#DIV|sinon{ul})]>
    4646               
    47                 <fieldset>
     47                <fieldset class="rubriques">
    4848                        <legend><:accesrestreint:rubriques_zones_acces:></legend>
     49                        <div class="filtrer">
     50                                <label for="filtrer_rubriques"><:accesrestreint:label_filtrer_rubriques:> :</label>
     51                                <input type="input" id="filtrer_rubriques" placeholder="<:accesrestreint:placeholder_filtrer_rubriques|attribut_html:>">
     52                        </div>
    4953                        [(#INCLURE{fond=formulaires/inc-select_rubriques}{rubriques=#ENV{rubriques}})]
    5054                </fieldset>
     
    5660        ]
    5761</div>
     62
     63<script type="text/javascript">
     64        /*<![CDATA[*/
     65                (function($){
     66
     67                        var tous_les_elements = $('.formulaire_editer_zone ul.hierarchie li');
     68                        console.log(tous_les_elements);
     69
     70                        // on filtre les plugins
     71                        $('input#filtrer_rubriques').keyup(function(){
     72                                var that = this;
     73                                jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer',$(this).val());
     74                                var elements_trouves = tous_les_elements.filter(function(i, li){
     75                                        var listItemText = $(li).text().toUpperCase()
     76                                        searchText       = that.value.toUpperCase();
     77                                        return ~listItemText.indexOf(searchText);
     78                                });
     79                                tous_les_elements.hide();
     80                                elements_trouves.show();
     81                        });
     82
     83                        onAjaxLoad(refiltrer);
     84
     85                        // Au rechargement de la page et lors du chargement du descriptif d'un plugin
     86                        // on recupere l'éventuel filtre et on l'applique si présent
     87                        function refiltrer(){
     88                                if (jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer')) {
     89                                        var elements_trouves = tous_les_elements.filter(function(i, li){
     90                                                var listItemText = $(li).text().toUpperCase()
     91                                                var searchText = jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer');
     92                                                jQuery('input#filtrer_rubriques').val(searchText);
     93                                                return ~listItemText.indexOf(searchText.toUpperCase());
     94                                        });
     95                                        tous_les_elements.hide();
     96                                        elements_trouves.show();
     97                                }
     98                        }
     99
     100                })(jQuery);
     101
     102        /*]]>*/
     103</script>
  • _plugins_/acces_restreint/trunk/lang/accesrestreint_fr.php

    r98981 r117969  
    6161        'label_droits_acces' => 'Droits d’accès',
    6262        'label_titre_zone' => 'Titre',
     63        'label_filtrer_rubriques' => 'Filtrer',
    6364
    6465        // M
     
    7071        'privee' => 'Privée',
    7172        'publique' => 'Publique',
     73        'placeholder_filtrer_rubriques' => 'Titre d’une rubrique',
    7274
    7375        // R
  • _plugins_/acces_restreint/trunk/paquet.xml

    r113874 r117969  
    22        prefix="accesrestreint"
    33        categorie="auteur"
    4         version="3.15.15"
     4        version="3.15.16"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/acces_restreint/trunk/prive/style_prive_plugin_accesrestreint.html

    r113874 r117969  
    2525li.item.zone .quoi {display:block;padding-left:20px;background:url(#CHEMIN_IMAGE{restreint-16.png}) center left no-repeat;}
    2626
    27 .formulaire_spip ul.hierarchie {margin:0;padding:0;}
     27/* formulaire d'édition d'une zone */
     28.formulaire_editer_zone .filtrer { float: right; margin-top: -1em; font-size: 0.9em; }
     29.formulaire_editer_zone input { font-size: inherit }
     30.formulaire_spip ul.hierarchie {margin: 0; padding: 2em 0 0;}
    2831.formulaire_spip ul.hierarchie ul {margin:0;padding:0;}
    2932.formulaire_spip ul.hierarchie li {margin:0;margin-#ENV{left}:15px;padding:0;}
Note: See TracChangeset for help on using the changeset viewer.