diff --git a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
index ef0a61646e..0829b85a90 100644
--- a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
+++ b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
@@ -48,10 +48,6 @@
$automationStore.selectedAutomation?.automation?.definition?.steps.length +
1
- $: hasCompletedInputs = Object.keys(
- block.schema?.inputs?.properties || {}
- ).every(x => block?.inputs[x])
-
$: loopingSelected =
$automationStore.selectedAutomation?.automation.definition.steps.find(
x => x.blockToLoop === block.id
@@ -290,13 +286,7 @@
- actionModal.show()}
- disabled={!hasCompletedInputs}
- hoverable
- name="AddCircle"
- size="S"
-/>
+ actionModal.show()} hoverable name="AddCircle" size="S" />
{#if isTrigger ? totalBlocks > 1 : blockIdx !== totalBlocks - 2}
{/if}
diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
index 856ab5f31a..4333e4a2e5 100644
--- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
@@ -25,11 +25,11 @@
import QueryParamSelector from "./QueryParamSelector.svelte"
import CronBuilder from "./CronBuilder.svelte"
import Editor from "components/integration/QueryEditor.svelte"
- import { debounce } from "lodash"
import ModalBindableInput from "components/common/bindings/ModalBindableInput.svelte"
import FilterDrawer from "components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte"
import { LuceneUtils } from "@budibase/frontend-core"
import { getSchemaForTable } from "builderStore/dataBinding"
+ import { Utils } from "@budibase/frontend-core"
export let block
export let testData
@@ -54,7 +54,7 @@
$: schema = getSchemaForTable(tableId, { searchableSchema: true }).schema
$: schemaFields = Object.values(schema || {})
- const onChange = debounce(async function (e, key) {
+ const onChange = Utils.sequential(async (e, key) => {
try {
if (isTestModal) {
// Special case for webhook, as it requires a body, but the schema already brings back the body's contents
@@ -82,7 +82,7 @@
} catch (error) {
notifications.error("Error saving automation")
}
- }, 800)
+ })
function getAvailableBindings(block, automation) {
if (!block || !automation) {
@@ -226,6 +226,7 @@
on:change={e => onChange(e, key)}
{bindings}
fillWidth
+ updateOnChange={false}
/>
{:else}
onChange(e, key)}
{bindings}
allowJS={false}
+ updateOnChange={false}
/>
{/if}
{:else if value.customType === "query"}
@@ -310,6 +312,7 @@
type={value.customType}
on:change={e => onChange(e, key)}
{bindings}
+ updateOnChange={false}
/>
{:else}
@@ -321,6 +324,7 @@
value={inputData[key]}
on:change={e => onChange(e, key)}
{bindings}
+ updateOnChange={false}
/>
{/if}
diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
index 971a9cc51b..f91cd62bed 100644
--- a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
@@ -43,6 +43,11 @@
}
const coerce = (value, type) => {
+ const re = new RegExp(/{{([^{].*?)}}/g)
+ if (re.test(value)) {
+ return value
+ }
+
if (type === "boolean") {
if (typeof value === "boolean") {
return value
@@ -120,6 +125,7 @@
{bindings}
fillWidth={true}
allowJS={true}
+ updateOnChange={false}
/>
{/if}
{:else if !rowControl}
@@ -137,6 +143,7 @@
{bindings}
fillWidth={true}
allowJS={true}
+ updateOnChange={false}
/>
{/if}
{/if}
diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
index 2a51e8d200..f66df3a9b1 100644
--- a/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
@@ -60,5 +60,6 @@
{bindings}
fillWidth={true}
allowJS={true}
+ updateOnChange={false}
/>
{/if}
diff --git a/packages/builder/src/components/automation/SetupPanel/SchemaSetup.svelte b/packages/builder/src/components/automation/SetupPanel/SchemaSetup.svelte
index 71b10a3569..cb80072694 100644
--- a/packages/builder/src/components/automation/SetupPanel/SchemaSetup.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/SchemaSetup.svelte
@@ -30,6 +30,10 @@
label: "DateTime",
value: "datetime",
},
+ {
+ label: "Array",
+ value: "array",
+ },
]
function addField() {
@@ -70,6 +74,7 @@
secondary
placeholder="Enter field name"
on:change={fieldNameChanged(field.name)}
+ updateOnChange={false}
/>