// @flow import * as React from "react"; import ReactDOM from "react-dom"; import Modal from "./Modal"; type ButtonType = { label: string, onClick: () => void | null }; type Props = { title: string, message: string, buttons: ButtonType[] }; class ConfirmAlert extends React.Component { handleClickButton = (button: ButtonType) => { if (button.onClick) { button.onClick(); } this.close(); }; close = () => { ReactDOM.unmountComponentAtNode(document.getElementById("modalRoot")); }; render() { const { title, message, buttons } = this.props; const body= ( <> {message}
{buttons.map((button, i) => ( this.handleClickButton(button)} > {button.label} ))}
); return ( this.close()} body={body} active={true}/> ); } } export function confirmAlert(properties: Props) { const root = document.getElementById("modalRoot"); if(root){ ReactDOM.render(, root); } } export default ConfirmAlert;