From bd7c91b1bd7e1ecf87eb620758454a12e9beea52 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Fri, 10 Mar 2023 14:40:26 +0000 Subject: [PATCH 1/5] Fix automation saving issue --- .../automation/SetupPanel/AutomationBlockSetup.svelte | 3 +-- packages/server/src/automations/automationUtils.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index f47fb8a086..7ede3757ce 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -50,7 +50,7 @@ $: tempFilters = filters $: stepId = block.stepId $: bindings = getAvailableBindings(block, $selectedAutomation?.definition) - $: getInputData(testData, block.inputs) + $: getInputData(testData, cloneDeep(block.inputs)) $: tableId = inputData ? inputData.tableId : null $: table = tableId ? $tables.list.find(table => table._id === inputData.tableId) @@ -79,7 +79,6 @@ searchableSchema: true, }).schema } - try { if (isTestModal) { let newTestData = { schema } diff --git a/packages/server/src/automations/automationUtils.ts b/packages/server/src/automations/automationUtils.ts index 254d9c624b..8de529834f 100644 --- a/packages/server/src/automations/automationUtils.ts +++ b/packages/server/src/automations/automationUtils.ts @@ -107,7 +107,7 @@ export function substituteLoopStep(hbsString: string, substitute: string) { let pointer = 0, openPointer = 0, closedPointer = 0 - while (pointer < hbsString.length) { + while (pointer < hbsString?.length) { openPointer = hbsString.indexOf(open, pointer) closedPointer = hbsString.indexOf(closed, pointer) + 2 if (openPointer < 0 || closedPointer < 0) { From 6d6a4816a0f075a6b5ba507d46958c1a25b278c7 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Fri, 10 Mar 2023 15:01:31 +0000 Subject: [PATCH 2/5] lint --- .../components/automation/SetupPanel/AutomationBlockSetup.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 7ede3757ce..5c999bf636 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -79,6 +79,7 @@ searchableSchema: true, }).schema } + try { if (isTestModal) { let newTestData = { schema } From b854e06b33552a3d079fdb1bc92257cafcf2dc65 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Tue, 14 Mar 2023 13:57:36 +0000 Subject: [PATCH 3/5] fix direct mutation of inputdata in rowselector --- .../automation/SetupPanel/AutomationBlockSetup.svelte | 5 ----- .../components/automation/SetupPanel/RowSelector.svelte | 7 +++++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 5c999bf636..30ab738ac9 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -63,9 +63,6 @@ const getInputData = (testData, blockInputs) => { let newInputData = testData || blockInputs - if (block.event === "app:trigger" && !newInputData?.fields) { - newInputData = cloneDeep(blockInputs) - } inputData = newInputData } @@ -214,8 +211,6 @@ function saveFilters(key) { const filters = LuceneUtils.buildLuceneQuery(tempFilters) const defKey = `${key}-def` - inputData[key] = filters - inputData[defKey] = tempFilters onChange({ detail: filters }, key) // need to store the builder definition in the automation onChange({ detail: tempFilters }, defKey) diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte index c14455b7fc..1080fc7305 100644 --- a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte +++ b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte @@ -95,8 +95,11 @@ } const onChange = (e, field, type) => { - value[field] = coerce(e.detail, type) - dispatch("change", value) + let newValue = { + ...value, + [field]: coerce(e.detail, type), + } + dispatch("change", newValue) } const onChangeSetting = (e, field) => { From 352791dd9b3c10fe1cb7c8014ad78ac06d7e588f Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Tue, 14 Mar 2023 14:09:10 +0000 Subject: [PATCH 4/5] remove unneeded cloneDeep --- .../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 30ab738ac9..9479aee708 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -50,7 +50,7 @@ $: tempFilters = filters $: stepId = block.stepId $: bindings = getAvailableBindings(block, $selectedAutomation?.definition) - $: getInputData(testData, cloneDeep(block.inputs)) + $: getInputData(testData, block.inputs) $: tableId = inputData ? inputData.tableId : null $: table = tableId ? $tables.list.find(table => table._id === inputData.tableId) From 4591bf64ee5fce4e85c5dfa810821914b9f2555c Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Tue, 14 Mar 2023 14:23:39 +0000 Subject: [PATCH 5/5] lint --- .../components/automation/SetupPanel/AutomationBlockSetup.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 9479aee708..7a9d766ab2 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -32,7 +32,6 @@ import { getSchemaForTable } from "builderStore/dataBinding" import { Utils } from "@budibase/frontend-core" import { TriggerStepID, ActionStepID } from "constants/backend/automations" - import { cloneDeep } from "lodash/fp" import { onMount } from "svelte" export let block