summaryrefslogtreecommitdiff
path: root/animism-align/frontend/common/uploadImage.component.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-22 14:05:15 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-22 14:05:15 +0200
commitef78bc6a084f92b4794e987b5832240d85b6479e (patch)
treeb314b630800db6aa60f28ef0b115625e6ca176db /animism-align/frontend/common/uploadImage.component.js
parent85d4cb9addf9ca887d3440b2786665d67d9917c4 (diff)
refactor app using babel module-resolver
Diffstat (limited to 'animism-align/frontend/common/uploadImage.component.js')
-rw-r--r--animism-align/frontend/common/uploadImage.component.js74
1 files changed, 0 insertions, 74 deletions
diff --git a/animism-align/frontend/common/uploadImage.component.js b/animism-align/frontend/common/uploadImage.component.js
deleted file mode 100644
index f712d6c..0000000
--- a/animism-align/frontend/common/uploadImage.component.js
+++ /dev/null
@@ -1,74 +0,0 @@
-import React, { Component } from 'react'
-
-import { renderThumbnail } from './upload.helpers'
-
-export default class UploadImageComponent extends Component {
- constructor(props) {
- super(props)
- document.body.addEventListener("dragover", this.dragOver.bind(this))
- document.body.addEventListener("dragleave", this.dragLeave.bind(this))
- document.body.addEventListener("drop", this.upload.bind(this))
- }
-
- dragOver(e) {
- e.stopPropagation()
- e.preventDefault()
- document.body.className = 'dragging'
- }
-
- dragLeave(e) {
- e.stopPropagation()
- e.preventDefault()
- document.body.className = ''
- }
-
- upload(e) {
- e.preventDefault()
- document.body.className = ''
- const files = e.dataTransfer ? e.dataTransfer.files : e.target.files
- let i
- let file
- for (i = 0; i < files.length; i++) {
- file = files[i]
- if (file && file.type.match('image.*')) break
- }
- if (!file) {
- console.log('No file specified')
- return
- }
- const fr = new FileReader()
- fr.onload = fileReaderEvent => {
- fr.onload = null
- const img = new Image()
- img.onload = () => {
- img.onload = null
- this.resizeAndUpload(file, img)
- }
- img.src = fileReaderEvent.target.result
- }
- fr.readAsDataURL(file)
- }
-
- resizeAndUpload(file, img) {
- const canvas = renderThumbnail(img, this.props)
- canvas.toBlob(blob => {
- this.props.onUpload({ file, img, canvas, blob, freshen: true })
- }, 'image/jpeg', this.props.quality || 80)
- }
-
- render() {
- return (
- <div className='uploadButton'>
- <input
- type="file"
- accept="image/*"
- onChange={this.upload.bind(this)}
- required={this.props.required}
- />
- <div className='dragCurtain'>
- <div className='dragLabel'>Drop image here</div>
- </div>
- </div>
- )
- }
-}