| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <template>
- <main>
- <div>
- <div v-if="pending">
- Pending...
- </div>
- <div v-else>
- <ul>
- <li v-for="access in accesses">
- Access {{ access.id }}
- </li>
- </ul>
- <div class="ma-3">{{ totalItems }} results</div>
- <a href="#" @click="onClick">Next page</a>
- </div>
- </div>
- </main>
- </template>
- <script setup lang="ts">
- import {computed, ref, Ref} from "@vue/reactivity";
- import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService";
- import {useEntityFetch} from "~/composables/data/useEntityFetch";
- import Access from "~/models/Access/Access";
- import {useEntityManager} from "~/composables/data/useEntityManager";
- const { em } = useEntityManager()
- const { apiRequestService } = useAp2iRequestService()
- const page: Ref<number> = ref(1)
- const query = computed(() => {
- return { 'page': page.value }
- })
- // const totalItems: Ref<number> = ref(0)
- const { fetchCollection } = useEntityFetch()
- const { data: collection = [], pending, refresh } = fetchCollection(Access, null, query)
- const accesses = computed(() => {
- // @ts-ignore
- return collection.value ? collection.value.items : []
- })
- const totalItems = computed(() => {
- // @ts-ignore
- return collection.value ? collection.value.totalItems : 0
- })
- // @ts-ignore
- // const { data: accesses = [], pending, refresh } = useLazyAsyncData(
- // 'accesses',
- // async () => {
- // const collection = await em.fetchCollection(Access, null, query.value)
- // totalItems.value = collection.totalItems ?? 0
- // return collection.items
- // }
- // )
- const onClick = () => {
- page.value += 1
- refresh()
- }
- </script>
|