always allow browsing as we don't know the subgroups (#23657)

fixes: #23582
This commit is contained in:
Erik Jan de Wit 2023-10-16 21:20:12 +02:00 committed by GitHub
parent 50916d58b1
commit 1cd20e0e43
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 13 deletions

View file

@ -16,15 +16,14 @@ import {
import { AngleRightIcon } from "@patternfly/react-icons";
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { adminClient } from "../../admin-client";
import { fetchAdminUI } from "../../context/auth/admin-ui-endpoint";
import { useFetch } from "../../utils/useFetch";
import { ListEmptyState } from "../list-empty-state/ListEmptyState";
import { PaginatingTableToolbar } from "../table-toolbar/PaginatingTableToolbar";
import { GroupPath } from "./GroupPath";
import "./group-picker-dialog.css";
import { fetchAdminUI } from "../../context/auth/admin-ui-endpoint";
export type GroupPickerDialogProps = {
id?: string;
@ -32,6 +31,7 @@ export type GroupPickerDialogProps = {
filterGroups?: GroupRepresentation[];
text: { title: string; ok: string };
canBrowse?: boolean;
isMove?: boolean;
onConfirm: (groups: GroupRepresentation[] | undefined) => void;
onClose: () => void;
};
@ -46,6 +46,7 @@ export const GroupPickerDialog = ({
filterGroups,
text,
canBrowse = true,
isMove = false,
onClose,
onConfirm,
}: GroupPickerDialogProps) => {
@ -257,7 +258,7 @@ export const GroupPickerDialog = ({
<ListEmptyState
hasIcon={false}
message={t("moveGroupEmpty")}
instructions={t("moveGroupEmptyInstructions")}
instructions={isMove ? t("moveGroupEmptyInstructions") : undefined}
/>
)}
{groups.length === 0 && isSearching && (
@ -296,9 +297,6 @@ const GroupRow = ({
}: GroupRowProps) => {
const { t } = useTranslation();
const hasSubgroups = (group: GroupRepresentation) =>
group.subGroups?.length !== 0;
return (
<DataListItem
aria-labelledby={group.name}
@ -307,18 +305,15 @@ const GroupRow = ({
onClick={(e) => {
if (type === "selectOne") {
onSelect(group.id!);
} else if (
hasSubgroups(group) &&
(e.target as HTMLInputElement).type !== "checkbox"
) {
} else if ((e.target as HTMLInputElement).type !== "checkbox") {
onSelect(group.id!);
setIsSearching(false);
}
}}
>
<DataListItemRow
className={`join-group-dialog-row-${
isRowDisabled(group) ? "m-disabled" : ""
className={`join-group-dialog-row${
isRowDisabled(group) ? "-m-disabled" : ""
}`}
data-testid={group.name}
>
@ -364,7 +359,7 @@ const GroupRow = ({
aria-label={t("groupName")}
isPlainButtonAction
>
{((hasSubgroups(group) && canBrowse) || type === "selectOne") && (
{(canBrowse || type === "selectOne") && (
<Button variant="link" aria-label={t("select")}>
<AngleRightIcon />
</Button>

View file

@ -2,4 +2,8 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.join-group-dialog-row {
cursor: pointer;
}

View file

@ -45,6 +45,7 @@ export const MoveDialog = ({ source, onClose, refresh }: MoveDialogProps) => {
}}
onClose={onClose}
onConfirm={moveGroup}
isMove
/>
);
};