From 110dc3d547d35fe39d2c4c2e0ef910bf9798c3b4 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Fri, 24 Feb 2023 17:31:13 +0000 Subject: [PATCH] Bug 32991: Allow for a confirmation title, message, accept_label and cancel_label in the dialog --- .../prog/js/vue/components/Dialog.vue | 7 +++--- .../js/vue/components/ERM/AgreementsList.vue | 23 ++++++++++++++----- .../intranet-tmpl/prog/js/vue/stores/main.js | 2 +- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Dialog.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Dialog.vue index 45aa8f4661..c7b167faf9 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Dialog.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Dialog.vue @@ -10,7 +10,8 @@ diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue index 251c4c892a..28d05ead9e 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue @@ -49,7 +49,7 @@ export default { const AVStore = inject("AVStore") const { get_lib_from_av, map_av_dt_filter } = AVStore - const { setConfirmation, setMessage } = inject("mainStore") + const { setConfirmationDialog, setMessage } = inject("mainStore") const table_id = "agreement_list" useDataTable(table_id) @@ -59,7 +59,7 @@ export default { get_lib_from_av, map_av_dt_filter, table_id, - setConfirmation, + setConfirmationDialog, setMessage, } }, @@ -114,9 +114,16 @@ export default { "/cgi-bin/koha/erm/agreements/edit/" + agreement_id ) }, - delete_agreement: function (agreement_id) { - this.setConfirmation( - this.$__("Are you sure you want to remove this agreement?"), + delete_agreement: function (agreement_id, agreement_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this agreement?" + ), + message: agreement_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, () => { const client = APIClient.erm client.agreements.delete(agreement_id).then( @@ -314,6 +321,7 @@ export default { let agreement_id = api .row(tr) .data().agreement_id + let agreement_name = api.row(tr).data().name let editButton = createVNode( "a", { @@ -338,7 +346,10 @@ export default { class: "btn btn-default btn-xs", role: "button", onClick: () => { - delete_agreement(agreement_id) + delete_agreement( + agreement_id, + agreement_name + ) }, }, [ diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/main.js b/koha-tmpl/intranet-tmpl/prog/js/vue/stores/main.js index 838ac6c9c9..21e04f69ec 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/main.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/stores/main.js @@ -35,7 +35,7 @@ export const useMainStore = defineStore("main", { this._confirmation = null; this.displayed_already = displayed; /* Is displayed on the current view */ }, - setConfirmation(confirmation, accept_callback, displayed = true){ + setConfirmationDialog(confirmation, accept_callback, displayed = true){ if(accept_callback) { this._accept_callback = async () => { await accept_callback() -- 2.30.2