From 96bac9c78040aca5ff6a52b6d00062ec2dc3d90e Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 16 Aug 2021 12:57:19 -0700 Subject: [PATCH 1/3] Fix non-unique ids --- src/components/renderer/file-upload.vue | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/components/renderer/file-upload.vue b/src/components/renderer/file-upload.vue index 7fe584552..b5c11705d 100644 --- a/src/components/renderer/file-upload.vue +++ b/src/components/renderer/file-upload.vue @@ -18,9 +18,9 @@ > - +

{{ $t('Drop a file here to upload or') }}

- {{ $t('select file') }} + {{ $t('select file') }} {{ $t('Required') }}
@@ -283,11 +283,9 @@ export default { }, removeDefaultClasses() { // we need to be able to remove the classes from the npm package - document - .querySelectorAll('[id=\'submitFile\'],[id=\'uploaderMain\']') - .forEach(element => { - element.classList.remove('uploader-btn', 'uploader-drop'); - }); + this.$el.querySelectorAll('.uploader-btn, .uploader-drop').forEach(el => { + el.classList.remove('uploader-btn', 'uploader-drop'); + }); }, getFileType() { if (document.head.querySelector('meta[name="collection-id"]')) { From d8756a8dda58f05f27ddb38586ac4b2945184fe9 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 16 Aug 2021 15:29:14 -0700 Subject: [PATCH 2/3] Revert "Fix non-unique ids" This reverts commit 96bac9c78040aca5ff6a52b6d00062ec2dc3d90e. --- src/components/renderer/file-upload.vue | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/renderer/file-upload.vue b/src/components/renderer/file-upload.vue index b5c11705d..7fe584552 100644 --- a/src/components/renderer/file-upload.vue +++ b/src/components/renderer/file-upload.vue @@ -18,9 +18,9 @@ > - +

{{ $t('Drop a file here to upload or') }}

- {{ $t('select file') }} + {{ $t('select file') }} {{ $t('Required') }}
@@ -283,9 +283,11 @@ export default { }, removeDefaultClasses() { // we need to be able to remove the classes from the npm package - this.$el.querySelectorAll('.uploader-btn, .uploader-drop').forEach(el => { - el.classList.remove('uploader-btn', 'uploader-drop'); - }); + document + .querySelectorAll('[id=\'submitFile\'],[id=\'uploaderMain\']') + .forEach(element => { + element.classList.remove('uploader-btn', 'uploader-drop'); + }); }, getFileType() { if (document.head.querySelector('meta[name="collection-id"]')) { From f8d33a2e614575c072671354cff94f07d05f9129 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 16 Aug 2021 15:29:46 -0700 Subject: [PATCH 3/3] Ignore some vue-simple-uploader errors --- src/components/renderer/file-upload.vue | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/components/renderer/file-upload.vue b/src/components/renderer/file-upload.vue index 7fe584552..8f34e5d41 100644 --- a/src/components/renderer/file-upload.vue +++ b/src/components/renderer/file-upload.vue @@ -55,6 +55,15 @@ import _ from 'lodash'; // Create the mixin const uniqIdsMixin = createUniqIdsMixin(); +// vue-simple-uploader tries to call these after the component has +// been destroyed since it does it in nextTick(). It has no effect +// on functionality because a new copy is created. TODO: Why is this +// component being recreated when used in a loop? +const ignoreErrors = [ + 'Cannot read property \'assignBrowse\' of null', + 'Cannot read property \'assignDrop\' of null', +]; + export default { components: uploader, mixins: [uniqIdsMixin], @@ -84,6 +93,11 @@ export default { this.$refs['uploader'].$forceUpdate(); } }, + errorCaptured(err) { + if (ignoreErrors.includes(err.message)) { + return false; + } + }, computed: { required() { if (this.config && this.config.validation) {