Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import React from 'react' import { withTranslation, WithTranslation } from 'react-i18next' import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Alert } from 'reactstrap' interface Props extends WithTranslation { show: boolean onHide: () => void handleDelete: Function handleClose: Function } interface State { error: boolean } class DeleteConfirmModal extends React.Component<Props, State> { static defaultProps = { show: false } constructor(props: Props) { super(props) this.state = { error: false, } this.handleDelete = this.handleDelete.bind(this) } async handleDelete() { const { handleClose, handleDelete } = this.props this.setState({ error: false }) const error = await handleDelete() if (error !== null) { this.setState({ error: true }) } else { handleClose() } } render() { const { show, onHide, t } = this.props const { error } = this.state return ( <Modal isOpen={show} toggle={onHide}> <ModalHeader toggle={onHide}>{t('Delete shared link to this page?')}</ModalHeader> <ModalBody> {error && <Alert color="danger">{t('share.error.can_not_delete')}</Alert>} <p>{t('No one can see this page if the link is deleted')}</p> </ModalBody> <ModalFooter> <Button onClick={onHide}>{t('Cancel')}</Button> <Button onClick={this.handleDelete} color="danger"> {t('Delete')} </Button> </ModalFooter> </Modal> ) } } export default withTranslation()(DeleteConfirmModal) |