Add form for nami

This commit is contained in:
philipp lang 2024-06-14 01:46:06 +02:00
parent 3a83c46430
commit 57555afe2b
1 changed files with 30 additions and 24 deletions

View File

@ -90,14 +90,16 @@
</p> </p>
<div class="grid gap-2 mt-6"> <div class="grid gap-2 mt-6">
<accordion v-model="openValue" :index="index" :title="member.innerFormName" v-for="(member, index) in inner" :key="index" type="success"> <accordion v-model="openValue" :index="index" :title="member.innerFormName" v-for="(member, index) in inner" :key="index" type="success">
<div class="mt-6" :class="containerClasses">
<template v-for="(memberField, memberIndex) in memberFields"> <template v-for="(memberField, memberIndex) in memberFields">
<v-checkbox <v-checkbox
v-if="memberField.type === 'CheckboxField'" v-if="memberField.type === 'CheckboxField'"
v-model="member[memberField.key]" v-model="member[memberField.key]"
:name="`${field.key}-memberattr-${member.id}-${memberField.key}`" :name="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`" :id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.name" :label="memberField.description"
intro="" intro=""
:class="colClassesForField(memberField)"
></v-checkbox> ></v-checkbox>
<v-dropdown <v-dropdown
v-if="memberField.type === 'DropdownField'" v-if="memberField.type === 'DropdownField'"
@ -106,6 +108,7 @@
:id="`${field.key}-memberattr-${member.id}-${memberField.key}`" :id="`${field.key}-memberattr-${member.id}-${memberField.key}`"
:label="memberField.name" :label="memberField.name"
:allowcustom="false" :allowcustom="false"
:class="colClassesForField(memberField)"
:options=" :options="
memberField.options.map((o) => { memberField.options.map((o) => {
return {id: o, name: o}; return {id: o, name: o};
@ -113,6 +116,7 @@
" "
></v-dropdown> ></v-dropdown>
</template> </template>
</div>
</accordion> </accordion>
</div> </div>
<div class="flex justify-center mt-5"> <div class="flex justify-center mt-5">
@ -143,8 +147,10 @@ import useAdremaLogin from '../../composables/useAdremaLogin.js';
import useEventMeta from '../../composables/useEventMeta.js'; import useEventMeta from '../../composables/useEventMeta.js';
import Pagination from '../Pagination.vue'; import Pagination from '../Pagination.vue';
import Accordion from '../Accordion.vue'; import Accordion from '../Accordion.vue';
import useColumns from '../../composables/useColumns.js';
const eventMeta = useEventMeta(); const eventMeta = useEventMeta();
const {colClassesForField, containerClasses} = useColumns();
const {login, logout, user, loginData, searchData, searchForMember, resetSearchData, searchResults, searching} = useAdremaLogin(); const {login, logout, user, loginData, searchData, searchForMember, resetSearchData, searchResults, searching} = useAdremaLogin();
if (user.value !== null) { if (user.value !== null) {
@ -190,7 +196,7 @@ const props = defineProps({
const defaultMember = computed(() => { const defaultMember = computed(() => {
var fields = {}; var fields = {};
memberFields.value.forEach((field) => (fields[field.key] = field.default)); memberFields.value.forEach((field) => (fields[field.key] = field.value));
return fields; return fields;
}); });