summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue
blob: ebf42fa0be0731c9c62c45cf6caecfbc59c2c500 (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
<script>
import { mapActions, mapState, mapGetters } from 'vuex';
import createStore from '../stores/artifacts_list';
import ArtifactsList from './artifacts_list.vue';
import MrCollapsibleExtension from './mr_collapsible_extension.vue';

export default {
  store: createStore(),
  components: {
    ArtifactsList,
    MrCollapsibleExtension,
  },
  props: {
    endpoint: {
      type: String,
      required: true,
    },
  },
  computed: {
    ...mapState(['artifacts', 'isLoading', 'hasError']),
    ...mapGetters(['title']),
  },
  created() {
    this.setEndpoint(this.endpoint);
    this.fetchArtifacts();
  },
  methods: {
    ...mapActions(['setEndpoint', 'fetchArtifacts']),
  },
};
</script>
<template>
  <mr-collapsible-extension :title="title" :is-loading="isLoading" :has-error="hasError">
    <artifacts-list :artifacts="artifacts" />
  </mr-collapsible-extension>
</template>