From 7f84cfd9fedd4d07f2d331730bec1b0bab0794e2 Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Date: Thu, 30 Nov 2023 10:34:54 +0100 Subject: [PATCH] Bug 32474: Store the selected option label It prevents the label to be removed when the selected option is not longer in the item list. Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> --- .../prog/js/vue/components/InfiniteScrollSelect.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/InfiniteScrollSelect.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/InfiniteScrollSelect.vue index 9dac42b8087..b997db532b6 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/InfiniteScrollSelect.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/InfiniteScrollSelect.vue @@ -7,6 +7,7 @@ :reduce="item => item[dataIdentifier]" @open="onOpen" @close="onClose" + @option:selected="onSelected" @search="searchFilter($event)" ref="select" > @@ -18,6 +19,9 @@ v-on="events" /> </template> + <template #selected-option="option"> + {{ selectedOptionLabel }} + </template> <template #list-footer> <li v-show="hasNextPage && !this.search" ref="load"> {{ $__("Loading more options...") }} @@ -48,6 +52,7 @@ export default { scrollPage: null, data: [this.selectedData], paginationRequired: false, + selectedOptionLabel: this.selectedData[this.label], } }, computed: { @@ -131,6 +136,9 @@ export default { onClose() { this.observer.disconnect() }, + onSelected(option) { + this.selectedOptionLabel = option[this.label] + }, async infiniteScroll([{ isIntersecting, target }]) { setTimeout(async () => { if (isIntersecting) { -- 2.34.1