All Projects → Yuvaleros → Material Ui Dropzone

Yuvaleros / Material Ui Dropzone

Licence: mit
A Material-UI file upload dropzone

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Material Ui Dropzone

React Admin
A frontend Framework for building B2B applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design
Stars: ✭ 18,525 (+5547.87%)
Mutual labels:  material-ui
Spring Boot File Upload Download Rest Api Example
Spring Boot File Upload / Download Rest API Example
Stars: ✭ 300 (-8.54%)
Mutual labels:  file-upload
Vxe Table
🐬 vxe-table vue 表格解决方案
Stars: ✭ 4,242 (+1193.29%)
Mutual labels:  modal
Googlekeepclone
A clone of Google Keep with its original Material Design aesthetics
Stars: ✭ 281 (-14.33%)
Mutual labels:  material-ui
Tltransitions
快速实现控制器的转场和View的快速popover显示,并支持自定义动画、手势退场
Stars: ✭ 296 (-9.76%)
Mutual labels:  modal
React Crm
A reusable CRM project for real-world business based on React 16, Redux & Material-UI 4
Stars: ✭ 307 (-6.4%)
Mutual labels:  material-ui
Body Scroll Lock
Body scroll locking that just works with everything 😏
Stars: ✭ 3,357 (+923.48%)
Mutual labels:  modal
Next Shopify Storefront
🛍 A real-world Shopping Cart built with TypeScript, NextJS, React, Redux, Apollo Client, Shopify Storefront GraphQL API, ... and Material UI.
Stars: ✭ 317 (-3.35%)
Mutual labels:  material-ui
Macos Web
Stars: ✭ 259 (-21.04%)
Mutual labels:  material-ui
Vodal
A Vue modal with animations.
Stars: ✭ 312 (-4.88%)
Mutual labels:  modal
React Material Ui Form Validator
Simple validator for forms designed with material-ui components.
Stars: ✭ 289 (-11.89%)
Mutual labels:  material-ui
Popbox.js
A tiny and simple stackable modal plugin for web apps
Stars: ✭ 295 (-10.06%)
Mutual labels:  modal
Graphql Starter
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, and Material UI.
Stars: ✭ 3,377 (+929.57%)
Mutual labels:  material-ui
Syncano Dashboard
The Syncano Dashboard built with React.
Stars: ✭ 287 (-12.5%)
Mutual labels:  material-ui
Zuck.js
A javascript library that lets you add stories EVERYWHERE.
Stars: ✭ 3,396 (+935.37%)
Mutual labels:  modal
Dropzone
Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.
Stars: ✭ 16,097 (+4807.62%)
Mutual labels:  file-upload
Basiclightbox
The lightest lightbox ever made.
Stars: ✭ 299 (-8.84%)
Mutual labels:  modal
Efo
EFO是一个基于SpringBoot和Vue构建的文件分享系统,包括文件的上传与下载,文件的权限管理,远程文件管理等功能。
Stars: ✭ 327 (-0.3%)
Mutual labels:  file-upload
Vue File Upload
vue.js ,vue-loader 上传文件,vue-file-upload,vue上传文件组件
Stars: ✭ 317 (-3.35%)
Mutual labels:  file-upload
The Modal
Proper modal boxes
Stars: ✭ 311 (-5.18%)
Mutual labels:  modal

material-ui-dropzone

Material-UI-dropzone is a React component using Material-UI and is based on the excellent react-dropzone library.

License All Contributors

Rebuild Dist Workflow Status Update Docs Workflow Status

npm package npm downloads

This components provide either a file-upload dropzone or a file-upload dropzone inside of a dialog.

The file-upload dropzone features some snazzy "File Allowed/Not Allowed" effects, previews and alerts.

Installation

npm install --save material-ui-dropzone

or

yarn add material-ui-dropzone

Support

material-ui-dropzone complies to the following support matrix.

version React Material-UI
3.x 16.8+ 4.x
2.x 15.x or 16.x 3.x or 4.x

Screenshots

This is the Dialog component:

Dialog Dialog with Previews

When you drag a file onto the dropzone, you get a neat effect:

Drag Overlay

And if you drag in a wrong type of file, you'll get yelled at:

Drag Error Overlay

N.B. This has some limitations (see here for more details).

Documentation and Examples

See https://yuvaleros.github.io/material-ui-dropzone for Documentation and Examples.

Components

DropzoneArea

This components creates the dropzone, previews and snackbar notifications without a dialog

import React, {Component} from 'react'
import {DropzoneArea} from 'material-ui-dropzone'

class DropzoneAreaExample extends Component{
  constructor(props){
    super(props);
    this.state = {
      files: []
    };
  }
  handleChange(files){
    this.setState({
      files: files
    });
  }
  render(){
    return (
      <DropzoneArea
        onChange={this.handleChange.bind(this)}
        />
    )
  }
}

export default DropzoneAreaExample;

DropzoneDialog

This component provides the DropzoneArea inside of a MaterialUI Dialog.

import React, { Component } from 'react'
import {DropzoneDialog} from 'material-ui-dropzone'
import Button from '@material-ui/core/Button';

export default class DropzoneDialogExample extends Component {
    constructor(props) {
        super(props);
        this.state = {
            open: false,
            files: []
        };
    }

    handleClose() {
        this.setState({
            open: false
        });
    }

    handleSave(files) {
        //Saving files to state for further use and closing Modal.
        this.setState({
            files: files,
            open: false
        });
    }

    handleOpen() {
        this.setState({
            open: true,
        });
    }

    render() {
        return (
            <div>
                <Button onClick={this.handleOpen.bind(this)}>
                  Add Image
                </Button>
                <DropzoneDialog
                    open={this.state.open}
                    onSave={this.handleSave.bind(this)}
                    acceptedFiles={['image/jpeg', 'image/png', 'image/bmp']}
                    showPreviews={true}
                    maxFileSize={5000000}
                    onClose={this.handleClose.bind(this)}
                />
            </div>
        );
    }
}

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):


Yuvaleros

🤔 💻 🎨 📖 💬 👀 🚧

Mattia Panzeri

🤔 💻 🎨 📖 💡 🚇 🐛 💬 👀 🚧

Max Carroll

🤔 💻 🎨 💡 👀

Matthew Corner

🐛 🤔 💻

Barry Loong

🤔 💻

JF Blouin

🤔 💻

Anthony Raymond

💻 💡

isaacbuckman

🐛 💻 💡

MatthijsMud

🐛 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].