@@ -, +, @@ --- .../vue/components/ERM/AgreementLicenses.vue | 23 ++-- .../components/ERM/AgreementRelationships.vue | 29 ++-- .../vue/components/ERM/AgreementsFormAdd.vue | 14 +- .../ERM/EHoldingsLocalPackageAgreements.vue | 23 ++-- .../ERM/EHoldingsLocalPackagesFormAdd.vue | 13 +- .../EHoldingsLocalTitlesFormAddResources.vue | 32 ++--- .../ERM/EHoldingsLocalTitlesFormImport.vue | 17 +-- .../components/ERM/InfiniteScrollSelect.vue | 126 ++++++++++++++++++ .../js/vue/components/ERM/LicensesFormAdd.vue | 10 +- koha-tmpl/intranet-tmpl/prog/js/vue/fetch.js | 39 ++++-- 10 files changed, 215 insertions(+), 111 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/InfiniteScrollSelect.vue --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementLicenses.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementLicenses.vue @@ -19,22 +19,11 @@ - - - + :dataType="'licenses'" + /> {{ $__("Required") }}
  • @@ -102,6 +91,7 @@ --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementRelationships.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementRelationships.vue @@ -19,22 +19,11 @@ - - - + :dataType="'agreements'" + /> {{ $__("Required") }}
  • @@ -85,7 +74,8 @@ --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormAdd.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormAdd.vue @@ -25,12 +25,10 @@ -
  • @@ -87,20 +85,18 @@ --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesFormImport.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesFormImport.vue @@ -8,14 +8,11 @@
    {{ $__("To the following local package") }}: - - + :dataType="'localpackages'" + />
    @@ -27,6 +24,7 @@ import { setMessage, setError, setWarning } from "../../messages" import { createVNode, render } from "vue" import { useDataTable } from "../../composables/datatables" import { checkError, fetchLocalPackages } from "../../fetch.js" +import InfiniteScrollSelect from "./InfiniteScrollSelect.vue" export default { setup() { @@ -46,7 +44,7 @@ export default { } }, beforeCreate() { - fetchLocalPackages().then(packages => { + fetchLocalPackages(1).then(packages => { this.packages = packages if (this.packages.length) { this.package_id = packages[0].package_id @@ -151,6 +149,9 @@ export default { mounted() { this.build_datatable() }, + components: { + InfiniteScrollSelect + }, name: "EHoldingsLocalTitlesFormImport", } --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/InfiniteScrollSelect.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/InfiniteScrollSelect.vue @@ -0,0 +1,126 @@ + + + --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormAdd.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormAdd.vue @@ -28,12 +28,10 @@ -
  • @@ -148,6 +146,7 @@ import { inject } from "vue" import flatPickr from "vue-flatpickr-component" import UserRoles from "./UserRoles.vue" +import InfiniteScrollSelect from "./InfiniteScrollSelect.vue" import Documents from "./Documents.vue" import { setMessage, setError, setWarning } from "../../messages" import { fetchLicense } from "../../fetch" @@ -290,6 +289,7 @@ export default { flatPickr, UserRoles, Documents, + InfiniteScrollSelect }, name: "LicensesFormAdd", } --- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch.js +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch.js @@ -1,5 +1,7 @@ import { setError } from "./messages"; +const returnedValuesPerPage = 20 + export const fetchAgreement = async function (agreement_id) { if (!agreement_id) return; const apiUrl = "/api/v1/erm/agreements/" + agreement_id; @@ -22,8 +24,11 @@ export const fetchAgreement = async function (agreement_id) { return agreement; }; -export const fetchAgreements = async function () { - const apiUrl = "/api/v1/erm/agreements?_per_page=-1"; +export const fetchAgreements = async function (page) { + const apiUrl = page ? + `/api/v1/erm/agreements?_page=${page}&_per_page=${returnedValuesPerPage}` + : + "/api/v1/erm/agreements?_per_page=-1" let agreements; await fetch(apiUrl) .then(checkError) @@ -59,8 +64,11 @@ export const fetchLicense = async function (license_id) { return license; }; -export const fetchLicenses = async function () { - const apiUrl = "/api/v1/erm/licenses?_per_page=-1"; +export const fetchLicenses = async function (page) { + const apiUrl = page ? + `/api/v1/erm/licenses?_page=${page}&_per_page=${returnedValuesPerPage}` + : + "/api/v1/erm/licenses?_per_page=-1"; let licenses; await fetch(apiUrl, { headers: { @@ -96,8 +104,11 @@ export const fetchPatron = async function (patron_id) { return patron; }; -export const fetchVendors = async function () { - const apiUrl = "/api/v1/acquisitions/vendors?_per_page=-1"; +export const fetchVendors = async function (page) { + const apiUrl = page ? + `/api/v1/acquisitions/vendors?_page=${page}&_per_page=${returnedValuesPerPage}` + : + "/api/v1/acquisitions/vendors?_per_page=-1"; let vendors; await fetch(apiUrl) .then(checkError) @@ -206,12 +217,20 @@ export const _fetchPackages = async function (apiUrl) { ); return packages; }; -export const fetchLocalPackages = function () { - const apiUrl = "/api/v1/erm/eholdings/local/packages?_per_page=-1"; +export const fetchLocalPackages = function (page) { + const apiUrl = page ? + `/api/v1/erm/eholdings/local/packages?_page=${page}&_per_page=${returnedValuesPerPage}` + : + "/api/v1/erm/eholdings/local/packages?_per_page=-1" + return _fetchPackages(apiUrl); }; -export const fetchEBSCOPackages = function () { - const apiUrl = "/api/v1/erm/eholdings/ebsco/packages"; +export const fetchEBSCOPackages = function (page) { + const apiUrl = page ? + `/api/v1/erm/eholdings/ebsco/packages?_page=${page}&_per_page=${returnedValuesPerPage}` + : + "/api/v1/erm/eholdings/ebsco/packages?_per_page=-1" + return _fetchPackages(apiUrl); }; --