mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
[Bugfix] Remove team member from master-task modal
This commit is contained in:
1 parent
fcd8199d86
commit
7dfac0f155
4 files changed
+15
-58
No files matched your search
@@ -15,11 +15,6 @@
|
|||||||
.modal-input
|
.modal-input
|
||||||
width: 100% !important
|
width: 100% !important
|
||||||
flex: 0 0 auto
|
flex: 0 0 auto
|
||||||
min-height: 60px
|
|
||||||
|
|
||||||
input,
|
|
||||||
.v-field
|
|
||||||
min-height: 60px
|
|
||||||
|
|
||||||
.modal-content
|
.modal-content
|
||||||
flex: 1 1 100%
|
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-text>{{ member.name + ' ' + member.surname }} bude odstránený/á z teamu.</v-card-text>
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<v-btn
|
<v-btn
|
||||||
class="button primary"
|
class="button secondary"
|
||||||
variant="text"
|
variant="text"
|
||||||
@click="closeModal()"
|
@click="closeModal()"
|
||||||
>
|
>
|
||||||
@@ -34,18 +34,14 @@ export default {
|
|||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
member: null,
|
member: null,
|
||||||
allMembers: null,
|
|
||||||
teamId: null,
|
|
||||||
team: null
|
team: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
async showModal({ member, team }) {
|
async showModal({ member, team }) {
|
||||||
this.member = member
|
this.member = member
|
||||||
this.allMembers = team.employees
|
this.team = team
|
||||||
this.teamId = team.id
|
|
||||||
this.team = team
|
|
||||||
this.visible = true
|
this.visible = true
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -53,32 +49,19 @@ export default {
|
|||||||
this.visible = false
|
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() {
|
async deleteMember() {
|
||||||
const filteredMembers = this.allMembers.filter(obj => obj !== this.member)
|
this.team.employees = [...this.team.employees].filter(employee => employee.id !== this.member.id)
|
||||||
this.team.employees = filteredMembers
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (this.teamId) {
|
if (this.team.id) {
|
||||||
const { team } = await this.$axios.put_auth(`v1/teams/${this.teamId}`, this.team)
|
const { team } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team)
|
||||||
this.$store.commit('tm/update_team', team)
|
this.$store.commit('tm/update_team', team)
|
||||||
} else {
|
} else {
|
||||||
const { team } = await this.$axios.post_auth(`v1/teams`, this.team)
|
const { team } = await this.$axios.post_auth(`v1/teams`, this.team)
|
||||||
this.$store.commit('tm/save_team', 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()
|
this.closeModal()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$toast.error(error)
|
this.$toast.error(error)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
<div class="splitted-inputs">
|
<div class="splitted-inputs">
|
||||||
<!-- TODO: Bialko validacie -->
|
<!-- 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" />
|
: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"
|
<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() {
|
mounted() {
|
||||||
this.$events.on('memberDeleted', (filteredMembers) => {
|
this.$events.on('master-task:team-member-deleted', ({ teamId, memberId }) => {
|
||||||
console.log()
|
if (this.mastertask?.team_id != teamId)
|
||||||
//this.mastertask.employees = filteredMembers
|
return
|
||||||
|
|
||||||
|
this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != memberId)
|
||||||
}),
|
}),
|
||||||
|
|
||||||
this.$events.on('on-mastertask-deleted', (mastertask) => {
|
this.$events.on('on-mastertask-deleted', (mastertask) => {
|
||||||
@@ -209,6 +211,7 @@ export default {
|
|||||||
this.$events.off('on-mastertask-deleted')
|
this.$events.off('on-mastertask-deleted')
|
||||||
this.$events.off('on-subtask-deleted')
|
this.$events.off('on-subtask-deleted')
|
||||||
this.$events.off('on-subtask-edited')
|
this.$events.off('on-subtask-edited')
|
||||||
|
this.$events.off('master-task:team-member-deleted')
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
@@ -217,18 +220,6 @@ export default {
|
|||||||
this.$events.emit('show-delete-team-member-modal', { member, team })
|
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}) {
|
async showModal({mastertask, editMode = false}) {
|
||||||
this.editMode = null
|
this.editMode = null
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<div class="splitted-inputs">
|
<div class="splitted-inputs">
|
||||||
<!-- TODO: Bialko validacie -->
|
<!-- 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" />
|
: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"
|
<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)
|
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() {
|
closeModal() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
this.$router.replace({name: this.$route.name})
|
this.$router.replace({name: this.$route.name})
|
||||||
|
|||||||
Reference in new issue
Block a user