diff options
author | Sam X. Chen <sam.xi.chen@gmail.com> | 2019-08-07 23:44:45 -0400 |
---|---|---|
committer | Sam X. Chen <sam.xi.chen@gmail.com> | 2019-08-07 23:44:45 -0400 |
commit | 71d1d9ad981750cac1e3f05d36c8efa8a1f1dded (patch) | |
tree | 85009287d2aa1eabead6d178e8c3c4428c08dcd6 /client/components/cards/attachments.js | |
parent | 9ed0c3029f7a61a9e5cc31d52156055e08e53f9a (diff) | |
download | wekan-71d1d9ad981750cac1e3f05d36c8efa8a1f1dded.tar.gz wekan-71d1d9ad981750cac1e3f05d36c8efa8a1f1dded.tar.bz2 wekan-71d1d9ad981750cac1e3f05d36c8efa8a1f1dded.zip |
Bug fix: bug#2589 #2575, Add Features: allowing user to insert/paste link, image, video
Diffstat (limited to 'client/components/cards/attachments.js')
-rw-r--r-- | client/components/cards/attachments.js | 58 |
1 files changed, 4 insertions, 54 deletions
diff --git a/client/components/cards/attachments.js b/client/components/cards/attachments.js index f536a655..2cf68c59 100644 --- a/client/components/cards/attachments.js +++ b/client/components/cards/attachments.js @@ -86,7 +86,7 @@ Template.cardAttachmentsPopup.events({ reader.onload = function(e) { const dataurl = e && e.target && e.target.result; if (dataurl !== undefined) { - shrinkImage({ + Utils.shrinkImage({ dataurl, maxSize: MAX_IMAGE_PIXEL, ratio: COMPRESS_RATIO, @@ -118,59 +118,9 @@ Template.cardAttachmentsPopup.events({ 'click .js-upload-clipboard-image': Popup.open('previewClipboardImage'), }); -const MAX_IMAGE_PIXEL = Meteor.settings.public.MAX_IMAGE_PIXEL; -const COMPRESS_RATIO = Meteor.settings.public.IMAGE_COMPRESS_RATIO; +const MAX_IMAGE_PIXEL = Utils.MAX_IMAGE_PIXEL; +const COMPRESS_RATIO = Utils.IMAGE_COMPRESS_RATIO; let pastedResults = null; -const shrinkImage = function(options) { - // shrink image to certain size - const dataurl = options.dataurl, - callback = options.callback, - toBlob = options.toBlob; - let canvas = document.createElement('canvas'), - image = document.createElement('img'); - const maxSize = options.maxSize || 1024; - const ratio = options.ratio || 1.0; - const next = function(result) { - image = null; - canvas = null; - if (typeof callback === 'function') { - callback(result); - } - }; - image.onload = function() { - let width = this.width, - height = this.height; - let changed = false; - if (width > height) { - if (width > maxSize) { - height *= maxSize / width; - width = maxSize; - changed = true; - } - } else if (height > maxSize) { - width *= maxSize / height; - height = maxSize; - changed = true; - } - canvas.width = width; - canvas.height = height; - canvas.getContext('2d').drawImage(this, 0, 0, width, height); - if (changed === true) { - const type = 'image/jpeg'; - if (toBlob) { - canvas.toBlob(next, type, ratio); - } else { - next(canvas.toDataURL(type, ratio)); - } - } else { - next(changed); - } - }; - image.onerror = function() { - next(false); - }; - image.src = dataurl; -}; Template.previewClipboardImagePopup.onRendered(() => { // we can paste image from clipboard @@ -182,7 +132,7 @@ Template.previewClipboardImagePopup.onRendered(() => { }; if (MAX_IMAGE_PIXEL) { // if has size limitation on image we shrink it before uploading - shrinkImage({ + Utils.shrinkImage({ dataurl: results.dataURL, maxSize: MAX_IMAGE_PIXEL, ratio: COMPRESS_RATIO, |