From 886f34ed30d4a23ebfa143abc2d8154331525b7e Mon Sep 17 00:00:00 2001 From: Brent Vardy Date: Thu, 17 Oct 2019 14:52:47 +0100 Subject: [PATCH 1/7] remove need to create new crop overlay --- webapp/components/TeaserImage/TeaserImage.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue index dc096710d..a90bf91d6 100644 --- a/webapp/components/TeaserImage/TeaserImage.vue +++ b/webapp/components/TeaserImage/TeaserImage.vue @@ -48,6 +48,7 @@ export default { previewTemplate: this.template(), }, error: false, + showCropper: false, } }, watch: { @@ -63,6 +64,7 @@ export default { return `
+
` @@ -74,13 +76,12 @@ export default { transformImage(file) { let thumbnailElement, editor, confirm, thumbnailPreview, contributionImage // Create the image editor overlay - editor = document.createElement('div') + this.showCropper = false thumbnailElement = document.querySelectorAll('#postdropzone')[0] thumbnailPreview = document.querySelectorAll('.thumbnail-preview')[0] if (thumbnailPreview) thumbnailPreview.remove() contributionImage = document.querySelectorAll('.contribution-image')[0] if (contributionImage) contributionImage.remove() - editor.classList.add('crop-overlay') thumbnailElement.appendChild(editor) // Create the confirm button confirm = document.createElement('button') @@ -114,8 +115,9 @@ export default { let cropper = new Cropper(image, { zoomable: false }) }, dropzoneDrop() { - let cropOverlay = document.querySelectorAll('.crop-overlay')[0] - if (cropOverlay) cropOverlay.remove() + let cropperOverlay = this.$refs.cropperOverlay + cropperOverlay.innerHTML = '' + this.showCropper = true }, }, } From d3480534b1f97134685db4e0dbf75f139af7ce43 Mon Sep 17 00:00:00 2001 From: Brent Vardy Date: Thu, 17 Oct 2019 14:54:27 +0100 Subject: [PATCH 2/7] fix assigning editor --- webapp/components/TeaserImage/TeaserImage.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue index a90bf91d6..7ae64674d 100644 --- a/webapp/components/TeaserImage/TeaserImage.vue +++ b/webapp/components/TeaserImage/TeaserImage.vue @@ -76,6 +76,7 @@ export default { transformImage(file) { let thumbnailElement, editor, confirm, thumbnailPreview, contributionImage // Create the image editor overlay + editor = document.querySelectorAll('.crop-overlay')[0] this.showCropper = false thumbnailElement = document.querySelectorAll('#postdropzone')[0] thumbnailPreview = document.querySelectorAll('.thumbnail-preview')[0] From ddadcd919e457c226f30bf15859fb716c3835f7e Mon Sep 17 00:00:00 2001 From: Brent Vardy Date: Thu, 17 Oct 2019 15:18:21 +0100 Subject: [PATCH 3/7] update to use ref --- webapp/components/TeaserImage/TeaserImage.vue | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue index 7ae64674d..e095c3d23 100644 --- a/webapp/components/TeaserImage/TeaserImage.vue +++ b/webapp/components/TeaserImage/TeaserImage.vue @@ -9,6 +9,7 @@ @vdropzone-thumbnail="transformImage" @vdropzone-drop="dropzoneDrop" > +
-
` @@ -76,8 +76,7 @@ export default { transformImage(file) { let thumbnailElement, editor, confirm, thumbnailPreview, contributionImage // Create the image editor overlay - editor = document.querySelectorAll('.crop-overlay')[0] - this.showCropper = false + editor = this.$refs.cropperOverlay thumbnailElement = document.querySelectorAll('#postdropzone')[0] thumbnailPreview = document.querySelectorAll('.thumbnail-preview')[0] if (thumbnailPreview) thumbnailPreview.remove() @@ -90,6 +89,7 @@ export default { confirm.textContent = this.$t('contribution.teaserImage.cropperConfirm') confirm.addEventListener('click', () => { // Get the canvas with image data from Cropper.js + this.showCropper = false let canvas = cropper.getCroppedCanvas() canvas.toBlob(blob => { this.$refs.el.manuallyAddFile(blob, canvas.toDataURL(), null, null, { @@ -116,8 +116,6 @@ export default { let cropper = new Cropper(image, { zoomable: false }) }, dropzoneDrop() { - let cropperOverlay = this.$refs.cropperOverlay - cropperOverlay.innerHTML = '' this.showCropper = true }, }, From 2670b4869481e9256d5475807af7b43c2d38fb66 Mon Sep 17 00:00:00 2001 From: Brent Vardy Date: Sat, 2 Nov 2019 11:07:06 +0000 Subject: [PATCH 4/7] removed unused code and refactor cropper - Removed unused code - updated confirm button to be ds-button component - split into multiple functions Co-Authored-By: mattwr18 --- backend/yarn.lock | 3 +- webapp/components/TeaserImage/TeaserImage.vue | 75 +++++++++---------- 2 files changed, 37 insertions(+), 41 deletions(-) diff --git a/backend/yarn.lock b/backend/yarn.lock index c8589a508..e6c662229 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -963,7 +963,7 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.7.14", "@metascraper/helpers@^5.7.17": +"@metascraper/helpers@^5.7.17": version "5.7.17" resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.7.17.tgz#401897c7239090ca7149b83e581712845bbb3709" integrity sha512-t21LqfDpaIrWg2JaivXG6mVzUsIVW05cAsKySA5Tj9Hgi9oZXxaaNes5XipOzk6P242RI48SDo7CkSbYiio7Tw== @@ -3589,7 +3589,6 @@ extsprintf@^1.2.0: faker@Marak/faker.js#master: version "4.1.0" - uid "9fd8d7d37b398842d0784a116a340f7aa6afb89b" resolved "https://codeload.github.com/Marak/faker.js/tar.gz/9fd8d7d37b398842d0784a116a340f7aa6afb89b" fast-deep-equal@^2.0.1: diff --git a/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue index 245436612..c50f69cd8 100644 --- a/webapp/components/TeaserImage/TeaserImage.vue +++ b/webapp/components/TeaserImage/TeaserImage.vue @@ -7,9 +7,10 @@ :use-custom-slot="true" @vdropzone-error="verror" @vdropzone-thumbnail="transformImage" - @vdropzone-drop="dropzoneDrop" > -
+
+ {{ $t('contribution.teaserImage.cropperConfirm') }} +
- {{ $t('contribution.teaserImage.cropperConfirm') }} + + {{ $t('contribution.teaserImage.cropperConfirm') }} + +