]> BookStack Code Mirror - bookstack/blobdiff - resources/assets/js/vues/components/dropzone.js
Rolled tri-layout to page edit and book-create
[bookstack] / resources / assets / js / vues / components / dropzone.js
index e0a6d8b9d138fc5b3f8fe2d6741a6b44575c0119..587ec2030c0ac9c842f3c5a6531057c4245d8ca7 100644 (file)
@@ -1,4 +1,4 @@
-const DropZone = require("dropzone");
+import DropZone from "dropzone";
 
 const template = `
     <div class="dropzone-container">
@@ -12,7 +12,7 @@ const props = ['placeholder', 'uploadUrl', 'uploadedTo'];
 function mounted() {
    let container = this.$el;
    let _this = this;
-   new DropZone(container, {
+   this._dz = new DropZone(container, {
        addRemoveLinks: true,
        dictRemoveFile: trans('components.image_upload_remove'),
         url: function() {
@@ -37,26 +37,33 @@ function mounted() {
 
             dz.on('error', function (file, errorMessage, xhr) {
                 _this.$emit('error', {file, errorMessage, xhr});
-                console.log(errorMessage);
-                console.log(xhr);
+
                 function setMessage(message) {
                     $(file.previewElement).find('[data-dz-errormessage]').text(message);
                 }
 
                 if (xhr && xhr.status === 413) setMessage(trans('errors.server_upload_limit'));
-                if (errorMessage.file) setMessage(errorMessage.file[0]);
+                else if (errorMessage.file) setMessage(errorMessage.file);
+
             });
         }
    });
 }
 
 function data() {
-    return {}
+    return {};
 }
 
-module.exports = {
+const methods = {
+    onClose: function () {
+        this._dz.removeAllFiles(true);
+    }
+};
+
+export default {
     template,
     props,
     mounted,
     data,
+    methods
 };