import React from 'react';
import {
Button,
ButtonVariant,
Select,
SelectList,
SelectOption,
Pagination,
Dropdown,
DropdownItem,
DropdownList,
Divider,
MenuToggle,
MenuToggleCheckbox,
MenuToggleElement,
OverflowMenu,
OverflowMenuContent,
OverflowMenuControl,
OverflowMenuGroup,
OverflowMenuItem,
Toolbar,
ToolbarContent,
ToolbarToggleGroup,
ToolbarItem
} from '@breakaway/preact-core';
import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
export const ToolbarStacked: React.FunctionComponent = () => {
// toggle group - three option menus with labels, two icon buttons, Kebab menu - right aligned
// pagination - right aligned
const resourceOptions = ['All resources', 'Deployment', 'Pod'];
const statusOptions = ['New', 'Pending', 'Running', 'Cancelled'];
const [kebabIsOpen, setKebabIsOpen] = React.useState(false);
const [resourceIsExpanded, setResourceIsExpanded] = React.useState(false);
const [resourceSelected, setResourceSelected] = React.useState('');
const [statusIsExpanded, setStatusIsExpanded] = React.useState(false);
const [statusSelected, setStatusSelected] = React.useState('');
const [isSplitButtonDropdownOpen, setIsSplitButtonDropdownOpen] = React.useState(false);
const [page, setPage] = React.useState(1);
const [perPage, setPerPage] = React.useState(20);
const onKebabToggle = () => {
setKebabIsOpen(!kebabIsOpen);
};
const onResourceToggle = () => {
setResourceIsExpanded(!resourceIsExpanded);
};
const onResourceSelect = (_event: React.ChangeEvent | React.MouseEvent, selection: string) => {
setResourceSelected(selection);
setResourceIsExpanded(false);
};
const onResourceSelectDropdown = () => {
setResourceIsExpanded(false);
};
const onStatusToggle = () => {
setStatusIsExpanded(!statusIsExpanded);
};
const onStatusSelect = (_event: React.ChangeEvent | React.MouseEvent, selection: string) => {
setStatusSelected(selection);
setStatusIsExpanded(false);
};
const onSetPage = (_event: React.MouseEvent | React.KeyboardEvent | MouseEvent, pageNumber: number) => {
setPage(pageNumber);
};
const onPerPageSelect = (
_event: React.MouseEvent | React.KeyboardEvent | MouseEvent,
perPage: number,
page: number
) => {
setPage(page);
setPerPage(perPage);
};
const onSplitButtonToggle = () => {
setIsSplitButtonDropdownOpen(!isSplitButtonDropdownOpen);
};
const onSplitButtonSelect = () => {
setIsSplitButtonDropdownOpen(!isSplitButtonDropdownOpen);
};
const dropdownItems = (
<>
Action
ev.preventDefault()}
>
Link
Disabled Action
Disabled Link
>
);
const splitButtonDropdownItems = (
<>
Action
ev.preventDefault()}
>
Link
Disabled Action
Disabled Link
>
);
const toggleGroupItems = (
Resource
Status
);
const firstRowItems = (
} breakpoint="lg">
{toggleGroupItems}
setKebabIsOpen(isOpen)}
toggle={(toggleRef: React.Ref) => (
)}
isOpen={kebabIsOpen}
>
{dropdownItems}
);
const secondRowItems = (
setIsSplitButtonDropdownOpen(isOpen)}
toggle={(toggleRef: React.Ref) => (
]
}}
/>
)}
>
{splitButtonDropdownItems}
);
return (
{firstRowItems}
{secondRowItems}
);
};