| <template> |
| <div> |
| <div v-if="eventLogData.length == 0"> |
| {{ $t('pageOverview.events.noHighEventsMsg') }} |
| </div> |
| <div v-else> |
| <b-button variant="link" to="/health/event-logs" class="float-right"> |
| {{ $t('pageOverview.events.viewAllButton') }} |
| </b-button> |
| <b-table |
| per-page="5" |
| sort-by="date" |
| sort-desc |
| stacked="sm" |
| :items="eventLogData" |
| :fields="fields" |
| > |
| <template v-slot:cell(severity)="{ value }"> |
| <status-icon status="danger" /> |
| {{ value }} |
| </template> |
| <template v-slot:cell(date)="{ value }"> |
| {{ value | formatDate }} {{ value | formatTime }} |
| </template> |
| </b-table> |
| </div> |
| </div> |
| </template> |
| |
| <script> |
| import StatusIcon from '@/components/Global/StatusIcon'; |
| |
| export default { |
| name: 'Events', |
| components: { StatusIcon }, |
| data() { |
| return { |
| fields: [ |
| { |
| key: 'id', |
| label: this.$t('pageOverview.events.id') |
| }, |
| { |
| key: 'severity', |
| label: this.$t('pageOverview.events.severity') |
| }, |
| { |
| key: 'type', |
| label: this.$t('pageOverview.events.type') |
| }, |
| { |
| key: 'date', |
| label: this.$t('pageOverview.events.date') |
| }, |
| { |
| key: 'description', |
| label: this.$t('pageOverview.events.description') |
| } |
| ] |
| }; |
| }, |
| computed: { |
| eventLogData() { |
| return this.$store.getters['eventLog/highPriorityEvents']; |
| } |
| }, |
| created() { |
| this.$store.dispatch('eventLog/getEventLogData').finally(() => { |
| this.$root.$emit('overview::events::complete'); |
| }); |
| } |
| }; |
| </script> |