diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-07 15:10:39 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-07 15:10:39 +0300 |
commit | 4d5e790175cbd85f4b5bb0a9996efde10a9cad65 (patch) | |
tree | da36b26cfdbd9da8eb40e0ea649672242b98c158 /app/assets/javascripts | |
parent | 6c448c743f157c882ace5291aba21208fa6b011b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts')
5 files changed, 47 insertions, 7 deletions
diff --git a/app/assets/javascripts/header.js b/app/assets/javascripts/header.js index 5a002784937..25a84d17379 100644 --- a/app/assets/javascripts/header.js +++ b/app/assets/javascripts/header.js @@ -37,7 +37,7 @@ export function initStatusTriggers() { const buttonWithinTopNav = topNavbar && topNavbar.contains(setStatusModalTriggerEl); Tracking.event(undefined, 'click_button', { label: 'user_edit_status', - property: buttonWithinTopNav ? 'navigation_top' : undefined, + property: buttonWithinTopNav ? 'navigation_top' : 'nav_user_menu', }); import( diff --git a/app/assets/javascripts/nav/components/new_nav_toggle.vue b/app/assets/javascripts/nav/components/new_nav_toggle.vue index 30a415a8cfd..5eb5e5b9b90 100644 --- a/app/assets/javascripts/nav/components/new_nav_toggle.vue +++ b/app/assets/javascripts/nav/components/new_nav_toggle.vue @@ -51,7 +51,7 @@ export default { Tracking.event(undefined, 'click_toggle', { label: this.enabled ? 'disable_new_nav_beta' : 'enable_new_nav_beta', - property: this.enabled ? 'navigation' : 'navigation_top', + property: this.enabled ? 'nav_user_menu' : 'navigation_top', }); window.location.reload(); diff --git a/app/assets/javascripts/super_sidebar/components/user_menu.vue b/app/assets/javascripts/super_sidebar/components/user_menu.vue index f68587f610b..d8452900e34 100644 --- a/app/assets/javascripts/super_sidebar/components/user_menu.vue +++ b/app/assets/javascripts/super_sidebar/components/user_menu.vue @@ -11,6 +11,7 @@ import { s__, __, sprintf } from '~/locale'; import NewNavToggle from '~/nav/components/new_nav_toggle.vue'; import Tracking from '~/tracking'; import PersistentUserCallout from '~/persistent_user_callout'; +import { USER_MENU_TRACKING_DEFAULTS } from '../constants'; import UserNameGroup from './user_name_group.vue'; export default { @@ -72,6 +73,10 @@ export default { return { text: this.$options.i18n.startTrial, href: this.data.trial.url, + extraAttrs: { + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'start_trial', + }, }; }, editProfileItem() { @@ -80,6 +85,8 @@ export default { href: this.data.settings.profile_path, extraAttrs: { 'data-qa-selector': 'edit_profile_link', + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'user_edit_profile', }, }; }, @@ -87,6 +94,10 @@ export default { return { text: this.$options.i18n.preferences, href: this.data.settings.profile_preferences_path, + extraAttrs: { + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'user_preferences', + }, }; }, addBuyPipelineMinutesMenuItem() { @@ -99,6 +110,8 @@ export default { href: this.data.pipeline_minutes?.buy_pipeline_minutes_path, extraAttrs: { class: 'js-follow-link', + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'buy_pipeline_minutes', }, }; }, @@ -106,6 +119,10 @@ export default { return { text: this.$options.i18n.gitlabNext, href: this.data.canary_toggle_com_url, + extraAttrs: { + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'switch_to_canary', + }, }; }, feedbackItem() { @@ -114,6 +131,8 @@ export default { href: this.$options.feedbackUrl, extraAttrs: { target: '_blank', + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'provide_nav_beta_feedback', }, }; }, @@ -167,18 +186,20 @@ export default { }, methods: { onShow() { - this.trackEvents(); - this.initCallout(); + this.initBuyCIMinsCallout(); }, closeDropdown() { this.$refs.userDropdown.close(); }, - initCallout() { + initBuyCIMinsCallout() { if (this.showNotificationDot) { PersistentUserCallout.factory(this.$refs?.buyPipelineMinutesNotificationCallout.$el); } }, - trackEvents() { + /* We're not sure this event is tracked by anyone + whether it stays will depend on the outcome of this discussion: + https://gitlab.com/gitlab-org/gitlab/-/issues/402713#note_1343072135 */ + trackBuyCIMins() { if (this.addBuyPipelineMinutesMenuItem) { const { 'track-action': trackAction, @@ -188,6 +209,12 @@ export default { this.track(trackAction, { label, property }); } }, + trackSignOut() { + this.track(USER_MENU_TRACKING_DEFAULTS['data-track-action'], { + label: 'user_sign_out', + property: USER_MENU_TRACKING_DEFAULTS['data-track-property'], + }); + }, }, }; </script> @@ -251,6 +278,7 @@ export default { :item="buyPipelineMinutesItem" v-bind="buyPipelineMinutesCalloutData" data-testid="buy-pipeline-minutes-item" + @action="trackBuyCIMins" > <template #list-item> <span class="gl-display-flex gl-flex-direction-column"> @@ -287,6 +315,7 @@ export default { bordered :group="signOutGroup" data-testid="sign-out-group" + @action="trackSignOut" /> </gl-disclosure-dropdown> diff --git a/app/assets/javascripts/super_sidebar/components/user_name_group.vue b/app/assets/javascripts/super_sidebar/components/user_name_group.vue index 2489f462122..a24299d449b 100644 --- a/app/assets/javascripts/super_sidebar/components/user_name_group.vue +++ b/app/assets/javascripts/super_sidebar/components/user_name_group.vue @@ -1,8 +1,8 @@ <script> import { GlDisclosureDropdownGroup, GlDisclosureDropdownItem, GlTooltip } from '@gitlab/ui'; import SafeHtml from '~/vue_shared/directives/safe_html'; - import { s__ } from '~/locale'; +import { USER_MENU_TRACKING_DEFAULTS } from '../constants'; export default { i18n: { @@ -31,7 +31,13 @@ export default { }; if (this.user.has_link_to_profile) { item.href = this.user.link_to_profile; + + item.extraAttrs = { + ...USER_MENU_TRACKING_DEFAULTS, + 'data-track-label': 'user_profile', + }; } + return item; }, }, diff --git a/app/assets/javascripts/super_sidebar/constants.js b/app/assets/javascripts/super_sidebar/constants.js index 82955341e9c..227619d3277 100644 --- a/app/assets/javascripts/super_sidebar/constants.js +++ b/app/assets/javascripts/super_sidebar/constants.js @@ -20,3 +20,8 @@ export const TRACKING_UNKNOWN_PANEL = 'nav_panel_unknown'; export const CLICK_MENU_ITEM_ACTION = 'click_menu_item'; export const PANELS_WITH_PINS = ['group', 'project']; + +export const USER_MENU_TRACKING_DEFAULTS = { + 'data-track-property': 'nav_user_menu', + 'data-track-action': 'click_link', +}; |