summaryrefslogtreecommitdiff
path: root/app/assets
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-06 09:06:23 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-06 09:06:23 +0000
commitd15180e00b209d0fbe3d8ce61b3af269aecdf7f5 (patch)
treee24bcc044a3e471811b91ade8a23120a27210c3f /app/assets
parent505c40d537244b35807129ade0c577f752e9d564 (diff)
downloadgitlab-ce-d15180e00b209d0fbe3d8ce61b3af269aecdf7f5.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/ide/components/preview/clientside.vue3
-rw-r--r--app/assets/javascripts/ide/stores/index.js2
-rw-r--r--app/assets/javascripts/ide/stores/modules/clientside/actions.js12
-rw-r--r--app/assets/javascripts/ide/stores/modules/clientside/index.js6
4 files changed, 23 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/components/preview/clientside.vue b/app/assets/javascripts/ide/components/preview/clientside.vue
index 6999746f115..beb179d0411 100644
--- a/app/assets/javascripts/ide/components/preview/clientside.vue
+++ b/app/assets/javascripts/ide/components/preview/clientside.vue
@@ -92,6 +92,7 @@ export default {
},
methods: {
...mapActions(['getFileData', 'getRawFileData']),
+ ...mapActions('clientside', ['pingUsage']),
loadFileContent(path) {
return this.getFileData({ path, makeFileActive: false }).then(() =>
this.getRawFileData({ path }),
@@ -100,6 +101,8 @@ export default {
initPreview() {
if (!this.mainEntry) return null;
+ this.pingUsage();
+
return this.loadFileContent(this.mainEntry)
.then(() => this.$nextTick())
.then(() => {
diff --git a/app/assets/javascripts/ide/stores/index.js b/app/assets/javascripts/ide/stores/index.js
index f1f544b52b2..85550578e94 100644
--- a/app/assets/javascripts/ide/stores/index.js
+++ b/app/assets/javascripts/ide/stores/index.js
@@ -10,6 +10,7 @@ import mergeRequests from './modules/merge_requests';
import branches from './modules/branches';
import fileTemplates from './modules/file_templates';
import paneModule from './modules/pane';
+import clientsideModule from './modules/clientside';
Vue.use(Vuex);
@@ -26,6 +27,7 @@ export const createStore = () =>
branches,
fileTemplates: fileTemplates(),
rightPane: paneModule(),
+ clientside: clientsideModule(),
},
});
diff --git a/app/assets/javascripts/ide/stores/modules/clientside/actions.js b/app/assets/javascripts/ide/stores/modules/clientside/actions.js
new file mode 100644
index 00000000000..eb3bcdff2ae
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/clientside/actions.js
@@ -0,0 +1,12 @@
+import axios from '~/lib/utils/axios_utils';
+
+export const pingUsage = ({ rootGetters }) => {
+ const { web_url: projectUrl } = rootGetters.currentProject;
+
+ const url = `${projectUrl}/usage_ping/web_ide_clientside_preview`;
+
+ return axios.post(url);
+};
+
+// prevent babel-plugin-rewire from generating an invalid default during karma tests
+export default () => {};
diff --git a/app/assets/javascripts/ide/stores/modules/clientside/index.js b/app/assets/javascripts/ide/stores/modules/clientside/index.js
new file mode 100644
index 00000000000..b28f7b935a8
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/clientside/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+
+export default () => ({
+ namespaced: true,
+ actions,
+});