修正联合概览状态定位
结构问题高亮 layout_status 组件问题高亮 components_status
This commit is contained in:
+14
-5
@@ -5,6 +5,7 @@ import {
|
||||
nodeHasBlockedComponents,
|
||||
nodeNeedsComponentReview,
|
||||
} from '../../../features/ui-editor/bindingOverview';
|
||||
import type { StageStatusField } from '../../../features/ui-editor/stageStatusOverview';
|
||||
import {
|
||||
getStageStatusOverview,
|
||||
isBlocked,
|
||||
@@ -23,7 +24,11 @@ export function RecognitionAndBindingOverview({
|
||||
}: {
|
||||
uiTrees: UITree[];
|
||||
sprites: Record<string, SpriteAsset>;
|
||||
onFocusStatusNode: (treeId: UIDesignImageId, nodeId: NodeId) => void;
|
||||
onFocusStatusNode: (
|
||||
treeId: UIDesignImageId,
|
||||
nodeId: NodeId,
|
||||
field: StageStatusField,
|
||||
) => void;
|
||||
}) {
|
||||
const recognition = useMemo(
|
||||
() => getStageStatusOverview(uiTrees, 'layout_status'),
|
||||
@@ -35,7 +40,8 @@ export function RecognitionAndBindingOverview({
|
||||
);
|
||||
const layoutAttentionCycle = useUiTreeNodeCycle({
|
||||
uiTrees,
|
||||
onFocusNode: onFocusStatusNode,
|
||||
onFocusNode: (treeId, nodeId) =>
|
||||
onFocusStatusNode(treeId, nodeId, 'layout_status'),
|
||||
matches: ({ node }) => {
|
||||
const status = node.metadata.layout_status;
|
||||
return isBlocked(status) || isNeedReview(status);
|
||||
@@ -43,17 +49,20 @@ export function RecognitionAndBindingOverview({
|
||||
});
|
||||
const layoutBlockedCycle = useUiTreeNodeCycle({
|
||||
uiTrees,
|
||||
onFocusNode: onFocusStatusNode,
|
||||
onFocusNode: (treeId, nodeId) =>
|
||||
onFocusStatusNode(treeId, nodeId, 'layout_status'),
|
||||
matches: ({ node }) => isBlocked(node.metadata.layout_status),
|
||||
});
|
||||
const componentAttentionCycle = useUiTreeNodeCycle({
|
||||
uiTrees,
|
||||
onFocusNode: onFocusStatusNode,
|
||||
onFocusNode: (treeId, nodeId) =>
|
||||
onFocusStatusNode(treeId, nodeId, 'components_status'),
|
||||
matches: nodeNeedsComponentReview,
|
||||
});
|
||||
const componentBlockedCycle = useUiTreeNodeCycle({
|
||||
uiTrees,
|
||||
onFocusNode: onFocusStatusNode,
|
||||
onFocusNode: (treeId, nodeId) =>
|
||||
onFocusStatusNode(treeId, nodeId, 'components_status'),
|
||||
matches: nodeHasBlockedComponents,
|
||||
});
|
||||
|
||||
|
||||
@@ -274,9 +274,9 @@ export default function UiEditorPage({
|
||||
<RecognitionAndBindingOverview
|
||||
uiTrees={session.input.uiTrees}
|
||||
sprites={session.input.sprites}
|
||||
onFocusStatusNode={(treeId, nodeId) => {
|
||||
onFocusStatusNode={(treeId, nodeId, field) => {
|
||||
session.input.focusNode(treeId, nodeId);
|
||||
session.input.highlightStatusField(nodeId, 'layout_status');
|
||||
session.input.highlightStatusField(nodeId, field);
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user