react-simple-file-input
Advanced tools
+34
-3
@@ -32,3 +32,3 @@ 'use strict'; | ||
| var SUPPORTED_EVENTS = ['onLoadStart', 'onProgress', 'onLoadEnd', 'onLoad', 'onAbort', 'onError']; | ||
| var SUPPORTED_EVENTS = ['onLoadStart', 'onLoadEnd', 'onLoad', 'onAbort', 'onError']; | ||
@@ -44,4 +44,7 @@ var FileInput = _reactAddons2['default'].createClass({ | ||
| onAbort: _reactAddons2['default'].PropTypes.func, | ||
| onCancel: _reactAddons2['default'].PropTypes.func, | ||
| onError: _reactAddons2['default'].PropTypes.func, | ||
| onProgress: _reactAddons2['default'].PropTypes.func | ||
| onProgress: _reactAddons2['default'].PropTypes.func, | ||
| cancelIf: _reactAddons2['default'].PropTypes.func, | ||
| abortIf: _reactAddons2['default'].PropTypes.oneOf(_reactAddons2['default'].PropTypes.func, _reactAddons2['default'].PropTypes.boolean) | ||
| }, | ||
@@ -64,2 +67,9 @@ | ||
| var _props = this.props; | ||
| var readAs = _props.readAs; | ||
| var cancelIf = _props.cancelIf; | ||
| var onCancel = _props.onCancel; | ||
| var onProgress = _props.onProgress; | ||
| var abortIf = _props.abortIf; | ||
| var fileReader = new window.FileReader(); | ||
@@ -69,2 +79,10 @@ | ||
| if (cancelIf && cancelIf(file)) { | ||
| if (onCancel) { | ||
| onCancel(file); | ||
| } | ||
| return; | ||
| } | ||
| var _loop = function (i) { | ||
@@ -84,4 +102,17 @@ var handlerName = SUPPORTED_EVENTS[i]; | ||
| var readAs = this.props.readAs; | ||
| if (typeof abortIf !== 'undefined') { | ||
| fileReader.onprogress = function (event) { | ||
| if (typeof abortIf === 'function' && abortIf(event) || abortIf) { | ||
| fileReader.abort(); | ||
| } | ||
| if (onProgress) { | ||
| onProgress(event); | ||
| } | ||
| }; | ||
| } else if (onProgress) { | ||
| fileReader.onprogress = onProgress; | ||
| } | ||
| fileReader[READ_METHOD_ALIASES[readAs]](file); | ||
@@ -88,0 +119,0 @@ }, |
+1
-1
| { | ||
| "name": "react-simple-file-input", | ||
| "version": "0.0.2", | ||
| "version": "0.0.3", | ||
| "description": "Simple wrapper for the HTML input tag and HTML5 FileReader API", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
6558
15.5%112
30.23%