diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-27 09:06:29 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-27 09:06:29 +0000 |
commit | c02f53288a838166a28518983fae3b80ca5936d8 (patch) | |
tree | cd8af90618ac55809e7782bad09246874876f7c2 /app/assets/javascripts/tracking.js | |
parent | 688e33953d34ab8cd348d02ce79d8fdfe5353a03 (diff) | |
download | gitlab-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.js | 27 |
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); }, }, }; |