mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
napojenie modalov na tasks screene
This commit is contained in:
1 parent
2c4299616d
commit
4da2139f15
4 files changed
+52
-12
No files matched your search
@@ -8,10 +8,10 @@
|
|||||||
<Z-team-modal ref="z-team-modal" @update="onTeamUpdate" />
|
<Z-team-modal ref="z-team-modal" @update="onTeamUpdate" />
|
||||||
<Z-delete-team-modal ref="z-delete-team-modal" @update="onTeamUpdate" />
|
<Z-delete-team-modal ref="z-delete-team-modal" @update="onTeamUpdate" />
|
||||||
|
|
||||||
<Z-task-modal ref="z-task-modal" />
|
<Z-task-modal ref="z-task-modal" @on-task-edited="onTaskEdited" />
|
||||||
<Z-delete-task-modal ref="z-delete-task-modal" @on-task-deleted="onTaskDeleted" />
|
<Z-delete-task-modal ref="z-delete-task-modal" @on-task-deleted="onTaskDeleted" />
|
||||||
<Z-delete-master-task-modal ref="z-delete-master-task-modal" />
|
<Z-delete-master-task-modal ref="z-delete-master-task-modal" />
|
||||||
<Z-complete-task-modal ref="z-complete-task-modal" />
|
<Z-complete-task-modal ref="z-complete-task-modal" @task-completed="onTaskCompleted" />
|
||||||
<Z-task-add-time-modal ref="z-task-add-time-modal" />
|
<Z-task-add-time-modal ref="z-task-add-time-modal" />
|
||||||
<Z-blocker-modal ref="z-blocker-modal" />
|
<Z-blocker-modal ref="z-blocker-modal" />
|
||||||
|
|
||||||
@@ -90,6 +90,14 @@ export default {
|
|||||||
this.$events.emit('on-task-deleted', task)
|
this.$events.emit('on-task-deleted', task)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onTaskCompleted(task) {
|
||||||
|
this.$events.emit('on-task-completed', task)
|
||||||
|
},
|
||||||
|
|
||||||
|
onTaskEdited(task) {
|
||||||
|
this.$events.emit('on-task-edited', task)
|
||||||
|
},
|
||||||
|
|
||||||
onMasterTaskDeleted(masterTask){
|
onMasterTaskDeleted(masterTask){
|
||||||
this.$events.emit('on-master-task-deleted', masterTask)
|
this.$events.emit('on-master-task-deleted', masterTask)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="event-footer d-flex">
|
<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="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>
|
<v-btn rounded class="event-footer-button me-2" @click.stop="deleteTask(event)"><img :src="require('./_img/bin.svg')" alt=""></v-btn>
|
||||||
</div>
|
</div>
|
||||||
@@ -190,8 +190,18 @@ export default {
|
|||||||
// console.log(`Focused: ${event.task_id}`)
|
// console.log(`Focused: ${event.task_id}`)
|
||||||
},
|
},
|
||||||
|
|
||||||
clickCompleteTask(event) {
|
async clickCompleteTask(event) {
|
||||||
if (event.completed) this.completeTask(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) {
|
completeTask(task) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<A-task-filter :unscheduledTime="unscheduledTime" @dataChanged="getTimelineData" />
|
<A-task-filter :unscheduledTime="unscheduledTime" @dataChanged="getTimelineData" />
|
||||||
|
|
||||||
<W-loadable :content="timelineData" class="w-loadable" empty-message="Nepodarilo sa nacitat data!">
|
<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>
|
</W-loadable>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</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: {
|
methods: {
|
||||||
async getTimelineData(data) {
|
async getTimelineData(data) {
|
||||||
this.config.date = data.firstDay
|
this.config.date = data.firstDay
|
||||||
@@ -147,13 +161,20 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// deleteTask(id) {
|
deleteTask(task) {
|
||||||
// const task = this.timelineData.find(task => task.id == id)
|
const id = task.id
|
||||||
// this.$refs['z-delete-task-modal'].delete(task)
|
this.timelineData.tasks.splice(this.timelineData.tasks.findIndex(item => item.id === id), 1)
|
||||||
|
},
|
||||||
|
|
||||||
// // TODO: Remove after BE integration
|
toggleCompleteTask(task) {
|
||||||
// this.timelineData.tasks.splice(this.timelineData.tasks.findIndex(item => item.id === id), 1)
|
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>
|
</script>
|
||||||
|
|||||||
@@ -420,6 +420,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
if (this.task.id) {
|
if (this.task.id) {
|
||||||
await this.$axios.put_auth(`v1/mastertasks/${this.task.id}`, this.task)
|
await this.$axios.put_auth(`v1/mastertasks/${this.task.id}`, this.task)
|
||||||
|
this.$events.emit('on-task-edited', this.task)
|
||||||
} else {
|
} else {
|
||||||
await this.$axios.post_auth('v1/mastertasks', this.task)
|
await this.$axios.post_auth('v1/mastertasks', this.task)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user