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

Last change on this file since 113427 was 113427, checked in by maieul@…, 4 months ago

un constructeur et une vue pour choix grille

File size: 2.3 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                </tr>
53        </thead>
54        </B_colonnes_entete>
55        <tbody>
56                <BOUCLE_lignes (DATA) {source table,#GET{data_rows}}>
57                <B_colonnes>
58                <tr>
59                        <th scope="row">#VALEUR</th>
60                        <BOUCLE_colonnes (DATA) {source table,#GET{data_cols}}>
61                        <td>
62                                #SET{type, radio}
63                                #SET{name, #ENV{nom}\[#_lignes:CLE\]}
64                                #SET{coche, #CLE|=={#GET{valeur/#_lignes:CLE}}}
65                                [(#ENV{multiple}|et{#ENV{multiple}|!={non}}|oui)
66                                        #SET{type, checkbox}
67                                        #SET{name, #GET{name}\[\]}
68                                        #SET{coche, #CLE|in_array{#GET{valeur/#_lignes:CLE, #ARRAY}}}
69                                ]
70                                <input type="#GET{type}"[ (#ENV{disabled}|oui)disabled="disabled"] name="#GET{name}" value="#CLE"[ (#GET{coche}|oui)checked="checked"] />
71                        </td>
72                        </BOUCLE_colonnes>
73                </tr>
74                </B_colonnes>
75                </BOUCLE_lignes>
76        </tbody>
77</table>
78</B_lignes>
Note: See TracBrowser for help on using the repository browser.