Skip to content
Snippets Groups Projects
Commit dd8b58d1 authored by Alf Eaton's avatar Alf Eaton
Browse files

Improve file uploading

parent 17c076cc
No related branches found
No related tags found
No related merge requests found
...@@ -36,9 +36,13 @@ class Files extends React.Component { ...@@ -36,9 +36,13 @@ class Files extends React.Component {
url url
}) })
this.setState({ values }) const uploads = this.state.uploads.filter(item => {
return item.file.name !== file.name
})
this.setState({ values, uploads })
this.props.handleChange(values) this.props.onChange(values)
} }
render () { render () {
......
...@@ -16,8 +16,10 @@ class Upload extends React.Component { ...@@ -16,8 +16,10 @@ class Upload extends React.Component {
request.addEventListener('progress', this.handleProgress) request.addEventListener('progress', this.handleProgress)
request.addEventListener('load', this.handleLoad) request.addEventListener('load', this.handleLoad)
request.addEventListener('error', this.handleError) request.addEventListener('error', this.handleError)
request.addEventListener('abort', this.handleAbort)
} }
// TODO: 'progress' event not being fired often enough?
handleProgress = event => { handleProgress = event => {
if (!event.lengthComputable) return if (!event.lengthComputable) return
...@@ -43,12 +45,18 @@ class Upload extends React.Component { ...@@ -43,12 +45,18 @@ class Upload extends React.Component {
} }
} }
handlError = event => { handleError = event => {
this.setState({ this.setState({
error: 'There was an error' error: 'There was an error'
}) })
} }
handleAbort = event => {
this.setState({
error: 'The upload was cancelled'
})
}
render () { render () {
const { file } = this.props const { file } = this.props
const { progress, error } = this.state const { progress, error } = this.state
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment