diff --git a/src/pages/permissions/panels/CreateIdpGroupPanel.tsx b/src/pages/permissions/panels/CreateIdpGroupPanel.tsx index df0bebad6a..ad79f4c841 100644 --- a/src/pages/permissions/panels/CreateIdpGroupPanel.tsx +++ b/src/pages/permissions/panels/CreateIdpGroupPanel.tsx @@ -131,6 +131,15 @@ const CreateIdpGroupPanel: FC = () => { parentItemName="" selectedGroups={desiredState.groupsAdded} setSelectedGroups={modifyGroups} + toggleGroup={(group: string) => { + const newGroups = new Set([...desiredState.groupsAdded]); + if (newGroups.has(group)) { + newGroups.delete(group); + } else { + newGroups.add(group); + } + modifyGroups([...newGroups], newGroups.size === 0); + }} scrollDependencies={[ groups, desiredState.groupsAdded.size, diff --git a/src/pages/permissions/panels/GroupSelection.tsx b/src/pages/permissions/panels/GroupSelection.tsx index 84d2e14996..31be1d8390 100644 --- a/src/pages/permissions/panels/GroupSelection.tsx +++ b/src/pages/permissions/panels/GroupSelection.tsx @@ -17,7 +17,7 @@ interface Props { selectedGroups: Set; setSelectedGroups: (val: string[], isUnselectAll?: boolean) => void; indeterminateGroups?: Set; - toggleGroup?: (rowName: string) => void; + toggleGroup: (rowName: string) => void; scrollDependencies: DependencyList; } @@ -75,20 +75,26 @@ const GroupSelection: FC = ({ ? `Group will be removed from ${selectedParentsText}` : ""; + const toggleRow = () => { + toggleGroup(group.name); + }; + return { name: group.name, className: "u-row", columns: [ { content: group.name, + onClick: toggleRow, role: "cell", - className: "name u-truncate", + className: "name u-truncate clickable-cell", "aria-label": "Name", }, { content: {group.description || ""}, + onClick: toggleRow, role: "cell", - className: "description", + className: "description clickable-cell", "aria-label": "Description", title: group.description, },