66 lines
1.6 KiB
Svelte
66 lines
1.6 KiB
Svelte
<script>
|
|
import { goto } from "@roxi/routify"
|
|
import { automationStore } from "builderStore"
|
|
import { database } from "stores/backend"
|
|
import { notifications } from "@budibase/bbui"
|
|
import { Popover } from "@budibase/bbui"
|
|
import { DropdownContainer, DropdownItem } from "components/common/Dropdowns"
|
|
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
|
|
|
export let automation
|
|
|
|
let anchor
|
|
let dropdown
|
|
let confirmDeleteDialog
|
|
$: instanceId = $database._id
|
|
|
|
function showModal() {
|
|
dropdown.hide()
|
|
confirmDeleteDialog.show()
|
|
}
|
|
|
|
async function deleteAutomation() {
|
|
await automationStore.actions.delete({
|
|
instanceId,
|
|
automation,
|
|
})
|
|
notifications.success("Automation deleted.")
|
|
$goto("../automate")
|
|
}
|
|
</script>
|
|
|
|
<div on:click|stopPropagation>
|
|
<div bind:this={anchor} class="icon" on:click={dropdown.show}>
|
|
<i class="ri-more-line" />
|
|
</div>
|
|
<Popover align="left" {anchor} bind:this={dropdown}>
|
|
<DropdownContainer>
|
|
<DropdownItem
|
|
icon="ri-delete-bin-line"
|
|
title="Delete"
|
|
on:click={showModal} />
|
|
</DropdownContainer>
|
|
</Popover>
|
|
</div>
|
|
<ConfirmDialog
|
|
bind:this={confirmDeleteDialog}
|
|
okText="Delete Automation"
|
|
onOk={deleteAutomation}
|
|
title="Confirm Deletion">
|
|
Are you sure you wish to delete the automation
|
|
<i>{automation.name}?</i>
|
|
This action cannot be undone.
|
|
</ConfirmDialog>
|
|
|
|
<style>
|
|
div.icon {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
}
|
|
|
|
div.icon i {
|
|
font-size: 16px;
|
|
}
|
|
</style>
|