73 lines
3.3 KiB
HTML
73 lines
3.3 KiB
HTML
|
#SET{img_unpick, #CHEMIN_IMAGE{supprimer-12.png}}
|
||
|
[(#SET{label_supprimer, <:lien_supprimer:>})]
|
||
|
<script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}';
|
||
|
jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]');
|
||
|
</script>
|
||
|
[(#REM)
|
||
|
|
||
|
afficher la selection dans un ul class item_picked
|
||
|
|
||
|
@param int select
|
||
|
1 => le selecteur se comporte comme un select, avec un seul choix possible
|
||
|
@param string name
|
||
|
nom de l'input envoye
|
||
|
@param string|array selected
|
||
|
liste de valeurs sour la forme array("rubrique|9","article|8",...) ou "rubrique|9,article|8,..."
|
||
|
@param int afficher_langue
|
||
|
|
||
|
]
|
||
|
|
||
|
[(#REM) On commence par chercher la liste des objets disposant d'un sélecteur ]
|
||
|
[(#SET{objets, [(#ENV{whitelist,#ARRAY}|selecteur_lister_objets{#ENV{blacklist,#ARRAY}})]})]
|
||
|
|
||
|
[(#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" ]
|
||
|
<div id="selecteur_#ENV{name}" class="selecteur[ (#GET{objets/afficher}|count|moins{1}|=={1}|et{#GET{objets/selectionner}|count|=={1}})selecteur_type_unique]">
|
||
|
|
||
|
<ul class="item_picked[ (#ENV{select,''}|?{select})][ (#ENV{obligatoire}|?{obligatoire})]">
|
||
|
<BOUCLE_selected(POUR){tableau #ENV{selected}|picker_selected}>
|
||
|
[(#SET{objet, [(#VALEUR|table_valeur{objet})]})]
|
||
|
[(#SET{id_objet, [(#VALEUR|table_valeur{id_objet})]})]
|
||
|
[(#GET{id_objet}|=={0}|non)
|
||
|
<li class="#GET{objet}">
|
||
|
<input type="hidden" name="[(#ENV{name,id_item})][(#VAL{91}|chr)][(#VAL{93}|chr)]" value="#GET{objet}|#GET{id_objet}" />
|
||
|
[(#ENV{afficher_langue,0}|oui)[[(#INFO_LANG{#GET{objet},#GET{id_objet}})]] ]#INFO_TITRE{#GET{objet},#GET{id_objet}}
|
||
|
[(#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>
|
||
|
</li>
|
||
|
]
|
||
|
[(#GET{id_objet}|=={0}|oui)
|
||
|
<li class='rubrique'>
|
||
|
<input type="hidden" name="[(#ENV{name,id_item})][(#VAL{91}|chr)][(#VAL{93}|chr)]" value="racine|0" />
|
||
|
[(#ENV{label_racine,<:info_racine_site:>})]
|
||
|
[(#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>
|
||
|
</li>
|
||
|
]
|
||
|
</BOUCLE_selected>
|
||
|
</ul>
|
||
|
|
||
|
#SET{objet, #ENV{objet,racine}}
|
||
|
#SET{id_objet, #ENV{id_objet,0}}
|
||
|
|
||
|
[(#REM)
|
||
|
Si l'objet passé ne fait pas parti des objets adéquats, ou si c'est la racine
|
||
|
alors on regarde si on doit forcer la racine sur autre chose, et sinon on retombe sur la racine classique
|
||
|
]
|
||
|
[(#GET{objet}|table_objet|in_array{#GET{objets/afficher}}|non)
|
||
|
#SET{objet, #ENV{forcer_racine_objet,racine}}
|
||
|
#SET{id_objet, #ENV{forcer_racine_id_objet,0}}
|
||
|
]
|
||
|
|
||
|
[(#REM) le container item_picker est ici pour etre voisin de item_picked ------]
|
||
|
<div class='item_picker'>
|
||
|
<INCLURE{fond=formulaires/selecteur/ajax, objets=#GET{objets}, objet=#GET{objet}, id_objet=#GET{id_objet}, ajax, env}>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
[(#ENV{sortable,'non'}|=={oui}|oui)
|
||
|
<script type='text/javascript'>
|
||
|
jQuery.getScript('[(#PRODUIRE{fond=formulaires/selecteur/jquery.selecteur.js}|timestamp)]',function(){
|
||
|
jQuery(function() {jQuery("ul.item_picked").sortable(); });
|
||
|
});
|
||
|
</script>
|
||
|
]
|