[PLUGINS] +les plugins de bases
[ptitvelo/web/www.git] / www / plugins / saisies / saisies / checkbox.html
diff --git a/www/plugins/saisies/saisies/checkbox.html b/www/plugins/saisies/saisies/checkbox.html
new file mode 100644 (file)
index 0000000..d8df21e
--- /dev/null
@@ -0,0 +1,52 @@
+[(#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}}} ]
+]
+[(#ENV{tout_selectionner}|oui)
+       <div class="[(#ENV{choix,choix})] none-nojs">
+               <input type="checkbox" name="#ENV{nom}_tout" class="checkbox" id="champ_[(#ENV{nom}|saisie_nom2classe)]_tout" value="on" onChange="if (jQuery(this).attr('checked')=='checked') jQuery(this).parent('div').parent().find('input').attr('checked','checked'); else jQuery(this).parent('div').parent().find('input').removeAttr('checked');"/>
+               <label for="champ_[(#ENV{nom}|saisie_nom2classe)]_tout"><:saisies:tout_selectionner:></label>
+       </div>
+]
+
+<BOUCLE_checkbox(POUR){tableau #GET{datas}}>
+<div class="#ENV{choix,choix}[ (#ENV{choix,choix})_#CLE]">
+       <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_[(#ENV{nom}|saisie_nom2classe)]_#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"][ (#ENV*{attributs})] />
+       <label for="champ_[(#ENV{nom}|saisie_nom2classe)]_#COMPTEUR_BOUCLE">[(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)<strong>]#VALEUR[(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)</strong>]</label>
+</div>
+</BOUCLE_checkbox>