summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/monitoring/components/graph/deployment.vue
blob: bee9784692cc3162209c548a38bbad8ce7d30c15 (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
<script>
export default {
  props: {
    deploymentData: {
      type: Array,
      required: true,
    },
    graphHeight: {
      type: Number,
      required: true,
    },
    graphHeightOffset: {
      type: Number,
      required: true,
    },
  },
  computed: {
    calculatedHeight() {
      return this.graphHeight - this.graphHeightOffset;
    },
  },
  methods: {
    transformDeploymentGroup(deployment) {
      return `translate(${Math.floor(deployment.xPos) - 5}, 20)`;
    },
  },
};
</script>
<template>
  <g class="deploy-info">
    <g
      v-for="(deployment, index) in deploymentData"
      :key="index"
      :transform="transformDeploymentGroup(deployment)"
    >
      <rect :height="calculatedHeight" x="0" y="0" width="3" fill="url(#shadow-gradient)" />
      <line :y2="calculatedHeight" class="deployment-line" x1="0" y1="0" x2="0" stroke="#000" />
    </g>
    <svg height="0" width="0">
      <defs>
        <linearGradient id="shadow-gradient">
          <stop offset="0%" stop-color="#000" stop-opacity="0.4" />
          <stop offset="100%" stop-color="#000" stop-opacity="0" />
        </linearGradient>
      </defs>
    </svg>
  </g>
</template>