Pin nav items: Instrument user events (#90212)

* Pin nav items: Instrument user events

* Send item path
This commit is contained in:
Alex Khomenko 2024-07-09 16:16:11 +03:00 committed by GitHub
parent c8af659f02
commit b3fa2821cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,7 +5,7 @@ import { useLocation } from 'react-router-dom';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { config } from '@grafana/runtime';
import { config, reportInteraction } from '@grafana/runtime';
import { CustomScrollbar, Icon, IconButton, useStyles2, Stack } from '@grafana/ui';
import { useGrafana } from 'app/core/context/GrafanaContext';
import { t } from 'app/core/internationalization';
@ -63,7 +63,13 @@ export const MegaMenu = memo(
const onPinItem = (id?: string) => {
if (id && config.featureToggles.pinNavItems) {
const newItems = isPinned(id) ? pinnedItems.filter((i) => id !== i) : [...pinnedItems, id];
const navItem = navTree.find((item) => item.id === id);
const isSaved = isPinned(id);
const newItems = isSaved ? pinnedItems.filter((i) => id !== i) : [...pinnedItems, id];
const interactionName = isSaved ? 'grafana_nav_item_unpinned' : 'grafana_nav_item_pinned';
reportInteraction(interactionName, {
path: navItem?.url ?? id,
});
patchPreferences({
patchPrefsCmd: {
navbar: {