/* 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} /> ); };