Popover menu: update tracking attributes + move under Explore/logs (#78739)
* Popover menu: update event tracking attributes * Popover menu: move under explore/loggs * Popover menu: narrow down support to only Explore app
This commit is contained in:
+2
-1
@@ -2,8 +2,9 @@ import { render, screen } from '@testing-library/react';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import React from 'react';
|
||||
|
||||
import { createLogRow } from '../../logs/components/__mocks__/logRow';
|
||||
|
||||
import { PopoverMenu } from './PopoverMenu';
|
||||
import { createLogRow } from './__mocks__/logRow';
|
||||
|
||||
const row = createLogRow();
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ import { GrafanaTheme2, LogRowModel } from '@grafana/data';
|
||||
import { reportInteraction } from '@grafana/runtime';
|
||||
import { Menu, useStyles2 } from '@grafana/ui';
|
||||
|
||||
import { copyText } from '../utils';
|
||||
import { copyText } from '../../logs/utils';
|
||||
|
||||
interface PopoverMenuProps {
|
||||
selection: string;
|
||||
@@ -87,8 +87,8 @@ export const PopoverMenu = ({
|
||||
function track(action: string, selectionLength: number, dataSourceType: string | undefined) {
|
||||
reportInteraction(`grafana_explore_logs_popover_menu`, {
|
||||
action,
|
||||
selection_length: selectionLength,
|
||||
ds_type: dataSourceType || 'unknown',
|
||||
selectionLength: selectionLength,
|
||||
datasourceType: dataSourceType || 'unknown',
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event';
|
||||
import { range } from 'lodash';
|
||||
import React from 'react';
|
||||
|
||||
import { LogRowModel, LogsDedupStrategy, LogsSortOrder } from '@grafana/data';
|
||||
import { CoreApp, LogRowModel, LogsDedupStrategy, LogsSortOrder } from '@grafana/data';
|
||||
|
||||
import { LogRows, PREVIEW_LIMIT } from './LogRows';
|
||||
import { createLogRow } from './__mocks__/logRow';
|
||||
@@ -207,7 +207,7 @@ describe('LogRows', () => {
|
||||
});
|
||||
|
||||
describe('Popover menu', () => {
|
||||
function setup() {
|
||||
function setup(app = CoreApp.Explore) {
|
||||
const rows: LogRowModel[] = [createLogRow({ uid: '1' })];
|
||||
return render(
|
||||
<LogRows
|
||||
@@ -223,6 +223,7 @@ describe('Popover menu', () => {
|
||||
displayedFields={[]}
|
||||
onClickFilterOutValue={() => {}}
|
||||
onClickFilterValue={() => {}}
|
||||
app={app}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -247,4 +248,9 @@ describe('Popover menu', () => {
|
||||
expect(screen.getByText('Add as line contains filter')).toBeInTheDocument();
|
||||
expect(screen.getByText('Add as line does not contain filter')).toBeInTheDocument();
|
||||
});
|
||||
it('Does not appear outside Explore', async () => {
|
||||
setup(CoreApp.Unknown);
|
||||
await userEvent.click(screen.getByText('log message 1'));
|
||||
expect(screen.queryByText('Copy selection')).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -15,12 +15,12 @@ import {
|
||||
import { config } from '@grafana/runtime';
|
||||
import { withTheme2, Themeable2 } from '@grafana/ui';
|
||||
|
||||
import { PopoverMenu } from '../../explore/Logs/PopoverMenu';
|
||||
import { UniqueKeyMaker } from '../UniqueKeyMaker';
|
||||
import { sortLogRows, targetIsElement } from '../utils';
|
||||
|
||||
//Components
|
||||
import { LogRow } from './LogRow';
|
||||
import { PopoverMenu } from './PopoverMenu';
|
||||
import { getLogRowStyles } from './getLogRowStyles';
|
||||
|
||||
export const PREVIEW_LIMIT = 100;
|
||||
@@ -97,7 +97,7 @@ class UnThemedLogRows extends PureComponent<Props, State> {
|
||||
};
|
||||
|
||||
popoverMenuSupported() {
|
||||
if (!config.featureToggles.logRowsPopoverMenu) {
|
||||
if (!config.featureToggles.logRowsPopoverMenu || this.props.app !== CoreApp.Explore) {
|
||||
return false;
|
||||
}
|
||||
return Boolean(this.props.onClickFilterOutValue || this.props.onClickFilterValue);
|
||||
|
||||
Reference in New Issue
Block a user