-var DzFactory = function () {
- this.createDropzone = function(element, target, maxImagesize) {
- return new Dropzone( element, {
+Dropzone.autoDiscover = false;
+var DzFactory = function (max_imagesize) {
+ this.createDropzone = function(dropSelector, textareaElementId) {
+ return new Dropzone(dropSelector, {
paramName: 'userfile', // The name that will be used to transfer the file
- maxFilesize: maxImagesize, // MB
- url: '/media/photo/upload?response=url&album=',
+ maxFilesize: max_imagesize, // MB
+ url: '/media/photo/upload?album=',
+ acceptedFiles: 'image/*',
+ clickable: true,
+ dictDefaultMessage: dzStrings.dictDefaultMessage,
+ dictFallbackMessage: dzStrings.dictFallbackMessage,
+ dictFallbackText: dzStrings.dictFallbackText,
+ dictFileTooBig: dzStrings.dictFileTooBig,
+ dictInvalidFileType: dzStrings.dictInvalidFileType,
+ dictResponseError: dzStrings.dictResponseError,
+ dictCancelUpload: dzStrings.dictCancelUpload,
+ dictUploadCanceled: dzStrings.dictUploadCanceled,
+ dictCancelUploadConfirmation: dzStrings.dictCancelUploadConfirmation,
+ dictRemoveFile: dzStrings.dictRemoveFile,
+ dictMaxFilesExceeded: dzStrings.dictMaxFilesExceeded,
accept: function(file, done) {
done();
},
init: function() {
this.on('success', function(file, serverResponse) {
- var _target = $(target)
- var resp = $(serverResponse).find('div#content').text()
- if (_target.setRangeText) {
+ const targetTextarea = document.getElementById(textareaElementId);
+ if (targetTextarea.setRangeText) {
//if setRangeText function is supported by current browser
- _target.setRangeText(' ' + $.trim(resp) + ' ')
+ targetTextarea.setRangeText(' ' + $.trim(serverResponse) + ' ');
} else {
- _target.focus()
- document.execCommand('insertText', false /*no UI*/, ' ' + $.trim(resp) + ' ');
+ targetTextarea.focus();
+ document.execCommand('insertText', false /*no UI*/, '\n' + $.trim(serverResponse) + '\n');
}
});
this.on('complete', function(file) {
- var dz = this;
+ const dz = this;
// Remove just uploaded file from dropzone, makes interface more clear.
// Image can be seen in posting-preview
// We need preview to get optical feedback about upload-progress.
items.forEach((item) => {
if (item.kind === 'file') {
// adds the file to your dropzone instance
- dz.addFile(item.getAsFile())
+ dz.addFile(item.getAsFile());
}
})
},
items.forEach((item) => {
if (item.kind === 'file') {
// adds the file to your dropzone instance
- dz.addFile(item.getAsFile())
+ dz.addFile(item.getAsFile());
}
})
};
- this.setupDropzone = function(element, target, maxImagesize) {
- var dropzone = this.createDropzone(element, target, maxImagesize)
- $(element).on('paste', function(event) {
-
- dzFactory.copyPaste(event, dropzone);
+ this.setupDropzone = function(dropSelector, textareaElementId) {
+ const self = this;
+ var dropzone = this.createDropzone(dropSelector, textareaElementId);
+ $(dropSelector).on('paste', function(event) {
+ self.copyPaste(event, dropzone);
})
};
}