* 保存页面时的验证逻辑
* 检查是否有未完成的AI修改,如果有则提示用户
*/
import { useCanvas } from '@opentiny/tiny-engine-meta-register'
* 获取所有有待处理AI修改的节点ID
*/
const getAllNodesWithPendingAIModification = (): string[] => {
const { pageState, getNode } = useCanvas()
const pendingNodes: string[] = []
Object.entries(pageState.aiNodesStatus).forEach(([nodeId, status]) => {
if (status?.state === 'confirm' && getNode(nodeId)) {
pendingNodes.push(nodeId)
}
})
return pendingNodes
}
* 检查页面是否有任何待处理的AI修改
*/
const hasAnyPendingAIModification = (): boolean => {
return getAllNodesWithPendingAIModification().length > 0
}
export default function () {
return {
getAllNodesWithPendingAIModification,
hasAnyPendingAIModification
}
}