1 const DropZone = require("dropzone");
4 <div class="dropzone-container">
5 <div class="dz-message">{{placeholder}}</div>
9 const props = ['placeholder', 'uploadUrl', 'uploadedTo'];
11 // TODO - Remove jQuery usage
13 let container = this.$el;
15 new DropZone(container, {
17 return _this.uploadUrl;
22 dz.on('sending', function (file, xhr, data) {
23 let token = window.document.querySelector('meta[name=token]').getAttribute('content');
24 data.append('_token', token);
25 let uploadedTo = typeof _this.uploadedTo === 'undefined' ? 0 : _this.uploadedTo;
26 data.append('uploaded_to', uploadedTo);
29 dz.on('success', function (file, data) {
30 _this.$emit('success', {file, data});
31 $(file.previewElement).fadeOut(400, function () {
36 dz.on('error', function (file, errorMessage, xhr) {
37 _this.$emit('error', {file, errorMessage, xhr});
38 console.log(errorMessage);
40 function setMessage(message) {
41 $(file.previewElement).find('[data-dz-errormessage]').text(message);
44 if (xhr.status === 413) setMessage(trans('errors.server_upload_limit'));
45 else if (errorMessage.file) setMessage(errorMessage.file);