@ima/devtools
Version:
IMA.js debugging panel in the Chrome Developer Tools window.
58 lines (46 loc) • 1.27 kB
JSX
import PropTypes from 'prop-types';
import React from 'react';
import { Button, Modal, ModalFooter } from '@/components/atom';
import styles from './confirmModal.module.less';
export default class ConfirmModal extends React.PureComponent {
static get propTypes() {
return {
body: PropTypes.any,
opened: PropTypes.bool,
accept: PropTypes.func,
cancel: PropTypes.func,
hideConfirmModal: PropTypes.func,
};
}
render() {
const { body, opened } = this.props;
return (
<Modal
title='Confirm'
className={styles.modal}
onClose={e => this.onCancel(e)}
opened={opened}
>
<div className={styles.body}>{body}</div>
<ModalFooter className={styles.footer}>
<Button onClick={e => this.onConfirm(e)} color='primary'>
Confirm
</Button>
<Button onClick={e => this.onCancel(e)}>Cancel</Button>
</ModalFooter>
</Modal>
);
}
onConfirm(e) {
e.preventDefault();
const { accept, hideConfirmModal } = this.props;
accept();
hideConfirmModal();
}
onCancel(e) {
e.preventDefault();
const { cancel, hideConfirmModal } = this.props;
cancel && cancel();
hideConfirmModal();
}
}