diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
commit | f64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch) | |
tree | a2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /app/assets/javascripts/projects/commit_box/info | |
parent | bfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (diff) |
Add latest changes from gitlab-org/gitlab@13-10-stable-eev13.10.0-rc40
Diffstat (limited to 'app/assets/javascripts/projects/commit_box/info')
-rw-r--r-- | app/assets/javascripts/projects/commit_box/info/index.js | 14 | ||||
-rw-r--r-- | app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js | 26 |
2 files changed, 36 insertions, 4 deletions
diff --git a/app/assets/javascripts/projects/commit_box/info/index.js b/app/assets/javascripts/projects/commit_box/info/index.js index 4bbdb5c2357..17c63ecf66b 100644 --- a/app/assets/javascripts/projects/commit_box/info/index.js +++ b/app/assets/javascripts/projects/commit_box/info/index.js @@ -1,5 +1,6 @@ import { fetchCommitMergeRequests } from '~/commit_merge_requests'; import MiniPipelineGraph from '~/mini_pipeline_graph_dropdown'; +import { initCommitPipelineMiniGraph } from './init_commit_pipeline_mini_graph'; import { initDetailsButton } from './init_details_button'; import { loadBranches } from './load_branches'; @@ -12,10 +13,15 @@ export const initCommitBoxInfo = (containerSelector = '.js-commit-box-info') => // Related merge requests to this commit fetchCommitMergeRequests(); - // Display pipeline info for this commit - new MiniPipelineGraph({ - container: '.js-commit-pipeline-graph', - }).bindEvents(); + // Display pipeline mini graph for this commit + // Feature flag ci_commit_pipeline_mini_graph_vue + if (gon.features.ciCommitPipelineMiniGraphVue) { + initCommitPipelineMiniGraph(); + } else { + new MiniPipelineGraph({ + container: '.js-commit-pipeline-graph', + }).bindEvents(); + } initDetailsButton(); }; diff --git a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js new file mode 100644 index 00000000000..9173f5c771f --- /dev/null +++ b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js @@ -0,0 +1,26 @@ +import Vue from 'vue'; + +export const initCommitPipelineMiniGraph = async (selector = '.js-commit-pipeline-mini-graph') => { + const el = document.querySelector(selector); + if (!el) { + return; + } + + // Some commits have no pipeline, code splitting to load the pipeline optionally + const { stages } = el.dataset; + const { default: PipelineMiniGraph } = await import( + /* webpackChunkName: 'pipelineMiniGraph' */ '~/pipelines/components/pipelines_list/pipeline_mini_graph.vue' + ); + + // eslint-disable-next-line no-new + new Vue({ + el, + render(createElement) { + return createElement(PipelineMiniGraph, { + props: { + stages: JSON.parse(stages), + }, + }); + }, + }); +}; |