From 10ad94af385bd618d0cdce0bf2281da86e4c051a Mon Sep 17 00:00:00 2001 From: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:02:54 -0600 Subject: [PATCH] TableRT: fix bug preventing users from selecting filter operators (#114860) * fix: bug preventing users from selecting filter operators --- .../components/Table/TableRT/FilterList.tsx | 3 ++ .../components/Table/TableRT/FilterPopup.tsx | 32 +++++++++++-------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/packages/grafana-ui/src/components/Table/TableRT/FilterList.tsx b/packages/grafana-ui/src/components/Table/TableRT/FilterList.tsx index 273f97d684f..cb0a8116f9e 100644 --- a/packages/grafana-ui/src/components/Table/TableRT/FilterList.tsx +++ b/packages/grafana-ui/src/components/Table/TableRT/FilterList.tsx @@ -23,6 +23,7 @@ interface Props { setSearchFilter: (value: string) => void; operator: SelectableValue; setOperator: (item: SelectableValue) => void; + referenceElement: HTMLElement; } const ITEM_HEIGHT = 28; @@ -81,6 +82,7 @@ export const FilterList = ({ setSearchFilter, operator, setOperator, + referenceElement, }: Props) => { const regex = useMemo(() => new RegExp(searchFilter, caseSensitive ? undefined : 'i'), [searchFilter, caseSensitive]); const items = useMemo( @@ -186,6 +188,7 @@ export const FilterList = ({ {showOperators && ( getFilteredOptions(options, filterValue), [options, filterValue]); const [values, setValues] = useState(filteredOptions); const [matchCase, setMatchCase] = useState(false); + const ref = useRef(null); - const onCancel = useCallback((event?: React.MouseEvent) => onClose(), [onClose]); + const onCancel = useCallback(() => onClose(), [onClose]); const onFilter = useCallback( (event: React.MouseEvent) => { @@ -70,7 +71,7 @@ export const FilterPopup = ({ {/* This is just blocking click events from bubbeling and should not have a keyboard interaction. */} {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */} -
+
@@ -87,17 +88,20 @@ export const FilterPopup = ({ />
- + {ref.current && ( + + )}