From 77bdbe1deac3153859d2173b7a3ff029a76a64c3 Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Mon, 13 Jun 2022 15:19:20 +0200 Subject: [PATCH] Loki: Fix showing of duplicated label values in dropdown in query builder (#50680) * Prometheus,Loki: Fix showing of duplicated values in dropdown * Use different more readable solution * Update --- .../prometheus/querybuilder/shared/LabelFilterItem.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx index f3dd25134af..44800ebb69b 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilterItem.tsx @@ -1,3 +1,4 @@ +import { uniqBy } from 'lodash'; import React, { useState } from 'react'; import { SelectableValue, toOption } from '@grafana/data'; @@ -38,7 +39,11 @@ export function LabelFilterItem({ item, defaultOp, onChange, onDelete, onGetLabe }; const getOptions = (): SelectableValue[] => { - return [...getSelectOptionsFromString(item?.value).map(toOption), ...(state.labelValues ?? [])]; + const labelValues = state.labelValues ? [...state.labelValues] : []; + const selectedOptions = getSelectOptionsFromString(item?.value).map(toOption); + + // Remove possible duplicated values + return uniqBy([...selectedOptions, ...labelValues], 'value'); }; return (