From 475e819b5bdc23a654f69ffd521e4cfa7d7360ef Mon Sep 17 00:00:00 2001 From: mkljczk Date: Tue, 7 Jan 2025 19:57:26 +0100 Subject: [PATCH] pl-fe: this might work Signed-off-by: mkljczk --- .../dropdown-menu/dropdown-menu.tsx | 22 ++++++++++++------- packages/pl-fe/src/selectors/index.ts | 1 - 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/pl-fe/src/components/dropdown-menu/dropdown-menu.tsx b/packages/pl-fe/src/components/dropdown-menu/dropdown-menu.tsx index e34a73a0d..0676b5ee3 100644 --- a/packages/pl-fe/src/components/dropdown-menu/dropdown-menu.tsx +++ b/packages/pl-fe/src/components/dropdown-menu/dropdown-menu.tsx @@ -306,6 +306,19 @@ const DropdownMenu = (props: IDropdownMenu) => { }, [isOpen]); + const clonedChildren = useMemo(() => { + if ((items?.length === 0 && !component) || !children) { + return null; + } + + return React.cloneElement(children, { + disabled, + onClick: handleClick, + onKeyPress: handleKeyPress, + ref: refs.setReference, + }); + }, [children]); + if (items?.length === 0 && !component) { return null; } @@ -330,14 +343,7 @@ const DropdownMenu = (props: IDropdownMenu) => { return ( <> - {children ? ( - React.cloneElement(children, { - disabled, - onClick: handleClick, - onKeyPress: handleKeyPress, - ref: refs.setReference, - }) - ) : ( + {children ? clonedChildren : ( ) => type APIStatus = { id: string; username?: string }; const makeGetStatus = () => { - console.log('making get status'); return createSelector( [ (state: RootState, { id }: APIStatus) => state.statuses[id],