mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 18:52:19 +00:00
Confirm delete workflow (#1772)
* Add confirm delete workflow prompt * Add confirm delete workflow setting * Add delete workflow tests * Change dialog to modal, set default cancel * Fix setting version key * Rename for clarity * Fix tests - Move into correct section - Add confirm control * Export type: ShowDialogOptions * Replace workflow overwrite with new dialog * Add delete workflow confirmation dialog * Update i18n * Add item list support to confirmation dialog * Prevent multiple dialogs for same action * Add confirm close file when dirty * Add i18n for overwrite dialog * Fix regression: confirm dialog setting ignored * Fix delete last workflow does not open replacement * Update tests
This commit is contained in:
@@ -123,6 +123,7 @@
|
||||
</div>
|
||||
</template>
|
||||
</SidebarTabTemplate>
|
||||
<ConfirmDialog />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -150,6 +151,9 @@ import { workflowService } from '@/services/workflowService'
|
||||
import { useWorkspaceStore } from '@/stores/workspaceStore'
|
||||
import { appendJsonExt } from '@/utils/formatUtil'
|
||||
import { buildTree, sortedTree } from '@/utils/treeUtil'
|
||||
import { useConfirm } from 'primevue/useconfirm'
|
||||
import { useToast } from 'primevue/usetoast'
|
||||
import ConfirmDialog from 'primevue/confirmdialog'
|
||||
|
||||
const settingStore = useSettingStore()
|
||||
const workflowTabsPosition = computed(() =>
|
||||
@@ -218,6 +222,9 @@ const openWorkflowsTree = computed(() =>
|
||||
buildTree(workflowStore.openWorkflows, (workflow) => [workflow.key])
|
||||
)
|
||||
|
||||
const confirm = useConfirm()
|
||||
const toast = useToast()
|
||||
|
||||
const renderTreeNode = (
|
||||
node: TreeNode,
|
||||
type: WorkflowTreeType
|
||||
@@ -236,6 +243,7 @@ const renderTreeNode = (
|
||||
toggleNodeOnEvent(e, node)
|
||||
}
|
||||
}
|
||||
|
||||
const actions = node.leaf
|
||||
? {
|
||||
handleClick,
|
||||
@@ -252,8 +260,8 @@ const renderTreeNode = (
|
||||
},
|
||||
handleDelete: workflow.isTemporary
|
||||
? undefined
|
||||
: () => {
|
||||
workflowService.deleteWorkflow(workflow)
|
||||
: async () => {
|
||||
await workflowService.deleteWorkflow(workflow)
|
||||
},
|
||||
contextMenuItems: (node: TreeExplorerNode<ComfyWorkflow>) => {
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user