summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue')
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue b/app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue
new file mode 100644
index 00000000000..730e67761be
--- /dev/null
+++ b/app/assets/javascripts/vue_merge_request_widget/components/artifacts_list_app.vue
@@ -0,0 +1,36 @@
+<script>
+import { mapActions, mapState, mapGetters } from 'vuex';
+import ArtifactsList from './artifacts_list.vue';
+import MrCollapsibleExtension from './mr_collapsible_extension.vue';
+import createStore from '../stores/artifacts_list';
+
+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>