diff --git a/client-nuxt/pages/analysis.vue b/client-nuxt/pages/analysis.vue index fad79036bad38b6c4e328a4f863d28a002003fca..f1f763e802422f5ddf6be2457c9e084393bdfee1 100644 --- a/client-nuxt/pages/analysis.vue +++ b/client-nuxt/pages/analysis.vue @@ -4,33 +4,37 @@ :analysis="sanitizedAnalysis" :headers="headers" :sort-by="['id']" + :loading="$fetchState.pending" title="Analysis" @go-to-item="goToAnalysis" ></generic-table> + <v-card-text> + <error-alert v-if="error" :error-message="error"></error-alert> + </v-card-text> </v-card> </template> <script> -import GenericTable from '../components/GenericTable.vue' +import GenericTable from '@/components/GenericTable.vue' +import ErrorAlert from '@/components/ErrorAlert' + export default { - components: { GenericTable }, - async asyncData({ $axios }) { + components: { + GenericTable, + ErrorAlert, + }, + async fetch() { try { - const analysis = await $axios.$get(`/api/analysis/`) - return { - analysis, - } + this.analysis = await this.$axios.$get(`/api/analysis/`) } catch (error) { - if (error.response.status === 403) { - return [] - } else { - throw error - } + this.error = error } }, + data() { return { analysis: [], + error: null, search: '', headers: [ { text: 'Id', value: 'id' }, @@ -54,6 +58,9 @@ export default { })) }, }, + mounted() { + this.$fetch() + }, methods: { goToAnalysis(ev) { const {