From b84c08fd88d2e6271f1cb85511d9612301798bb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <maieul@maieul.net> Date: Fri, 25 Nov 2022 22:52:51 +0100 Subject: [PATCH] =?UTF-8?q?feat(#113):=20Configuration=20des=20traitements?= =?UTF-8?q?=20:=20r=C3=A9partir=20les=20traitements=20en=20onglets=20verti?= =?UTF-8?q?caux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 +++ .../editer_formulaire_traitements.html | 22 +-------- formulaires/editer_formulaire_traitements.php | 49 ++++++++++++------- lang/formidable_fr.php | 2 + prive/style_prive_plugin_formidable.html | 4 +- 5 files changed, 44 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 499f46b6..f3e36552 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ # Changelog +## Unreleased + +### Changed + +- #113 Amélioration de l'ergonomie de la configuration des traitements : chaque traitement se trouve désormais dans un onglet (vertical) + ## [5.2.3] - 2022-11-08 ### Fixed diff --git a/formulaires/editer_formulaire_traitements.html b/formulaires/editer_formulaire_traitements.html index b3cb1c47..37a1b025 100644 --- a/formulaires/editer_formulaire_traitements.html +++ b/formulaires/editer_formulaire_traitements.html @@ -20,26 +20,8 @@ <p class="boutons"><span class="image_loading"></span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p> </div></form> <script type="text/javascript"> - jQuery(function(){ - // On commence par cacher toutes les options - jQuery('.options_traiter').hide() - .each(function(){ - var me = this; - var check = jQuery(me).prev().find('input.checkbox'); - check.bind('change',function(){ - if (check.is(':checked')){ - jQuery(me).#EVAL{_SAISIES_AFFICHER_SI_JS_SHOW}; - check.closest('.editer').addClass('hover'); - } - else { - jQuery(me).hide('slow'); - check.closest('.editer').removeClass('hover'); - } - }) - // force update - .trigger('change'); - }) - .find('h3').#EVAL{_SAISIES_AFFICHER_SI_JS_HIDE}; + jQuery(function() { + $('.editer_traitements_choisis > legend').removeClass('label'); }); </script> <style> diff --git a/formulaires/editer_formulaire_traitements.php b/formulaires/editer_formulaire_traitements.php index 2729205d..b8976485 100644 --- a/formulaires/editer_formulaire_traitements.php +++ b/formulaires/editer_formulaire_traitements.php @@ -37,28 +37,43 @@ function formulaires_editer_formulaire_traitements_charger($id_formulaire) { $contexte['id_formulaire'] = $id_formulaire; $traitements_disponibles = traitements_lister_disponibles(); - $configurer_traitements = array(); + $saisie_traitements_choisis = [ + 'saisie' => 'checkbox', + 'options' => [ + 'nom' => 'traitements_choisis', + 'label' => '<:formidable:traitements_choisis:>', + 'data' => [], + ] + ]; + $saisie_options_traitements = [ + 'saisie' => 'fieldset', + 'options' => [ + 'nom' => 'options_traitements', + 'label' => '<:formidable:options_traitements:>', + ], + 'saisies' => [], + ]; + + + $configurer_traitements = [&$saisie_traitements_choisis, &$saisie_options_traitements]; + foreach ($traitements_disponibles as $type_traitement => $traitement) { - $configurer_traitements[] = array( - 'saisie' => 'checkbox', - 'options' => array( - 'nom' => 'traitements_choisis', - 'conteneur_class' => 'pleine_largeur', - 'data' => array( - $type_traitement => $traitement['description'] - ) - ) - ); - $configurer_traitements[] = array( + $saisie_traitements_choisis['options']['data'][$type_traitement] = $traitement['description']; + $saisie_options_traitements['saisies'][] = [ 'saisie' => 'fieldset', - 'options' => array( - 'nom' => 'options', + 'options' => [ + 'nom' => "options_$type_traitement", 'label' => $traitement['titre'], - 'conteneur_class' => "$type_traitement options_traiter" - ), + 'class' => "$type_traitement options_traiter", + 'afficher_si' => "@traitements_choisis@ IN '$type_traitement'", + 'onglet' => 'on', + 'onglet_vertical' => 'on', + ], 'saisies' => saisies_transformer_noms($traitement['options'], '/^.*$/', "traitements[$type_traitement][\\0]") - ); + ]; } + + $configurer_traitements = saisies_transformer_option($configurer_traitements, 'conteneur_class', '#(.*)#', '\1 pleine_largeur'); $contexte['_configurer_traitements'] = $configurer_traitements; // Si on demande un avertissement et qu'il y a déjà des traitements de configurés diff --git a/lang/formidable_fr.php b/lang/formidable_fr.php index 69675999..ae55ae6b 100644 --- a/lang/formidable_fr.php +++ b/lang/formidable_fr.php @@ -189,6 +189,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'noisette_label_afficher_titre_formulaire' => 'Afficher le titre du formulaire ?', 'noisette_label_identifiant' => 'Formulaire à afficher ', 'noisette_nom_noisette_formulaire' => 'Formulaire', + 'options_traitements' => 'Options des traitements', // P 'pas_analyse_fichiers' => 'Formidable ne propose pas (encore) d’analyse des fichiers envoyés', @@ -242,6 +243,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'traitements_avertissement_creation' => 'Les modifications sur les champs du formulaire ont été enregistrées avec succès. Vous pouvez maintenant définir quels traitements seront effectués lors de l’utilisation du formulaire.', 'traitements_avertissement_modification' => 'Les modifications sur les champs du formulaire ont été enregistrées avec succès. <strong>Certains traitements doivent peut-être être reconfigurés en conséquence.</strong>', 'traitements_champ_aucun' => 'Aucun', + 'traitements_choisis' => 'Choix des traitements', 'traiter_email_AR_label' => 'Accusé de réception', 'traiter_email_accuse_explication_texte' => 'Pour activer la fonctionnalité d’accusé de réception, vous devez au préalable définir un expéditeur.', 'traiter_email_contenu_courriel_label' => 'Contenu du courriel', diff --git a/prive/style_prive_plugin_formidable.html b/prive/style_prive_plugin_formidable.html index 263389d7..a31e3f00 100644 --- a/prive/style_prive_plugin_formidable.html +++ b/prive/style_prive_plugin_formidable.html @@ -23,8 +23,8 @@ body .formidable_analyse .progress-bar span { .formulaire_edit .formulaire_editer_formulaire_champs .editer.saisies_disponibles {border-top:1px solid #ccc;padding-top:15px;margin-top: 15px;} -.formulaire_editer_formulaire_traitements .editer_traitements_choisis { - background-color: [#(#ENV{claire}|couleur_eclaircir)]; +.formulaire_editer_formulaire_traitements .saisies-contenu-onglet > fieldset { + margin-left: 0px; } .formidable_liens .liste-items {margin: 0} -- GitLab