From 6a4063951e79dd962e3b257fcd36a47ea702f369 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 15 Mar 2023 10:26:46 +0100 Subject: [PATCH 1/3] Move to new Uppy handling in discourse/discourse --- .../custom-wizard-composer-editor.js.es6 | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 b/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 index 816c2387..d9fec6cd 100644 --- a/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 +++ b/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 @@ -29,6 +29,7 @@ export default ComposerEditor.extend({ draftStatus: "null", replyPlaceholder: alias("field.translatedPlaceholder"), wizardEventFieldId: null, + composerEventPrefix: "wizard-editor", @on("didInsertElement") _composerEditorInit() { @@ -77,24 +78,11 @@ export default ComposerEditor.extend({ $input.on("scroll", this._throttledSyncEditorAndPreviewScroll); this._bindUploadTarget(); - const wizardEventNames = ["insert-text", "replace-text"]; - const eventPrefix = this.eventPrefix; - this.appEvents.reopen({ - trigger(name, ...args) { - let eventParts = name.split(":"); - let currentEventPrefix = eventParts[0]; - let currentEventName = eventParts[1]; + const field = this.field; + this.editorInputClass = `.${dasherize(field.type)}-${dasherize(field.id)} .d-editor-input`; - if ( - currentEventPrefix !== "wizard-editor" && - wizardEventNames.some((wen) => wen === currentEventName) - ) { - let wizardEventName = name.replace(eventPrefix, "wizard-editor"); - return this._super(wizardEventName, ...args); - } else { - return this._super(name, ...args); - } - }, + this._uppyInstance.on('file-added', (file) => { + this.session.set("wizardEventFieldId", field.id); }); }, From e489845daf2632e937027d0e2c8e6e0314533b61 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 15 Mar 2023 10:28:51 +0100 Subject: [PATCH 2/3] Bump version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 7f6829eb..6b13632a 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Forms for Discourse. Better onboarding, structured posting, data enrichment, automated actions and much more. -# version: 2.2.7 +# version: 2.2.8 # authors: Angus McLeod, Faizaan Gagan, Robert Barrow, Keegan George, Kaitlin Maddever # url: https://github.com/paviliondev/discourse-custom-wizard # contact_emails: development@pavilion.tech From 24ce4da6f29bba0d7822f0e4d9e25b7a564ebd4a Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 15 Mar 2023 10:30:24 +0100 Subject: [PATCH 3/3] Make linters happy --- .../components/custom-wizard-composer-editor.js.es6 | 6 ++++-- assets/javascripts/discourse/mixins/undo-changes.js.es6 | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 b/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 index d9fec6cd..5335da81 100644 --- a/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 +++ b/assets/javascripts/discourse/components/custom-wizard-composer-editor.js.es6 @@ -79,9 +79,11 @@ export default ComposerEditor.extend({ this._bindUploadTarget(); const field = this.field; - this.editorInputClass = `.${dasherize(field.type)}-${dasherize(field.id)} .d-editor-input`; + this.editorInputClass = `.${dasherize(field.type)}-${dasherize( + field.id + )} .d-editor-input`; - this._uppyInstance.on('file-added', (file) => { + this._uppyInstance.on("file-added", () => { this.session.set("wizardEventFieldId", field.id); }); }, diff --git a/assets/javascripts/discourse/mixins/undo-changes.js.es6 b/assets/javascripts/discourse/mixins/undo-changes.js.es6 index 91497eae..ce126bdd 100644 --- a/assets/javascripts/discourse/mixins/undo-changes.js.es6 +++ b/assets/javascripts/discourse/mixins/undo-changes.js.es6 @@ -4,7 +4,7 @@ import { get, set } from "@ember/object"; import Mixin from "@ember/object/mixin"; import { deepEqual } from "discourse-common/lib/object"; -var observedCache = []; +let observedCache = []; export default Mixin.create({ didInsertElement() { @@ -36,7 +36,7 @@ export default Mixin.create({ listProperties(componentType, opts).forEach((property) => { if (observedCache.includes(property)) { obj.removeObserver(property, this, this.toggleUndo); - observedCache = observedCache.filter(p => p !== property); + observedCache = observedCache.filter((p) => p !== property); } }); },