napojenie modalov na tasks screene

This commit is contained in:
Filip Kaluža committed 2023-02-03 12:19:25 +01:00
1 parent 2c4299616d
commit 4da2139f15
4 files changed
+52 -12

No files matched your search

@@ -71,7 +71,7 @@
</div>
<div class="event-footer d-flex">
<v-btn rounded class="event-footer-button me-2" :class="{'completed': event.completed}" @click.stop="completeTask(event)"><img :src="require('./_img/checkmark.svg')" alt=""></v-btn>
<v-btn rounded class="event-footer-button me-2" :class="{'completed': event.completed}" @click.stop="clickCompleteTask(event)"><img :src="require('./_img/checkmark.svg')" alt=""></v-btn>
<v-btn rounded class="event-footer-button me-2" @click.stop="editTask(event, true)"><img :src="require('./_img/pencil.svg')" alt=""></v-btn>
<v-btn rounded class="event-footer-button me-2" @click.stop="deleteTask(event)"><img :src="require('./_img/bin.svg')" alt=""></v-btn>
</div>
@@ -190,8 +190,18 @@ export default {
// console.log(`Focused: ${event.task_id}`)
},
clickCompleteTask(event) {
if (event.completed) this.completeTask(event)
async clickCompleteTask(event) {
if (!event.completed) {
this.completeTask(event)
} else {
event.completed = !event.completed
try {
await this.$axios.patch_auth(`v1/tasks/${event.id}`, event)
this.$emit('reopenTask', event)
} catch (error) {
this.$toast.error(error)
}
}
},
completeTask(task) {
+28 -7
View File
@@ -3,7 +3,7 @@
<A-task-filter :unscheduledTime="unscheduledTime" @dataChanged="getTimelineData" />
<W-loadable :content="timelineData" class="w-loadable" empty-message="Nepodarilo sa nacitat data!">
<Z-timeline :calData="timelineData" :calConfig="config" :splits="splitDays" />
<Z-timeline :calData="timelineData" :calConfig="config" :splits="splitDays" @reopenTask="toggleCompleteTask" />
</W-loadable>
</div>
</template>
@@ -31,6 +31,20 @@ export default {
}
},
mounted() {
this.$events.on('on-task-deleted', (task) => {
this.deleteTask(task)
})
this.$events.on('on-task-completed', (task) => {
this.toggleCompleteTask(task)
})
this.$events.on('on-task-edited', (task) => {
this.editTask(task)
})
},
methods: {
async getTimelineData(data) {
this.config.date = data.firstDay
@@ -147,13 +161,20 @@ export default {
}
},
// deleteTask(id) {
// const task = this.timelineData.find(task => task.id == id)
// this.$refs['z-delete-task-modal'].delete(task)
deleteTask(task) {
const id = task.id
this.timelineData.tasks.splice(this.timelineData.tasks.findIndex(item => item.id === id), 1)
},
// // TODO: Remove after BE integration
// this.timelineData.tasks.splice(this.timelineData.tasks.findIndex(item => item.id === id), 1)
// }
toggleCompleteTask(task) {
const taskInTasks = this.timelineData.tasks.find(e => e.id == task.id)
taskInTasks.completed = !taskInTasks.completed
},
editTask(task) {
const taskIndex = this.timelineData.tasks.findIndex(item => item.id === task.id)
this.timelineData.tasks[taskIndex] = task
},
}
}
</script>