From 27d2627a66055c14d5609a1cfd6063453141955b Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Tue, 3 Dec 2024 12:14:21 +0100 Subject: [PATCH] ui: autoclose autocomplete modal --- .../Filters/FilterAutoComplete/AutocompleteModal.tsx | 10 +++++++--- .../shared/Filters/FilterValue/FilterValue.tsx | 1 + .../OutsideClickDetectingDiv.js | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/app/components/shared/Filters/FilterAutoComplete/AutocompleteModal.tsx b/frontend/app/components/shared/Filters/FilterAutoComplete/AutocompleteModal.tsx index b6f0426f6..d3321ea77 100644 --- a/frontend/app/components/shared/Filters/FilterAutoComplete/AutocompleteModal.tsx +++ b/frontend/app/components/shared/Filters/FilterAutoComplete/AutocompleteModal.tsx @@ -1,6 +1,7 @@ import React, { useRef, useState } from 'react'; import { Button, Checkbox, Input } from 'antd'; import cn from 'classnames'; +import OutsideClickDetectingDiv from '../../OutsideClickDetectingDiv'; export function AutocompleteModal({ onClose, @@ -55,11 +56,14 @@ export function AutocompleteModal({ return options; }, [options.length, values]); return ( -
{ + onClose(); + }} >
- + ); } @@ -134,7 +138,7 @@ export function AutoCompleteContainer(props: Props) { ref={filterValueContainer} >
setShowValueModal(true)} + onClick={() => setTimeout(() => setShowValueModal(true), 0)} className={'flex items-center gap-2 cursor-pointer'} > {!isEmpty ? ( diff --git a/frontend/app/components/shared/Filters/FilterValue/FilterValue.tsx b/frontend/app/components/shared/Filters/FilterValue/FilterValue.tsx index f48b6026c..d56f5ebb1 100644 --- a/frontend/app/components/shared/Filters/FilterValue/FilterValue.tsx +++ b/frontend/app/components/shared/Filters/FilterValue/FilterValue.tsx @@ -171,6 +171,7 @@ function FilterValue(props: Props) { return (
{ if (ref.current !== null) { - const node = findDOMNode(ref.current); + const node = ref.current; if (node && !node.contains(e.target)) { callbacks[i](e); }