Description 范围
目录
文件
行数
src/views/offline/
34 文件
~9,850
合计
34 文件
~9,850
关键文件
DAG 画布:
FlowCanvas.tsx — ReactFlow 画布(节点拖拽、自动排版、连线校验)
FlowCanvasNode.tsx — 画布节点渲染(进度环、状态图标、错误标记)
dagUtils.ts — DAG 工具(自动布局、循环检测)
yamlValidation.ts — YAML Schema 校验
节点编辑器:
NodeEditorDialog.tsx — 节点编辑弹窗(全屏,任务类型选择、参数配置)
taskTypeRegistry.ts — 任务类型注册表(Kestra task types)
nodeEditorUtils.ts — 节点编辑器工具函数
Flow 生命周期:
OfflineWorkbench.tsx — 主文件(3,222 行) :Flow 列表、创建/删除/重命名、执行触发、调度管理、右键菜单
ExecutionDetailPage.tsx — 执行详情页(Task 列表、日志、时间线)
SaveConflictDialog.tsx — 保存冲突弹窗(你的版本 vs 远程版本)
状态机与草稿:
flowCanvasState.ts / nodeSelectionState.ts — 画布/节点选中状态
pendingNodeEditorDraftState.ts / nodeEditorCloseDraftState.ts — 编辑器草稿
recoverySnapshotStore.ts — 崩溃恢复快照
draftExecution.ts — 执行草稿
关注点
OfflineWorkbench.tsx 是否过于臃肿(3,222 行需拆分)
ReactFlow 节点的增删改是否触发不必要的重渲染
草稿/快照/恢复的状态机是否有死路径
YAML 生成是否正确映射所有 task type
执行详情的轮询是否有泄漏
多个 Zustand store 之间是否有数据不一致风险
Flow 删除/重命名后是否存在孤立的执行记录
Reactions are currently unavailable
You can’t perform that action at this time.
范围
src/views/offline/关键文件
DAG 画布:
FlowCanvas.tsx— ReactFlow 画布(节点拖拽、自动排版、连线校验)FlowCanvasNode.tsx— 画布节点渲染(进度环、状态图标、错误标记)dagUtils.ts— DAG 工具(自动布局、循环检测)yamlValidation.ts— YAML Schema 校验节点编辑器:
NodeEditorDialog.tsx— 节点编辑弹窗(全屏,任务类型选择、参数配置)taskTypeRegistry.ts— 任务类型注册表(Kestra task types)nodeEditorUtils.ts— 节点编辑器工具函数Flow 生命周期:
OfflineWorkbench.tsx— 主文件(3,222 行):Flow 列表、创建/删除/重命名、执行触发、调度管理、右键菜单ExecutionDetailPage.tsx— 执行详情页(Task 列表、日志、时间线)SaveConflictDialog.tsx— 保存冲突弹窗(你的版本 vs 远程版本)状态机与草稿:
flowCanvasState.ts/nodeSelectionState.ts— 画布/节点选中状态pendingNodeEditorDraftState.ts/nodeEditorCloseDraftState.ts— 编辑器草稿recoverySnapshotStore.ts— 崩溃恢复快照draftExecution.ts— 执行草稿关注点