Changeset 98118 in spip-zone for _plugins_/lim


Ignore:
Timestamp:
May 30, 2016, 7:29:49 AM (5 years ago)
Author:
peetdu@…
Message:

Contenus par rubrique : ajout d’une fonction JS pratique pour les sites avec beaucoup de rubriques -> un clic sur un secteur active/désactive toutes les sous-rubriques

Location:
_plugins_/lim/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/lim/trunk/formulaires/inc-choisir-rubriques.html

    r98110 r98118  
    2626
    2727<style>
    28         .tab.rubrique {display:inline-block; width:#GET{width_rub}px; font-weight:bold; }
    29         .sousrub .tab.rubrique { width:[(#GET{width_rub}|moins{15})px]; font-weight:normal; }
    30         .sousrub .sousrub .tab.rubrique { width:[(#GET{width_rub}|moins{30})px]; }
    31         .sousrub .sousrub .sousrub .tab.rubrique { width:[(#GET{width_rub}|moins{45})px]; }
    32         .sousrub .sousrub .sousrub .sousrub .tab.rubrique { width:[(#GET{width_rub}|moins{60})px]; }
     28        .tab.rub {display:inline-block; width:#GET{width_rub}px; font-weight:bold; }
     29        .sousrub .tab.rub { width:[(#GET{width_rub}|moins{15})px]; font-weight:normal; }
     30        .sousrub .sousrub .tab.rub { width:[(#GET{width_rub}|moins{30})px]; }
     31        .sousrub .sousrub .sousrub .tab.rub { width:[(#GET{width_rub}|moins{45})px]; }
     32        .sousrub .sousrub .sousrub .sousrub .tab.rub { width:[(#GET{width_rub}|moins{60})px]; }
    3333        .check { display:inline-block; width:[(#GET{width_obj}|div{#GET{nbre_col}})px]; text-align: center;}
     34        .check[rub_secteur=oui] {position:relative;}
     35        .check[rub_secteur=oui] label {position:absolute; top:-14px; left:30%; }
    3436</style>
    3537
    36 <div class="tab rubrique"></div>
     38<div class="tab rub"></div>
    3739<BOUCLE_entete(DATA){source tableau,#GET{traductions}}{par cle}>
    3840        #SET{type_obj, #CLE|objet_type}
     
    4345        <div class='pin'><img src='#CHEMIN_IMAGE{rubrique-16.png}'></div>
    4446        <div class='secteur'>
    45                 <div class="tab rubrique">#TITRE</div>
     47                <div class="tab rub">#TITRE</div>
    4648                <BOUCLE_par_traduction1(DATA){source tableau,#GET{type}}{par cle}>
    47                         [(#INCLURE{fond=formulaires/inc-input-rub,env,name=#VALEUR}{#VALEUR=#ENV{#VALEUR}}{id_rubrique=#ID_RUBRIQUE})]
     49                        [(#INCLURE{fond=formulaires/inc-input-rub,env,name=#VALEUR}{#VALEUR=#ENV{#VALEUR}}{id_rubrique=#ID_RUBRIQUE}{secteur=oui})]
    4850                </BOUCLE_par_traduction1>
    4951                <B_enfants_rubriques>
     
    5153                        <BOUCLE_enfants_rubriques(RUBRIQUES){id_parent}{par num titre,titre}{tout}{si #JUSTE_SECTEUR|!={oui}}>
    5254                                <div class=''>
    53                                         <div class="tab rubrique">#TITRE</div><BOUCLE_par_traduction2(DATA){source tableau,#GET{type}}{par cle}>
     55                                        <div class="tab rub">#TITRE</div><BOUCLE_par_traduction2(DATA){source tableau,#GET{type}}{par cle}>
    5456                                        [(#INCLURE{fond=formulaires/inc-input-rub,env,name=#VALEUR}{#VALEUR=#ENV{#VALEUR}}{id_rubrique=#ID_RUBRIQUE})]
    5557                                        </BOUCLE_par_traduction2><BOUCLE_rec(BOUCLE_enfants_rubriques)/>
     
    6163</BOUCLE_titre_rubrique>
    6264
     65<script type="text/javascript">
     66(function($){
     67        $(document).ready(function(){
    6368
    64 
    65 <script type="text/javascript">/*<![CDATA[*/
    66 jQuery("span.lim_icon").on('click', function(){
    67         if (jQuery(this).hasClass('icon-on')) {
    68                 jQuery(this).removeClass('icon-on').addClass('icon-off');
    69         }
    70         else if (jQuery(this).hasClass('icon-off'))
    71                 jQuery(this).removeClass('icon-off').addClass('icon-on');
    72 
    73 });
    74 /*]]>*/</script>
    75 
    76 
    77 
     69                jQuery("input:checkbox").change(function(){
     70                        var type = $(this).attr('name').slice(0,-2);
     71                        var $check = "div.check." + type;
     72                        console.log($check);
     73                        if (jQuery(this).is(":checked")) {
     74                                jQuery.each( jQuery(this).parent().parent().find($check), function(index,item) {
     75                                        console.log(item);
     76                                        jQuery(item).find('input').prop('checked',true);
     77                                        jQuery(item).find('.lim_icon').removeClass('icon-on').addClass('icon-off');
     78                                });
     79                        } else {
     80                                jQuery.each( jQuery(this).parent().parent().find($check), function(index,item) {
     81                                        console.log(item);
     82                                        jQuery(item).find('input').prop('checked',false);
     83                                        jQuery(item).find('.lim_icon').removeClass('icon-off').addClass('icon-on');
     84                                });
     85                        }
     86                });
     87        });
     88})(jQuery);
     89</script>
  • _plugins_/lim/trunk/formulaires/inc-input-rub.html

    r94763 r98118  
    1 <div class="check">
     1<div class="check #NAME"[ (#SECTEUR|=={oui}|oui)rub_secteur='oui']>
    22        <label for="[(#NAME|concat{_rub#ID_RUBRIQUE})]">[(#ID_RUBRIQUE|in_any{#ENV{#NAME}}?{<span class="lim_icon icon-off"></span>,<span class="lim_icon icon-on"></span>})]</label>
    33        <input type="checkbox" name="#NAME\[\]" class='lim_hidden' value="#ID_RUBRIQUE" id='[(#NAME|concat{_rub#ID_RUBRIQUE})]' [(#ID_RUBRIQUE|in_any{#ENV{#NAME}}) checked='checked']>
  • _plugins_/lim/trunk/paquet.xml

    r98111 r98118  
    22        prefix="lim"
    33        categorie="maintenance"
    4         version="1.1.15"
     4        version="1.1.16"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.