pleroma-fe/src/components/media_upload/media_upload.js

36 lines
848 B
JavaScript
Raw Normal View History

2016-11-07 05:28:37 +11:00
/* eslint-env browser */
import statusPosterService from '../../services/status_poster/status_poster.service.js'
const mediaUpload = {
mounted () {
const store = this.$store
const input = this.$el.querySelector('input')
const self = this
input.addEventListener('change', ({target}) => {
2016-11-08 01:04:27 +11:00
const file = target.files[0]
const formData = new FormData()
formData.append('media', file)
2016-11-14 04:26:10 +11:00
self.$emit('uploading')
self.uploading = true
2016-11-07 05:28:37 +11:00
statusPosterService.uploadMedia({ store, formData })
.then((fileData) => {
self.$emit('uploaded', fileData)
2016-11-14 04:26:10 +11:00
self.uploading = false
}, (error) => {
self.$emit('upload-failed')
self.uploading = false
2016-11-07 05:28:37 +11:00
})
})
2016-11-14 04:26:10 +11:00
},
data () {
return {
uploading: false
}
2016-11-07 05:28:37 +11:00
}
}
export default mediaUpload