/* eslint-disable */ // @ts-nocheck import { Badge, Button, Divider, Dropdown, DropdownList, Level, LevelItem, MenuToggle, PageSection, Switch, Text, TextContent, Toolbar, ToolbarContent, ToolbarItem, } from "../../../shared/@patternfly/react-core"; import { ReactElement, ReactNode, useState, isValidElement, Fragment, } from "react"; import { useTranslation } from "react-i18next"; import { FormattedLink } from "../external-link/FormattedLink"; import { useHelp, HelpItem } from "../../../shared/keycloak-ui-shared"; import "../../help-urls"; export type ViewHeaderProps = { titleKey: string; className?: string; badges?: ViewHeaderBadge[]; isDropdownDisabled?: boolean; subKey?: string | ReactNode; actionsDropdownId?: string; helpUrl?: string | undefined; dropdownItems?: ReactElement[]; lowerDropdownItems?: any; lowerDropdownMenuTitle?: any; lowerButton?: any; isEnabled?: boolean; onToggle?: (value: boolean) => void; divider?: boolean; helpTextKey?: string; isReadOnly?: boolean; actionDropdownTitle?: string; noTranslate?: boolean; }; export type ViewHeaderBadge = { id?: string; text?: string | ReactNode; readonly?: boolean; }; export const ViewHeader = ({ actionsDropdownId, className, titleKey, badges, isDropdownDisabled, subKey, helpUrl, dropdownItems, lowerDropdownMenuTitle, lowerDropdownItems, lowerButton, isEnabled = true, onToggle, divider = true, helpTextKey, isReadOnly = false, actionDropdownTitle = "action", noTranslate = false, }: ViewHeaderProps) => { const { t, i18n } = useTranslation(); const { enabled } = useHelp(); const [isDropdownOpen, setDropdownOpen] = useState(false); const [isLowerDropdownOpen, setIsLowerDropdownOpen] = useState(false); const onDropdownToggle = () => { setDropdownOpen(!isDropdownOpen); }; const onLowerDropdownToggle = () => { setIsLowerDropdownOpen(!isLowerDropdownOpen); }; const toKey = (value: string) => value.replace(/\s/g, "-"); return ( <> {noTranslate || !i18n.exists(titleKey) ? titleKey : t(titleKey)} {badges && ( {badges.map((badge, index) => ( {!isValidElement(badge.text) && ( {badge.text} {" "} )} {isValidElement(badge.text) && badge.text}{" "} ))} )} {onToggle && ( { onToggle(value); }} /> {helpTextKey && ( )} )} {dropdownItems && ( ( {t(actionDropdownTitle)} )} isOpen={isDropdownOpen} > {dropdownItems} )} {enabled && ( {isValidElement(subKey) ? subKey : subKey ? t(subKey as string) : ""} {helpUrl && ( )} )} {lowerDropdownItems && ( ( {t(lowerDropdownMenuTitle)} )} isOpen={isLowerDropdownOpen} > {lowerDropdownItems} )} {lowerButton && ( )} {divider && } ); };