From 5269258532e969172aaaf1e0057379ebe28932dc Mon Sep 17 00:00:00 2001 From: Dean Date: Tue, 30 Jul 2024 11:37:47 +0100 Subject: [PATCH] Ensure the builder is functional if an app automation does not contain a trigger --- .../AutomationBuilder/FlowChart/FlowChart.svelte | 2 ++ .../automation/AutomationPanel/AutomationNavItem.svelte | 8 +++++--- .../automation/AutomationPanel/AutomationPanel.svelte | 9 +++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte index f79b36b1ca..c263468f3b 100644 --- a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte +++ b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte @@ -54,6 +54,7 @@
{ testDataModal.show() }} @@ -80,6 +81,7 @@ automation._id, automation.disabled )} + disabled={!$selectedAutomation?.definition?.trigger} value={!automation.disabled} />
diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationNavItem.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationNavItem.svelte index df5ac3bd98..6e4d7c0099 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationNavItem.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationNavItem.svelte @@ -54,7 +54,7 @@ name: "Edit", keyBind: null, visible: true, - disabled: false, + disabled: !automation.definition.trigger, callback: updateAutomationDialog.show, }, { @@ -62,7 +62,9 @@ name: "Duplicate", keyBind: null, visible: true, - disabled: automation.definition.trigger.name === "Webhook", + disabled: + !automation.definition.trigger || + automation.definition.trigger?.name === "Webhook", callback: duplicateAutomation, }, ] @@ -74,7 +76,7 @@ name: automation.disabled ? "Activate" : "Pause", keyBind: null, visible: true, - disabled: false, + disabled: !automation.definition.trigger, callback: () => { automationStore.actions.toggleDisabled( automation._id, diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte index e017e6a26a..e51e6ab2be 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte @@ -30,12 +30,13 @@ }) $: groupedAutomations = filteredAutomations.reduce((acc, auto) => { - acc[auto.definition.trigger.event] ??= { - icon: auto.definition.trigger.icon, - name: (auto.definition.trigger?.name || "").toUpperCase(), + const catName = auto.definition?.trigger?.event || "No Trigger" + acc[catName] ??= { + icon: auto.definition?.trigger?.icon || "AlertCircle", + name: (auto.definition?.trigger?.name || "No Trigger").toUpperCase(), entries: [], } - acc[auto.definition.trigger.event].entries.push(auto) + acc[catName].entries.push(auto) return acc }, {})