From 1f7f70a4594bee1e9f40442621727101660e2b3f Mon Sep 17 00:00:00 2001 From: philipp lang Date: Thu, 29 Feb 2024 22:44:48 +0100 Subject: [PATCH] Add pagination --- src/components/Pagination.vue | 72 +++++++++++++++++++++++++++++++ src/components/fields/Nami.vue | 10 +++-- src/components/icons/Chevron.vue | 9 ++++ src/composables/useAdremaLogin.js | 5 ++- 4 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 src/components/Pagination.vue create mode 100644 src/components/icons/Chevron.vue diff --git a/src/components/Pagination.vue b/src/components/Pagination.vue new file mode 100644 index 0000000..5044bb3 --- /dev/null +++ b/src/components/Pagination.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/components/fields/Nami.vue b/src/components/fields/Nami.vue index 8a9b0d4..7fe1c9b 100644 --- a/src/components/fields/Nami.vue +++ b/src/components/fields/Nami.vue @@ -50,10 +50,13 @@
-
- {{ member.name }} +
+
+ {{ member.name }} +
-
+ +
@@ -100,6 +103,7 @@ import VBtn from '../VBtn.vue'; import Spinner from '../Spinner.vue'; import useAdremaLogin from '../../composables/useAdremaLogin.js'; import useEventMeta from '../../composables/useEventMeta.js'; +import Pagination from '../Pagination.vue'; const eventMeta = useEventMeta(); const {login, logout, user, loginData, searchData, searchForMember, resetSearchData, searchResults, searching} = useAdremaLogin(); diff --git a/src/components/icons/Chevron.vue b/src/components/icons/Chevron.vue new file mode 100644 index 0000000..61900a5 --- /dev/null +++ b/src/components/icons/Chevron.vue @@ -0,0 +1,9 @@ + diff --git a/src/composables/useAdremaLogin.js b/src/composables/useAdremaLogin.js index 4c52007..d2eadf6 100644 --- a/src/composables/useAdremaLogin.js +++ b/src/composables/useAdremaLogin.js @@ -48,20 +48,21 @@ export default function useAdremaLogin() { loginToken.value = null; } - const searchForMember = debounce(async function () { + const searchForMember = debounce(async function (page = 1) { searching.value = true; const response = await axios.post( '/remote/nami/search', { ...searchData.value, untergliederungId: searchData.value.untergliederungId ? [searchData.value.untergliederungId] : [], + page: page, }, { headers: {'X-Adrema-Token': loginToken.value.token}, }, ); - searchResults.value = response.data.data; + searchResults.value = response.data; searching.value = false; }, 500);