Add new members
This commit is contained in:
parent
b76fc8133e
commit
d9586511c3
|
@ -96,7 +96,7 @@
|
||||||
</a>
|
</a>
|
||||||
</template>
|
</template>
|
||||||
<div class="mt-2" :class="containerClassesSm">
|
<div class="mt-2" :class="containerClassesSm">
|
||||||
<template v-for="(memberField, memberIndex) in memberFields">
|
<template v-for="(memberField, memberIndex) in member.id ? memberFields : newMemberFields">
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-if="memberField.type === 'CheckboxField'"
|
v-if="memberField.type === 'CheckboxField'"
|
||||||
v-model="member[memberField.key]"
|
v-model="member[memberField.key]"
|
||||||
|
@ -181,8 +181,9 @@
|
||||||
</div>
|
</div>
|
||||||
</accordion>
|
</accordion>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center mt-5">
|
<div class="flex justify-center space-x-3 mt-5">
|
||||||
<v-btn @click.prevent="membersCompleted = true">Mitgliederdaten speichern</v-btn>
|
<v-btn @click.prevent="membersCompleted = true">Mitgliederdaten speichern</v-btn>
|
||||||
|
<v-btn @click.prevent="addMember">Mitglied hinzufügen</v-btn>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #finished>
|
<template #finished>
|
||||||
|
@ -269,7 +270,15 @@ const defaultMember = computed(() => {
|
||||||
return fields;
|
return fields;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const newDefaultMember = computed(() => {
|
||||||
|
var fields = {};
|
||||||
|
newMemberFields.value.forEach((field) => (fields[field.key] = field.value));
|
||||||
|
|
||||||
|
return fields;
|
||||||
|
});
|
||||||
|
|
||||||
const memberFields = computed(() => props.fields.filter((field) => field.for_members === true && field.nami_type === null));
|
const memberFields = computed(() => props.fields.filter((field) => field.for_members === true && field.nami_type === null));
|
||||||
|
const newMemberFields = computed(() => props.fields.filter((field) => field.for_members === true));
|
||||||
|
|
||||||
const inner = computed(
|
const inner = computed(
|
||||||
{
|
{
|
||||||
|
@ -290,6 +299,10 @@ function memberSelected(member) {
|
||||||
return inner.value.map((m) => m.id).includes(member.id);
|
return inner.value.map((m) => m.id).includes(member.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addMember(index) {
|
||||||
|
inner.value.push(JSON.parse(JSON.stringify({id: null, innerFormName: 'Neues Mitglied', ...newDefaultMember.value})));
|
||||||
|
}
|
||||||
|
|
||||||
function toggleMember(member) {
|
function toggleMember(member) {
|
||||||
if (memberSelected(member)) {
|
if (memberSelected(member)) {
|
||||||
inner.value = inner.value.filter((m) => m.id !== member.id);
|
inner.value = inner.value.filter((m) => m.id !== member.id);
|
||||||
|
|
Loading…
Reference in New Issue