diff --git a/services/web/frontend/js/features/group-management/components/group-members-list.tsx b/services/web/frontend/js/features/group-management/components/group-members-list.tsx index 8da85c3822..0e8c8d95aa 100644 --- a/services/web/frontend/js/features/group-management/components/group-members-list.tsx +++ b/services/web/frontend/js/features/group-management/components/group-members-list.tsx @@ -1,19 +1,31 @@ +import { useCallback } from 'react' import { Col, Row } from 'react-bootstrap' import { useTranslation } from 'react-i18next' import Tooltip from '../../../shared/components/tooltip' import { useGroupMembersContext } from '../context/group-members-context' import GroupMemberRow from './group-member-row' -type GroupMembersListProps = { - handleSelectAllClick: (e: any) => void -} - -export default function GroupMembersList({ - handleSelectAllClick, -}: GroupMembersListProps) { +export default function GroupMembersList() { const { t } = useTranslation() - const { selectedUsers, users, selectUser, unselectUser } = - useGroupMembersContext() + const { + selectedUsers, + users, + selectUser, + unselectUser, + selectAllUsers, + unselectAllUsers, + } = useGroupMembersContext() + + const handleSelectAllClick = useCallback( + (e: React.ChangeEvent) => { + if (e.target.checked) { + selectAllUsers() + } else { + unselectAllUsers() + } + }, + [selectAllUsers, unselectAllUsers] + ) return (