mirror of https://github.com/doccano/doccano.git
pythondatasetsactive-learningtext-annotationdatasetnatural-language-processingdata-labelingmachine-learningannotation-tool
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.3 KiB
99 lines
2.3 KiB
<template>
|
|
<div>
|
|
<v-timeline-item
|
|
small
|
|
>
|
|
<div class="font-weight-normal">
|
|
<strong>{{ comment.username }}</strong> @{{ comment.created_at | dateParse('YYYY-MM-DDTHH:mm:ss') | dateFormat('YYYY-MM-DD HH:mm') }}
|
|
<v-tooltip top>
|
|
<template v-slot:activator="{ on, attrs }">
|
|
<v-btn
|
|
v-if="comment.user == userId"
|
|
icon
|
|
color="green"
|
|
v-bind="attrs"
|
|
v-on="on"
|
|
@click="showEdit=true"
|
|
>
|
|
<v-icon>mdi-comment-edit-outline</v-icon>
|
|
</v-btn>
|
|
</template>
|
|
<span>Edit Comment</span>
|
|
</v-tooltip>
|
|
<v-tooltip top>
|
|
<template v-slot:activator="{ on, attrs }">
|
|
<v-btn
|
|
v-if="comment.user == userId"
|
|
icon
|
|
color="red"
|
|
v-bind="attrs"
|
|
v-on="on"
|
|
@click="$emit('delete-comment', comment)"
|
|
>
|
|
<v-icon>mdi-delete-outline</v-icon>
|
|
</v-btn>
|
|
</template>
|
|
<span>Delete Comment</span>
|
|
</v-tooltip>
|
|
</div>
|
|
<div v-if="!showEdit">
|
|
{{ comment.text }}
|
|
</div>
|
|
<div v-else>
|
|
<v-textarea
|
|
v-model="editText"
|
|
solo
|
|
/>
|
|
<div>
|
|
<v-btn
|
|
color="red"
|
|
@click="showEdit=false"
|
|
>
|
|
Close
|
|
</v-btn>
|
|
<v-btn
|
|
color="green"
|
|
@click="updateComment(editText)"
|
|
>
|
|
Update
|
|
</v-btn>
|
|
</div>
|
|
</div>
|
|
</v-timeline-item>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import Vue from 'vue'
|
|
import VueFilterDateFormat from '@vuejs-community/vue-filter-date-format'
|
|
import VueFilterDateParse from '@vuejs-community/vue-filter-date-parse'
|
|
Vue.use(VueFilterDateFormat)
|
|
Vue.use(VueFilterDateParse)
|
|
|
|
export default {
|
|
name: 'Comment',
|
|
props: {
|
|
comment: {
|
|
required: true,
|
|
type: Object
|
|
},
|
|
userId: {
|
|
required: true,
|
|
type: Number
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
showEdit: false,
|
|
editText: this.comment.text
|
|
}
|
|
},
|
|
methods: {
|
|
updateComment(newText) {
|
|
this.showEdit = false
|
|
this.$emit('update-comment', this.comment.id, newText)
|
|
}
|
|
}
|
|
}
|
|
</script>
|