diff options
Diffstat (limited to 'app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue')
-rw-r--r-- | app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue | 61 |
1 files changed, 8 insertions, 53 deletions
diff --git a/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue b/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue index 8dbab245f44..81409752621 100644 --- a/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue +++ b/app/assets/javascripts/pipelines/components/graph_shared/links_layer.vue @@ -1,5 +1,4 @@ <script> -import { GlAlert } from '@gitlab/ui'; import { isEmpty } from 'lodash'; import { __ } from '~/locale'; import { @@ -19,10 +18,8 @@ import LinksInner from './links_inner.vue'; export default { name: 'LinksLayer', components: { - GlAlert, LinksInner, }, - MAX_GROUPS: 200, props: { containerMeasurements: { type: Object, @@ -37,15 +34,16 @@ export default { required: false, default: () => ({}), }, - neverShowLinks: { + showLinks: { type: Boolean, required: false, - default: false, + default: true, }, }, data() { return { alertDismissed: false, + parsedData: {}, showLinksOverride: false, }; }, @@ -67,43 +65,15 @@ export default { shouldCollectMetrics() { return this.metricsConfig.collectMetrics && this.metricsConfig.path; }, - showAlert() { - /* - This is a hard override that allows us to turn off the links without - needing to remove the component entirely for iteration or based on graph type. - */ - if (this.neverShowLinks) { - return false; - } - - return !this.containerZero && !this.showLinkedLayers && !this.alertDismissed; - }, showLinkedLayers() { - /* - This is a hard override that allows us to turn off the links without - needing to remove the component entirely for iteration or based on graph type. - */ - if (this.neverShowLinks) { - return false; - } - - return ( - !this.containerZero && (this.showLinksOverride || this.numGroups < this.$options.MAX_GROUPS) - ); + return this.showLinks && !this.containerZero; }, }, errorCaptured(err, _vm, info) { reportToSentry(this.$options.name, `error: ${err}, info: ${info}`); }, mounted() { - /* - This is code to get metrics for the graph (to observe links performance). - It is currently here because we want values for links without drawing them. - It can be removed when https://gitlab.com/gitlab-org/gitlab/-/issues/298930 - is closed and functionality is enabled by default. - */ - - if (this.neverShowLinks && !isEmpty(this.pipelineData)) { + if (!isEmpty(this.pipelineData)) { window.requestAnimationFrame(() => { this.prepareLinkData(); }); @@ -151,19 +121,13 @@ export default { reportPerformance(this.metricsConfig.path, data); }); }, - dismissAlert() { - this.alertDismissed = true; - }, - overrideShowLinks() { - this.dismissAlert(); - this.showLinksOverride = true; - }, prepareLinkData() { this.beginPerfMeasure(); let numLinks; try { const arrayOfJobs = this.pipelineData.flatMap(({ groups }) => groups); - numLinks = parseData(arrayOfJobs).links.length; + this.parsedData = parseData(arrayOfJobs); + numLinks = this.parsedData.links.length; } catch (err) { reportToSentry(this.$options.name, err); } @@ -176,24 +140,15 @@ export default { <links-inner v-if="showLinkedLayers" :container-measurements="containerMeasurements" + :parsed-data="parsedData" :pipeline-data="pipelineData" :total-groups="numGroups" - :metrics-config="metricsConfig" v-bind="$attrs" v-on="$listeners" > <slot></slot> </links-inner> <div v-else> - <gl-alert - v-if="showAlert" - class="gl-ml-4 gl-mb-4" - :primary-button-text="$options.i18n.showLinksAnyways" - @primaryAction="overrideShowLinks" - @dismiss="dismissAlert" - > - {{ $options.i18n.tooManyJobs }} - </gl-alert> <div class="gl-display-flex gl-relative"> <slot></slot> </div> |