import React from 'react';
import {
Button,
Dropdown,
DropdownItem,
DropdownPosition,
DropdownDirection,
DropdownSeparator,
EmptyState,
EmptyStateBody,
EmptyStateIcon,
EmptyStatePrimary,
KebabToggle,
NotificationDrawer,
NotificationDrawerBody,
NotificationDrawerHeader,
NotificationDrawerGroup,
NotificationDrawerGroupList,
NotificationDrawerList,
NotificationDrawerListItem,
NotificationDrawerListItemBody,
NotificationDrawerListItemHeader,
Title,
EmptyStateVariant
} from '@patternfly/react-core';
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, isOpen: boolean) => {
setIsOpenMap({ [id]: isOpen });
};
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 = [
Link,
Action
,
,
Disabled link
];
return (
onToggle('groups-kebab-toggle-1', isOpen)} id="groups-kebab-toggle-1" />
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-1']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-1"
position={DropdownPosition.right}
/>
onToggle('groups-kebab-toggle-2', isOpen)}
id="groups-kebab-toggle-2"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-2']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-2"
/>
This is an info notification description.
onToggle('groups-kebab-toggle-3', isOpen)}
id="groups-kebab-toggle-3"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-3']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-3"
/>
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.
onToggle('groups-kebab-toggle-4', isOpen)}
id="groups-kebab-toggle-4"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-4']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-7"
/>
This is a warning notification description.
onToggle('groups-kebab-toggle-5', isOpen)}
id="groups-kebab-toggle-5"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-5']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-5"
/>
This is a success notification description.
onToggle('groups-kebab-toggle-6', isOpen)}
id="groups-kebab-toggle-6"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-6']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-6"
/>
This is an info notification description.
onToggle('groups-kebab-toggle-7', isOpen)}
id="groups-kebab-toggle-7"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-7']}
isPlain
dropdownItems={dropdownItems}
id="gropued-notification-7"
/>
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.
onToggle('groups-kebab-toggle-8', isOpen)}
id="groups-kebab-toggle-8"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-8']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-8"
/>
This is a warning notification description.
onToggle('groups-kebab-toggle-9', isOpen)}
id="groups-kebab-toggle-9"
/>
}
isOpen={isOpenMap && isOpenMap['groups-kebab-toggle-9']}
isPlain
dropdownItems={dropdownItems}
id="grouped-notification-9"
/>
This is a success notification description.
No alerts found
There are currently no critical alerts firing. There may be firing alerts of other severities or
silenced critical alerts however.
);
};