diff options
Diffstat (limited to 'app/assets/javascripts/pipeline_editor/index.js')
-rw-r--r-- | app/assets/javascripts/pipeline_editor/index.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/pipeline_editor/index.js b/app/assets/javascripts/pipeline_editor/index.js new file mode 100644 index 00000000000..ccd7b74064f --- /dev/null +++ b/app/assets/javascripts/pipeline_editor/index.js @@ -0,0 +1,34 @@ +import Vue from 'vue'; + +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import typeDefs from './graphql/typedefs.graphql'; +import { resolvers } from './graphql/resolvers'; + +import PipelineEditorApp from './pipeline_editor_app.vue'; + +export const initPipelineEditor = (selector = '#js-pipeline-editor') => { + const el = document.querySelector(selector); + + const { projectPath, defaultBranch, ciConfigPath } = el?.dataset; + + Vue.use(VueApollo); + + const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(resolvers, { typeDefs }), + }); + + return new Vue({ + el, + apolloProvider, + render(h) { + return h(PipelineEditorApp, { + props: { + projectPath, + defaultBranch, + ciConfigPath, + }, + }); + }, + }); +}; |