first commit
This commit is contained in:
56
resources/assets/vendor/libs/dropzone/dropzone.js
vendored
Normal file
56
resources/assets/vendor/libs/dropzone/dropzone.js
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
import Dropzone from 'dropzone/dist/dropzone';
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
// File upload progress animation
|
||||
Dropzone.prototype.uploadFiles = function (files) {
|
||||
const minSteps = 6;
|
||||
const maxSteps = 60;
|
||||
const timeBetweenSteps = 100;
|
||||
const bytesPerStep = 100000;
|
||||
const isUploadSuccess = true;
|
||||
|
||||
const self = this;
|
||||
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const file = files[i];
|
||||
const totalSteps = Math.round(Math.min(maxSteps, Math.max(minSteps, file.size / bytesPerStep)));
|
||||
|
||||
for (let step = 0; step < totalSteps; step++) {
|
||||
const duration = timeBetweenSteps * (step + 1);
|
||||
|
||||
setTimeout(
|
||||
(function (file, totalSteps, step) {
|
||||
return function () {
|
||||
file.upload = {
|
||||
progress: (100 * (step + 1)) / totalSteps,
|
||||
total: file.size,
|
||||
bytesSent: ((step + 1) * file.size) / totalSteps
|
||||
};
|
||||
|
||||
self.emit('uploadprogress', file, file.upload.progress, file.upload.bytesSent);
|
||||
if (file.upload.progress === 100) {
|
||||
if (isUploadSuccess) {
|
||||
file.status = Dropzone.SUCCESS;
|
||||
self.emit('success', file, 'success', null);
|
||||
} else {
|
||||
file.status = Dropzone.ERROR;
|
||||
self.emit('error', file, 'Some upload error', null);
|
||||
}
|
||||
|
||||
self.emit('complete', file);
|
||||
self.processQueue();
|
||||
}
|
||||
};
|
||||
})(file, totalSteps, step),
|
||||
duration
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
window.Dropzone = Dropzone;
|
||||
} catch (e) {}
|
||||
|
||||
export { Dropzone };
|
Reference in New Issue
Block a user