diff --git a/packages/ui/Release.md b/packages/ui/Release.md index 680a8cc4b..a3330a721 100644 --- a/packages/ui/Release.md +++ b/packages/ui/Release.md @@ -1,3 +1,6 @@ +### 10.10.7 2024-10-11 +- feat: CLIN-2989 Filter flag dropdown and querybuilder not includes tablefitler + ### 10.10.6 2024-10-02 - fix: CLIN-2673 Allow SelectRange filtering on 0 value diff --git a/packages/ui/package-lock.json b/packages/ui/package-lock.json index 3c9e1e0c2..dae7f05af 100644 --- a/packages/ui/package-lock.json +++ b/packages/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ferlab/ui", - "version": "10.10.6", + "version": "10.10.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ferlab/ui", - "version": "10.10.6", + "version": "10.10.7", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@ant-design/icons": "^4.7.0", diff --git a/packages/ui/package.json b/packages/ui/package.json index 6ed733e09..6cd4720b9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@ferlab/ui", - "version": "10.10.6", + "version": "10.10.7", "description": "Core components for scientific research data portals", "publishConfig": { "access": "public" diff --git a/packages/ui/src/components/Flag/FlagFilter/index.tsx b/packages/ui/src/components/Flag/FlagFilter/index.tsx index 7b31e0885..94e585ada 100644 --- a/packages/ui/src/components/Flag/FlagFilter/index.tsx +++ b/packages/ui/src/components/Flag/FlagFilter/index.tsx @@ -11,36 +11,44 @@ import styles from './index.module.css'; export type TFlagFilter = { dictionary?: IFlagDictionary | Record; confirm?: (param?: FilterConfirmProps) => void; - selectedKeys?: React.Key[]; - setSelectedKeys?: (selectedKeys: React.Key[]) => void; + selectedKeys: React.Key[]; + setSelectedKeys: (selectedKeys: React.Key[]) => void; + selectedFilter?: string[]; isClear: boolean; }; -const FlagFilter = ({ confirm, dictionary, isClear, selectedKeys, setSelectedKeys }: TFlagFilter): ReactElement => { - const [selectedOption, setSelectedOption] = useState(selectedKeys ? selectedKeys : []); +const FlagFilter = ({ + confirm, + dictionary, + isClear, + selectedFilter, + selectedKeys, + setSelectedKeys, +}: TFlagFilter): ReactElement => { + const [selectedOption, setSelectedOption] = useState(selectedFilter ? selectedFilter : []); + useEffect(() => { + setSelectedOption(selectedFilter ? selectedFilter : []); + }, [selectedFilter]); useEffect(() => { if (selectedKeys && setSelectedKeys) { setSelectedKeys(selectedOption); } }, [selectedOption]); - useEffect(() => { if (isClear) { - setSelectedOption([]); setSelectedKeys && setSelectedKeys([]); confirm && confirm(); } }, [isClear]); const handleSelect = (value: string) => { - if (selectedKeys && setSelectedKeys) { - selectedKeys.includes(value) - ? setSelectedKeys(selectedKeys.filter((item: React.Key) => item !== value)) - : setSelectedKeys([value, ...selectedKeys]); + if (selectedOption?.includes(value)) { + setSelectedOption(selectedOption.filter((item: React.Key) => item !== value)); + } else { + setSelectedOption([value, ...selectedOption]); } }; - return ( <>
@@ -118,7 +126,7 @@ const FlagFilter = ({ confirm, dictionary, isClear, selectedKeys, setSelectedKey