[F1] @vue-flow/core 依赖 + DagCanvas 基础组件
- apps/web-antd/src/components/iot-dag/ 7 文件
- DagCanvas.vue / DagCanvasToolbar.vue
- hooks/useDagState.ts(50 步撤销栈 + structuredClone 深拷贝)
- hooks/useDagShortcuts.ts(Del/Ctrl+Z/Ctrl+Y + input guard)
- types.ts(DagNode/DagEdge/DagCanvasProps + 6 emits)
- index.ts barrel + __tests__/DagCanvas.spec.ts(16 用例全绿)
- pnpm-workspace.yaml: catalog 新增 @vue-flow/{core,background,controls,minimap}
- apps/web-antd/package.json: 4 包全部 'catalog:' 引用
- i18n: zh-CN/en-US iot.dag.toolbar.* + iot.dag.canvas.* 同步
- Known Pitfalls 落地: ⚠️ catalog 约束 / 样式 import / TS 严格零 any
note: Acceptance #7 (Storybook/playground) 项目未集成 Storybook,
由 F7 规则链编辑页自然 dogfood。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -39,5 +39,21 @@
|
||||
"video": "Video",
|
||||
"voice": "Voice"
|
||||
}
|
||||
},
|
||||
"iot": {
|
||||
"dag": {
|
||||
"toolbar": {
|
||||
"zoomIn": "Zoom In",
|
||||
"zoomOut": "Zoom Out",
|
||||
"fitView": "Fit View",
|
||||
"undo": "Undo (Ctrl+Z)",
|
||||
"redo": "Redo (Ctrl+Y)",
|
||||
"save": "Save"
|
||||
},
|
||||
"canvas": {
|
||||
"readonly": "Read-only mode",
|
||||
"empty": "Drag nodes to canvas to start"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,5 +39,21 @@
|
||||
"video": "视频",
|
||||
"voice": "语音"
|
||||
}
|
||||
},
|
||||
"iot": {
|
||||
"dag": {
|
||||
"toolbar": {
|
||||
"zoomIn": "放大",
|
||||
"zoomOut": "缩小",
|
||||
"fitView": "适应视图",
|
||||
"undo": "撤销 (Ctrl+Z)",
|
||||
"redo": "重做 (Ctrl+Y)",
|
||||
"save": "保存"
|
||||
},
|
||||
"canvas": {
|
||||
"readonly": "只读模式",
|
||||
"empty": "拖拽节点到画布开始编排"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user