diff --git a/app/components/dossiers/batch_operation_inline_buttons_component/batch_operation_inline_buttons_component.html.haml b/app/components/dossiers/batch_operation_inline_buttons_component/batch_operation_inline_buttons_component.html.haml index be2e84e15..4e652ab26 100644 --- a/app/components/dossiers/batch_operation_inline_buttons_component/batch_operation_inline_buttons_component.html.haml +++ b/app/components/dossiers/batch_operation_inline_buttons_component/batch_operation_inline_buttons_component.html.haml @@ -1,5 +1,5 @@ - if opt[:operation] == 'accepter' - .dropdown{ data: { controller: 'menu-button', popover: 'true', operation: opt[:operation] } } + .dropdown{ data: { controller: 'menu-button', popover: 'true', operation: opt[:operation] }, id: 'dropdown_batch' } -# Dropdown button title %button{ disabled: true, class: ['fr-btn fr-btn--sm fr-btn--icon-left fr-ml-1w', icons[opt[:operation].to_sym]], disabled: true, name: "#{form.object_name}[operation]" , data: { menu_button_target: 'button' } } = opt[:label] @@ -17,12 +17,15 @@ .motivation.accept = form.text_area :motivation, class: 'fr-input' #justificatif_motivation_suggest_accept.optional-justificatif - %button.button{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel) + %button.fr-btn.fr-btn--sm.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel) #justificatif_motivation_import_accept.hidden - = form.file_field :justificatif_motivation, direct_upload: true + = form.file_field :justificatif_motivation, direct_upload: true, id: "dossier_justificatif_motivation_accept", onchange: "DS.showDeleteJustificatif('accept');" + .hidden{ id: "delete_motivation_import_accept" } + %button.fr-btn.fr-btn--sm.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line.fr-ml-0.fr-mt-1w.js_delete_motivation{ type: 'button', onclick: "DS.deleteJustificatif('accept');"} Supprimer le justificatif - = form.button "Valider la décision", class: ['fr-btn fr-mt-2w'], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation] + = button_tag "Annuler", type: :reset, class: 'fr-btn fr-btn--sm fr-btn--secondary', onclick: 'DS.motivationCancelBatch();' + = form.button "Valider la décision", class: ['fr-btn fr-btn--sm fr-mt-2w'], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation] - else = form.button opt[:label], class: ['fr-btn fr-btn--sm fr-btn--icon-left fr-ml-1w', icons[opt[:operation].to_sym]], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation], data: { operation: opt[:operation] } diff --git a/app/javascript/entrypoints/application.js b/app/javascript/entrypoints/application.js index 292932ee6..9c85ec7ff 100644 --- a/app/javascript/entrypoints/application.js +++ b/app/javascript/entrypoints/application.js @@ -20,6 +20,7 @@ import { motivationCancel, showImportJustificatif, showDeleteJustificatif, + motivationCancelBatch, deleteJustificatif } from '../new_design/instruction-button'; import { showFusion, showNewAccount } from '../new_design/fc-fusion'; @@ -34,6 +35,7 @@ const DS = { motivationCancel, showImportJustificatif, showDeleteJustificatif, + motivationCancelBatch, deleteJustificatif, showFusion, showNewAccount diff --git a/app/javascript/new_design/instruction-button.js b/app/javascript/new_design/instruction-button.js index da7dac3d0..3cf63cf9b 100644 --- a/app/javascript/new_design/instruction-button.js +++ b/app/javascript/new_design/instruction-button.js @@ -17,6 +17,13 @@ export function motivationCancel() { .forEach((el) => hide(el.parentElement)); show(document.querySelector('.dropdown-items')); + + document.querySelectorAll('.js_delete_motivation').forEach(hide); +} + +export function motivationCancelBatch() { + document.querySelector('#dropdown_batch' ).classList.remove("open");; + hide(document.querySelector('.js_delete_motivation')); } export function showDeleteJustificatif(name) { diff --git a/app/views/instructeurs/dossiers/_instruction_button_motivation.html.haml b/app/views/instructeurs/dossiers/_instruction_button_motivation.html.haml index d112b17e9..99ff67b07 100644 --- a/app/views/instructeurs/dossiers/_instruction_button_motivation.html.haml +++ b/app/views/instructeurs/dossiers/_instruction_button_motivation.html.haml @@ -28,12 +28,11 @@ - else = text_area :dossier, :motivation, class: 'fr-input', placeholder: placeholder, required: true .optional-justificatif{ id: "justificatif_motivation_suggest_#{popup_class}", onclick: "DS.showImportJustificatif('#{popup_class}');" } - .fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0 Ajouter un justificatif (optionnel) + %button.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel) .hidden{ id: "justificatif_motivation_import_#{popup_class}" } = file_field :dossier, :justificatif_motivation, direct_upload: true, id: "dossier_justificatif_motivation_#{popup_class}",onchange: "DS.showDeleteJustificatif('#{popup_class}');" - .hidden{ id: "delete_motivation_import_#{popup_class}" } - .fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line.fr-ml-0{ onclick: "DS.deleteJustificatif('#{popup_class}');"} Supprimer le justificatif - .text-right.fr-mt-2w + %button.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line.fr-ml-0.fr-mt-1w.js_delete_motivation{ type: 'button', onclick: "DS.deleteJustificatif('#{popup_class}');"} Supprimer le justificatif + .fr-mt-2w = button_tag "Annuler", type: :reset, class: 'fr-btn fr-btn--secondary', onclick: 'DS.motivationCancel();' = button_tag 'Valider la décision', name: :process_action, value: process_action, class: 'fr-btn fr-mr-0', title: title