From 93337c20f83146bb702a5af8cf9cdb37f4c53443 Mon Sep 17 00:00:00 2001 From: Romulus Urakagi Tsai Date: Tue, 24 Dec 2019 08:57:34 +0000 Subject: Change upload routine, add upload popup --- client/components/cards/attachments.js | 40 +++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) (limited to 'client/components/cards/attachments.js') diff --git a/client/components/cards/attachments.js b/client/components/cards/attachments.js index 7346e943..026ce170 100644 --- a/client/components/cards/attachments.js +++ b/client/components/cards/attachments.js @@ -66,18 +66,38 @@ Template.previewAttachedImagePopup.helpers({ } }); +// For uploading popup + +let uploadFileSize = new ReactiveVar(''); +let uploadProgress = new ReactiveVar(0); + Template.cardAttachmentsPopup.events({ - 'change .js-attach-file'(event) { + 'change .js-attach-file'(event, instance) { const card = this; - const processFile = f => { - Utils.processUploadedAttachment(card, f, - (err, attachment) => { + const callbacks = { + onBeforeUpload: (err, fileData) => { + Popup.open('uploading')(this.clickEvent); + return true; + }, + onUploaded: (err, attachment) => { + console.log('onEnd'); if (attachment && attachment._id && attachment.isImage) { card.setCover(attachment._id); } Popup.close(); + }, + onStart: (error, fileData) => { + console.log('fd', fileData); + uploadFileSize.set(`${fileData.size} bytes`); + }, + onError: (err, fileObj) => { + console.log('Error!', err); + }, + onProgress: (progress, fileData) => { } - ); + }; + const processFile = f => { + Utils.processUploadedAttachment(card, f, callbacks); }; FS.Utility.eachFile(event, f => { @@ -117,12 +137,22 @@ Template.cardAttachmentsPopup.events({ }); }, 'click .js-computer-upload'(event, templateInstance) { + this.clickEvent = event; templateInstance.find('.js-attach-file').click(); event.preventDefault(); }, 'click .js-upload-clipboard-image': Popup.open('previewClipboardImage'), }); +Template.uploadingPopup.onRendered(() => { +}); + +Template.uploadingPopup.helpers({ + fileSize: () => { + return uploadFileSize.get(); + } +}); + const MAX_IMAGE_PIXEL = Utils.MAX_IMAGE_PIXEL; const COMPRESS_RATIO = Utils.IMAGE_COMPRESS_RATIO; let pastedResults = null; -- cgit v1.2.3-1-g7c22