From 9aac0d32f9dbb77d0701398bf3d577a55dcce224 Mon Sep 17 00:00:00 2001 From: yinjialu <37073056+yinjialu@users.noreply.github.com> Date: Fri, 28 Oct 2022 00:00:14 +0800 Subject: [PATCH] Prometheus: fix Raw query is not updated when label op change. (#57492) (#57493) --- .../prometheus/querybuilder/shared/LabelFilterItem.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx index 3ee215d3a66..82413e2ffb4 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx @@ -36,8 +36,8 @@ export function LabelFilterItem({ isLoadingLabelValues?: boolean; }>({}); - const isMultiSelect = () => { - return operators.find((op) => op.label === item.op)?.isMultiValue; + const isMultiSelect = (operator = item.op) => { + return operators.find((op) => op.label === operator)?.isMultiValue; }; const getSelectOptionsFromString = (item?: string): string[] => { @@ -94,7 +94,11 @@ export function LabelFilterItem({ width="auto" onChange={(change) => { if (change.value != null) { - onChange({ ...item, op: change.value } as unknown as QueryBuilderLabelFilter); + onChange({ + ...item, + op: change.value, + value: isMultiSelect(change.value) ? item.value : getSelectOptionsFromString(item?.value)[0], + } as unknown as QueryBuilderLabelFilter); } }} />