summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/index.js
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2017-12-21 17:20:43 -0600
committerClement Ho <ClemMakesApps@gmail.com>2017-12-21 17:20:43 -0600
commitaa1874fbf8795677e53797205cb65b6f4fb83d4c (patch)
tree85a5cfb6bdac803258df8e2df09a50169468996a /app/assets/javascripts/ide/index.js
parent3895d54c6bfbd37ac65624496c0fd7b4973944e7 (diff)
parent82e31ee46784cc4a0b987511ce7506dd01a3f004 (diff)
downloadgitlab-ce-move-gl-dropdown.tar.gz
Merge branch 'master' into move-gl-dropdownmove-gl-dropdown
Diffstat (limited to 'app/assets/javascripts/ide/index.js')
-rw-r--r--app/assets/javascripts/ide/index.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/index.js b/app/assets/javascripts/ide/index.js
new file mode 100644
index 00000000000..a96bd339f51
--- /dev/null
+++ b/app/assets/javascripts/ide/index.js
@@ -0,0 +1,55 @@
+import Vue from 'vue';
+import { mapActions } from 'vuex';
+import { convertPermissionToBoolean } from '../lib/utils/common_utils';
+import ide from './components/ide.vue';
+
+import store from './stores';
+import router from './ide_router';
+import Translate from '../vue_shared/translate';
+import ContextualSidebar from '../contextual_sidebar';
+
+function initIde(el) {
+ if (!el) return null;
+
+ return new Vue({
+ el,
+ store,
+ router,
+ components: {
+ ide,
+ },
+ methods: {
+ ...mapActions([
+ 'setInitialData',
+ ]),
+ },
+ created() {
+ const data = el.dataset;
+
+ this.setInitialData({
+ endpoints: {
+ rootEndpoint: data.url,
+ newMergeRequestUrl: data.newMergeRequestUrl,
+ rootUrl: data.rootUrl,
+ },
+ canCommit: convertPermissionToBoolean(data.canCommit),
+ onTopOfBranch: convertPermissionToBoolean(data.onTopOfBranch),
+ path: data.currentPath,
+ isRoot: convertPermissionToBoolean(data.root),
+ isInitialRoot: convertPermissionToBoolean(data.root),
+ });
+ },
+ render(createElement) {
+ return createElement('ide');
+ },
+ });
+}
+
+const ideElement = document.getElementById('ide');
+
+Vue.use(Translate);
+
+initIde(ideElement);
+
+const contextualSidebar = new ContextualSidebar();
+contextualSidebar.bindEvents();