refactor: code clean up

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-07-07 20:48:20 -04:00
parent 3c0ea698b1
commit 41a2de2b3d
4 changed files with 82 additions and 108 deletions
+10 -5
View File
@@ -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>