spip_nursit/prive/formulaires/selecteur/generique.html
2023-06-01 17:30:12 +02:00

72 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)[&#91;(#INFO_LANG{#GET{objet},#GET{id_objet}})&#93;] ]#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>
]