summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/components/pipelines
diff options
context:
space:
mode:
authorPaul Slaughter <pslaughter@gitlab.com>2019-04-04 02:44:16 -0500
committerPaul Slaughter <pslaughter@gitlab.com>2019-04-04 10:00:44 -0500
commitbd1122ee2fd5c8083c945390a1593b2b5774d8a1 (patch)
tree99cd3ca658befdd7726da379577dcea0f40ecfcf /app/assets/javascripts/ide/components/pipelines
parent7926384ff32b9ad8833dcfffc9bb87d036c4bd21 (diff)
downloadgitlab-ce-bd1122ee2fd5c8083c945390a1593b2b5774d8a1.tar.gz
Fix vue render error for IDE status bar
**What?** A Vue warning that `ide_status_bar` sent a `Boolean` to a `String` property (`img-src). **What was the fix?** Previously, `latestPipeline` could be one of the following values: | | | |----------|--------| | `null` | The pipeline hasn't loaded yet | | `false` | The pipeline has loaded, but nothing was returned. | | `Object` | The piepline has loaded. | Giving a semantic meaning to different falsey values hurts maintainability. This commit fixes the above problem by removing the `false` value and introducing a `hasLoadedPipeline` state property.
Diffstat (limited to 'app/assets/javascripts/ide/components/pipelines')
-rw-r--r--app/assets/javascripts/ide/components/pipelines/list.vue14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/assets/javascripts/ide/components/pipelines/list.vue b/app/assets/javascripts/ide/components/pipelines/list.vue
index 451c8030e16..5ae73b2fc9c 100644
--- a/app/assets/javascripts/ide/components/pipelines/list.vue
+++ b/app/assets/javascripts/ide/components/pipelines/list.vue
@@ -24,7 +24,13 @@ export default {
...mapState(['pipelinesEmptyStateSvgPath', 'links']),
...mapGetters(['currentProject']),
...mapGetters('pipelines', ['jobsCount', 'failedJobsCount', 'failedStages', 'pipelineFailed']),
- ...mapState('pipelines', ['isLoadingPipeline', 'latestPipeline', 'stages', 'isLoadingJobs']),
+ ...mapState('pipelines', [
+ 'isLoadingPipeline',
+ 'hasLoadedPipeline',
+ 'latestPipeline',
+ 'stages',
+ 'isLoadingJobs',
+ ]),
ciLintText() {
return sprintf(
__('You can test your .gitlab-ci.yml in %{linkStart}CI Lint%{linkEnd}.'),
@@ -36,7 +42,7 @@ export default {
);
},
showLoadingIcon() {
- return this.isLoadingPipeline && this.latestPipeline === null;
+ return this.isLoadingPipeline && !this.hasLoadedPipeline;
},
},
created() {
@@ -51,7 +57,7 @@ export default {
<template>
<div class="ide-pipeline">
<gl-loading-icon v-if="showLoadingIcon" :size="2" class="prepend-top-default" />
- <template v-else-if="latestPipeline !== null">
+ <template v-else-if="hasLoadedPipeline">
<header v-if="latestPipeline" class="ide-tree-header ide-pipeline-header">
<ci-icon :status="latestPipeline.details.status" :size="24" />
<span class="prepend-left-8">
@@ -62,7 +68,7 @@ export default {
</span>
</header>
<empty-state
- v-if="latestPipeline === false"
+ v-if="!latestPipeline"
:help-page-path="links.ciHelpPagePath"
:empty-state-svg-path="pipelinesEmptyStateSvgPath"
:can-set-ci="true"