diff options
Diffstat (limited to 'app/assets/javascripts/pipelines/pipeline_details_failed_jobs.js')
-rw-r--r-- | app/assets/javascripts/pipelines/pipeline_details_failed_jobs.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/assets/javascripts/pipelines/pipeline_details_failed_jobs.js b/app/assets/javascripts/pipelines/pipeline_details_failed_jobs.js new file mode 100644 index 00000000000..7bf3b64bf47 --- /dev/null +++ b/app/assets/javascripts/pipelines/pipeline_details_failed_jobs.js @@ -0,0 +1,36 @@ +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import FailedJobsApp from './components/jobs/failed_jobs_app.vue'; + +Vue.use(VueApollo); + +const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(), +}); + +export const createPipelineFailedJobsApp = (selector) => { + const containerEl = document.querySelector(selector); + + if (!containerEl) { + return false; + } + + const { fullPath, pipelineIid, failedJobsSummaryData } = containerEl.dataset; + + return new Vue({ + el: containerEl, + apolloProvider, + provide: { + fullPath, + pipelineIid, + }, + render(createElement) { + return createElement(FailedJobsApp, { + props: { + failedJobsSummary: JSON.parse(failedJobsSummaryData), + }, + }); + }, + }); +}; |