Merge branch 'master' into fix/hide-row-actions

This commit is contained in:
Michael Drury 2024-07-30 15:20:21 +01:00 committed by GitHub
commit 2486497a6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 14 deletions

View File

@ -54,6 +54,7 @@
</div>
<div class="controls">
<div
class:disabled={!$selectedAutomation?.definition?.trigger}
on:click={() => {
testDataModal.show()
}}
@ -80,6 +81,7 @@
automation._id,
automation.disabled
)}
disabled={!$selectedAutomation?.definition?.trigger}
value={!automation.disabled}
/>
</div>

View File

@ -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,

View File

@ -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
}, {})

View File

@ -87,8 +87,6 @@ const automationActions = store => ({
disabled: false,
}
const response = await store.actions.save(automation)
await store.actions.fetch()
store.actions.select(response._id)
return response
},
duplicate: async automation => {
@ -98,14 +96,13 @@ const automationActions = store => ({
_id: undefined,
_ref: undefined,
})
await store.actions.fetch()
store.actions.select(response._id)
return response
},
save: async automation => {
const response = await API.updateAutomation(automation)
await store.actions.fetch()
store.actions.select(response._id)
return response.automation
},
delete: async automation => {
@ -113,18 +110,22 @@ const automationActions = store => ({
automationId: automation?._id,
automationRev: automation?._rev,
})
store.update(state => {
// Remove the automation
state.automations = state.automations.filter(
x => x._id !== automation._id
)
// Select a new automation if required
if (automation._id === state.selectedAutomationId) {
store.actions.select(state.automations[0]?._id)
state.selectedAutomationId = state.automations[0]?._id || null
}
// Clear out automationDisplayData for the automation
delete state.automationDisplayData[automation._id]
return state
})
await store.actions.fetch()
},
toggleDisabled: async automationId => {
let automation
@ -381,7 +382,7 @@ export const selectedAutomation = derived(automationStore, $automationStore => {
export const selectedAutomationDisplayData = derived(
[automationStore, selectedAutomation],
([$automationStore, $selectedAutomation]) => {
if (!$selectedAutomation._id) {
if (!$selectedAutomation?._id) {
return null
}
return $automationStore.automationDisplayData[$selectedAutomation._id]