diff --git a/src/App.scss b/src/App.scss index 64c8b8b82..51f2c9af3 100644 --- a/src/App.scss +++ b/src/App.scss @@ -782,12 +782,6 @@ option { color: var(--text); } -.visibility-notice { - padding: 0.5em; - border: 1px solid var(--textFaint); - border-radius: var(--roundness); -} - .notice-dismissible { padding-right: 4rem; position: relative; diff --git a/src/components/image_cropper/image_cropper.js b/src/components/image_cropper/image_cropper.js index 3cb4f6fd1..6d961e563 100644 --- a/src/components/image_cropper/image_cropper.js +++ b/src/components/image_cropper/image_cropper.js @@ -10,14 +10,6 @@ library.add( const ImageCropper = { props: { - trigger: { - type: [String, window.Element], - required: true - }, - submitHandler: { - type: Function, - required: true - }, mimes: { type: String, default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon' @@ -39,17 +31,7 @@ const ImageCropper = { submitting: false } }, - computed: { - saveText () { - return this.saveButtonLabel || this.$t('image_cropper.save') - }, - saveWithoutCroppingText () { - return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping') - }, - cancelText () { - return this.cancelButtonLabel || this.$t('image_cropper.cancel') - } - }, + emits: ['submit'], methods: { destroy () { this.$refs.input.value = '' @@ -65,20 +47,15 @@ const ImageCropper = { } else { cropperPromise = Promise.resolve() } + cropperPromise.then(canvas => { - this.submitHandler(canvas, this.file) - .then(() => this.destroy()) - .finally(() => { - this.submitting = false - }) + this.$emit('submit', { canvas, file: this.file }) + this.submitting = false }) }, pickImage () { this.$refs.input.click() }, - getTriggerDOM () { - return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger) - }, readFile () { const fileInput = this.$refs.input if (fileInput.files != null && fileInput.files[0] != null) { @@ -117,23 +94,11 @@ const ImageCropper = { } }, mounted () { - // listen for click event on trigger - const trigger = this.getTriggerDOM() - if (!trigger) { - this.$emit('error', 'No image make trigger found.', 'user') - } else { - trigger.addEventListener('click', this.pickImage) - } // listen for input file changes const fileInput = this.$refs.input fileInput.addEventListener('change', this.readFile) }, beforeUnmount: function () { - // remove the event listeners - const trigger = this.getTriggerDOM() - if (trigger) { - trigger.removeEventListener('click', this.pickImage) - } const fileInput = this.$refs.input fileInput.removeEventListener('change', this.readFile) } diff --git a/src/components/image_cropper/image_cropper.vue b/src/components/image_cropper/image_cropper.vue index 0122d1216..4ef077ef6 100644 --- a/src/components/image_cropper/image_cropper.vue +++ b/src/components/image_cropper/image_cropper.vue @@ -1,13 +1,14 @@ @@ -89,13 +62,15 @@