三面拆分①:surface 配置与区表 —— 归属/亮灯/旧链改写皆纯函数先测后写

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
2026-07-27 20:50:32 +08:00
co-authored by Claude Fable 5
parent ac85ecf2ea
commit e578b5bc34
6 changed files with 309 additions and 50 deletions
@@ -41,6 +41,7 @@ import { packageToGraph } from '@web-shared/gov/flow/pkg-to-graph.ts';
import { mergeGraphIntoPackage } from '@web-shared/gov/flow/graph-to-pkg.ts';
import type { FlowGraph, FlowNode } from '@web-shared/gov/flow/flow-layout.ts';
import type { SpPosition } from '@web-shared/gov/flow/support.tsx';
import { TriggersHome } from '@features/gov-trigger';
export type HomeProps = { tab: string; nav: Nav };
@@ -75,6 +76,12 @@ function edgeCheckOf(pkg: ProcessPackage, report: ClosureReport | undefined) {
/* ---------------- ③ 工作流管理 ---------------- */
export function WorkflowsHome({ tab, nav }: HomeProps) {
// 调起规则 = 触发器的**定义面**:谁调起这条流,与流程包一处维护(启停在运营中心)
if (tab === 'rules') return <TriggersHome tab={tab} nav={nav} />;
return <PackagesHome tab={tab} nav={nav} />;
}
function PackagesHome({ tab, nav }: HomeProps) {
const q = useGovPackages();
const packages = q.data?.packages ?? [];
const reports = usePkgReports(packages);
@@ -835,7 +842,7 @@ function Orchestrator({
title={t.name}
sub={t.spec.kind === 'event' ? t.spec.rule : t.spec.kind === 'registration' ? TRIGGER_KIND_LABEL.registration : TRIGGER_KIND_LABEL.periodic}
cols={[{ k: '状态', v: t.enabled ? '已启用' : '已停用' }]}
onClick={() => nav.jump('triggers', 'rules', { k: 'trigger', id: t.id })}
onClick={() => nav.jump('workflows', 'rules', { k: 'trigger', id: t.id })}
/>
))}
</NList>