feat: update attribute keys api to accept signal source

This commit is contained in:
Yunus M 2025-08-05 23:36:20 +05:30
parent 07659f91c3
commit f515b077bf
11 changed files with 30 additions and 7 deletions

View File

@ -17,6 +17,7 @@ export const getAggregateKeys = async ({
dataSource,
aggregateAttribute,
tagType,
signalSource,
}: IGetAttributeKeysPayload): Promise<
SuccessResponse<IQueryAutocompleteResponse> | ErrorResponse
> => {
@ -29,6 +30,7 @@ export const getAggregateKeys = async ({
searchText,
dataSource,
aggregateAttribute,
source: signalSource,
})}&tagType=${tagType}`,
);

View File

@ -18,11 +18,13 @@ const MetricsAggregateSection = memo(function MetricsAggregateSection({
index,
version,
panelType,
signalSource = '',
}: {
query: IBuilderQuery;
index: number;
version: string;
panelType: PANEL_TYPES | null;
signalSource: string;
}): JSX.Element {
const { setAggregationOptions } = useQueryBuilderV2Context();
const {
@ -208,6 +210,7 @@ const MetricsAggregateSection = memo(function MetricsAggregateSection({
disabled={!queryAggregation.metricName}
query={query}
onChange={handleChangeGroupByKeys}
signalSource={signalSource}
/>
</div>
</div>
@ -244,6 +247,7 @@ const MetricsAggregateSection = memo(function MetricsAggregateSection({
disabled={!queryAggregation.metricName}
query={query}
onChange={handleChangeGroupByKeys}
signalSource={signalSource}
/>
</div>
</div>

View File

@ -221,6 +221,7 @@ export const QueryV2 = memo(function QueryV2({
index={index}
key={`metrics-aggregate-section-${query.queryName}-${query.dataSource}`}
version="v4"
signalSource={signalSource as 'meter' | ''}
/>
)}

View File

@ -16,6 +16,7 @@ function ExplorerOptionWrapper({
sourcepage,
isOneChartPerQuery,
splitedQueries,
signalSource,
}: ExplorerOptionsWrapperProps): JSX.Element {
const [isExplorerOptionHidden, setIsExplorerOptionHidden] = useState(false);
@ -32,6 +33,7 @@ function ExplorerOptionWrapper({
isLoading={isLoading}
onExport={onExport}
sourcepage={sourcepage}
signalSource={signalSource}
isExplorerOptionHidden={isExplorerOptionHidden}
setIsExplorerOptionHidden={setIsExplorerOptionHidden}
isOneChartPerQuery={isOneChartPerQuery}

View File

@ -1,12 +1,12 @@
.explorer-options-container {
position: fixed;
bottom: 24px;
bottom: 8px;
left: calc(50% + 240px);
transform: translate(calc(-50% - 120px), 0);
transition: left 0.2s linear;
display: flex;
gap: 16px;
gap: 8px;
background-color: transparent;
.multi-alert-button,
@ -33,11 +33,12 @@
display: inline-flex;
align-items: center;
gap: 12px;
padding: 10px 10px;
border-radius: 50px;
border: 1px solid var(--bg-slate-400);
padding: 10px 12px;
background: rgba(22, 24, 29, 0.6);
border: 1px solid var(--bg-slate-500);
border-radius: 4px;
backdrop-filter: blur(20px);
box-sizing: border-box;
.action-icon {
display: flex;

View File

@ -93,6 +93,7 @@ function ExplorerOptions({
onExport,
query,
sourcepage,
signalSource,
isExplorerOptionHidden = false,
setIsExplorerOptionHidden,
isOneChartPerQuery = false,
@ -505,6 +506,11 @@ function ExplorerOptions({
: defaultLogsSelectedColumns,
});
if (signalSource === 'meter') {
history.replace(ROUTES.METER_EXPLORER);
return;
}
history.replace(DATASOURCE_VS_ROUTES[sourcepage]);
};
@ -993,6 +999,7 @@ export interface ExplorerOptionsProps {
query: Query | null;
disabled: boolean;
sourcepage: DataSource;
signalSource?: string;
isExplorerOptionHidden?: boolean;
setIsExplorerOptionHidden?: Dispatch<SetStateAction<boolean>>;
isOneChartPerQuery?: boolean;
@ -1005,6 +1012,7 @@ ExplorerOptions.defaultProps = {
setIsExplorerOptionHidden: undefined,
isOneChartPerQuery: false,
splitedQueries: [],
signalSource: '',
};
export default ExplorerOptions;

View File

@ -168,6 +168,7 @@ function Explorer(): JSX.Element {
disabled={!stagedQuery}
query={exportDefaultQuery}
sourcepage={DataSource.METRICS}
signalSource="meter"
onExport={handleExport}
isOneChartPerQuery={false}
splitedQueries={splitedQueries}

View File

@ -5,4 +5,5 @@ export type GroupByFilterProps = {
query: IBuilderQuery;
onChange: (values: BaseAutocompleteData[]) => void;
disabled: boolean;
signalSource?: string;
};

View File

@ -25,6 +25,7 @@ export const GroupByFilter = memo(function GroupByFilter({
query,
onChange,
disabled,
signalSource,
}: GroupByFilterProps): JSX.Element {
const queryClient = useQueryClient();
const [searchText, setSearchText] = useState<string>('');
@ -44,6 +45,7 @@ export const GroupByFilter = memo(function GroupByFilter({
dataSource: query.dataSource,
aggregateOperator: query.aggregateOperator || '',
searchText: debouncedValue,
signalSource: signalSource as 'meter' | '',
},
{
queryKey: [debouncedValue, isFocused],

View File

@ -114,7 +114,7 @@ const menuItems: SidebarItem[] = [
key: ROUTES.METRICS_EXPLORER,
label: 'Metrics',
icon: <BarChart2 size={16} />,
isNew: true,
isNew: false,
itemKey: 'metrics',
},
{
@ -231,7 +231,7 @@ export const defaultMoreMenuItems: SidebarItem[] = [
key: ROUTES.METRICS_EXPLORER,
label: 'Metrics',
icon: <BarChart2 size={16} />,
isNew: true,
isNew: false,
isEnabled: true,
itemKey: 'metrics',
},

View File

@ -8,4 +8,5 @@ export interface IGetAttributeKeysPayload {
searchText: string;
aggregateAttribute: string;
tagType?: BaseAutocompleteData['type'];
signalSource?: string;
}