Merge branch 'fix/multiple-tree' into 'release/1.0.0'

fix: 解决 set('schema') 后 componentsTree 越来越多的 bug



See merge request !962981
This commit is contained in:
荣彬 2020-09-07 14:30:28 +08:00
commit c52731879d
2 changed files with 11 additions and 2 deletions

View File

@ -1,5 +1,5 @@
import { computed, obx } from '@ali/lowcode-editor-core';
import { NodeData, isJSExpression, isDOMText, NodeSchema, isNodeSchema, RootSchema } from '@ali/lowcode-types';
import { NodeData, isJSExpression, isDOMText, NodeSchema, isNodeSchema, RootSchema, PageSchema } from '@ali/lowcode-types';
import { EventEmitter } from 'events';
import { Project } from '../project';
import { ISimulatorHost } from '../simulator';
@ -659,3 +659,7 @@ export class DocumentModel {
export function isDocumentModel(obj: any): obj is DocumentModel {
return obj && obj.rootNode;
}
export function isPageSchema(obj: any): obj is PageSchema {
return obj?.componentName === 'Page';
}

View File

@ -1,7 +1,7 @@
import { EventEmitter } from 'events';
import { obx, computed } from '@ali/lowcode-editor-core';
import { Designer } from '../designer';
import { DocumentModel, isDocumentModel } from '../document';
import { DocumentModel, isDocumentModel, isPageSchema } from '../document';
import { ProjectSchema, RootSchema } from '@ali/lowcode-types';
export class Project {
@ -138,6 +138,11 @@ export class Project {
if (isDocumentModel(doc)) {
return doc.open();
} else if (isPageSchema(doc)) {
const foundDoc = this.documents.find(curDoc => curDoc?.rootNode?.id && curDoc?.rootNode?.id === doc?.id);
if (foundDoc) {
foundDoc.remove();
}
}
doc = new DocumentModel(this, doc);