source: spip-zone/_plugins_/lim/branches/V1/formulaires/inc-choisir-rubriques.html @ 100491

Last change on this file since 100491 was 100491, checked in by peetdu@…, 5 years ago

déplacer Truck vers branches/V1

  • Property svn:executable set to *
File size: 3.7 KB
Line 
1[(#REM) Récupérer les objets sélectionnés. ex. spip_articles -> article ]
2
3#SET{objets,#ARRAY}
4<BOUCLE_objets_selectionnes(DATA){liste #CONFIG{lim_objets}}>#SET{objets,#GET{objets}|push{#VALEUR}} #SET{nbre_col,#TOTAL_BOUCLE|moins{1}}</BOUCLE_objets_selectionnes>
5#SET{objets,#GET{objets}|array_flip}
6
7[(#GET{nbre_col}|in_array{#ARRAY{0,1,1,2,2,3}}|oui)
8        #SET{width_rub,450}
9        #SET{width_obj,448}
10]
11
12[(#GET{nbre_col}|>{3}|oui)
13        #SET{width_rub,320}
14        #SET{width_obj,580}
15]
16
17[(#REM) multilinguisme : pour les objets sélectionnés, récupérer le nom traduit et les afficher dans l'ordre alphabétique ]
18#SET{traductions,#ARRAY}<BOUCLE_objets(DATA){source tableau,#REM|lister_tables_objets_sql}>[(#EDITABLE|oui)
19[(#SET{traductions,#GET{traductions}|array_merge{#ARRAY{#CLE,#TEXTE_OBJETS|_T}}})]
20]</BOUCLE_objets>
21[(#SET{traductions,#GET{traductions}|array_intersect_key{#GET{objets}}})]
22
23[(#REM) Récupérer le tableau des types d'objets sélectionnés. ex. spip_articles -> article ]
24#SET{type, #ARRAY}
25[(#SET{type, #GET{traductions}|lim_type})]
26
27<style>
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]; }
33        .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%; }
36</style>
37
38<div class="tab rub"></div>
39<BOUCLE_entete(DATA){source tableau,#GET{traductions}}{par cle}>
40        #SET{type_obj, #CLE|objet_type}
41        <div class="check entete center"><img src='#CHEMIN_IMAGE{#GET{type_obj}-24.png}'><br>#VALEUR</div>
42</BOUCLE_entete>
43
44<BOUCLE_titre_rubrique(RUBRIQUES){racine}{par num titre,titre}{tout}>
45        <div class='pin'><img src='#CHEMIN_IMAGE{rubrique-16.png}'></div>
46        <div class='secteur'>
47                <div class="tab rub">#TITRE</div>
48                <BOUCLE_par_traduction1(DATA){source tableau,#GET{type}}{par cle}>
49                        [(#INCLURE{fond=formulaires/inc-input-rub,env,name=#VALEUR}{#VALEUR=#ENV{#VALEUR}}{id_rubrique=#ID_RUBRIQUE}{secteur=oui})]
50                </BOUCLE_par_traduction1>
51                <B_enfants_rubriques>
52                        <div class='sousrub'>
53                        <BOUCLE_enfants_rubriques(RUBRIQUES){id_parent}{par num titre,titre}{tout}{si #JUSTE_SECTEUR|!={oui}}>
54                                <div class=''>
55                                        <div class="tab rub">#TITRE</div><BOUCLE_par_traduction2(DATA){source tableau,#GET{type}}{par cle}>
56                                        [(#INCLURE{fond=formulaires/inc-input-rub,env,name=#VALEUR}{#VALEUR=#ENV{#VALEUR}}{id_rubrique=#ID_RUBRIQUE})]
57                                        </BOUCLE_par_traduction2><BOUCLE_rec(BOUCLE_enfants_rubriques)/>
58                                </div>
59                        </BOUCLE_enfants_rubriques>
60                        </div>
61                </B_enfants_rubriques>
62        </div>
63</BOUCLE_titre_rubrique>
64
65<script type="text/javascript">
66(function($){
67        $(document).ready(function(){
68
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>
Note: See TracBrowser for help on using the repository browser.