框架同步

This commit is contained in:
dong 2023-11-01 16:05:10 +08:00
parent ee4a26a36c
commit 9afb470615
2 changed files with 16 additions and 4 deletions

View File

@ -25,6 +25,7 @@ import {
type AppStateSubscription,
type MessageCliOption,
GraphicQuery,
ICreateOnNotFound,
} from '../message';
import { OperationRecord } from '../operation/JlOperation';
import {
@ -476,7 +477,7 @@ export interface IGraphicScene extends EventEmitter<GraphicAppEvents> {
handleGraphicStates(
graphicStates: GraphicState[],
queryer?: GraphicQuery,
createOnNotFound?: boolean
createOnNotFound?: ICreateOnNotFound
): void;
/**
*
@ -1094,7 +1095,7 @@ abstract class GraphicSceneBase
handleGraphicStates(
graphicStates: GraphicState[],
queryer?: GraphicQuery,
createOnNotFound?: boolean
createOnNotFound?: ICreateOnNotFound
): void {
graphicStates.forEach((state) => {
let g: JlGraphic | undefined;
@ -1106,7 +1107,13 @@ abstract class GraphicSceneBase
try {
if (!g) {
// 未找到图形对象
if (createOnNotFound) {
if (
createOnNotFound &&
createOnNotFound.graphicTypes &&
createOnNotFound.graphicTypes.findIndex(
(v) => v === state.graphicType
) >= 0
) {
const template = this.getGraphicTemplatesByType(state.graphicType);
const g = template.new();
g.loadState(state);

View File

@ -155,6 +155,10 @@ export type GraphicQuery = (
// 订阅消息处理器
export type SubscriptionMessageHandle = (message: Uint8Array) => void;
export interface ICreateOnNotFound {
graphicTypes?: string[];
}
// 图形app状态订阅
export interface AppStateSubscription {
/**
@ -171,8 +175,9 @@ export interface AppStateSubscription {
graphicQueryer?: GraphicQuery;
/**
*
*
*/
createOnNotFound?: boolean;
createOnNotFound?: ICreateOnNotFound;
/**
*
*/