diff options
Diffstat (limited to 'app/assets/javascripts/projects/storage_counter/index.js')
-rw-r--r-- | app/assets/javascripts/projects/storage_counter/index.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/assets/javascripts/projects/storage_counter/index.js b/app/assets/javascripts/projects/storage_counter/index.js new file mode 100644 index 00000000000..10668f08402 --- /dev/null +++ b/app/assets/javascripts/projects/storage_counter/index.js @@ -0,0 +1,51 @@ +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import createDefaultClient from '~/lib/graphql'; +import StorageCounterApp from './components/app.vue'; + +Vue.use(VueApollo); + +export default (containerId = 'js-project-storage-count-app') => { + const el = document.getElementById(containerId); + + if (!el) { + return false; + } + + const { + projectPath, + usageQuotasHelpPagePath, + buildArtifactsHelpPagePath, + lfsObjectsHelpPagePath, + packagesHelpPagePath, + repositoryHelpPagePath, + snippetsHelpPagePath, + uploadsHelpPagePath, + wikiHelpPagePath, + } = el.dataset; + + const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient({}, { assumeImmutableResults: true }), + }); + + return new Vue({ + el, + apolloProvider, + provide: { + projectPath, + helpLinks: { + usageQuotasHelpPagePath, + buildArtifactsHelpPagePath, + lfsObjectsHelpPagePath, + packagesHelpPagePath, + repositoryHelpPagePath, + snippetsHelpPagePath, + uploadsHelpPagePath, + wikiHelpPagePath, + }, + }, + render(createElement) { + return createElement(StorageCounterApp); + }, + }); +}; |