diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-18 00:07:45 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-18 00:07:45 +0000 |
commit | 7c077d960393e14b56d43cceaa7f609c703ac55f (patch) | |
tree | c3a5d79554b9be1d7434c8e9a8fcae35ab64af32 /app/assets/javascripts/error_tracking | |
parent | da35510cdad8f8d3cb6c119682dc2735531983cd (diff) | |
download | gitlab-ce-7c077d960393e14b56d43cceaa7f609c703ac55f.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/error_tracking')
-rw-r--r-- | app/assets/javascripts/error_tracking/components/error_tracking_list.vue | 22 | ||||
-rw-r--r-- | app/assets/javascripts/error_tracking/utils.js | 23 |
2 files changed, 43 insertions, 2 deletions
diff --git a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue index 3528f0a9335..cd298e2c692 100644 --- a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue +++ b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue @@ -4,6 +4,8 @@ import { GlEmptyState, GlButton, GlLink, GlLoadingIcon, GlTable } from '@gitlab/ import Icon from '~/vue_shared/components/icon.vue'; import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue'; import { __ } from '~/locale'; +import TrackEventDirective from '~/vue_shared/directives/track_event'; +import { trackViewInSentryOptions, trackClickErrorLinkToSentryOptions } from '../utils'; export default { fields: [ @@ -21,6 +23,9 @@ export default { Icon, TimeAgo, }, + directives: { + TrackEvent: TrackEventDirective, + }, props: { indexPath: { type: String, @@ -53,6 +58,8 @@ export default { }, methods: { ...mapActions(['startPolling', 'restartPolling']), + trackViewInSentryOptions, + trackClickErrorLinkToSentryOptions, }, }; </script> @@ -65,7 +72,13 @@ export default { </div> <div v-else> <div class="d-flex justify-content-end"> - <gl-button class="my-3 ml-auto" variant="primary" :href="externalUrl" target="_blank"> + <gl-button + v-track-event="trackViewInSentryOptions(externalUrl)" + class="my-3 ml-auto" + variant="primary" + :href="externalUrl" + target="_blank" + > {{ __('View in Sentry') }} <icon name="external-link" class="flex-shrink-0" /> </gl-button> @@ -80,7 +93,12 @@ export default { </template> <template slot="error" slot-scope="errors"> <div class="d-flex flex-column"> - <gl-link :href="errors.item.externalUrl" class="d-flex text-dark" target="_blank"> + <gl-link + v-track-event="trackClickErrorLinkToSentryOptions(errors.item.externalUrl)" + :href="errors.item.externalUrl" + class="d-flex text-dark" + target="_blank" + > <strong class="text-truncate">{{ errors.item.title.trim() }}</strong> <icon name="external-link" class="ml-1 flex-shrink-0" /> </gl-link> diff --git a/app/assets/javascripts/error_tracking/utils.js b/app/assets/javascripts/error_tracking/utils.js new file mode 100644 index 00000000000..b832b1371b1 --- /dev/null +++ b/app/assets/javascripts/error_tracking/utils.js @@ -0,0 +1,23 @@ +/* eslint-disable @gitlab/i18n/no-non-i18n-strings */ + +/** + * Tracks snowplow event when user clicks View in Sentry btn + * @param {String} externalUrl that will be send as a property for the event + */ +export const trackViewInSentryOptions = url => ({ + category: 'Error Tracking', + action: 'click_view_in_sentry', + label: 'External Url', + property: url, +}); + +/** + * Tracks snowplow event when User clicks on error link to Sentry + * @param {String} externalUrl that will be send as a property for the event + */ +export const trackClickErrorLinkToSentryOptions = url => ({ + category: 'Error Tracking', + action: 'click_error_link_to_sentry', + label: 'Error Link', + property: url, +}); |