scinote-web/app/javascript/vue/shared/datatable/renderers/comments.vue

50 lines
1.3 KiB
Vue
Raw Normal View History

2023-12-12 19:17:38 +08:00
<template>
<div v-if="params.data.comments">
<span v-if="!params.data.permissions.create_comments && params.data.comments.count === 0">0</span>
<a v-else
href="#"
class="open-comments-sidebar" tabindex=0 :id="'comment-count-' + params.data.id"
:data-object-type="objectType" :data-object-id="params.data.id">
<template v-if="params.data.comments.count > 0">
{{ params.data.comments.count }}
</template>
<template v-else>
+
</template>
<span v-if="params.data.comments.count_unseen > 0"
2024-03-01 16:48:25 +08:00
class="unseen-comments inline-flex align-super text-xs rounded-[0.875rem] px-1 bg-sn-science-blue text-sn-white h-4 items-center justify-center">
{{params.data.comments.count_unseen }}
</span>
</a>
</div>
2023-12-12 19:17:38 +08:00
</template>
<script>
export default {
name: 'CommentsRenderer',
props: {
params: {
required: true
}
},
computed: {
objectType() {
switch (this.params.data.type) {
case 'my_modules':
return 'MyModule';
case 'projects':
return 'Project';
default:
return '';
}
}
},
2023-12-12 19:17:38 +08:00
methods: {
openModal() {
this.params.dtComponent.$emit('openComments', null, [this.params.data]);
}
}
};
</script>