import React from 'react';
import {
Dropdown,
DropdownToggle,
DropdownToggleCheckbox,
DropdownItem,
DropdownSeparator
} from '@breakaway/preact-core/deprecated';
export const DropdownSplitButtonProgressCheckbox: React.FunctionComponent = () => {
const [isOpen1, setIsOpen1] = React.useState(false);
const [isOpen2, setIsOpen2] = React.useState(false);
const [isChecked1, setIsChecked1] = React.useState(false);
const [isChecked2, setIsChecked2] = React.useState(false);
const [isTimedOut1, setIsTimedOut1] = React.useState(true);
const [isTimedOut2, setIsTimedOut2] = React.useState(true);
const onToggle1 = (_event: any, isOpen: boolean) => {
setIsOpen1(isOpen);
};
const onToggle2 = (_event: any, isOpen: boolean) => {
setIsOpen2(isOpen);
};
const showProgressIcon1 = () => {
setIsTimedOut1(false);
setTimeout(() => setIsTimedOut1(true), 3000);
};
const showProgressIcon2 = () => {
setIsTimedOut2(false);
setTimeout(() => setIsTimedOut2(true), 3000);
};
const onFocus1 = () => {
const element = document.getElementById('toggle-split-button-progress');
element?.focus();
};
const onFocus2 = () => {
const element = document.getElementById('toggle-split-button-progress-text');
element?.focus();
};
const onChange1 = (checked: boolean) => {
setIsChecked1(checked);
showProgressIcon1();
};
const onChange2 = (checked: boolean) => {
setIsChecked2(checked);
showProgressIcon2();
};
const onSelect1 = () => {
setIsOpen1(false);
onFocus1();
};
const onSelect2 = () => {
setIsOpen2(false);
onFocus2();
};
const dropdownItems = [
Link,
Action
,
Disabled link
,
Disabled action
,
,
Separated link,
Separated action
];
return (
<>
onChange1(checked)}
isChecked={isChecked1}
isInProgress={!isTimedOut1}
id="split-button-progress-toggle-checkbox"
key="split-progress-checkbox"
aria-label="Select all"
/>
]}
onToggle={onToggle1}
id="toggle-split-button-progress"
/>
}
isOpen={isOpen1}
dropdownItems={dropdownItems}
/>{' '}
onChange2(checked)}
isChecked={isChecked2}
isInProgress={!isTimedOut2}
id="split-button-progress-text-checkbox"
key="split-progress-checkbox"
aria-label="Select all"
>
10 selected
]}
onToggle={onToggle2}
id="toggle-split-button-progress-text"
/>
}
isOpen={isOpen2}
dropdownItems={dropdownItems}
/>
>
);
};