source: spip-zone/_plugins_/saisies/trunk/saisies/choix_grille.html

Last change on this file was 114563, checked in by nicod@…, 2 months ago

Possibilité d'afficher un label à droite et à gauche de la liste de choix, pour indiquer entre quoi et quoi on choisit une valeur (exemple : "Je suis content 1 2 3 4 5 J'en ai gros")

File size: 2.5 KB
Line 
1[(#REM)
2  Parametres :
3  - data_cols : tableau de donnees cle=>valeur des colonnes
4  - data_rows : tableau de donnees cle=>valeur des lignes
5  - defaut : valeur par defaut si pas présente dans l'environnement
6  - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
7
8  Exemple d'appel :
9        [(#SAISIE{choix_grille, criteres,
10                label=<:plugin:choisir_criteres:>,
11                defaut=#ARRAY{0,cle1,1,cle3}, ??? à corriger
12                data_cols=#ARRAY{
13                        col1,valeur1,
14                        col2,valeur2,
15                        col3,valeur3},
16                data_rows=#ARRAY{
17                        row1,valeur1,
18                        row2,valeur2,
19                        row3,valeur3}})]
20]
21
22[(#REM) data peut être une chaine qu'on sait décomposer ]
23#SET{data_cols, #ENV*{data_cols}|saisies_chaine2tableau}
24#SET{data_rows, #ENV*{data_rows}|saisies_chaine2tableau}
25
26[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
27#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
28
29[(#REM) valeur doit être un tableau ! ]
30#SET{valeur, #ENV{valeur_forcee, #ENV{valeur}}|saisies_valeur2tableau}
31
32[(#REM) lorsque qu'on donne un 'disabled' qui est une chaine,
33        il faut la transformer en tableau. Ce tableau est vide si la chaine valait ''
34        sinon une clé 0 serait considérée disabled à tord
35]
36#SET{disabled, #ENV{disable}}
37[(#GET{disabled}|is_string|oui)
38        [(#GET{disabled}|strlen|non) #SET{disabled,#ARRAY} ]
39        [(#GET{disabled}|oui) #SET{disabled,#ARRAY|push{#GET{disabled}}} ]
40]
41
42<B_lignes>
43<table>
44        [<caption>(#ENV{caption})</caption>]
45        <B_colonnes_entete>
46        <thead>
47                <tr>
48                        <td></td>
49                        <BOUCLE_colonnes_entete (DATA) {source table,#GET{data_cols}}>
50                        <th scope="col">#VALEUR</th>
51                        </BOUCLE_colonnes_entete>
52                        <td></td>
53                </tr>
54        </thead>
55        </B_colonnes_entete>
56        <tbody>
57                <BOUCLE_lignes (DATA) {source table,#GET{data_rows}}>
58                <B_colonnes>
59                <tr>
60                        #SET{libelles, #VALEUR|explode{'|'}}
61                        <th scope="row">[(#GET{libelles}|table_valeur{0})]</th>
62                        <BOUCLE_colonnes (DATA) {source table,#GET{data_cols}}>
63                        <td>
64                                #SET{type, radio}
65                                #SET{name, #ENV{nom}\[#_lignes:CLE\]}
66                                #SET{coche, #CLE|=={#GET{valeur/#_lignes:CLE}}}
67                                [(#ENV{multiple}|et{#ENV{multiple}|!={non}}|oui)
68                                        #SET{type, checkbox}
69                                        #SET{name, #GET{name}\[\]}
70                                        #SET{coche, #CLE|in_array{#GET{valeur/#_lignes:CLE, #ARRAY}}}
71                                ]
72                                <input type="#GET{type}"[ (#ENV{disabled}|oui)disabled="disabled"] name="#GET{name}" value="#CLE"[ (#GET{coche}|oui)checked="checked"] />
73                        </td>
74                        </BOUCLE_colonnes>
75                        <th scope="row">[(#GET{libelles}|table_valeur{1})]</th>
76                </tr>
77                </B_colonnes>
78                </BOUCLE_lignes>
79        </tbody>
80</table>
81</B_lignes>
Note: See TracBrowser for help on using the repository browser.