From 23816b4d00c0f4aa168e8d2415a0eb7cc7d166b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <maieul@maieul.net> Date: Sun, 7 Mar 2021 13:51:47 +0100 Subject: [PATCH] =?UTF-8?q?Aide-m=C3=A9moire:=20le=20recharger=20en=20ajax?= =?UTF-8?q?=20=C3=A0=20la=20modif=20des=20saisies.=20fix=20#27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/editer_formulaire_champs.html | 10 +++++++++- formulaires/editer_formulaire_champs.php | 4 +++- modeles/formulaire_aide_memoire.html | 15 ++++++++++++--- prive/squelettes/extra/formulaire_edit.html | 7 ++++++- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/formulaires/editer_formulaire_champs.html b/formulaires/editer_formulaire_champs.html index 64584eb2..8a517b89 100644 --- a/formulaires/editer_formulaire_champs.html +++ b/formulaires/editer_formulaire_champs.html @@ -44,6 +44,7 @@ .modifie .message_saisies_modifiees,.modifie input.revert {display: block;} </style> <script type="text/javascript"> + aide_memoire_reload = false; function update_modif_saisies(){ var is_modified = jQuery('.formulaire_[(#ENV{form})] .formulaire_construire_formulaire').is('.modifie'); if (is_modified) { @@ -51,7 +52,14 @@ } else { jQuery('.formulaire_#ENV{form}').removeClass('modifie'); } - + if (!$('.en_configuration').length && !aide_memoire_reload) { + aide_memoire_reload = true; + ajaxReload('aide_memoire', { + callback:function(){aide_memoire_reload=false;}, + args:{id_formulaire:#ENV{id_formulaire},source:'session'}, + history:false + }); + } } jQuery(function(){ update_modif_saisies(); diff --git a/formulaires/editer_formulaire_champs.php b/formulaires/editer_formulaire_champs.php index c65d080b..c7d1babc 100644 --- a/formulaires/editer_formulaire_champs.php +++ b/formulaires/editer_formulaire_champs.php @@ -6,8 +6,10 @@ if (!defined('_ECRIRE_INC_VERSION')) { } function formulaires_editer_formulaire_champs_charger($id_formulaire) { - $contexte = array(); $id_formulaire = intval($id_formulaire); + $contexte = array( + 'id_formulaire' => $id_formulaire + ); // On teste si le formulaire existe if ($id_formulaire diff --git a/modeles/formulaire_aide_memoire.html b/modeles/formulaire_aide_memoire.html index 53df0b23..ff042320 100644 --- a/modeles/formulaire_aide_memoire.html +++ b/modeles/formulaire_aide_memoire.html @@ -1,5 +1,6 @@ +<strong><:formidable:traitements_aide_memoire:></strong> +#SET{source,#ENV{source,formulaire}} <BOUCLE_formulaire(FORMULAIRES){id_formulaire}{tout}> - <strong><:formidable:traitements_aide_memoire:></strong> <dl> <dt>@nom_site_spip@</dt> <dd><:info_nom_site:></dd> @@ -8,7 +9,16 @@ <dt>@message_retour@</dt> <dd><:formidable:editer_message_ok:></dd> </dl> - <BOUCLE_champs(POUR){tableau #PIPELINE{saisies_afficher_si_saisies, #SAISIES*|unserialize}|saisies_lister_par_nom{1}}> + [(#ENV{source}|!={sessions}|oui) + #SET{saisies,#SAISIES*|unserialize} + ] +</BOUCLE_formulaire> + +<BOUCLE_session(CONDITION) {si #GET{source}|=={session}}> +[(#SET{saisies,#SESSION{constructeur_formulaire_formidable_#ENV{id_formulaire}}})] +</BOUCLE_session> + +<BOUCLE_champs(POUR){tableau #PIPELINE{saisies_afficher_si_saisies, #GET{saisies}}|saisies_lister_par_nom{1}}> #SET{datas,''} #SET{data,''} [(#VALEUR{saisie}|=={explication}|oui) @@ -36,4 +46,3 @@ </dl>] </dl> </BOUCLE_champs> -</BOUCLE_formulaire> diff --git a/prive/squelettes/extra/formulaire_edit.html b/prive/squelettes/extra/formulaire_edit.html index ac6dc573..a16fd016 100644 --- a/prive/squelettes/extra/formulaire_edit.html +++ b/prive/squelettes/extra/formulaire_edit.html @@ -4,7 +4,12 @@ <!--#extra--> [(#GET{configurer}|in_array{#LISTE{formulaire,traitements,champs}}|oui) #BOITE_OUVRIR{'','info'} - #INCLURE{fond=modeles/formulaire_aide_memoire, id_formulaire=#ID_FORMULAIRE} + [(#ENV{configurer}|oui) + <INCLURE{fond=modeles/formulaire_aide_memoire, id_formulaire=#ID_FORMULAIRE, source=formulaire}> + ] + [(#ENV{configurer}|non) + <INCLURE{fond=modeles/formulaire_aide_memoire, id_formulaire=#ID_FORMULAIRE, source=session, ajax=aide_memoire}> + ] #BOITE_FERMER ] <!--/#extra--> -- GitLab