@@ -, +, @@ --- .../prog/js/vue/components/ERM/Main.vue | 11 ++++++++-- .../js/vue/fetch/acquisition-api-client.js | 20 +++++++++++++++++++ .../prog/js/vue/fetch/api-client.js | 2 ++ .../intranet-tmpl/prog/js/vue/fetch/erm.js | 5 ----- 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/fetch/acquisition-api-client.js --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue @@ -122,7 +122,7 @@ import { inject } from "vue" import Breadcrumb from "../../components/Breadcrumb.vue" import Dialog from "../../components/Dialog.vue" -import { fetchVendors } from "../../fetch/erm.js" +import { APIClient } from "../../fetch/api-client.js" import "vue-select/dist/vue-select.css" export default { @@ -154,7 +154,14 @@ export default { } }, beforeCreate() { - fetchVendors().then(vendors => (this.vendorStore.vendors = vendors)) + const client = APIClient.acquisition + client.vendors.getAll().then( + vendors => { + this.vendors = vendors + this.initialized = true + }, + error => {} + ) }, components: { Breadcrumb, --- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/acquisition-api-client.js +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/acquisition-api-client.js @@ -0,0 +1,20 @@ +import HttpClient from "./http-client"; + +export class AcquisitionAPIClient extends HttpClient { + constructor() { + super({ + baseURL: "/api/v1/acquisitions/", + }); + } + + get vendors() { + return { + getAll: (query) => + this.get({ + endpoint: "vendors?" + (query || "_per_page=-1"), + }), + }; + } +} + +export default AcquisitionAPIClient; --- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js @@ -1,7 +1,9 @@ import ERMAPIClient from "./erm-api-client"; import PatronAPIClient from "./patron-api-client"; +import AcquisitionAPIClient from "./acquisition-api-client"; export const APIClient = { erm: new ERMAPIClient(), patron: new PatronAPIClient(), + acquisition: new AcquisitionAPIClient(), }; --- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/erm.js +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/erm.js @@ -2,11 +2,6 @@ import { setError } from "../messages"; //TODO: all of these functions should be deleted and reimplemented in the components using ERMAPIClient -export const fetchVendors = function () { - const apiUrl = "/api/v1/acquisitions/vendors?_per_page=-1"; - return myFetch(apiUrl); -}; - const _createEditPackage = function (method, erm_package) { let apiUrl = "/api/v1/erm/eholdings/local/packages"; --