diff options
Diffstat (limited to 'app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js')
-rw-r--r-- | app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js | 26 |
1 files changed, 26 insertions, 0 deletions
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), + }, + }); + }, + }); +}; |