blob: 5a950485a5b6b343d55162319dc96440f5578d62 [file] [log] [blame]
<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>