@@ -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 @@
+
+ (search = query)"
+ >
+
+
+ {{ $__("Loading more options...") }}
+
+
+
+
+
+
--- 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);
};
--