modal_container.js 901 B

123456789101112131415161718192021222324252627
  1. import { connect } from 'react-redux';
  2. import { openModal, closeModal } from '../../../actions/modal';
  3. import ModalRoot from '../components/modal_root';
  4. const mapStateToProps = state => ({
  5. ignoreFocus: state.getIn(['modal', 'ignoreFocus']),
  6. type: state.getIn(['modal', 'stack', 0, 'modalType'], null),
  7. props: state.getIn(['modal', 'stack', 0, 'modalProps'], {}),
  8. });
  9. const mapDispatchToProps = dispatch => ({
  10. onClose (confirmationMessage, ignoreFocus = false) {
  11. if (confirmationMessage) {
  12. dispatch(
  13. openModal('CONFIRM', {
  14. message: confirmationMessage.message,
  15. confirm: confirmationMessage.confirm,
  16. onConfirm: () => dispatch(closeModal(undefined, { ignoreFocus })),
  17. }),
  18. );
  19. } else {
  20. dispatch(closeModal(undefined, { ignoreFocus }));
  21. }
  22. },
  23. });
  24. export default connect(mapStateToProps, mapDispatchToProps)(ModalRoot);