From b4e0d98973c6395e36040f7789fb2f7995781f10 Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:15:36 +0100 Subject: [PATCH 1/4] Add bindings support to meeting start / end dates (#11759) * Deprecate zapier+make values1..5 * Allow dates in meeting invite to be bindable * Add DrawerBindableSlot component * Show calendar icon * refactor * Use cancel icon * Disable cancel for JS bindings * WIP * WIP * WIP * Fix linkedIds svelte binding * Label and icon update * Handle arrays * Support text area * Add reactivity to text area icon * Support boolean * JSON support * Remove rowControl * Allow boolean field to have three states * lint * Refactor --------- Co-authored-by: Michael Drury --- .../builderStore/store/automation/index.js | 12 - .../FlowChart/FlowItem.svelte | 23 -- .../SetupPanel/AutomationBlockSetup.svelte | 84 ++---- .../automation/SetupPanel/RowSelector.svelte | 82 ++---- .../SetupPanel/RowSelectorTypes.svelte | 149 ++++++----- .../common/LinkedRowSelector.svelte | 6 +- .../common/bindings/DrawerBindableSlot.svelte | 250 ++++++++++++++++++ packages/server/src/automations/steps/make.ts | 8 +- .../server/src/automations/steps/zapier.ts | 8 +- 9 files changed, 376 insertions(+), 246 deletions(-) create mode 100644 packages/builder/src/components/common/bindings/DrawerBindableSlot.svelte diff --git a/packages/builder/src/builderStore/store/automation/index.js b/packages/builder/src/builderStore/store/automation/index.js index 4ebf0515d6..c22240370b 100644 --- a/packages/builder/src/builderStore/store/automation/index.js +++ b/packages/builder/src/builderStore/store/automation/index.js @@ -221,18 +221,6 @@ const automationActions = store => ({ newAutomation.definition.steps.splice(blockIdx, 0, block) await store.actions.save(newAutomation) }, - /** - * "rowControl" appears to be the name of the flag used to determine whether - * a certain automation block uses values or bindings as inputs - */ - toggleRowControl: async (block, rowControl) => { - const newBlock = { ...block, rowControl } - const newAutomation = store.actions.getUpdatedDefinition( - get(selectedAutomation), - newBlock - ) - await store.actions.save(newAutomation) - }, deleteAutomationBlock: async block => { const automation = get(selectedAutomation) let newAutomation = cloneDeep(automation) diff --git a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte index 85c3776fdb..6c964c84a9 100644 --- a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte +++ b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte @@ -7,7 +7,6 @@ Detail, Modal, Button, - Select, ActionButton, notifications, Label, @@ -39,9 +38,6 @@ step => step.stepId === ActionStepID.COLLECT ) $: automationId = $selectedAutomation?._id - $: showBindingPicker = - block.stepId === ActionStepID.CREATE_ROW || - block.stepId === ActionStepID.UPDATE_ROW $: isTrigger = block.type === "TRIGGER" $: steps = $selectedAutomation?.definition?.steps ?? [] $: blockIdx = steps.findIndex(step => step.id === block.id) @@ -96,15 +92,6 @@ } } - /** - * "rowControl" appears to be the name of the flag used to determine whether - * a certain automation block uses values or bindings as inputs - */ - function toggleRowControl(evt) { - const rowControl = evt.detail !== "Use values" - automationStore.actions.toggleRowControl(block, rowControl) - } - async function addLooping() { const loopDefinition = $automationStore.blockDefinitions.ACTION.LOOP const loopBlock = automationStore.actions.constructBlock( @@ -189,16 +176,6 @@ Add Looping {/if} - {#if showBindingPicker} - onChange(e, key)} @@ -469,7 +420,6 @@ /> {:else if value.customType === "row"} { diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte index 5039c37ece..8c50689f22 100644 --- a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte +++ b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte @@ -1,18 +1,14 @@ -{#if schemaHasOptions(schema) && schema.type !== "array"} -