fixed reactive editing of tasks
This commit is contained in:
@@ -17,6 +17,7 @@ const showTaskEditModal = ref(false);
|
||||
const taskFormModalInput = ref<Partial<Task>>({});
|
||||
const showDeleteModal = ref(false);
|
||||
const deleteContext = ref<Task>();
|
||||
const editContext = ref<Task>();
|
||||
|
||||
const date = defineModel<DateTime>('date', { required: true })
|
||||
const tasks = defineModel<Task[]>('tasks', { required: true })
|
||||
@@ -115,6 +116,7 @@ function deleteTask() {
|
||||
}
|
||||
|
||||
function editTask(task: Task) {
|
||||
editContext.value?.updateWithOtherTask(task)
|
||||
emits('editTask', task)
|
||||
}
|
||||
|
||||
@@ -124,6 +126,7 @@ function openTaskFormModal(task: Partial<Task>) {
|
||||
}
|
||||
|
||||
function openTaskEditModal(task: Task) {
|
||||
editContext.value = task
|
||||
taskFormModalInput.value = task
|
||||
showTaskEditModal.value = true
|
||||
}
|
||||
@@ -215,5 +218,7 @@ function scheduleTask(task: Task) {
|
||||
</div>
|
||||
</UCard>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
<style scoped></style>
|
||||
<style scoped></style>
|
||||
<style scoped></style>
|
||||
|
||||
@@ -18,6 +18,7 @@ const createModalOpened = ref(false)
|
||||
const editModalOpened = ref(false)
|
||||
const deleteModalOpened = ref(false)
|
||||
const editTaskModalOpened = ref(false)
|
||||
const editTaskContext = ref<Task>()
|
||||
const taskFormModalInput = ref<Partial<Task>>({})
|
||||
const deleteContext = ref<{ event: Event }>()
|
||||
|
||||
@@ -143,6 +144,7 @@ function create(simple: SimpleEvent) {
|
||||
function openEditModal(event: Event) {
|
||||
if (event.task !== undefined) {
|
||||
taskFormModalInput.value = event.task
|
||||
editTaskContext.value = event.task
|
||||
editTaskModalOpened.value = true
|
||||
} else {
|
||||
editInput.value = event.toSimple()
|
||||
@@ -159,6 +161,7 @@ function edit(simple: SimpleEvent) {
|
||||
|
||||
function editTask(task: Task) {
|
||||
editTaskModalOpened.value = false
|
||||
editTaskContext.value?.updateWithOtherTask(task)
|
||||
emits('edit-task', task)
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,15 @@ export class Task {
|
||||
this
|
||||
)
|
||||
}
|
||||
|
||||
updateWithOtherTask(otherTask: Task) {
|
||||
this.title = otherTask.title
|
||||
this.description = otherTask.description
|
||||
this.done = otherTask.done
|
||||
this.estimated_time = otherTask.estimated_time
|
||||
this.due_date = otherTask.due_date
|
||||
this.scheduled_at = otherTask.scheduled_at
|
||||
}
|
||||
}
|
||||
|
||||
export type SimpleTask = {
|
||||
|
||||
Reference in New Issue
Block a user