81 lines
2.6 KiB
JavaScript
Raw Normal View History

2017-08-07 14:03:22 +02:00
/**
*
* PopUpWarning
*
*/
import React from 'react';
// modal
import { Button, Modal, ModalHeader, ModalBody } from 'reactstrap';
import { FormattedMessage } from 'react-intl';
2017-08-11 14:33:18 +02:00
import Danger from '../../assets/icons/icon_danger.svg';
2017-08-07 14:03:22 +02:00
import styles from './styles.scss';
class PopUpWarning extends React.Component { // eslint-disable-line react/prefer-stateless-function
2017-08-11 14:33:18 +02:00
renderModalBodyDanger = () => (
<ModalBody>
<div className={styles.modalDangerBodyContainer}>
<img src={Danger} alt="icon" />
<FormattedMessage id={`settings-manager.${this.props.dangerMessage}`}>
2017-08-11 14:33:18 +02:00
{(message) => (
<p>{message}</p>
)}
</FormattedMessage>
</div>
<div className={styles.buttonDangerContainer}>
<Button onClick={this.props.handleConfirmDanger} className={styles.primary}>
<FormattedMessage id="settings-manager.popUpWarning.danger.ok.message" />
2017-08-11 14:33:18 +02:00
</Button>
</div>
</ModalBody>
)
renderModalBody = () => (
<ModalBody className={styles.modalBody}>
<FormattedMessage id={`settings-manager.${this.props.warningMessage}`} />
2017-08-11 14:33:18 +02:00
<div className={styles.buttonContainer}>
<FormattedMessage id="settings-manager.form.button.cancel">
2017-08-11 14:33:18 +02:00
{(message) => (
<Button onClick={this.props.toggleModal} className={styles.secondary}>{message}</Button>
)}
</FormattedMessage>
<FormattedMessage id="settings-manager.form.button.confirm">
2017-08-11 14:33:18 +02:00
{(message) => (
<Button onClick={this.props.handleConfirm} className={styles.primary}>{message}</Button>
)}
</FormattedMessage>
</div>
</ModalBody>
)
2017-08-07 14:03:22 +02:00
render() {
2017-08-11 14:33:18 +02:00
const modalBody = this.props.showDanger ? this.renderModalBodyDanger() : this.renderModalBody();
2017-08-07 14:03:22 +02:00
return (
<div className={styles.popUpWarning}>
<Modal isOpen={this.props.isOpen} toggle={this.props.toggleModal} className={styles.modalPosition}>
<ModalHeader toggle={this.props.toggleModal} className={styles.header}>
<FormattedMessage id="settings-manager.popUpWarning.title" />
2017-08-07 14:03:22 +02:00
</ModalHeader>
<div className={styles.bordered} />
2017-08-11 14:33:18 +02:00
{modalBody}
2017-08-07 14:03:22 +02:00
</Modal>
</div>
);
}
}
PopUpWarning.propTypes = {
2017-08-18 17:02:33 +02:00
dangerMessage: React.PropTypes.string.isRequired,
handleConfirm: React.PropTypes.func.isRequired,
handleConfirmDanger: React.PropTypes.func.isRequired,
isOpen: React.PropTypes.bool.isRequired,
2017-08-18 17:02:33 +02:00
showDanger: React.PropTypes.bool.isRequired,
toggleModal: React.PropTypes.func.isRequired,
2017-08-18 17:02:33 +02:00
warningMessage: React.PropTypes.string.isRequired,
2017-08-07 14:03:22 +02:00
}
export default PopUpWarning;