/* eslint-disable */
// @ts-nocheck
import OrganizationRepresentation from "@keycloak/keycloak-admin-client/lib/defs/organizationRepresentation";
import { Badge, Chip, ChipGroup } from "../../@patternfly/react-core";
import { TableText } from "../../@patternfly/react-table";
import { FunctionComponent, PropsWithChildren, ReactNode } from "react";
import { useTranslation } from "react-i18next";
import type { Action, LoaderFunction } from "./table/KeycloakDataTable";
import { KeycloakDataTable } from "./table/KeycloakDataTable";
type OrgDetailLinkProps = {
link: FunctionComponent<
PropsWithChildren<{ organization: OrganizationRepresentation }>
>;
organization: OrganizationRepresentation;
};
const OrgDetailLink = ({ link, organization }: OrgDetailLinkProps) => {
const { t } = useTranslation();
const Component = link;
return (
{organization.name}
{!organization.enabled && (
{t("disabled")}
)}
);
};
const Domains = (org: OrganizationRepresentation) => {
const { t } = useTranslation();
return (
{org.domains?.map((dn) => {
const name = typeof dn === "string" ? dn : dn.name;
return (
{name}
);
})}
);
};
export type OrganizationTableProps = PropsWithChildren & {
loader:
| LoaderFunction
| OrganizationRepresentation[];
link: FunctionComponent<
PropsWithChildren<{ organization: OrganizationRepresentation }>
>;
toolbarItem?: ReactNode;
isPaginated?: boolean;
isSearching?: boolean;
searchPlaceholderKey?: string;
onSelect?: (orgs: OrganizationRepresentation[]) => void;
onDelete?: (org: OrganizationRepresentation) => void;
deleteLabel?: string;
actions?: Action[];
};
export const OrganizationTable = ({
loader,
toolbarItem,
isPaginated = false,
isSearching = false,
searchPlaceholderKey,
onSelect,
onDelete,
deleteLabel = "delete",
link,
children,
actions,
}: OrganizationTableProps) => {
const { t } = useTranslation();
return (
(
),
},
{
name: "domains",
displayKey: "domains",
cellRenderer: Domains,
},
{
name: "description",
displayKey: "description",
},
{
name: "membershipType",
displayKey: "membershipType",
},
]}
emptyState={children}
/>
);
};