Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-07 15:10:39 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-07 15:10:39 +0300
commit4d5e790175cbd85f4b5bb0a9996efde10a9cad65 (patch)
treeda36b26cfdbd9da8eb40e0ea649672242b98c158 /app/assets/javascripts
parent6c448c743f157c882ace5291aba21208fa6b011b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/header.js2
-rw-r--r--app/assets/javascripts/nav/components/new_nav_toggle.vue2
-rw-r--r--app/assets/javascripts/super_sidebar/components/user_menu.vue37
-rw-r--r--app/assets/javascripts/super_sidebar/components/user_name_group.vue8
-rw-r--r--app/assets/javascripts/super_sidebar/constants.js5
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',
+};