.=< { Star Gans Tq } >=.
[(#ENV{erreurs}|table_valeur{positionner}|oui)
<a name="ajax_ancre" href="[(#ENV{erreurs}|table_valeur{positionner})]"></a>
]
<div class="formulaire_spip formulaire_editer formulaire_#ENV{form}[ (#ENV{formulaire_modifie}|oui) modifie]">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<p id="message_attention" class="message_reinitialiser reponse_formulaire reponse_formulaire_ok">#ENV*{_message_attention}</p>
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<BOUCLE_editable(CONDITION){si #ENV{editable}|oui}>
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
[(#REM) declarer les hidden qui declencheront le service du formulaire
parametre : url d'action ]
#ACTION_FORMULAIRE{#ENV{action}}
<input style="display:none;" type="submit" class="submit" name="enregistrer" value="<:bouton_enregistrer:>" />
<ul id="deplacable">
<li id="reinitialiser" class="actions_formulaire">
<button type="submit" class="submit" name="reinitialiser" value="oui" onclick="return confirm('<:saisies:construire_reinitialiser_confirmer:>')">
<img src="#CHEMIN{images/formulaire-reinitialiser-24.png}" alt="" />
<:saisies:construire_reinitialiser:>
</button>
</li>
<BOUCLE_contenu(POUR){tableau #ENV{_contenu}}>
[(#VAL{saisie}|array_key_exists{#VALEUR}|oui)
[(#VALEUR**|formidable_generer_saisie_configurable{#ENV**|unserialize})]
]
</BOUCLE_contenu>
<li class="aucun"><em class="attention"><:saisies:construire_aucun_champs:></em></li>
<//B_contenu>
<B_saisies_disponibles>
<li class="editer haut saisies_disponibles" id="attrapable">
<label><:saisies:construire_ajouter_champ:></label>
<BOUCLE_saisies_disponibles(POUR){tableau #ENV{_saisies_disponibles}}{par cle}>
<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}}))"]>
<span>[(#VALEUR|table_valeur{titre})]</span>
</button>
</BOUCLE_saisies_disponibles>
</li>
</B_saisies_disponibles>
</ul>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
<!--extra-->
<span class='image_loading'></span>
</div></form>
<style>
.message_reinitialiser,#reinitialiser {display: none}
.modifie .message_reinitialiser,.modifie #reinitialiser {display: block}
</style>
<script type="text/javascript">
jQuery(function(){
jQuery('.formulaire_construire_formulaire li.configurable')
.hover(
function(){
jQuery(this)
.addClass('hover')
.find('> .actions')
.show()
.end()
.parents('li.configurable:not(.en_configuration)')
.mouseout();
},
function(){
if (!jQuery(this).is('.en_configuration'))
jQuery(this)
.removeClass('hover')
.find('> .actions')
.hide()
.end()
.parents('li.configurable').eq('0')
.mouseover();
}
)
.filter(':not(.en_configuration)')
.find('> .actions')
.hide()
.end()
.end();
// On lance la création des onglets
formulaire_configurer_onglets();
// Gérer la liste des vérifications
jQuery('.liste_verifications')
.each(function(){
var options = jQuery(this).siblings('.options_verifier').hide();
var select = jQuery(this).find('select');
select
.change(function(){
var montrer = jQuery(this).val() ? jQuery(this).val() : 'soigfeg';
options.hide().filter('.'+montrer).show();
})
.change();
});
// On déplie toujours les fieldsets plés par défaut
jQuery('li.fieldset.plie')
.each(function(){
jQuery(this)
.removeClass('plie')
.find('> fieldset > ul').show();
});
[(#ENV{erreurs}|non|et{#ENV{_chemin_ui}})
$.getScript("#CHEMIN{#ENV{_chemin_ui}jquery.ui.core.js}", function(){
$.getScript("#CHEMIN{#ENV{_chemin_ui}jquery.ui.widget.js}", function(){
$.getScript("#CHEMIN{#ENV{_chemin_ui}jquery.ui.mouse.js}", function(){
$.getScript("#CHEMIN{#ENV{_chemin_ui}jquery.ui.sortable.js}", function(){
if ($.fn.sortable) {
jQuery( "#deplacable, #deplacable ul" ).sortable({
revert: true,
containment: '#deplacable',
connectWith: "#deplacable, #deplacable ul",
placeholder: "ui-state-highlight",
handle: '>.actions .deplacer_saisie',
start: function(event, ui) {
jQuery('.ui-state-highlight')
.css('height', ui.item.css('height'))
.css('height', '+=20px');
},
update: function(event, ui) {
id = ui.item.data('id');
ou = ui.item.next().data('id');
// avant le suivant
if (!ou) {
// sinon dans le parent
ou = ui.item.closest('.fieldset').data('id');
if (ou) {
ou = '[(#VAL{91}|chr)]' + ou + '[(#VAL{93}|chr)]';
}
}
url = "#URL_ECRIRE";
$.get(url, {
session: '#ENV{_identifiant_session}',
action: 'deplacer_saisie',
saisie: id,
ou: ou
}, function() {
//jQuery('input.vide').submit();
jQuery('.formulaire_#ENV{form}').addClass('modifie').trigger('modifsaisies');
});
}
});
}
});
/*
$.getScript("#CHEMIN{#ENV{_chemin_ui}jquery.ui.draggable.js}", function(){
if ($.fn.draggable) {
jQuery( "#attrapable" ).draggable({
connectToSortable: "#deplacable, #deplacable ul",
helper: "clone"
});
}
});
*/
});});});
]
});
function formulaire_configurer_onglets(){
var formulaire_configurer = jQuery('.formulaire_configurer');
var onglets = jQuery('<ul class="formulaire_configurer-onglets"></ul>');
var contenus = formulaire_configurer.find('> ul > li.fieldset');
// On ajoute le conteneur des onglets
formulaire_configurer
.prepend(onglets);
// On parcourt les contenus pour générer les onglets
contenus
.each(function(i){
// On ajoute un identifiant et une classe
jQuery(this)
.attr('id', 'formulaire_configurer-contenu-'+i)
.addClass('formulaire_configurer-contenu');
// On récupère le titre (en le cachant au passage)
var titre = jQuery(this).find('h3').eq(0).hide().text();
// On crée un onglet
var onglet = jQuery('<li><a href="#formulaire_configurer-contenu-'+i+'">'+titre+'</a></li>');
onglet
.click(function(){
contenus.hide();
jQuery(
jQuery(this)
.siblings()
.removeClass('actif')
.end()
.addClass('actif')
.find('a')
.attr('href')
).show();
return false;
});
// On active le premier onglet au démarrage
if (i == 0) onglet.addClass('actif');
// S'il y a des erreurs dans cette partie du contenu, on met une classe "erreurs" à l'onglet aussi
if (jQuery(this).find('li.erreur').length > 0)
onglet.addClass('erreur');
// On ajoute l'onglet
onglets
.append(onglet);
})
.hide()
.eq(0)
.show();
}
</script>
</BOUCLE_editable>
</div>