[SPIP] ~maj v3.0.14-->v3.0.17
[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)
51 Si l'objet passé ne fait pas parti des objets adéquats, ou si c'est la racine
52 alors on regarde si on doit forcer la racine sur autre chose, et sinon on retombe sur la racine classique
53 ]
54 [(#GET{objet}|table_objet|in_array{#GET{objets/afficher}}|non)
55 #SET{objet, #ENV{forcer_racine_objet,racine}}
56 #SET{id_objet, #ENV{forcer_racine_id_objet,0}}
57 ]
58
59 [(#REM) le container item_picker est ici pour etre voisin de item_picked ------]
60 <div class='item_picker'>
61 <INCLURE{fond=formulaires/selecteur/ajax, objets=#GET{objets}, objet=#GET{objet}, id_objet=#GET{id_objet}, ajax, env}>
62 </div>
63
64 </div>
65
66 [(#ENV{sortable,'non'}|=={oui}|oui)
67 <script type='text/javascript'>
68 jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
69 jQuery(function() {jQuery("ul.item_picked").sortable(); });
70 });
71 </script>
72 ]