From f44d09b344ed1ee4763fc9705da47d9540c94df4 Mon Sep 17 00:00:00 2001 From: Dean Date: Fri, 23 Aug 2024 09:27:46 +0100 Subject: [PATCH 1/3] Switched the CodeEditor update event from change to blur. --- .../automation/SetupPanel/AutomationBlockSetup.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 76891a4cf5..f48e5b9141 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -1073,7 +1073,7 @@ > { + on:blur={e => { // need to pass without the value inside onChange({ [key]: e.detail }) inputData[key] = e.detail From b9c685b83b6f4bc84a44d64e0b5895c01360efe0 Mon Sep 17 00:00:00 2001 From: Dean Date: Fri, 23 Aug 2024 10:15:46 +0100 Subject: [PATCH 2/3] Changed the CodeEditorModal to trigger a change when closing. This will accommodate any state updates to the editor --- .../SetupPanel/AutomationBlockSetup.svelte | 13 +++++++++++-- .../automation/SetupPanel/CodeEditorModal.svelte | 2 +- .../components/common/CodeEditor/CodeEditor.svelte | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index f48e5b9141..72eacfa0bb 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -1065,7 +1065,12 @@ value={inputData[key]} /> {:else if value.customType === "code"} - + { + // Push any pending changes when the window closes + onChange({ [key]: inputData[key] }) + }} + >
{ // need to pass without the value inside - onChange({ [key]: e.detail }) + inputData[key] = e.detail + }} + on:insert={e => { + // Blur events only happen once after inserting a binding + // State will now update on insert inputData[key] = e.detail }} completions={stepCompletions} diff --git a/packages/builder/src/components/automation/SetupPanel/CodeEditorModal.svelte b/packages/builder/src/components/automation/SetupPanel/CodeEditorModal.svelte index ce61af2b8c..92ced5dcc7 100644 --- a/packages/builder/src/components/automation/SetupPanel/CodeEditorModal.svelte +++ b/packages/builder/src/components/automation/SetupPanel/CodeEditorModal.svelte @@ -11,7 +11,7 @@ } - + Date: Fri, 23 Aug 2024 12:24:22 +0100 Subject: [PATCH 3/3] Simplify the approach to leave change behaviour as it is and leave persistence to the close behaviour --- .../automation/SetupPanel/AutomationBlockSetup.svelte | 7 +------ .../src/components/common/CodeEditor/CodeEditor.svelte | 1 - 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 72eacfa0bb..6c4865b539 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -1078,15 +1078,10 @@ > { + on:change={e => { // need to pass without the value inside inputData[key] = e.detail }} - on:insert={e => { - // Blur events only happen once after inserting a binding - // State will now update on insert - inputData[key] = e.detail - }} completions={stepCompletions} mode={codeMode} autocompleteEnabled={codeMode !== EditorModes.JS} diff --git a/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte b/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte index 1f8313e15d..c3e4835f96 100644 --- a/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte +++ b/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte @@ -140,7 +140,6 @@ } : undefined, }) - dispatch("insert", editor.state.doc.toString()) } // Match decoration for HBS bindings