summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/environments/environment_details/deployments_table.vue
blob: 41570ee44c03346b09867518bbd5d48d109d3c7e (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<script>
import { GlTableLite } from '@gitlab/ui';
import Commit from '~/vue_shared/components/commit.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import DeploymentStatusLink from './components/deployment_status_link.vue';
import DeploymentJob from './components/deployment_job.vue';
import DeploymentTriggerer from './components/deployment_triggerer.vue';
import { ENVIRONMENT_DETAILS_TABLE_FIELDS } from './constants';

export default {
  components: {
    DeploymentTriggerer,
    DeploymentJob,
    Commit,
    TimeAgoTooltip,
    DeploymentStatusLink,
    GlTableLite,
  },
  props: {
    deployments: {
      type: Array,
      required: true,
    },
  },
  tableFields: ENVIRONMENT_DETAILS_TABLE_FIELDS,
};
</script>
<template>
  <gl-table-lite :items="deployments" :fields="$options.tableFields" fixed stacked="lg">
    <template #table-colgroup="{ fields }">
      <col v-for="field in fields" :key="field.key" :class="field.columnClass" />
    </template>
    <template #cell(status)="{ item }">
      <deployment-status-link :deployment-job="item.job" :status="item.status" />
    </template>
    <template #cell(id)="{ item }">
      <strong>{{ item.id }}</strong>
    </template>
    <template #cell(triggerer)="{ item }">
      <deployment-triggerer :triggerer="item.triggerer" />
    </template>
    <template #cell(commit)="{ item }">
      <commit v-bind="item.commit" />
    </template>
    <template #cell(job)="{ item }">
      <deployment-job :job="item.job" />
    </template>
    <template #cell(created)="{ item }">
      <time-ago-tooltip :time="item.created" />
    </template>
    <template #cell(deployed)="{ item }">
      <time-ago-tooltip :time="item.deployed" />
    </template>
  </gl-table-lite>
</template>