summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pipelines/pipeline_details_bundle.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pipelines/pipeline_details_bundle.js')
-rw-r--r--app/assets/javascripts/pipelines/pipeline_details_bundle.js97
1 files changed, 17 insertions, 80 deletions
diff --git a/app/assets/javascripts/pipelines/pipeline_details_bundle.js b/app/assets/javascripts/pipelines/pipeline_details_bundle.js
index 133608b9801..5ee5b45aac9 100644
--- a/app/assets/javascripts/pipelines/pipeline_details_bundle.js
+++ b/app/assets/javascripts/pipelines/pipeline_details_bundle.js
@@ -2,12 +2,9 @@ import Vue from 'vue';
import { deprecatedCreateFlash as Flash } from '~/flash';
import Translate from '~/vue_shared/translate';
import { __ } from '~/locale';
-import { setUrlFragment, redirectTo } from '~/lib/utils/url_utility';
import PipelineGraphLegacy from './components/graph/graph_component_legacy.vue';
import createDagApp from './pipeline_details_dag';
import GraphBundleMixin from './mixins/graph_pipeline_bundle_mixin';
-import legacyPipelineHeader from './components/legacy_header_component.vue';
-import eventHub from './event_hub';
import TestReports from './components/test_reports/test_reports.vue';
import createTestReportsStore from './stores/test_reports';
import { reportToSentry } from './components/graph/utils';
@@ -59,58 +56,6 @@ const createLegacyPipelinesDetailApp = (mediator) => {
});
};
-const createLegacyPipelineHeaderApp = (mediator) => {
- if (!document.querySelector(SELECTORS.PIPELINE_HEADER)) {
- return;
- }
- // eslint-disable-next-line no-new
- new Vue({
- el: SELECTORS.PIPELINE_HEADER,
- components: {
- legacyPipelineHeader,
- },
- data() {
- return {
- mediator,
- };
- },
- created() {
- eventHub.$on('headerPostAction', this.postAction);
- eventHub.$on('headerDeleteAction', this.deleteAction);
- },
- beforeDestroy() {
- eventHub.$off('headerPostAction', this.postAction);
- eventHub.$off('headerDeleteAction', this.deleteAction);
- },
- errorCaptured(err, _vm, info) {
- reportToSentry('pipeline_details_bundle_legacy', `error: ${err}, info: ${info}`);
- },
- methods: {
- postAction(path) {
- this.mediator.service
- .postAction(path)
- .then(() => this.mediator.refreshPipeline())
- .catch(() => Flash(__('An error occurred while making the request.')));
- },
- deleteAction(path) {
- this.mediator.stopPipelinePoll();
- this.mediator.service
- .deleteAction(path)
- .then(({ request }) => redirectTo(setUrlFragment(request.responseURL, 'delete_success')))
- .catch(() => Flash(__('An error occurred while deleting the pipeline.')));
- },
- },
- render(createElement) {
- return createElement('legacy-pipeline-header', {
- props: {
- isLoading: this.mediator.state.isLoading,
- pipeline: this.mediator.store.state.pipeline,
- },
- });
- },
- });
-};
-
const createTestDetails = () => {
const el = document.querySelector(SELECTORS.PIPELINE_TESTS);
const { summaryEndpoint, suiteEndpoint } = el?.dataset || {};
@@ -136,22 +81,12 @@ export default async function () {
createTestDetails();
createDagApp();
- const { dataset } = document.querySelector(SELECTORS.PIPELINE_DETAILS);
- let mediator;
+ const canShowNewPipelineDetails =
+ gon.features.graphqlPipelineDetails || gon.features.graphqlPipelineDetailsUsers;
- if (!gon.features.graphqlPipelineHeader || !gon.features.graphqlPipelineDetails) {
- try {
- const { default: PipelinesMediator } = await import(
- /* webpackChunkName: 'PipelinesMediator' */ './pipeline_details_mediator'
- );
- mediator = new PipelinesMediator({ endpoint: dataset.endpoint });
- mediator.fetchPipeline();
- } catch {
- Flash(__('An error occurred while loading the pipeline.'));
- }
- }
+ const { dataset } = document.querySelector(SELECTORS.PIPELINE_DETAILS);
- if (gon.features.graphqlPipelineDetails) {
+ if (canShowNewPipelineDetails) {
try {
const { createPipelinesDetailApp } = await import(
/* webpackChunkName: 'createPipelinesDetailApp' */ './pipeline_details_graph'
@@ -163,19 +98,21 @@ export default async function () {
Flash(__('An error occurred while loading the pipeline.'));
}
} else {
+ const { default: PipelinesMediator } = await import(
+ /* webpackChunkName: 'PipelinesMediator' */ './pipeline_details_mediator'
+ );
+ const mediator = new PipelinesMediator({ endpoint: dataset.endpoint });
+ mediator.fetchPipeline();
+
createLegacyPipelinesDetailApp(mediator);
}
- if (gon.features.graphqlPipelineHeader) {
- try {
- const { createPipelineHeaderApp } = await import(
- /* webpackChunkName: 'createPipelineHeaderApp' */ './pipeline_details_header'
- );
- createPipelineHeaderApp(SELECTORS.PIPELINE_HEADER);
- } catch {
- Flash(__('An error occurred while loading a section of this page.'));
- }
- } else {
- createLegacyPipelineHeaderApp(mediator);
+ try {
+ const { createPipelineHeaderApp } = await import(
+ /* webpackChunkName: 'createPipelineHeaderApp' */ './pipeline_details_header'
+ );
+ createPipelineHeaderApp(SELECTORS.PIPELINE_HEADER);
+ } catch {
+ Flash(__('An error occurred while loading a section of this page.'));
}
}