diff --git a/frontend/src/table/DialogWindow.vue b/frontend/src/table/DialogWindow.vue index c5067e3..f4fb945 100644 --- a/frontend/src/table/DialogWindow.vue +++ b/frontend/src/table/DialogWindow.vue @@ -4,15 +4,13 @@ import type { IEntity } from '../types/entity.type'; import type { Scheme } from '../types/scheme.type'; import type { IService } from '../types/service.type'; import { manyStructsView } from '../utils/structs/structs-view.util'; -import { type UnwrapRef } from 'vue'; import { toDate, toTimestamp } from '../utils/date/converters.util'; import MultiSelect from '../components/selects/MultiSelect.vue'; -import { alertWindow } from '../utils/js/alert.utils'; import type { Validate } from '../types/validate.type'; import { useErrorStore } from '../stores/error.store'; const showCreate = defineModel('show') -const createItem = defineModel('item') +const editableItem = defineModel('item') const errorStore = useErrorStore() @@ -31,27 +29,27 @@ type Key = keyof T const keys = Object.keys(props.scheme) as Key[] const emits = defineEmits<{ - (e: 'onSave', data: T): void - (e: 'onSaveUpdate', data: T): void - (e: 'onSaveCreate', data: T): void + (e: 'onSave', data: T): Promise | void + (e: 'onSaveUpdate', data: T): Promise | void + (e: 'onSaveCreate', data: T): Promise | void }>() async function handleSave() { const mode = props.updateMode ? 'update' : 'create'; - const result = await props.validate(createItem.value as T, mode); + const result = await props.validate(editableItem.value as T, mode); if (result.status === 'error') { errorStore.summon(result.message); return; } try { if (props.updateMode) { - await props.service.update.call(props.service, createItem.value as T); - await emits('onSaveUpdate', createItem.value as T); - await emits('onSave', createItem.value as T); + await props.service.update.call(props.service, editableItem.value as T); + await emits('onSaveUpdate', editableItem.value as T); + await emits('onSave', editableItem.value as T); } else { - await props.service.create.call(props.service, createItem.value as T); - await emits('onSaveCreate', createItem.value as T); - await emits('onSave', createItem.value as T); + await props.service.create.call(props.service, editableItem.value as T); + await emits('onSaveCreate', editableItem.value as T); + await emits('onSave', editableItem.value as T); } } catch (e) { errorStore.summon(e.message) @@ -78,19 +76,19 @@ async function handleSave() {
- - - -