From c787e8821b9866f07f85ca94a47e84b501daeaef Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Mon, 2 Dec 2024 17:08:37 +0000 Subject: [PATCH] Bug 38201: Add a ResourceList component This patch adds a ResourceList component to handle the abstraction of the current List components Signed-off-by: Michaela Sieber Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass --- .../prog/js/vue/components/BaseElement.vue | 5 + .../prog/js/vue/components/BaseResource.vue | 29 +++ .../vue/components/ERM/AgreementResource.vue | 235 +++++++++++++++++- .../prog/js/vue/components/FormElement.vue | 34 ++- .../prog/js/vue/components/ResourceList.vue | 168 +++++++++++++ .../intranet-tmpl/prog/js/vue/routes/erm.js | 2 +- 6 files changed, 461 insertions(+), 12 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/ResourceList.vue diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseElement.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseElement.vue index aa81904b0b..0c0830b13b 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseElement.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseElement.vue @@ -57,6 +57,11 @@ export default { if (prop.type === "boolean") { acc[key] = prop.value; } + + if (key === "disabled") { + const currentValue = acc[key]; + acc[key] = !!currentValue; + } return acc; }, {}); const attr = show ? this.attr.showElement : this.attr; diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue index 85c67a76fb..85ce005129 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue @@ -1,5 +1,6 @@ + + diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js index b63ac898d0..6f7d90a902 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js @@ -56,7 +56,7 @@ export const routes = [ { path: "", name: "AgreementsList", - component: markRaw(AgreementsList), + component: markRaw(ResourceWrapper), }, { path: ":agreement_id",