mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-29 16:14:42 +00:00
fix(query): deduplicate key suggestions using a Map to preserve order
This commit is contained in:
parent
8386826d6e
commit
83d5b124d4
@ -154,7 +154,13 @@ function QuerySearch({
|
||||
if (response.data.data) {
|
||||
const { complete, keys } = response.data.data;
|
||||
const options = generateOptions(keys);
|
||||
setKeySuggestions((prev) => [...(prev || []), ...options]);
|
||||
// Use a Map to deduplicate by label and preserve order: new options take precedence
|
||||
const merged = new Map<string, QueryKeyDataSuggestionsProps>();
|
||||
options.forEach((opt) => merged.set(opt.label, opt));
|
||||
(keySuggestions || []).forEach((opt) => {
|
||||
if (!merged.has(opt.label)) merged.set(opt.label, opt);
|
||||
});
|
||||
setKeySuggestions(Array.from(merged.values()));
|
||||
setIsCompleteKeysList(complete);
|
||||
}
|
||||
};
|
||||
|
||||
@ -150,10 +150,10 @@ const useOptionsMenu = ({
|
||||
[],
|
||||
);
|
||||
|
||||
let initialSelected: TelemetryFieldKey[] | undefined =
|
||||
let initialSelected: TelemetryFieldKey[] =
|
||||
initialOptions.selectColumns
|
||||
?.map((column) => attributesData.find(({ name }) => name === column))
|
||||
.filter((e) => !!e) || [];
|
||||
.filter((e): e is TelemetryFieldKey => !!e) || [];
|
||||
|
||||
if (dataSource === DataSource.TRACES) {
|
||||
initialSelected = initialSelected
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user