import React from 'react';
import {
Button,
EmptyState,
EmptyStateBody,
EmptyStateHeader,
EmptyStateFooter,
NotificationDrawer,
NotificationDrawerBody,
NotificationDrawerHeader,
NotificationDrawerGroup,
NotificationDrawerGroupList,
NotificationDrawerList,
NotificationDrawerListItem,
NotificationDrawerListItemBody,
NotificationDrawerListItemHeader,
EmptyStateVariant,
EmptyStateActions,
EmptyStateIcon,
Dropdown,
DropdownList,
DropdownItem,
MenuToggle,
MenuToggleElement
} from '@breakaway/preact-core';
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
export const NotificationDrawerGroups: React.FunctionComponent = () => {
const [firstGroupExpanded, setFirstGroupExpanded] = React.useState(false);
const [secondGroupExpanded, setSecondGroupExpanded] = React.useState(true);
const [thirdGroupExpanded, setThirdGroupExpanded] = React.useState(false);
const [isOpenMap, setIsOpenMap] = React.useState({});
const onToggle = (id: string) => {
setIsOpenMap((prevState) => ({ ...prevState, [id]: !prevState[id] }));
};
const onSelect = () => {
setIsOpenMap({});
};
const toggleFirstDrawer = (_event: any, value: boolean) => {
setFirstGroupExpanded(value);
setSecondGroupExpanded(false);
setThirdGroupExpanded(false);
};
const toggleSecondDrawer = (_event: any, value: boolean) => {
setSecondGroupExpanded(value);
setFirstGroupExpanded(false);
setThirdGroupExpanded(false);
};
const toggleThirdDrawer = (_event: any, value: boolean) => {
setThirdGroupExpanded(value);
setSecondGroupExpanded(false);
setFirstGroupExpanded(false);
};
const dropdownItems = (
<>
Action
ev.preventDefault()}
>
Link
Disabled Action
Disabled Link
>
);
return (
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-1')}
variant="plain"
aria-label={`Groups example header kebab toggle`}
>
)}
>
{dropdownItems}
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-2')}
variant="plain"
aria-label={`Groups example group 1 notification 1 kebab toggle`}
>
)}
>
{dropdownItems}
This is an info notification description.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-3')}
variant="plain"
aria-label={`Groups example group 1 notification 2 kebab toggle`}
>
)}
>
{dropdownItems}
This is a danger notification description. This is a long description to show how the title will wrap
if it is long and wraps to multiple lines.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-4')}
variant="plain"
aria-label={`Groups example group 1 notification 3 kebab toggle`}
>
)}
>
{dropdownItems}
This is a warning notification description.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-5')}
variant="plain"
aria-label={`Groups example group 1 notification 4 kebab toggle`}
>
)}
>
{dropdownItems}
This is a success notification description.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-6')}
variant="plain"
aria-label={`Groups example group 2 notification 1 kebab toggle`}
>
)}
>
{dropdownItems}
This is an info notification description.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-7')}
variant="plain"
aria-label={`Groups example group 2 notification 2 kebab toggle`}
>
)}
>
{dropdownItems}
This is a danger notification description. This is a long description to show how the title will wrap
if it is long and wraps to multiple lines.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-8')}
variant="plain"
aria-label={`Groups example group 2 notification 3 kebab toggle`}
>
)}
>
{dropdownItems}
This is a warning notification description.
setIsOpenMap({})}
popperProps={{ position: 'right' }}
toggle={(toggleRef: React.Ref) => (
onToggle('groups-kebab-toggle-9')}
variant="plain"
aria-label={`Groups example group 2 notification 4 kebab toggle`}
>
)}
>
{dropdownItems}
This is a success notification description.
}
/>
There are currently no critical alerts firing. There may be firing alerts of other severities or
silenced critical alerts however.
);
};