/* 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 && (
)}
{lowerDropdownItems && (
(
{t(lowerDropdownMenuTitle)}
)}
isOpen={isLowerDropdownOpen}
>
{lowerDropdownItems}
)}
{lowerButton && (
)}
{divider && }
>
);
};