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)
|