1.0.2 • Published 3 years ago

react-modal-promise v1.0.2

Weekly downloads
1,237
License
MIT
Repository
github
Last release
3 years ago

Install

npm install react-modal-promise

or

yarn add react-modal-promise

How to use:

  1. Place ModalContainer in any place of your App, it will emit new modal instances:
import ModalContainer from 'react-modal-promise'

class MyApp extends React.Component {
  render () {
    return (
      <ModalContainer />
    )
  }
}
  1. Create you own modal component:

(You should pass isOpen: boolean flag to you Modal component)

You can resolve or reject Promise with onResolve() or onReject() callback from props:

import { createModal } from 'react-modal-promise'
import { Modal } from 'react-bootstrap'

const MyModal = ({ isOpen, onResolve, onReject }) => (
  <Modal open={isOpen} onHide={() => onReject()}>
    My Super Promised modal
    <button onClick={() => onResolve(/*pass any value*/)}>Confirm modal</button>
    <button onClick={() => onReject(/*throw any error*/)}>Reject modal</button>
  </Modal>
)

And wrap it:

const myPromiseModal = createModal(MyModal)
  1. Use the modal as a Promise everywhere:
myPromiseModal({ /*pass any props there*/ })
  .then(value => {
    // get value that you passed to 'onResolve' function
  }).catch(error => {
    // get error that you passed to 'onReject' function
  })

Examples

Simple:

Edit react-modal-promise-example

With hook and route control:

Edit react-modal-promise-router-example

Use multiple scopes:

Edit react-modal-promise-multiple-scopes-example

Features

You can use react-modal-promise with any theming (Bootstrap or material-ui, styled-components, or other), all instances work great!

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.7.6

3 years ago

0.7.5

3 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.7.4

3 years ago

0.7.3

3 years ago

0.7.0

3 years ago

0.6.0

3 years ago

0.5.3

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.0

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago