diff options
Diffstat (limited to 'app/assets/javascripts/jobs/components/table/index.js')
-rw-r--r-- | app/assets/javascripts/jobs/components/table/index.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/assets/javascripts/jobs/components/table/index.js b/app/assets/javascripts/jobs/components/table/index.js new file mode 100644 index 00000000000..b6b3bb6d379 --- /dev/null +++ b/app/assets/javascripts/jobs/components/table/index.js @@ -0,0 +1,33 @@ +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import JobsTableApp from '~/jobs/components/table/jobs_table_app.vue'; +import createDefaultClient from '~/lib/graphql'; + +Vue.use(VueApollo); + +const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(), +}); + +export default (containerId = 'js-jobs-table') => { + const containerEl = document.getElementById(containerId); + + if (!containerEl) { + return false; + } + + const { fullPath, jobCounts, jobStatuses } = containerEl.dataset; + + return new Vue({ + el: containerEl, + apolloProvider, + provide: { + fullPath, + jobStatuses: JSON.parse(jobStatuses), + jobCounts: JSON.parse(jobCounts), + }, + render(createElement) { + return createElement(JobsTableApp); + }, + }); +}; |