From 5422c67444274c3734e96df75eeb8ef9a4a4e979 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Fri, 24 Feb 2023 18:30:54 +0000 Subject: [PATCH] Bug 32991: Add delete dialog to local packages list --- .../ERM/EHoldingsLocalPackagesList.vue | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue index 348edf92df..ad9f8cad23 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue @@ -32,6 +32,8 @@ export default { const AVStore = inject("AVStore") const { get_lib_from_av, map_av_dt_filter } = AVStore + const { setConfirmationDialog, setMessage } = inject("mainStore") + const table_id = "package_list" useDataTable(table_id) @@ -40,6 +42,8 @@ export default { get_lib_from_av, map_av_dt_filter, table_id, + setConfirmationDialog, + setMessage, } }, data: function () { @@ -78,10 +82,31 @@ export default { "/cgi-bin/koha/erm/eholdings/local/packages/edit/" + package_id ) }, - delete_package: function (package_id) { - this.$router.push( - "/cgi-bin/koha/erm/eholdings/local/packages/delete/" + - package_id + delete_package: function (package_id, package_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this package?" + ), + message: package_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, + () => { + const client = APIClient.erm + client.localPackages.delete(package_id).then( + success => { + this.setMessage(this.$__("Local package deleted")) + $("#" + this.table_id) + .DataTable() + .ajax.url( + "/api/v1/erm/eholdings/local/packages" + ) + .draw() + }, + error => {} + ) + } ) }, build_datatable: function () { @@ -205,6 +230,7 @@ export default { function (index, e) { let tr = $(this).parent().parent() let package_id = api.row(tr).data().package_id + let package_name = api.row(tr).data().name let editButton = createVNode( "a", { @@ -229,7 +255,10 @@ export default { class: "btn btn-default btn-xs", role: "button", onClick: () => { - delete_package(package_id) + delete_package( + package_id, + package_name + ) }, }, [ -- 2.30.2