From 980f539a0ba783cf6ee3f62448720e14620fc287 Mon Sep 17 00:00:00 2001 From: philipp lang Date: Thu, 29 Feb 2024 02:01:28 +0100 Subject: [PATCH] Add search and steps --- src/components/Info.vue | 57 ++++++++-- src/components/Success.vue | 16 --- src/components/VBtn.vue | 13 +++ src/components/fields/Dropdown.vue | 16 +-- src/components/fields/Nami.vue | 171 ++++++++++++++++------------ src/components/fields/VDropdown.vue | 53 +++++++++ src/components/fields/VText.vue | 3 +- src/composables/useAdremaLogin.js | 22 ++-- 8 files changed, 239 insertions(+), 112 deletions(-) delete mode 100644 src/components/Success.vue create mode 100644 src/components/VBtn.vue create mode 100644 src/components/fields/VDropdown.vue diff --git a/src/components/Info.vue b/src/components/Info.vue index a26a403..141e80f 100644 --- a/src/components/Info.vue +++ b/src/components/Info.vue @@ -1,16 +1,59 @@ diff --git a/src/components/Success.vue b/src/components/Success.vue deleted file mode 100644 index 206f4bd..0000000 --- a/src/components/Success.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/src/components/VBtn.vue b/src/components/VBtn.vue new file mode 100644 index 0000000..416c07f --- /dev/null +++ b/src/components/VBtn.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/fields/Dropdown.vue b/src/components/fields/Dropdown.vue index a4f97c8..c667268 100644 --- a/src/components/fields/Dropdown.vue +++ b/src/components/fields/Dropdown.vue @@ -1,16 +1,10 @@ diff --git a/src/components/fields/VDropdown.vue b/src/components/fields/VDropdown.vue new file mode 100644 index 0000000..3f7ebda --- /dev/null +++ b/src/components/fields/VDropdown.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/components/fields/VText.vue b/src/components/fields/VText.vue index fa04302..89d4c6e 100644 --- a/src/components/fields/VText.vue +++ b/src/components/fields/VText.vue @@ -6,6 +6,7 @@ :name="name" :type="type" placeholder="" + @keypress="$emit('keypress', $event)" class="bg-white group-[.info]:bg-blue-200 rounded-lg focus:outline-none text-gray-600 text-left w-full py-1 @sm:py-2 @sm:group-[.info]:py-1 px-2 @sm:px-3 @sm:group-[.info]:px-2 text-sm @sm:text-base @sm:group-[.info]:text-sm" /> @@ -16,7 +17,7 @@ import {computed} from 'vue'; import FieldLabel from '../FieldLabel.vue'; -const emit = defineEmits(['update:modelValue']); +const emit = defineEmits(['update:modelValue', 'keypress']); const props = defineProps({ modelValue: { required: true, diff --git a/src/composables/useAdremaLogin.js b/src/composables/useAdremaLogin.js index 0e48ed0..aee5c9d 100644 --- a/src/composables/useAdremaLogin.js +++ b/src/composables/useAdremaLogin.js @@ -1,10 +1,8 @@ import {ref, computed} from 'vue'; -import useEventMeta from './useEventMeta.js'; import useToastify from './useToastify.js'; import debounce from 'lodash/debounce'; const {success, errorFromResponse} = useToastify(); -const eventMeta = useEventMeta(); export default function useAdremaLogin() { const loginData = ref({ @@ -12,10 +10,17 @@ export default function useAdremaLogin() { password: null, }); - const searchData = ref({ - firstname: null, - lastname: null, - }); + const defaultSearchData = { + vorname: null, + nachname: null, + untergliederungId: null, + }; + + const searchData = ref(JSON.parse(JSON.stringify(defaultSearchData))); + + function resetSearchData() { + searchData.value = JSON.parse(JSON.stringify(defaultSearchData)); + } const searchResults = ref([]); @@ -47,11 +52,11 @@ export default function useAdremaLogin() { } const searchForMember = debounce(async function () { - console.log(loginToken.value.token); const response = await axios.post( '/remote/nami/search', { - vorname: searchData.value.firstname, + ...searchData.value, + untergliederungId: searchData.value.untergliederungId ? [searchData.value.untergliederungId] : [], }, { headers: {'X-Adrema-Token': loginToken.value.token}, @@ -69,5 +74,6 @@ export default function useAdremaLogin() { loginData, searchData, searchForMember, + resetSearchData, }; }