diff options
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 55 |
1 files changed, 44 insertions, 11 deletions
diff --git a/public/bundle.js b/public/bundle.js index bd8bc91..ea45391 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -290,13 +290,21 @@ var _crud = __webpack_require__(/*! ./crud.types */ "./app/client/api/crud.types function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function crud_upload(type, id, fd, dispatch) { +function crud_upload(type, fd, data, dispatch) { return new Promise(function (resolve, reject) { + var id = data.id; + + Object.keys(data).forEach(function (key) { + if (key !== 'id') { + fd.append(key, data[key]); + } + }); + var xhr = new XMLHttpRequest(); xhr.upload.addEventListener("progress", uploadProgress, false); xhr.addEventListener("load", uploadComplete, false); xhr.addEventListener("error", uploadFailed, false); - xhr.addEventListener("abort", uploadCanceled, false); + xhr.addEventListener("abort", uploadCancelled, false); xhr.open("POST", '/' + type + '/' + id + '/upload/'); xhr.send(fd); @@ -332,19 +340,19 @@ function crud_upload(type, id, fd, dispatch) { }, type, id)); } - uploadFailed = function uploadFailed(evt) { + function uploadFailed(evt) { dispatch && dispatch(_defineProperty({ type: (0, _crud.as_type)(type, 'upload_error'), error: 'upload failed' }, type, id)); - }; + } - uploadCancelled = function uploadCancelled(evt) { + function uploadCancelled(evt) { dispatch && dispatch(_defineProperty({ type: (0, _crud.as_type)(type, 'upload_error'), error: 'upload cancelled' }, type, id)); - }; + } }); } @@ -640,6 +648,19 @@ var FileUpload = function (_Component) { key: 'handleChange', value: function handleChange(e) { this.props.onChange && this.props.onChange(); + e.stopPropagation(); + e.preventDefault(); + this.setState({ thumbnails: [], images: [] }); + var files = e.dataTransfer ? e.dataTransfer.files : e.target.files; + var i = void 0, + f = void 0; + for (i = 0, f; i < files.length; i++) { + f = files[i]; + if (!f) continue; + break; + // if (!f.type.match(this.props.mime)) continue + } + this.props.onUpload && this.props.onUpload(f); } }, { key: 'render', @@ -3469,14 +3490,15 @@ var SampleRNNDatasets = function (_Component) { key: 'handleUpload', value: function handleUpload(file) { var folder = this.props.samplernn.folder; - this.props.actions.file.create({ - folder_id: folder.id, + var fd = new FormData(); + fd.append('file', file); + this.props.actions.folder.upload(fd, { + id: folder.id, module: 'samplernn', activity: 'url', epoch: 0, processed: false, - generated: false, - url: url + generated: false }); } }, { @@ -3584,7 +3606,8 @@ var SampleRNNDatasets = function (_Component) { }), samplernn.folder.id && (0, _preact.h)(_fileUpload2.default, { title: 'Upload a file', - onChange: this.handleUpload + mime: 'image.*', + onUpload: this.handleUpload }), samplernn.folder.id && (0, _preact.h)(_textInput2.default, { title: 'Fetch a URL', @@ -3767,6 +3790,16 @@ var samplernnReducer = function samplernnReducer() { files: [action.data].concat(undefined.files) }); return; + case _types2.default.folder.upload_error: + console.log(action); + return state; + case _types2.default.folder.upload_progress: + console.log(action); + return state; + case _types2.default.folder.upload_complete: + console.log(action); + return state; + default: return state; } |
