This commit is contained in:
JakubPapso committed 2024-02-06 19:20:40 +01:00
commit 158be83345
45 files changed
+115 -89

No files matched your search

+10 -9
View File
@@ -66,20 +66,20 @@ export default {
state.unscheduledSubtasks = state.unscheduledSubtasks.map(st => st.id == subtask.id ? subtask : st)
state.ongoingSubtasks = state.ongoingSubtasks.map(st => st.id == subtask.id ? subtask : st)
state.mastertasks = state.mastertasks.map(mastertask => {
mastertask.subtasks = mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)
return mastertask
})
// state.mastertasks = state.mastertasks.map(mastertask => {
// mastertask.subtasks = mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)
// return mastertask
// })
},
delete_subtask(state: any, subtask: any) {
state.unscheduledSubtasks = state.unscheduledSubtasks.filter(st => st.id != subtask.id)
state.ongoingSubtasks = state.ongoingSubtasks.filter(st => st.id != subtask.id)
state.mastertasks = state.mastertasks.map(mastertask => {
mastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)
return mastertask
})
// state.mastertasks = state.mastertasks.map(mastertask => {
// mastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)
// return mastertask
// })
},
initialized(state: any) {
@@ -116,7 +116,8 @@ export default {
loadMastertasks({commit}: {commit: any}) {
return new Promise((resolve, reject) => {
axios.get_auth('v1/mastertasks')
// axios.get_auth('v1/mastertasks')
axios.get_auth('v1/mastertasks/?simple=true')
.then(({ mastertasks }) => {
commit('set_mastertasks', mastertasks)
resolve(mastertasks)
@@ -73,7 +73,7 @@
</div>
<div v-else-if="['subtask', 'blocker', 'adhoc', 'vacation', 'free_day'].includes(event.type)" class="custom-event-body colWidth h-100 d-flex flex-column justify-space-between" :class="{'short-event' : getEventLength(event) <= 9000000, 'mini-event' : getEventLength(event) <= 5400000, 'micro-event' : getEventLength(event) <= 3600000, 'not-approved': !event.blocker?.approved && event.isBlocker }" :style="{backgroundColor: event._timeblock_is_finished || event.subtask?.is_finished ? '#dedfe0' : event.color || event.subtask?.color}">
<div class="event-content" :class="{'is-blocker': event.isBlocker}">
<div class="event-content" :class="{'is-blocker': event.isBlocker}">
<template v-if="event.type == 'subtask'">
<small v-if="event.subtask.project_code" class="project-code">{{ event.subtask.project_code }}</small>
<h3>{{ event.subtask.title ?? event.subtask.master_task?.name ?? event.subtask.master_task }}</h3>
@@ -88,7 +88,7 @@
</template>
</v-tooltip>
</template>
<div class="d-flex align-center event-details event-initials-wrapper">
<div class="event-initials d-flex justify-center align-center">
<small>{{ event.initials }}</small>
@@ -157,10 +157,6 @@ export default {
}
},
async created() {
console.log('splits', this.splits)
},
data() {
return {
vueCalConfig: {
@@ -205,11 +201,7 @@ export default {
if (subtask?.deadline)
return subtask.deadline
if (!this.mastertasks)
return null
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return masterTask.deadline
return subtask.master_task_deadline
},
weekChanged() {
@@ -222,7 +214,7 @@ export default {
const start = date.setHours(Math.round(event.startTimeMinutes / 60), Math.round(event.startTimeMinutes % 60), 0)
const end = date.setHours(Math.round(event.endTimeMinutes / 60), Math.round(event.endTimeMinutes % 60), 0)
const split = this.splits.find(split => split.id == newSplit )
if(this.$route.name == 'Dashboard - Tasks') {
const editedSubtask = {
...event.subtask,
@@ -343,7 +335,7 @@ export default {
subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {
if (originalTimeblock.id == newTimeblock.id)
return newTimeblock
return originalTimeblock
})
@@ -1,7 +1,7 @@
<template>
<div ref="page">
<A-project-filter v-if="$store.getters['tm/isInitialized']" @filterChanged="onFilterChanged" />
<W-loadable class="non-projects" :content="filteredProjects" emptyMessage="Nenašli sa žiadne vyhovujúce projekty">
<A-project-calendar :events="filteredProjects" :month="filter.month" @open-detail="openMasterTaskModal" />
</W-loadable>
@@ -15,12 +15,12 @@ import FilterMixin from '../_mixins/Filter.mixin'
export default {
mixins: [FilterMixin],
components: {
AProjectCalendar,
AProjectFilter
},
data() {
return {
mastertasks: null,
@@ -32,16 +32,16 @@ export default {
filteredProjects() {
if (!this.mastertasks)
return null
// return this.mastertasks.map(event => {
// const startOfDay = new Date(event.starts_at);
// startOfDay.setHours(0, 0, 0, 0); // Set to 00:00:00.000
// const endOfDay = new Date(event.deadline);
// endOfDay.setHours(23, 59, 59, 999); // Set to 23:59:59.999
// console.log({
// console.log({
// start: startOfDay,
// end: endOfDay,
// })
@@ -10,7 +10,7 @@
</v-col>
<v-col cols="7">
<v-sheet class="py-3">
<p v-if="subtask.deadline" :class="`${tmUtils.isAfter(subtask.deadline) ? 'text-black' : 'text-red-darken-4'}`">{{ tmUtils.formatDate(subtask.deadline) }} {{ deadlineTime }}</p>
<p v-if="subtask.deadline" :class="`${tmUtils.isAfter(subtask.deadline) ? 'text-black' : 'text-red-darken-4'}`">{{ tmUtils.formatDate(subtask.deadline) }} {{ deadlineTime }}</p>
<v-tooltip v-else text="Deadline z Mastertasku" location="end">
<template v-slot:activator="{ props }">
<span class="cursor-pointer" v-bind="props">{{ getMasterTaskDeadline(subtask) }}*</span>
@@ -53,9 +53,10 @@ export default {
methods: {
getMasterTaskDeadline(subtask) {
if(!this.mastertasks) return ''
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return tmUtils.formatDateTime(masterTask) ? tmUtils.formatDateTime(masterTask.deadline) : ''
if (subtask?.deadline)
return subtask.deadline
return subtask.master_task_deadline
}
}
}
@@ -110,7 +110,7 @@ export default {
validations() {
return {
form: {
form: {
date: { required },
starts_at_time: { required },
ends_at_time: { required }
@@ -202,7 +202,7 @@ export default {
subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {
if (originalTimeblock.id == newTimeblock.id)
return newTimeblock
return originalTimeblock
})
@@ -252,7 +252,7 @@ export default {
const mDate = moment(this.form.date)
const mDeadline = moment(deadline)
const [hours, minutes] = this.form.ends_at_time.split(':').map(Number)
mDate.hours(hours)
@@ -265,11 +265,7 @@ export default {
if (subtask?.deadline)
return subtask.deadline
if (!this.mastertasks)
return null
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return masterTask.deadline
return subtask.master_task_deadline
},
closeModal() {
@@ -342,7 +342,6 @@ export default {
this.$events.emit('task-created')
this.$events.emit('close-both-modals')
}
this.closeModal()
} catch (error) {
this.$toast.error(this.$parseError(error))
@@ -35,7 +35,7 @@
</tr>
</tbody>
</v-table>
</template>
@@ -54,7 +54,7 @@ export default {
computed: {
...mapGetters('tm', ['mastertasks'])
},
methods: {
editTask(subtask, editMode = false) {
this.$events.emit('show-subtask-modal', {subtask, editMode})
@@ -65,10 +65,10 @@ export default {
},
getDeadline(subtask) {
if(subtask.deadline) return moment(subtask.deadline).format('DD.MM.yyyy')
else if(!this.mastertasks) return ''
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return moment(masterTask).format('DD.MM.yyyy') ? moment(masterTask.deadline).format('DD.MM.yyyy') : ''
if (subtask?.deadline)
return moment(subtask.deadline).format('DD.MM.yyyy')
return moment(subtask.master_task_deadline).format('DD.MM.yyyy')
},
getSelectedTimeblockDeadline(timeblocks) {
@@ -97,9 +97,7 @@ export default {
},
getMasterTaskDeadline(subtask) {
if(!this.mastertasks) return ''
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return masterTask ? masterTask.deadline : ''
return subtask.master_task_deadline
}
}
}
@@ -60,10 +60,10 @@ export default {
},
getDeadline(subtask) {
if(subtask.deadline) return moment(subtask.deadline).format('DD.MM.yyyy')
else if(!this.mastertasks) return ''
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return moment(masterTask).format('DD.MM.yyyy') ? moment(masterTask.deadline).format('DD.MM.yyyy') : ''
if (subtask?.deadline)
return moment(subtask.deadline).format('DD.MM.yyyy')
return moment(subtask.master_task_deadline).format('DD.MM.yyyy')
}
}
}
@@ -96,9 +96,7 @@ export default {
},
getMasterTaskDeadline(subtask) {
if(!this.mastertasks) return ''
const masterTask = this.mastertasks.find((mt) => mt.id === subtask.master_task_id)
return masterTask ? masterTask.deadline : ''
return subtask.master_task_deadline
}
}
}