summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/tracking.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-27 09:06:29 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-27 09:06:29 +0000
commitc02f53288a838166a28518983fae3b80ca5936d8 (patch)
treecd8af90618ac55809e7782bad09246874876f7c2 /app/assets/javascripts/tracking.js
parent688e33953d34ab8cd348d02ce79d8fdfe5353a03 (diff)
downloadgitlab-ce-c02f53288a838166a28518983fae3b80ca5936d8.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/tracking.js')
-rw-r--r--app/assets/javascripts/tracking.js27
1 files changed, 16 insertions, 11 deletions
diff --git a/app/assets/javascripts/tracking.js b/app/assets/javascripts/tracking.js
index 7c0097fbe37..a17b8a047c0 100644
--- a/app/assets/javascripts/tracking.js
+++ b/app/assets/javascripts/tracking.js
@@ -73,20 +73,25 @@ export default class Tracking {
return handlers;
}
- static mixin(opts) {
+ static mixin(opts = {}) {
return {
- data() {
- return {
- tracking: {
- // eslint-disable-next-line no-underscore-dangle
- category: this.$options.name || this.$options._componentTag,
- },
- };
+ computed: {
+ trackingCategory() {
+ const localCategory = this.tracking ? this.tracking.category : null;
+ return localCategory || opts.category;
+ },
+ trackingOptions() {
+ return { ...opts, ...this.tracking };
+ },
},
methods: {
- track(action, data) {
- const category = opts.category || data.category || this.tracking.category;
- Tracking.event(category || 'unspecified', action, { ...opts, ...this.tracking, ...data });
+ track(action, data = {}) {
+ const category = data.category || this.trackingCategory;
+ const options = {
+ ...this.trackingOptions,
+ ...data,
+ };
+ Tracking.event(category, action, options);
},
},
};