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