Fix: keep the filter edition open if it is empty (#2986)

Co-authored-by: 曹志浩 <caozhihao@quyiyuan.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Cao Z.H
2023-12-16 04:39:17 +08:00
committed by GitHub
parent 72929d1de6
commit 18b2e2b748
2 changed files with 9 additions and 6 deletions

View File

@ -1,4 +1,4 @@
import { useEffect } from 'react';
import { useCallback, useEffect } from 'react';
import { MultipleFiltersDropdownContent } from '@/object-record/object-filter-dropdown/components/MultipleFiltersDropdownContent';
import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/useFilterDropdown';
@ -61,6 +61,13 @@ export const EditableFilterDropdownButton = ({
removeViewFilter(viewFilter.fieldMetadataId);
};
const handleDropdownClickOutside = useCallback(() => {
const { value, fieldMetadataId } = viewFilter;
if (!value) {
removeViewFilter(fieldMetadataId);
}
}, [viewFilter, removeViewFilter]);
return (
<Dropdown
clickableComponent={
@ -74,6 +81,7 @@ export const EditableFilterDropdownButton = ({
dropdownHotkeyScope={hotkeyScope}
dropdownOffset={{ y: 8, x: 0 }}
dropdownPlacement="bottom-start"
onClickOutside={handleDropdownClickOutside}
/>
);
};

View File

@ -209,11 +209,6 @@ export const useViewFilters = (viewScopeId: string) => {
return filtersDraft;
}
if (filterToUpsert.value === '') {
filtersDraft.splice(existingFilterIndex, 1);
return filtersDraft;
}
filtersDraft[existingFilterIndex] = {
...filterToUpsert,
id: existingSavedFilterId,