[Bugfix] Remove team member from master-task modal

This commit is contained in:
Matej Glasnák committed 2023-06-02 10:46:55 +02:00
1 parent fcd8199d86
commit 7dfac0f155
4 files changed
+15 -58

No files matched your search

@@ -15,11 +15,6 @@
.modal-input
width: 100% !important
flex: 0 0 auto
min-height: 60px
input,
.v-field
min-height: 60px
.modal-content
flex: 1 1 100%
@@ -7,7 +7,7 @@
<v-card-text>{{ member.name + ' ' + member.surname }} bude odstránený/á z teamu.</v-card-text>
<v-card-actions>
<v-btn
class="button primary"
class="button secondary"
variant="text"
@click="closeModal()"
>
@@ -34,18 +34,14 @@ export default {
return {
visible: false,
member: null,
allMembers: null,
teamId: null,
team: null
}
},
methods: {
async showModal({ member, team }) {
this.member = member
this.allMembers = team.employees
this.teamId = team.id
this.team = team
this.member = member
this.team = team
this.visible = true
},
@@ -53,32 +49,19 @@ export default {
this.visible = false
},
editDatepicker(type) {
const calendarElement = document.getElementsByClassName('dp__instance_calendar')[0]
const switchBtn = calendarElement.lastChild.querySelectorAll('.dp__button')[0]
if (!calendarElement) return
if (type == 'date') {
calendarElement.lastChild.remove()
} else if (type == 'time') {
switchBtn.click()
//calendarElement.lastChild.remove()
}
},
async deleteMember() {
const filteredMembers = this.allMembers.filter(obj => obj !== this.member)
this.team.employees = filteredMembers
this.team.employees = [...this.team.employees].filter(employee => employee.id !== this.member.id)
try {
if (this.teamId) {
const { team } = await this.$axios.put_auth(`v1/teams/${this.teamId}`, this.team)
if (this.team.id) {
const { team } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team)
this.$store.commit('tm/update_team', team)
} else {
const { team } = await this.$axios.post_auth(`v1/teams`, this.team)
this.$store.commit('tm/save_team', team)
}
this.$events.emit('memberDeleted', { filteredMembers })
this.$events.emit('master-task:team-member-deleted', { teamId: this.team.id, memberId: this.member.id })
this.closeModal()
} catch (error) {
this.$toast.error(error)
@@ -14,7 +14,7 @@
<div class="splitted-inputs">
<!-- TODO: Bialko validacie -->
<Datepicker @open="editDatepicker('date')" v-model="mastertask.deadline" @focus="onDateFocus" :min-date="new Date()" class="modal-input left" format="dd.MM.yyyy" locale="sk" select-text="Vybrať" cancel-text="Zrušiť" placeholder="Dátum"
<Datepicker v-model="mastertask.deadline" :auto-apply="true" @focus="onDateFocus" :min-date="new Date()" class="modal-input left" format="dd.MM.yyyy" locale="sk" select-text="Vybrať" cancel-text="Zrušiť" placeholder="Dátum"
:class="{ error: v$.mastertask.deadline.$errors?.length }" :validations="v$.mastertask.deadline" />
<v-text-field class="modal-input right" variant="solo" v-model="mastertask._deadline_time" label="Čas" append-inner-icon="mdi-clock-outline" type="time" @focus="onInputFocus"
@@ -180,9 +180,11 @@ export default {
},
mounted() {
this.$events.on('memberDeleted', (filteredMembers) => {
console.log()
//this.mastertask.employees = filteredMembers
this.$events.on('master-task:team-member-deleted', ({ teamId, memberId }) => {
if (this.mastertask?.team_id != teamId)
return
this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != memberId)
}),
this.$events.on('on-mastertask-deleted', (mastertask) => {
@@ -209,6 +211,7 @@ export default {
this.$events.off('on-mastertask-deleted')
this.$events.off('on-subtask-deleted')
this.$events.off('on-subtask-edited')
this.$events.off('master-task:team-member-deleted')
},
methods: {
@@ -217,18 +220,6 @@ export default {
this.$events.emit('show-delete-team-member-modal', { member, team })
},
editDatepicker(type) {
const calendarElement = document.getElementsByClassName('dp__instance_calendar')[0]
const switchBtn = calendarElement.lastChild.querySelectorAll('.dp__button')[0]
if (!calendarElement) return
if (type == 'date') {
calendarElement.lastChild.remove()
} else if (type == 'time') {
switchBtn.click()
//calendarElement.lastChild.remove()
}
},
async showModal({mastertask, editMode = false}) {
this.editMode = null
this.visible = true
+1 -13
View File
@@ -16,7 +16,7 @@
<div class="splitted-inputs">
<!-- TODO: Bialko validacie -->
<Datepicker @open="editDatepicker('date')" v-model="subtask.deadline" @focus="onDateFocus" :min-date="new Date()" class="modal-input left" format="dd.MM.yyyy" locale="sk" select-text="Vybrať" cancel-text="Zrušiť" placeholder="Dátum"
<Datepicker v-model="subtask.deadline" :auto-apply="true" @focus="onDateFocus" :min-date="new Date()" class="modal-input left" format="dd.MM.yyyy" locale="sk" select-text="Vybrať" cancel-text="Zrušiť" placeholder="Dátum"
:class="{ error: v$.subtask.deadline.$errors?.length }" :validations="v$.subtask.deadline" />
<v-text-field class="modal-input right" variant="solo" v-model="subtask._deadline_time" label="Čas" append-inner-icon="mdi-clock-outline" type="time" @focus="onInputFocus"
@@ -207,18 +207,6 @@ export default {
this.subtask.timeblocks.splice(i, 1)
},
editDatepicker(type) {
const calendarElement = document.getElementsByClassName('dp__instance_calendar')[0]
const switchBtn = calendarElement.lastChild.querySelectorAll('.dp__button')[0]
if (!calendarElement) return
if (type == 'date') {
calendarElement.lastChild.remove()
} else if (type == 'time') {
switchBtn.click()
//calendarElement.lastChild.remove()
}
},
closeModal() {
this.visible = false
this.$router.replace({name: this.$route.name})