summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_status_icon.js
blob: eeb990908f67e48cc45cb2ef842ee657de9ac747 (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
import ciIcon from '../../vue_shared/components/ci_icon.vue';
import loadingIcon from '../../vue_shared/components/loading_icon.vue';

export default {
  props: {
    status: { type: String, required: true },
    showDisabledButton: { type: Boolean, required: false },
  },
  components: {
    ciIcon,
    loadingIcon,
  },
  computed: {
    statusObj() {
      return {
        group: this.status,
        icon: `status_${this.status}`,
      };
    },
  },
  template: `
    <div class="space-children flex-container-block append-right-10">
      <div v-if="status === 'loading'" class="mr-widget-icon">
        <loading-icon />
      </div>
      <ci-icon v-else :status="statusObj" />
      <button
        v-if="showDisabledButton"
        type="button"
        class="js-disabled-merge-button btn btn-success btn-sm"
        disabled="true">
        Merge
      </button>
    </div>
  `,
};