aboutsummaryrefslogtreecommitdiffstats
path: root/app/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/activestorage/direct_upload.js11
-rw-r--r--app/javascript/activestorage/direct_upload_controller.js2
-rw-r--r--app/javascript/activestorage/file_checksum.js5
3 files changed, 11 insertions, 7 deletions
diff --git a/app/javascript/activestorage/direct_upload.js b/app/javascript/activestorage/direct_upload.js
index 7bbe4e0fdd..7085e0a4ab 100644
--- a/app/javascript/activestorage/direct_upload.js
+++ b/app/javascript/activestorage/direct_upload.js
@@ -5,16 +5,15 @@ import { BlobUpload } from "./blob_upload"
let id = 0
export class DirectUpload {
- constructor(file, options = {}) {
- this.id = id++
+ constructor(file, url, delegate) {
+ this.id = ++id
this.file = file
- this.url = options.url
- this.delegate = options.delegate
+ this.url = url
+ this.delegate = delegate
}
create(callback) {
- const fileChecksum = new FileChecksum(this.file)
- fileChecksum.create((error, checksum) => {
+ FileChecksum.create(this.file, (error, checksum) => {
const blob = new BlobRecord(this.file, checksum, this.url)
notify(this.delegate, "directUploadWillCreateBlobWithXHR", blob.xhr)
blob.create(error => {
diff --git a/app/javascript/activestorage/direct_upload_controller.js b/app/javascript/activestorage/direct_upload_controller.js
index a5541c81be..987050889a 100644
--- a/app/javascript/activestorage/direct_upload_controller.js
+++ b/app/javascript/activestorage/direct_upload_controller.js
@@ -5,7 +5,7 @@ export class DirectUploadController {
constructor(input, file) {
this.input = input
this.file = file
- this.directUpload = new DirectUpload(this.file, { url: this.url, delegate: this })
+ this.directUpload = new DirectUpload(this.file, this.url, this)
this.dispatch("initialize")
}
diff --git a/app/javascript/activestorage/file_checksum.js b/app/javascript/activestorage/file_checksum.js
index d7a10b3e55..ffaec1a128 100644
--- a/app/javascript/activestorage/file_checksum.js
+++ b/app/javascript/activestorage/file_checksum.js
@@ -3,6 +3,11 @@ import SparkMD5 from "spark-md5"
const fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice
export class FileChecksum {
+ static create(file, callback) {
+ const instance = new FileChecksum(file)
+ instance.create(callback)
+ }
+
constructor(file) {
this.file = file
this.chunkSize = 2097152 // 2MB