From 6ac7cb16a59639f79320abb6df1a7d119c9196e3 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Wed, 8 Nov 2023 11:34:19 -0100 Subject: [PATCH] Bug 35287: Vue preparation - AdditionalFields New api client: additional-fields-api-client.js to interact with the REST endpoint introduced by bug 35197 2 new components: - AdditionalFieldsEntry: Component used to extend the FormAdd component including the corresponding additional fields - AdditionalFieldsDisplay: Component used to display the additional fields associated to a data record implementing it (makes use of strings_map) --- .../components/AdditionalFieldsDisplay.vue | 37 +++ .../vue/components/AdditionalFieldsEntry.vue | 271 ++++++++++++++++++ .../vue/fetch/additional-fields-api-client.js | 20 ++ .../prog/js/vue/fetch/api-client.js | 2 + 4 files changed, 330 insertions(+) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue new file mode 100644 index 0000000000..f7e232913a --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue @@ -0,0 +1,37 @@ + + + diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue new file mode 100644 index 0000000000..246656f3ae --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue @@ -0,0 +1,271 @@ + + + diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js new file mode 100644 index 0000000000..8d12305d51 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js @@ -0,0 +1,20 @@ +import HttpClient from "./http-client"; + +export class AdditionalFieldsAPIClient extends HttpClient { + constructor() { + super({ + baseURL: "/api/v1/additional_fields", + }); + } + + get additional_fields() { + return { + getAll: tablename => + this.get({ + endpoint: "?tablename=" + tablename, + }), + }; + } +} + +export default AdditionalFieldsAPIClient; diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js index 294693c238..6a35dff20c 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js @@ -1,6 +1,7 @@ import ERMAPIClient from "./erm-api-client"; import PatronAPIClient from "./patron-api-client"; import AcquisitionAPIClient from "./acquisition-api-client"; +import AdditionalFieldsAPIClient from "./additional-fields-api-client"; import AVAPIClient from "./authorised-values-api-client"; import ItemAPIClient from "./item-api-client"; import SysprefAPIClient from "./system-preferences-api-client"; @@ -10,6 +11,7 @@ export const APIClient = { erm: new ERMAPIClient(), patron: new PatronAPIClient(), acquisition: new AcquisitionAPIClient(), + additional_fields: new AdditionalFieldsAPIClient(), authorised_values: new AVAPIClient(), item: new ItemAPIClient(), sysprefs: new SysprefAPIClient(), -- 2.30.2