Skip to content

mohitgupta8888/react-dialog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Dialog

React component for dialog widget.

Installation

React Dialog is available as an npm package.

npm install react-dialog

Use browserify and reactify for dependency management and JSX transformation.

All styles written in CSS and are in css/index.css

Demo

http://mohitgupta8888.github.io/react-dialog

Usage

import React, { Component } from 'react';
import Dialog from 'react-dialog';

// Be sure to include styles at some point, probably during your bootstrapping
import 'react-dialog/css/index.css';

class Example extends Component {
  state = {
    isDialogOpen: false
  }

  openDialog = () => this.setState({ isDialogOpen: true })

  handleClose = () => this.setState({ isDialogOpen: false })

  render() {
    return (
      <div className="container">
        <button type="button" onClick={this.openDialog}>Open Dialog</button>
        {this.state.isDialogOpen &&
          <Dialog
            title="Dialog Title"
            modal
            onClose={this.handleClose}
            buttons={[{
              text: 'Close',
              onClick: () => this.handleClose()
            }]}
          >
            <h1>Dialog Content</h1>
            <p>More Content. Anything goes here</p>
          </Dialog>
        }
      </div>
    );
  }
}

API

props.height

  • Number || String
  • default: 300
  • Specifies the width of Dialog (String or Number) '80%' or '500'

props.width

  • Number || String
  • default: 500
  • Whether overlay is added to dialog or not

props.modal

  • Boolean
  • default: false
  • Whether overlay is added to dialog or not

props.closeOnEscape

  • Boolean
  • Default: true
  • If true, the props.onClose event will be triggered if user presses Esc key on keyboard.

props.isDraggable

  • Boolean
  • default: false
  • Whether dialog is draggable

props.isResizable

  • Boolean
  • default: false
  • Whether dialog is resizable

props.title

  • String or ReactElement
  • default: ''
  • Title of dialog box. Could be string or some react element.

props.hasCloseIcon

  • Boolean
  • default: true
  • Whether close icon is displayed at dialog title

props.allowMinimize

  • Boolean
  • default: false
  • Whether dialog can be minimized or not

props.allowMaximize

  • Boolean
  • default: false
  • Whether dialog can be maximized (full screen) or not

props.onClose

  • Function
  • default: null
  • Function that will be triggered whenever there is a close event.

props.buttons

[{
   text: string,
   onClick: Function,
   className: string
}]

or

[ReactElements]
  • Default: null
  • Represents the collection of buttons to be render in dialog footer

props.position

{
    x: number,
    y: number
}
  • default: center of the screen:
{
    x: -250, // -width / 2
    y: -150  // -height / 2
}
  • The shift in the x and y axis relative to the center of the screen ({ x: 0, y: 0 })

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published