react-dropfile-field
v0.0.6
Published
React component which handle file drop and preview
Downloads
10
Maintainers
Readme
react-dropfile-field
Input textarea with file drag drop preview.
Demo
Installation
npm install --save react-dropfile-field
API
DropfileField
Props
DropfileField.propTypes = {
textField: React.PropTypes.element,
iconClassNamesByExtension: React.PropTypes.object,
previewImageStyle: React.PropTypes.object,
previewIconStyle: React.PropTypes.object,
dragActiveStyle: React.PropTypes.object,
maxFileCount: React.PropTypes.number,
onDrop: React.PropTypes.func,
onFileClear: React.PropTypes.func,
accept: React.PropTypes.string,
multiple: React.PropTypes.bool
};
DropfileField.defaultProps = {
textField: (<textarea/>),
iconClassNamesByExtension: {},
previewImageStyle: {},
previewIconStyle: {},
dragActiveStyle: {},
maxFileCount: 1,
onDrop: () => {},
onFileClear: () => {}
};
textField
: element for text inputiconClassNamesByExtension
: icon class name look up table keyed with file extension,previewImageStyle
: style of previw imagepreviewIconStyle
: style of previw icondragActiveStyle
: style of when files are dragging on elementmaxFileCount
: available file countonDrop(event, files)
: callback for file drop eventonFileClear()
: callback for file clear eventaccept
: accept attribute for manually toggled file inputmultiple
: multiple attribute for manually toggled file input
Usage example
import {DropfileField} from 'react-dropfile-field';
const iconClassNamesByExtension = {
'text': 'icon-file-text',
'doc': 'icon-file-word',
'xls': 'icon-file-excel',
'xlsx': 'icon-file-excel',
'pdf': 'icon-file-pdf',
'default': 'icon-file-text'
}
<DropfileField
textField={<textarea />}
onDrop={this.onDrop.bind(this)}
iconClassNamesByExtension ={iconClassNamesByExtension}
/>
See example
npm install
npm run start:example
Tests
npm test