<template>
  <div>
    <b-button
      variant="link"
      to="/health/event-logs"
      data-test-id="overviewEvents-button-eventLogs"
      class="float-md-right"
    >
      {{ $t('pageOverview.events.viewAllButton') }}
    </b-button>
    <b-table
      per-page="5"
      sort-by="date"
      sort-desc
      responsive="md"
      show-empty
      :items="eventLogData"
      :fields="fields"
      :empty-text="$t('pageOverview.events.noHighEventsMsg')"
    >
      <template v-slot:cell(severity)="{ value }">
        <status-icon status="danger" />
        {{ value }}
      </template>
      <template v-slot:cell(date)="{ value }">
        <p class="mb-0">{{ value | formatDate }}</p>
        <p class="mb-0">{{ value | formatTime }}</p>
      </template>
    </b-table>
  </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>
