summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/alert_management/components/system_notes/system_note.vue
blob: 9042d51aecf390f5ef3a0cdd549f7f2d28293f81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script>
import NoteHeader from '~/notes/components/note_header.vue';
import { spriteIcon } from '~/lib/utils/common_utils';

export default {
  components: {
    NoteHeader,
  },
  props: {
    note: {
      type: Object,
      required: true,
    },
  },
  computed: {
    noteAnchorId() {
      return `note_${this.note?.id?.split('/').pop()}`;
    },
    noteAuthor() {
      const {
        author,
        author: { id },
      } = this.note;
      return { ...author, id: id?.split('/').pop() };
    },
    iconHtml() {
      return spriteIcon('user');
    },
  },
};
</script>

<template>
  <li :id="noteAnchorId" class="timeline-entry note system-note note-wrapper">
    <div class="timeline-entry-inner">
      <div class="timeline-icon" v-html="iconHtml"></div>
      <div class="timeline-content">
        <div class="note-header">
          <note-header :author="noteAuthor" :created-at="note.createdAt" :note-id="note.id">
            <span v-html="note.bodyHtml"></span>
          </note-header>
        </div>
      </div>
    </div>
  </li>
</template>