import React from 'react'; import classNames from 'classnames'; import FileDrop from 'react-dropzone'; import _ from 'lodash'; import { Container, Divider, Badge, Button, ButtonGroup } from './../../../components'; import { FilesGrid, FilesList } from './components'; import { HeaderMain } from "../../components/HeaderMain"; export class Dropzone extends React.Component { state = { isOver: false, files: [], listStyle: 'grid' } render() { const { isOver, files, listStyle } = this.state; const dropzoneClass = classNames({ 'dropzone--active': isOver }, 'dropzone'); return ( { /* DropZone */ }

Simple HTML5-compliant drag'n'drop zone for files built with React.js.

{ this.setState({isOver: true}) }} onDragLeave={() => { this.setState({isOver: false}) }} onDrop={this._filesDropped} > { ({ getRootProps, getInputProps }) => (
Upload Your files

Drag a file here or browse for a file to upload.

JPG, GIF, PNG, MOV, and AVI. Please choose files under 2GB for upload. File sizes are 400x300px.

) }
{ /* Files List */} { files.length > 0 && (
Attachments { files.length }
{ listStyle === 'grid' ? : }
) }
); } _filesDropped = (files) => { this.setState({ files: [...this.state.files, ...files], isOver: false }) } _removeFile = (file) => { this.setState({ files: _.reject(this.state.files, file) }) } }