mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-12 07:39:00 +08:00
fix: add hideSpanScopeSelector prop to QueryBuilderSearchV2 and hide from non qb consumers (#7716)
* feat: add hideSpanScopeSelector prop to QueryBuilderSearchV2 and hide from non qb consumers * fix: update the tests to check rendering based on hideSpanScopeSelector * feat: display span selector in exceptions page
This commit is contained in:
parent
6e0b50dd60
commit
08579242eb
@ -458,6 +458,7 @@ export const Query = memo(function Query({
|
|||||||
query={query}
|
query={query}
|
||||||
onChange={handleChangeTagFilters}
|
onChange={handleChangeTagFilters}
|
||||||
whereClauseConfig={filterConfigs?.filters}
|
whereClauseConfig={filterConfigs?.filters}
|
||||||
|
hideSpanScopeSelector={query.dataSource !== DataSource.TRACES}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<QueryBuilderSearch
|
<QueryBuilderSearch
|
||||||
|
@ -92,6 +92,7 @@ interface QueryBuilderSearchV2Props {
|
|||||||
suffixIcon?: React.ReactNode;
|
suffixIcon?: React.ReactNode;
|
||||||
hardcodedAttributeKeys?: BaseAutocompleteData[];
|
hardcodedAttributeKeys?: BaseAutocompleteData[];
|
||||||
operatorConfigKey?: OperatorConfigKeys;
|
operatorConfigKey?: OperatorConfigKeys;
|
||||||
|
hideSpanScopeSelector?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Option {
|
export interface Option {
|
||||||
@ -126,6 +127,7 @@ function QueryBuilderSearchV2(
|
|||||||
whereClauseConfig,
|
whereClauseConfig,
|
||||||
hardcodedAttributeKeys,
|
hardcodedAttributeKeys,
|
||||||
operatorConfigKey,
|
operatorConfigKey,
|
||||||
|
hideSpanScopeSelector,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const { registerShortcut, deregisterShortcut } = useKeyboardHotkeys();
|
const { registerShortcut, deregisterShortcut } = useKeyboardHotkeys();
|
||||||
@ -936,11 +938,6 @@ function QueryBuilderSearchV2(
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const isTracesDataSource = useMemo(
|
|
||||||
() => query.dataSource === DataSource.TRACES,
|
|
||||||
[query.dataSource],
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="query-builder-search-v2">
|
<div className="query-builder-search-v2">
|
||||||
<Select
|
<Select
|
||||||
@ -1025,7 +1022,7 @@ function QueryBuilderSearchV2(
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</Select>
|
</Select>
|
||||||
{isTracesDataSource && <SpanScopeSelector queryName={query.queryName} />}
|
{!hideSpanScopeSelector && <SpanScopeSelector queryName={query.queryName} />}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -1037,6 +1034,7 @@ QueryBuilderSearchV2.defaultProps = {
|
|||||||
whereClauseConfig: {},
|
whereClauseConfig: {},
|
||||||
hardcodedAttributeKeys: undefined,
|
hardcodedAttributeKeys: undefined,
|
||||||
operatorConfigKey: undefined,
|
operatorConfigKey: undefined,
|
||||||
|
hideSpanScopeSelector: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default QueryBuilderSearchV2;
|
export default QueryBuilderSearchV2;
|
||||||
|
@ -26,7 +26,7 @@ const queryClient = new QueryClient({
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('Span scope selector', () => {
|
describe('Span scope selector', () => {
|
||||||
it('should render span scope selector when data source is TRACES', () => {
|
it('should render span scope selector when hideSpanScopeSelector is false', () => {
|
||||||
const { getByTestId } = render(
|
const { getByTestId } = render(
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
<QueryBuilderSearchV2
|
<QueryBuilderSearchV2
|
||||||
@ -34,6 +34,7 @@ describe('Span scope selector', () => {
|
|||||||
...initialQueryBuilderFormValues,
|
...initialQueryBuilderFormValues,
|
||||||
dataSource: DataSource.TRACES,
|
dataSource: DataSource.TRACES,
|
||||||
}}
|
}}
|
||||||
|
hideSpanScopeSelector={false}
|
||||||
onChange={jest.fn()}
|
onChange={jest.fn()}
|
||||||
/>
|
/>
|
||||||
</QueryClientProvider>,
|
</QueryClientProvider>,
|
||||||
@ -42,7 +43,7 @@ describe('Span scope selector', () => {
|
|||||||
expect(getByTestId('span-scope-selector')).toBeInTheDocument();
|
expect(getByTestId('span-scope-selector')).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not render span scope selector for non-TRACES data sources', () => {
|
it('should not render span scope selector by default (i.e. when hideSpanScopeSelector is true)', () => {
|
||||||
const { queryByTestId } = render(
|
const { queryByTestId } = render(
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
<QueryBuilderSearchV2
|
<QueryBuilderSearchV2
|
||||||
|
@ -52,6 +52,7 @@ function ResourceAttributesFilter(): JSX.Element | null {
|
|||||||
query={query}
|
query={query}
|
||||||
onChange={handleChangeTagFilters}
|
onChange={handleChangeTagFilters}
|
||||||
operatorConfigKey={OperatorConfigKeys.EXCEPTIONS}
|
operatorConfigKey={OperatorConfigKeys.EXCEPTIONS}
|
||||||
|
hideSpanScopeSelector={false}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user