diff options
Diffstat (limited to 'app/assets/javascripts/work_items/components/work_item_links/index.js')
-rw-r--r-- | app/assets/javascripts/work_items/components/work_item_links/index.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/assets/javascripts/work_items/components/work_item_links/index.js b/app/assets/javascripts/work_items/components/work_item_links/index.js new file mode 100644 index 00000000000..320a4a213e3 --- /dev/null +++ b/app/assets/javascripts/work_items/components/work_item_links/index.js @@ -0,0 +1,37 @@ +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import WorkItemLinks from './work_item_links.vue'; + +Vue.use(VueApollo); + +const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(), +}); + +export default function initWorkItemLinks() { + if (!window.gon.features.workItemsHierarchy) { + return; + } + + const workItemLinksRoot = document.querySelector('.js-work-item-links-root'); + + if (!workItemLinksRoot) { + return; + } + // eslint-disable-next-line no-new + new Vue({ + el: workItemLinksRoot, + name: 'WorkItemLinksRoot', + apolloProvider, + components: { + workItemLinks: WorkItemLinks, + }, + render: (createElement) => + createElement('work-item-links', { + props: { + issuableId: parseInt(workItemLinksRoot.dataset.issuableId, 10), + }, + }), + }); +} |