1 [(#ENV{erreurs}|table_valeur{positionner}|oui)
2 <a name=
"ajax_ancre" href=
"[(#ENV{erreurs}|table_valeur{positionner})]"></a>
4 <div class=
"formulaire_spip formulaire_editer formulaire_#ENV{form}">
5 [
<p class=
"reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})
</p>]
6 <p id=
"message_attention" class=
"reponse_formulaire reponse_formulaire_ok[ (#ENV{formulaire_modifie}|non) invisible]">#ENV*{_message_attention}
</p>
7 [
<p class=
"reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})
</p>]
9 <BOUCLE_editable(CONDITION){si #ENV{editable}|oui}
>
10 <form method='post' action='#ENV{action}' enctype='multipart/form-data'
><div>
11 [(#REM) declarer les hidden qui declencheront le service du formulaire
12 parametre : url d'action ]
13 #ACTION_FORMULAIRE{#ENV{action}}
14 <input style=
"display:none;" type=
"submit" class=
"submit" name=
"enregistrer" value=
"<:bouton_enregistrer:>" />
18 <li id=
"reinitialiser" class=
"actions_formulaire[ (#ENV{formulaire_modifie}|non) invisible]">
19 <button type=
"submit" class=
"submit" name=
"reinitialiser" value=
"oui" onclick=
"return confirm('<:saisies:construire_reinitialiser_confirmer:>')">
20 <img src=
"#CHEMIN{images/formulaire-reinitialiser-24.png}" alt=
"" />
21 <:saisies:construire_reinitialiser:>
25 <BOUCLE_contenu(POUR){tableau #ENV{_contenu}}
>
26 [(#VAL{saisie}|array_key_exists{#VALEUR}|oui)
27 [(#VALEUR**|formidable_generer_saisie_configurable{#ENV**|unserialize})]
30 <li class=
"aucun"><em class=
"attention"><:saisies:construire_aucun_champs:></em></li>
33 <B_saisies_disponibles>
34 <li class=
"editer haut saisies_disponibles" id=
"attrapable">
35 <label><:saisies:construire_ajouter_champ:></label>
36 <BOUCLE_saisies_disponibles(POUR){tableau #ENV{_saisies_disponibles}}
>
37 <button type=
"submit" name=
"ajouter_saisie" value=
"#CLE" class=
"submit ajouter_saisie"[
title=
"(#VALEUR|table_valeur{description})"] [
style=
"background-image:url((#VALEUR|table_valeur{icone}|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]
>
38 <span>[(#VALEUR|table_valeur{titre})]
</span>
40 </BOUCLE_saisies_disponibles>
42 </B_saisies_disponibles>
46 [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
49 <span class='image_loading'
></span>
52 <script type=
"text/javascript">
54 $('.formulaire_construire_formulaire li.configurable')
62 .parents('li.configurable:not(.en_configuration)')
66 if (!$(this).is('.en_configuration'))
72 .parents('li.configurable').eq('
0')
76 .filter(':not(.en_configuration)')
82 // On lance la création des onglets
83 formulaire_configurer_onglets();
85 // Gérer la liste des vérifications
86 $('.liste_verifications')
88 var options = $(this).siblings('.options_verifier').hide();
89 var select = $(this).find('select');
93 var montrer = $(this).val() ? $(this).val() : 'soigfeg';
94 options.hide().filter('.'+montrer).show();
99 // On déplie toujours les fieldsets plés par défaut
100 $('li.fieldset.plie')
104 .find('
> fieldset
> ul').show();
108 [(#CHEMIN{javascript/ui/jquery.ui.sortable.js}|oui)
112 [(#ENV{erreurs}|non|et{#GET{sortable}})
113 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.core.js}", function(){
114 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.widget.js}", function(){
115 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.mouse.js}", function(){
116 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.sortable.js}", function(){
118 $(
"#deplacable, #deplacable ul" ).sortable({
120 containment: '#deplacable',
121 connectWith:
"#deplacable, #deplacable ul",
122 placeholder:
"ui-state-highlight",
123 handle: '
>.actions .deplacer_saisie',
124 start: function(event, ui) {
125 $('.ui-state-highlight')
126 .css('height', ui.item.css('height'))
127 .css('height', '+=
20px');
129 update: function(event, ui) {
130 id = ui.item.data('id');
131 ou = ui.item.next().data('id');
134 // sinon dans le parent
135 ou = ui.item.closest('.fieldset').data('id');
137 ou = '[(#VAL{
91}|chr)]' + ou + '[(#VAL{
93}|chr)]';
142 session: '#ENV{_identifiant_session}',
143 action: 'deplacer_saisie',
147 //$('input.vide').submit();
148 $('#reinitialiser').removeClass('invisible');
149 $('#message_attention').removeClass('invisible');
157 [(#CHEMIN{javascript/ui/jquery.ui.draggable.js}|oui)
158 [(#SET{draggable,
1})]
161 [(#ENV{erreurs}|non|et{#GET{draggable}})
162 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.core.js}", function(){
163 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.widget.js}", function(){
164 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.mouse.js}", function(){
165 $.getScript(
"#CHEMIN{javascript/ui/jquery.ui.draggable.js}", function(){
166 if ($.fn.draggable) {
167 $(
"#attrapable" ).draggable({
168 connectToSortable:
"#deplacable, #deplacable ul",
176 function formulaire_configurer_onglets(){
177 var formulaire_configurer = $('.formulaire_configurer');
178 var onglets = $('
<ul class=
"formulaire_configurer-onglets"></ul>');
179 var contenus = formulaire_configurer.find('
> ul
> li.fieldset');
181 // On ajoute le conteneur des onglets
182 formulaire_configurer
185 // On parcourt les contenus pour générer les onglets
188 // On ajoute un identifiant et une classe
190 .attr('id', 'formulaire_configurer-contenu-'+i)
191 .addClass('formulaire_configurer-contenu');
192 // On récupère le titre (en le cachant au passage)
193 var titre = $(this).find('h3').eq(
0).hide().text();
195 var onglet = $('
<li><a href=
"#formulaire_configurer-contenu-'+i+'">'+titre+'
</a></li>');
202 .removeClass('actif')
211 // On active le premier onglet au démarrage
212 if (i ==
0) onglet.addClass('actif');
214 // S'il y a des erreurs dans cette partie du contenu, on met une classe
"erreurs" à l'onglet aussi
215 if ($(this).find('li.erreur').length
> 0)
216 onglet.addClass('erreur');
218 // On ajoute l'onglet