[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / saisies / saisies / checkbox.html
diff --git a/www/plugins/auto/saisies/saisies/checkbox.html b/www/plugins/auto/saisies/saisies/checkbox.html
new file mode 100644 (file)
index 0000000..a6e5579
--- /dev/null
@@ -0,0 +1,45 @@
+[(#REM) 
+
+  ### /!\ boucle POUR (spip Bonux) ###
+  
+  Parametres :
+  - datas : tableau de donnees cle=>valeur
+  - defaut : valeur par defaut si pas présente dans l'environnement
+  - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
+  
+  Exemple d'appel :
+       [(#SAISIE{checkbox, criteres,
+               label=<:plugin:choisir_criteres:>,
+               defaut=#ARRAY{0,cle1,1,cle3}, 
+               defaut=cle2,
+               datas=#ARRAY{
+                       cle1,valeur1,
+                       cle2,valeur2,
+                       cle3,valeur3}})]
+]
+
+[(#REM) datas peut être une chaine qu'on sait décomposer ]
+#SET{datas, #ENV*{datas}|saisies_chaine2tableau}
+
+[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
+#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
+
+[(#REM) valeur doit être un tableau ! ]
+#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
+
+
+[(#REM) lorsque qu'on donne un 'disabled' qui est une chaine,
+       il faut la transformer en tableau. Ce tableau est vide si la chaine valait ''
+       sinon une clé 0 serait considérée disabled à tord
+]
+#SET{disabled,#ENV{disable}}
+[(#GET{disabled}|is_string|oui)
+       [(#GET{disabled}|strlen|non) #SET{disabled,#ARRAY} ]
+       [(#GET{disabled}|oui) #SET{disabled,#ARRAY|push{#GET{disabled}}} ]
+]
+<BOUCLE_checkbox(POUR){tableau #GET{datas}}>
+<div class="#ENV{choix,choix}">
+       <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_#ENV{nom}_#COMPTEUR_BOUCLE"[ (#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)checked="checked"] value="#CLE"[(#CLE|in_array{#GET{disabled}}|oui) disabled="disabled"] />
+       <label for="champ_#ENV{nom}_#COMPTEUR_BOUCLE">#VALEUR</label>
+</div>
+</BOUCLE_checkbox>