1.2.1 • Published 4 years ago

react-open-dialog v1.2.1

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

react-open-dialog

Open Dialog as function call or react component.

NPM JavaScript Style Guide

Features

  • Easy to use
  • Open Dialog as function call.
  • Open Dialog as react component.
  • Get nice and user friendly confirm dialog.
  • Create your own custom Dialog with jsx

Demo

Demo Page

Install

npm install --save react-open-dialog

Peer Dependency

This package has a peer dependency with @material-ui/core package so make sure to install this also.

npm install --save @material-ui/core

Usage

Open Confirm Dialog as function

As Function

import React from 'react'

import { DialogUtils } from 'react-open-dialog'

const App = () => {
  return (
    <div>
      <button
        onClick={() => {
          DialogUtils.openConfirmDialog({
            title: 'Dilog Title',
            message:
              'Elit amet esse minim elit pariatur voluptate dolor non et. Nulla ad do amet amet mollit duis voluptate magna. Nisi in non cillum amet magna consequat occaecat adipisicing. Ex consequat qui mollit eu exercitation et do adipisicing reprehenderit. Laborum sint eu sit sit ea anim Lorem id ut qui consectetur proident eiusmod laborum. Ipsum aliquip duis fugiat veniam nulla ut.'
          })
        }}
      >
        Open Confirm Dialog
      </button>
    </div>
  )
}

export default App

Open Confirm Dialog as component

As Component

<ConfirmDialog
  anchorElement={
    <div
      style={{
        border: '1px solid black',
        padding: 3,
        marginRight: 20
      }}
    >
      Open Confirm Dialog
    </div>
  }
  title='Dilog Title'
  message='Elit amet esse minim elit pariatur voluptate dolor non et. Nulla ad do amet amet mollit duis voluptate magna. Nisi in non cillum amet magna consequat occaecat adipisicing. Ex consequat qui mollit eu exercitation et do adipisicing reprehenderit. Laborum sint eu sit sit ea anim Lorem id ut qui consectetur proident eiusmod laborum. Ipsum aliquip duis fugiat veniam nulla ut.'
/>

Options For Confirm Dialog

NameTypeDescription
titlestring or nodeTitle of dialog
messagestring or nodeMessage for user to confirm something.
onClickYesfunctionTrigger when use clicked on YES button
onClickNofunctionTrigger when use clicked on NO button
yesTextstringTo change the text from YES to something else
noTextstringTo change the text from NO to something else
disableBackdropClickbooleanWhether to close dialog when user clicks outside (Default-false)
closeOnButtonClickedbooleanWhether to close dialog when user clicks any of the button(Yes/NO) (Default-true)
yesButtonPropsobjectMaterial UI button props
noButtonPropsobjectMaterial UI button props
dialogPropsobjectMaterial UI Dialog props
titlePropsobjectMaterial UI DialogTitle props
anchorElementstring or nodeAnchor Element to hold dialog (Only available when using as a component)
anchorElementContainerStyleobjectcss as a object (Only available when using as a component)
defaultOpenbooleanmake dialog open by default (Default-false) (Only available when using as a component)

Open Custom Dialog as function

As Function

import React from 'react'

import { DialogUtils } from 'react-open-dialog'

const App = () => {
  return (
    <div>
      <button
        onClick={() => {
          DialogUtils.openCustomDialog({
            title: 'Custom Dialog',
            customRender: ({ closeDialog }) => {
              return (
                <div>
                  <p>My very first custom dialog </p>
                  <button
                    onClick={() => {
                      closeDialog()
                    }}
                  >
                    Close
                  </button>
                </div>
              )
            }
          })
        }}
      >
        Open Custom Dialog
      </button>
    </div>
  )
}

export default App

Open Confirm Dialog as component

As Component

<CustomDialog
  anchorElement={
    <div style={{ border: '1px solid black', padding: 3 }}>
      Open Custom Dialog
    </div>
  }
  title='Dilog Title'
>
  {({ closeDialog }) => {
    return (
      <div>
        <p>My very first custom dialog </p>
        <button
          onClick={() => {
            closeDialog()
          }}
        >
          Close
        </button>
      </div>
    )
  }}
</CustomDialog>

Options For Custom Dialog

NameTypeDescription
titlestring or nodeTitle of dialog
customRendercallback functionfunction that returns valid JSX (eg: ({closeDialog})=><div>Hello JSX</div>)
disableBackdropClickbooleanWhether to close dialog when user clicks outside (Default-false)
dialogPropsobjectMaterial UI Dialog props
titlePropsobjectMaterial UI DialogTitle props
anchorElementstring or nodeAnchor Element to hold dialog (Only available when using as a component)
anchorElementContainerStyleobjectcss as a object (Only available when using as a component)
defaultOpenbooleanmake dialog open by default (Default-false)(Only available when using as a component)

Screenshots

Confirm Dialog

Confirm Dialog

Custom Dialog

Custom Dialog

License

MIT © githubprabin143