diff options
Diffstat (limited to 'app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue')
-rw-r--r-- | app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue | 54 |
1 files changed, 38 insertions, 16 deletions
diff --git a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue index cd9e464c5ac..aa59717ddcd 100644 --- a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue +++ b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue @@ -1,4 +1,7 @@ <script> +import { formatTime } from '~/lib/utils/datetime_utility'; +import { s__, n__ } from '~/locale'; + export default { props: { counts: { @@ -6,25 +9,44 @@ export default { required: true, }, }, + computed: { + totalDuration() { + return formatTime(this.counts.totalDuration); + }, + statistics() { + return [ + { + title: s__('PipelineCharts|Total:'), + value: n__('1 pipeline', '%d pipelines', this.counts.total), + }, + { + title: s__('PipelineCharts|Successful:'), + value: n__('1 pipeline', '%d pipelines', this.counts.success), + }, + { + title: s__('PipelineCharts|Failed:'), + value: n__('1 pipeline', '%d pipelines', this.counts.failed), + }, + { + title: s__('PipelineCharts|Success ratio:'), + value: `${this.counts.successRatio}%`, + }, + { + title: s__('PipelineCharts|Total duration:'), + value: this.totalDuration, + }, + ]; + }, + }, }; </script> <template> <ul> - <li> - <span>{{ s__('PipelineCharts|Total:') }}</span> - <strong>{{ n__('1 pipeline', '%d pipelines', counts.total) }}</strong> - </li> - <li> - <span>{{ s__('PipelineCharts|Successful:') }}</span> - <strong>{{ n__('1 pipeline', '%d pipelines', counts.success) }}</strong> - </li> - <li> - <span>{{ s__('PipelineCharts|Failed:') }}</span> - <strong>{{ n__('1 pipeline', '%d pipelines', counts.failed) }}</strong> - </li> - <li> - <span>{{ s__('PipelineCharts|Success ratio:') }}</span> - <strong>{{ counts.successRatio }}%</strong> - </li> + <template v-for="({ title, value }, index) in statistics"> + <li :key="index"> + <span>{{ title }}</span> + <strong>{{ value }}</strong> + </li> + </template> </ul> </template> |