2022-08-20 13:02:27 -04:00
|
|
|
const UserNote = {
|
|
|
|
props: {
|
|
|
|
user: Object,
|
2022-09-07 18:46:18 -04:00
|
|
|
relationship: Object,
|
|
|
|
editable: Boolean
|
2022-08-20 13:02:27 -04:00
|
|
|
},
|
|
|
|
data () {
|
|
|
|
return {
|
|
|
|
localNote: '',
|
2022-08-20 13:18:57 -04:00
|
|
|
editing: false,
|
|
|
|
frozen: false
|
2022-08-20 13:02:27 -04:00
|
|
|
}
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
shouldShow () {
|
|
|
|
return this.relationship.note || this.editing
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
startEditing () {
|
|
|
|
this.localNote = this.relationship.note
|
|
|
|
this.editing = true
|
|
|
|
},
|
|
|
|
cancelEditing () {
|
|
|
|
this.editing = false
|
|
|
|
},
|
|
|
|
finalizeEditing () {
|
2022-08-20 13:18:57 -04:00
|
|
|
this.frozen = true
|
|
|
|
|
|
|
|
this.$store.dispatch('editUserNote', {
|
|
|
|
id: this.user.id,
|
|
|
|
comment: this.localNote
|
|
|
|
})
|
|
|
|
.then(() => {
|
|
|
|
this.frozen = false
|
|
|
|
this.editing = false
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
|
|
this.frozen = false
|
|
|
|
})
|
2022-08-20 13:02:27 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default UserNote
|