[SPIP] ~version 3.0.7-->3.0.10
[ptitvelo/web/www.git] / www / prive / formulaires / selecteur / generique.html
1 #SET{img_unpick, #CHEMIN_IMAGE{supprimer-12.png}}
2 [(#SET{label_supprimer, <:lien_supprimer:>})]
3 <script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}';
4 jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
5 </script>
6 [(#REM)
7
8 afficher la selection dans un ul class item_picked
9
10 @param int select
11 1 => le selecteur se comporte comme un select, avec un seul choix possible
12 @param string name
13 nom de l'input envoye
14 @param string|array selected
15 liste de valeurs sour la forme array("rubrique|9","article|8",...) ou "rubrique|9,article|8,..."
16 @param int afficher_langue
17
18 ]
19
20 [(#REM) On commence par chercher la liste des objets disposant d'un sélecteur ]
21 [(#SET{objets, [(#ENV{whitelist,#ARRAY}|selecteur_lister_objets{#ENV{blacklist,#ARRAY}})]})]
22
23 [(#REM) S'il n'y a qu'un type d'objet affiché et sélectionnable, on ajoute une classe (on fait -1 car il y a toujours la racine dans "afficher" ]
24 <div id="selecteur_#ENV{name}" class="selecteur[ (#GET{objets/afficher}|count|moins{1}|=={1}|et{#GET{objets/selectionner}|count|=={1}})selecteur_type_unique]">
25
26 <ul class="item_picked[ (#ENV{select,''}|?{select})][ (#ENV{obligatoire}|?{obligatoire})]">
27 <BOUCLE_selected(POUR){tableau #ENV{selected}|picker_selected}>
28 [(#SET{objet, [(#VALEUR|table_valeur{objet})]})]
29 [(#SET{id_objet, [(#VALEUR|table_valeur{id_objet})]})]
30 [(#GET{id_objet}|=={0}|non)
31 <li class="#GET{objet}">
32 <input type="hidden" name="[(#ENV{name,id_item})][(#VAL{91}|chr)][(#VAL{93}|chr)]" value="#GET{objet}|#GET{id_objet}" />
33 [(#ENV{afficher_langue,0}|oui)[&#91;(#INFO_LANG{#GET{objet},#GET{id_objet}})&#93;] ]#INFO_TITRE{#GET{objet},#GET{id_objet}}
34 [(#ENV{select,''}|non|ou{#ENV{obligatoire}|non})<a href='#' onclick='jQuery(this).item_unpick();return false;' title="<:lien_supprimer:>"><img src='#GET{img_unpick}' alt='(<:lien_supprimer:>)' /></a>]<span class="sep">, </span>
35 </li>
36 ]
37 [(#GET{id_objet}|=={0}|oui)
38 <li class='rubrique'>
39 <input type="hidden" name="[(#ENV{name,id_item})][(#VAL{91}|chr)][(#VAL{93}|chr)]" value="racine|0" />
40 [(#ENV{label_racine,<:info_racine_site:>})]
41 [(#ENV{select,''}|non)<a href='#' onclick='jQuery(this).item_unpick();return false;'><img src='[(#GET{img_unpick})]' alt='(<:lien_supprimer:>)' /></a>]<span class="sep">, </span>
42 </li>
43 ]
44 </BOUCLE_selected>
45 </ul>
46
47 #SET{objet, #ENV{objet,racine}}
48 #SET{id_objet, #ENV{id_objet,0}}
49
50 [(#REM) Attention si l'objet passé ne fait pas parti des objets adéquats, on va sur la racine ]
51 [(#GET{objet}|table_objet|in_array{#GET{objets/afficher}}|non)
52 #SET{objet, racine}
53 #SET{id_objet, 0}
54 ]
55
56 [(#REM) le container item_picker est ici pour etre voisin de item_picked ------]
57 <div class='item_picker'>
58 <INCLURE{fond=formulaires/selecteur/ajax, objets=#GET{objets}, objet=#GET{objet}, id_objet=#GET{id_objet}, ajax, env}>
59 </div>
60
61 </div>
62
63 [(#ENV{sortable,'non'}|=={oui}|oui)
64 <script type='text/javascript'>
65 jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
66 jQuery(function() {jQuery("ul.item_picked").sortable(); });
67 });
68 </script>
69 ]