Bug 32939: Use APIClient to fetch local eHoldings
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsLocalTitlesList.vue
index 7cf7bcd..90ab757 100644 (file)
@@ -1,14 +1,14 @@
 <template>
     <div>
         <div v-if="!initialized">{{ $__("Loading") }}</div>
-        <div v-else-if="titles" id="titles_list">
+        <div v-else-if="title_count" id="titles_list">
             <Toolbar />
             <div
-                v-if="titles.length"
+                v-if="title_count > 0"
                 id="title_list_result"
                 class="page-section"
             >
-                <table v-if="titles.length" :id="table_id"></table>
+                <table :id="table_id"></table>
             </div>
             <div v-else-if="initialized" class="dialog message">
                 {{ $__("There are no titles defined") }}
@@ -21,7 +21,7 @@
 import Toolbar from "./EHoldingsLocalTitlesToolbar.vue"
 import { inject, createVNode, render } from "vue"
 import { storeToRefs } from "pinia"
-import { fetchLocalTitles } from "../../fetch"
+import { APIClient } from "../../fetch/api-client.js"
 import { useDataTable } from "../../composables/datatables"
 
 export default {
@@ -42,7 +42,7 @@ export default {
     },
     data: function () {
         return {
-            titles: [],
+            title_count: undefined,
             initialized: false,
             filters: {
                 publication_title: this.$route.query.publication_title || "",
@@ -53,14 +53,19 @@ export default {
     },
     beforeRouteEnter(to, from, next) {
         next(vm => {
-            vm.getTitles().then(() => vm.build_datatable())
+            vm.getTitleCount().then(() => vm.build_datatable())
         })
     },
     methods: {
-        async getTitles() {
-            const titles = await fetchLocalTitles()
-            this.titles = titles
-            this.initialized = true
+        async getTitleCount() {
+            const client = APIClient.erm
+            await client.localTitles.count().then(
+                count => {
+                    this.title_count = count
+                    this.initialized = true
+                },
+                error => {}
+            )
         },
         show_title: function (title_id) {
             this.$router.push(