From e71e6ae07ecd2e8e428a3d42cfaa1f46c7b5164c Mon Sep 17 00:00:00 2001 From: ismail simsek Date: Thu, 27 Oct 2022 21:24:07 +0300 Subject: [PATCH] Prometheus: fix Raw query is not updated when label op change. (#57492) (#57493) (#57780) (cherry picked from commit 9aac0d32f9dbb77d0701398bf3d577a55dcce224) Co-authored-by: yinjialu <37073056+yinjialu@users.noreply.github.com> --- .../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 b859b8f0bf4..5d15c41e496 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx @@ -25,8 +25,8 @@ export function LabelFilterItem({ item, defaultOp, onChange, onDelete, onGetLabe 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[] => { @@ -82,7 +82,11 @@ export function LabelFilterItem({ item, defaultOp, onChange, onDelete, onGetLabe width="auto" onChange={(change) => { if (change.value != null) { - onChange({ ...item, op: change.value } as any as QueryBuilderLabelFilter); + onChange({ + ...item, + op: change.value, + value: isMultiSelect(change.value) ? item.value : getSelectOptionsFromString(item?.value)[0], + } as any as QueryBuilderLabelFilter); } }} />