From 3cb43d89fc1d658a934aab2d51bbda1161c2586f Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Date: Thu, 6 Jul 2023 10:01:31 +0200 Subject: [PATCH] Bug 30708: Rebase - Rewrite toolbar Bug 33417 has changed how we handle the toolbars in Vue apps, this patch is adjusting the 'Preservation' module code on top of it, but also adds to make it more flexible (see bug 34215). Signed-off-by: Laurence Rault <laurence.rault@biblibre.com> --- .../components/Preservation/TrainsList.vue | 13 ++++++++--- .../components/Preservation/TrainsShow.vue | 23 +++++++++++-------- .../components/Preservation/TrainsToolbar.vue | 16 ------------- .../components/Preservation/WaitingList.vue | 7 +++--- 4 files changed, 27 insertions(+), 32 deletions(-) delete mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsToolbar.vue diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsList.vue index 3868b5b9114..77a84c50103 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsList.vue @@ -1,7 +1,13 @@ <template> <div v-if="!initialized">{{ $__("Loading") }}</div> <div v-else id="trains_list"> - <Toolbar /> + <Toolbar> + <ToolbarButton + to="/cgi-bin/koha/preservation/trains/add" + icon="plus" + :title="$__('New train')" + /> + </Toolbar> <fieldset v-if="count_trains > 0" class="filters"> <label>{{ $__("Filter by") }}:</label> <input @@ -54,7 +60,8 @@ <script> import flatPickr from "vue-flatpickr-component" -import Toolbar from "./TrainsToolbar.vue" +import Toolbar from "../Toolbar.vue" +import ToolbarButton from "../ToolbarButton.vue" import { inject, ref, reactive } from "vue" import { APIClient } from "../../fetch/api-client" import { build_url } from "../../composables/datatables" @@ -265,7 +272,7 @@ export default { ] }, }, - components: { flatPickr, Toolbar, KohaTable }, + components: { flatPickr, Toolbar, ToolbarButton, KohaTable }, name: "trainsList", emits: ["select-train", "close"], } diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsShow.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsShow.vue index c006ac121ce..60ee1462a7c 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsShow.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsShow.vue @@ -47,14 +47,14 @@ </transition> <div v-if="!initialized">{{ $__("Loading") }}</div> <div v-else id="trains_show"> - <div id="toolbar" class="btn-toolbar"> - <router-link + <Toolbar> + <ToolbarButton v-if="train.closed_on == null" :to="`/cgi-bin/koha/preservation/trains/${train.train_id}/items/add`" class="btn btn-default" - ><font-awesome-icon icon="plus" /> - {{ $__("Add items") }}</router-link - > + icon="plus" + :title="$__('Add items')" + /> <span v-else class="btn btn-default" @@ -63,12 +63,12 @@ > <font-awesome-icon icon="plus" /> {{ $__("Add items") }} </span> - <router-link + <ToolbarButton :to="`/cgi-bin/koha/preservation/trains/edit/${train.train_id}`" class="btn btn-default" - ><font-awesome-icon icon="pencil" /> - {{ $__("Edit") }}</router-link - > + icon="pencil" + :title="$__('Edit')" + /> <a @click="deleteTrain(train)" class="btn btn-default" ><font-awesome-icon icon="trash" /> {{ $__("Delete") }}</a > @@ -90,7 +90,7 @@ @click="receiveTrain" ><font-awesome-icon icon="inbox" /> {{ $__("Receive") }}</a > - </div> + </Toolbar> <h2> {{ $__("Train #%s").format(train.train_id) }} </h2> @@ -213,6 +213,8 @@ import { inject, createVNode, render } from "vue" import { APIClient } from "../../fetch/api-client" import { useDataTable } from "../../composables/datatables" +import Toolbar from "../Toolbar.vue" +import ToolbarButton from "../ToolbarButton.vue" export default { setup() { @@ -547,6 +549,7 @@ export default { }) }, }, + components: { Toolbar, ToolbarButton }, name: "TrainsShow", } </script> diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsToolbar.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsToolbar.vue deleted file mode 100644 index 874b8299764..00000000000 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/TrainsToolbar.vue +++ /dev/null @@ -1,16 +0,0 @@ -<template> - <div id="toolbar" class="btn-toolbar"> - <router-link - to="/cgi-bin/koha/preservation/trains/add" - class="btn btn-default" - ><font-awesome-icon icon="plus" /> - {{ $__("New train") }}</router-link - > - </div> -</template> - -<script> -export default { - name: "TrainsToolbar", -} -</script> diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/WaitingList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/WaitingList.vue index a290ca56150..c62b0a1751e 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/WaitingList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Preservation/WaitingList.vue @@ -85,7 +85,7 @@ {{ $__("You need to configure this module first.") }} </div> <div v-else id="waiting-list"> - <div id="toolbar" class="btn-toolbar"> + <Toolbar> <a class="btn btn-default" @click="show_modal_add_to_waiting_list = true" @@ -103,7 +103,7 @@ ) }}</a > - </div> + </Toolbar> <div v-if="count_waiting_list_items > 0" class="page-section"> <KohaTable ref="table" @@ -119,6 +119,7 @@ <script> import flatPickr from "vue-flatpickr-component" +import Toolbar from "../Toolbar.vue" import { inject, ref } from "vue" import { storeToRefs } from "pinia" import { APIClient } from "../../fetch/api-client" @@ -294,7 +295,7 @@ export default { ] }, }, - components: { flatPickr, KohaTable }, + components: { flatPickr, KohaTable, Toolbar }, name: "WaitingList", } </script> -- 2.25.1