This commit is contained in:
Matej Glasnák committed 2023-01-12 14:45:18 +01:00
1 parent 79f563a82d
commit d46a9151fc
27 files changed
+279 -339

No files matched your search

@@ -1,55 +1,61 @@
<template>
<div>
<a-project-filter :projects="projects" @filterChanged="onFilterChanged"></a-project-filter>
<a-project-calendar :events="filteredEvents" :month="filter.selectedMonth"></a-project-calendar>
</div>
<!-- Kravarik: Dat velke A -->
<a-project-filter :projects="projects" @filterChanged="onFilterChanged"></a-project-filter>
<a-project-calendar :events="filteredEvents" :month="filter.selectedMonth"></a-project-calendar>
</div>
</template>
<script>
import AProjectCalendar from './_components/a-project-calendar.vue'
import AProjectFilter from './_components/a-project-filter.vue'
import AProjectFilter from './_components/a-project-filter.vue'
export default {
components: {
AProjectCalendar,
AProjectFilter
},
data() {
return {
filter: {
selectedEmployee: null,
selectedMonth: (new Date()).getMonth(),
selectedProject: null,
selectedTeam: null,
showFinishedTasks: false
},
projects: ['Projekt1', 'Projekt2', 'Projekt3', 'Projekt4'],
selectedProject: null,
events: [],
filteredEvents: []
}
},
async created() {
const events = await this.$axios.get_auth_data('v1/overview/projects')
this.events = events.map(item => ({
id: item.id,
title: `${item.project_code} - ${item.name}`,
title_html: `${item.project_code} - <b>${item.name}</b>`,
start: item.starts_at,
end: item.deadline,
is_finished: item.is_finished,
project_code: item.project_code,
backgroundColor: item.color,
borderColor: item.color
}))
this.filteredEvents = this.events.filter(item => !item.is_finished)
},
methods: {
// TODO: prepojit filtrovanie na BE
onFilterChanged(filterValues) {
this.filter = filterValues
this.filteredEvents = this.events.filter(item => this.filter.showFinishedTasks || item.is_finished == false)
}
}
components: {
AProjectCalendar,
AProjectFilter
},
data() {
return {
// Kravarik: Toto premenuj na nejaky filterSettings alebo co to je
filter: {
selectedEmployee: null,
selectedMonth: new Date().getMonth(),
selectedProject: null,
selectedTeam: null,
showFinishedTasks: false
},
// Kravarik: Toto je preco hardcodenute?
projects: ['Projekt1', 'Projekt2', 'Projekt3', 'Projekt4'],
selectedProject: null,
events: [],
filteredEvents: []
}
},
async created() {
// Kravarik: Toto preco nieje v trycatch?
const events = await this.$axios.get_auth_data('v1/overview/projects')
// Kravarik: Nemusis nahodou z map returnovat? Ci ked {} obalis to () tak nemusis potom?
this.events = events.map((item) => ({
id: item.id,
title: `${item.project_code} - ${item.name}`,
title_html: `${item.project_code} - <b>${item.name}</b>`,
start: item.starts_at,
end: item.deadline,
is_finished: item.is_finished,
project_code: item.project_code,
backgroundColor: item.color,
borderColor: item.color
}))
this.filteredEvents = this.events.filter((item) => !item.is_finished)
},
methods: {
// Kravarik: TODO prepojit filtrovanie na BE
onFilterChanged(filterValues) {
this.filter = filterValues
this.filteredEvents = this.events.filter((item) => this.filter.showFinishedTasks || item.is_finished == false)
}
}
}
</script>