From ace2bb61ef4a07e95d9fd610e3ddce7bb2a99256 Mon Sep 17 00:00:00 2001 From: Maycon Santos Date: Thu, 15 Sep 2022 22:24:20 +0500 Subject: [PATCH] Fix popover for groups (#78) * Fix popover for groups Fixed all popover overlay when opening update modal also fixed group input size problem with peers update * remove style display flex from form tittle --- src/components/PeerUpdate.tsx | 10 +++----- src/components/SetupKeyNew.tsx | 2 -- src/views/AccessControl.tsx | 42 ++++++++++++++++++++++++++-------- src/views/Peers.tsx | 18 ++++++++++++++- src/views/SetupKeys.tsx | 22 +++++++++++++++++- 5 files changed, 73 insertions(+), 21 deletions(-) diff --git a/src/components/PeerUpdate.tsx b/src/components/PeerUpdate.tsx index 372d90b..cd31178 100644 --- a/src/components/PeerUpdate.tsx +++ b/src/components/PeerUpdate.tsx @@ -277,7 +277,7 @@ const PeerUpdate = () => { {!editName && peer.id && - ) diff --git a/src/views/Peers.tsx b/src/views/Peers.tsx index 6773f4b..f6b4a53 100644 --- a/src/views/Peers.tsx +++ b/src/views/Peers.tsx @@ -64,12 +64,14 @@ export const Peers = () => { const loadingGroups = useSelector((state: RootState) => state.group.loading); const savedGroups = useSelector((state: RootState) => state.peer.savedGroups); const updatedPeer = useSelector((state: RootState) => state.peer.updatedPeer); + const updateGroupsVisible = useSelector((state: RootState) => state.peer.updateGroupsVisible) const [textToSearch, setTextToSearch] = useState(''); const [optionOnOff, setOptionOnOff] = useState('all'); const [pageSize, setPageSize] = useState(10); const [dataTable, setDataTable] = useState([] as PeerDataTable[]); const [peerToAction, setPeerToAction] = useState(null as PeerDataTable | null); + const [groupPopupVisible,setGroupPopupVisible] = useState(false as boolean|undefined) const pageSizeOptions = [ {label: "5", value: "5"}, @@ -305,6 +307,20 @@ export const Peers = () => { dispatch(peerActions.setPeer(peerToAction as Peer)) } + useEffect(() => { + if (updateGroupsVisible) { + setGroupPopupVisible(false) + } + }, [updateGroupsVisible]) + + const onPopoverVisibleChange = (b:boolean) => { + if (updateGroupsVisible) { + setGroupPopupVisible(false) + } else { + setGroupPopupVisible(undefined) + } + } + const setUpdateGroupsVisible = (peerToAction: Peer, status: boolean) => { if (status) { dispatch(peerActions.setPeer({...peerToAction})) @@ -338,7 +354,7 @@ export const Peers = () => { } return ( - diff --git a/src/views/SetupKeys.tsx b/src/views/SetupKeys.tsx index 5550175..0c85fa8 100644 --- a/src/views/SetupKeys.tsx +++ b/src/views/SetupKeys.tsx @@ -59,6 +59,8 @@ export const SetupKeys = () => { const [pageSize, setPageSize] = useState(10); const [dataTable, setDataTable] = useState([] as SetupKeyDataTable[]); const [setupKeyToAction, setSetupKeyToAction] = useState(null as SetupKeyDataTable | null); + const setupNewKeyVisible = useSelector((state: RootState) => state.setupKey.setupNewKeyVisible) + const [groupPopupVisible,setGroupPopupVisible] = useState(false as boolean|undefined) const styleNotification = {marginTop: 85} @@ -279,6 +281,20 @@ export const SetupKeys = () => { } as SetupKey)) } + useEffect(() => { + if (setupNewKeyVisible) { + setGroupPopupVisible(false) + } + }, [setupNewKeyVisible]) + + const onPopoverVisibleChange = (b:boolean) => { + if (setupNewKeyVisible) { + setGroupPopupVisible(false) + } else { + setGroupPopupVisible(undefined) + } + } + const renderPopoverGroups = (label: string, rowGroups: string[] | string[] | null, setupKeyToAction: SetupKeyDataTable) => { let groupsMap = new Map(); @@ -318,7 +334,11 @@ export const SetupKeys = () => { } return ( - {btn}