mirror of https://github.com/sgoudham/carbon.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
611 B
JavaScript
20 lines
611 B
JavaScript
8 years ago
|
import React from 'react'
|
||
|
import { DropTarget } from 'react-dnd'
|
||
|
import { NativeTypes } from 'react-dnd-html5-backend'
|
||
|
|
||
|
const spec = {
|
||
|
drop (props, monitor) {
|
||
|
const bundle = monitor.getItem()
|
||
|
const file = bundle.files[0]
|
||
|
const reader = new FileReader()
|
||
|
reader.onload = event => props.onDrop(event.target.result)
|
||
|
reader.readAsText(file, 'UTF-8');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const collect = connect => ({ connectDropTarget: connect.dropTarget() })
|
||
|
|
||
|
const ReadFileDropContainer = props => props.connectDropTarget(props.children)
|
||
|
|
||
|
export default DropTarget(NativeTypes.FILE, spec, collect)(ReadFileDropContainer)
|