refactor: code clean up
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -49,6 +49,10 @@ const calendarOptions = computed(() =>
|
||||
}))
|
||||
)
|
||||
|
||||
const selectedCalendar = computed(() =>
|
||||
(props.calendars || []).find(calendar => calendar.identifier === selectedCollectionId.value) ?? null
|
||||
)
|
||||
|
||||
// Permissions
|
||||
const isExternalEvent = computed(() => {
|
||||
return false
|
||||
@@ -77,13 +81,12 @@ const cancelEdit = () => {
|
||||
}
|
||||
|
||||
const saveEntity = async () => {
|
||||
if (!editableEntity.value) {
|
||||
if (!editableEntity.value || !selectedCalendar.value) {
|
||||
return
|
||||
}
|
||||
|
||||
saving.value = true
|
||||
const targetCollection = (props.calendars || []).find(cal => cal.identifier === selectedCollectionId.value)
|
||||
emit('save', editableEntity.value as EntityObject, targetCollection || props.collection)
|
||||
emit('save', editableEntity.value as EntityObject, selectedCalendar.value)
|
||||
saving.value = false
|
||||
}
|
||||
|
||||
@@ -127,7 +130,7 @@ watch(
|
||||
(newEntity) => {
|
||||
const entity = newEntity as EntityObject | null
|
||||
draftEntity.value = entity?.clone ? entity.clone() : null
|
||||
selectedCollectionId.value = entity?.collection || props.collection?.identifier || props.calendars?.[0]?.identifier || ''
|
||||
selectedCollectionId.value = entity?.collection || props.collection?.identifier || ''
|
||||
},
|
||||
{ immediate: true },
|
||||
)
|
||||
@@ -138,7 +141,7 @@ watch(
|
||||
const entity = props.entity as EntityObject | null
|
||||
if (newMode === 'edit' && entity?.clone) {
|
||||
draftEntity.value = entity.clone()
|
||||
selectedCollectionId.value = entity.collection || props.collection?.identifier || props.calendars?.[0]?.identifier || ''
|
||||
selectedCollectionId.value = entity.collection || props.collection?.identifier || ''
|
||||
}
|
||||
},
|
||||
)
|
||||
@@ -194,6 +197,7 @@ watch(
|
||||
v-model="selectedCollectionId"
|
||||
:items="calendarOptions"
|
||||
label="Calendar"
|
||||
:rules="[value => (value !== '' && value != null) || 'Calendar is required']"
|
||||
variant="outlined"
|
||||
density="compact"
|
||||
class="mb-4"
|
||||
@@ -293,6 +297,7 @@ watch(
|
||||
color="primary"
|
||||
variant="elevated"
|
||||
@click="saveEntity"
|
||||
:disabled="!selectedCalendar"
|
||||
:loading="saving">
|
||||
Save
|
||||
</v-btn>
|
||||
|
||||
Reference in New Issue
Block a user