@@ -16,7 +16,7 @@ import {
1616 IPublicModelExclusiveGroup ,
1717 IPublicEnumTransformStage ,
1818} from '@alilc/lowcode-types' ;
19- import { compatStage , isDOMText , isJSExpression } from '@alilc/lowcode-utils' ;
19+ import { compatStage , isDOMText , isJSExpression , isNode } from '@alilc/lowcode-utils' ;
2020import { SettingTopEntry } from '@alilc/lowcode-designer' ;
2121import { Props , getConvertedExtraKey , IProps } from './props/props' ;
2222import { DocumentModel , IDocumentModel } from '../document-model' ;
@@ -109,6 +109,8 @@ export interface INode extends IPublicModelNode {
109109 getExtraProp ( key : string , createIfNone ?: boolean ) : IProp | null ;
110110
111111 replaceChild ( node : INode , data : any ) : INode ;
112+
113+ getSuitablePlace ( node : INode , ref : any ) : any ;
112114}
113115
114116/**
@@ -913,7 +915,7 @@ export class Node<Schema extends IPublicTypeNodeSchema = IPublicTypeNodeSchema>
913915 /**
914916 * 判断是否包含特定节点
915917 */
916- contains ( node : Node ) : boolean {
918+ contains ( node : INode ) : boolean {
917919 return contains ( this , node ) ;
918920 }
919921
@@ -1149,14 +1151,14 @@ export class Node<Schema extends IPublicTypeNodeSchema = IPublicTypeNodeSchema>
11491151 /**
11501152 * TODO: replace non standard metas with standard ones.
11511153 */
1152- getSuitablePlace ( node : Node , ref : any ) : any {
1154+ getSuitablePlace ( node : INode , ref : any ) : any {
11531155 const focusNode = this . document ?. focusNode ;
11541156 // 如果节点是模态框,插入到根节点下
11551157 if ( node ?. componentMeta ?. isModal ) {
11561158 return { container : focusNode , ref } ;
11571159 }
11581160
1159- if ( ! ref && this . contains ( focusNode ) ) {
1161+ if ( ! ref && focusNode && this . contains ( focusNode ) ) {
11601162 const rootCanDropIn = focusNode . componentMeta ?. prototype ?. options ?. canDropIn ;
11611163 if (
11621164 rootCanDropIn === undefined ||
@@ -1171,7 +1173,7 @@ export class Node<Schema extends IPublicTypeNodeSchema = IPublicTypeNodeSchema>
11711173
11721174 if ( this . isRoot ( ) && this . children ) {
11731175 const dropElement = this . children . filter ( ( c ) => {
1174- if ( ! c . isContainer ( ) ) {
1176+ if ( ! c . isContainerNode ) {
11751177 return false ;
11761178 }
11771179 const canDropIn = c . componentMeta ?. prototype ?. options ?. canDropIn ;
@@ -1304,22 +1306,15 @@ export type PageNode = Node<IPublicTypePageSchema>;
13041306export type ComponentNode = Node < IPublicTypeComponentSchema > ;
13051307export type RootNode = PageNode | ComponentNode ;
13061308
1307- /**
1308- * @deprecated use same function from '@alilc/lowcode-utils' instead
1309- */
1310- export function isNode ( node : any ) : node is Node {
1311- return node && node . isNode ;
1312- }
1313-
1314- export function isRootNode ( node : Node ) : node is RootNode {
1315- return node && node . isRoot ( ) ;
1309+ export function isRootNode ( node : INode ) : node is INode {
1310+ return node && node . isRootNode ;
13161311}
13171312
1318- export function isLowCodeComponent ( node : Node ) : boolean {
1313+ export function isLowCodeComponent ( node : INode ) : node is INode {
13191314 return node . componentMeta ?. getMetadata ( ) . devMode === 'lowCode' ;
13201315}
13211316
1322- export function getZLevelTop ( child : Node , zLevel : number ) : Node | null {
1317+ export function getZLevelTop ( child : INode , zLevel : number ) : INode | null {
13231318 let l = child . zLevel ;
13241319 if ( l < zLevel || zLevel < 0 ) {
13251320 return null ;
@@ -1340,12 +1335,12 @@ export function getZLevelTop(child: Node, zLevel: number): Node | null {
13401335 * @param node2 测试的被包含节点
13411336 * @returns 是否包含
13421337 */
1343- export function contains ( node1 : Node , node2 : Node ) : boolean {
1338+ export function contains ( node1 : INode , node2 : INode ) : boolean {
13441339 if ( node1 === node2 ) {
13451340 return true ;
13461341 }
13471342
1348- if ( ! node1 . isParental ( ) || ! node2 . parent ) {
1343+ if ( ! node1 . isParentalNode || ! node2 . parent ) {
13491344 return false ;
13501345 }
13511346
@@ -1367,7 +1362,7 @@ export enum PositionNO {
13671362 BeforeOrAfter = 2 ,
13681363 TheSame = 0 ,
13691364}
1370- export function comparePosition ( node1 : Node , node2 : Node ) : PositionNO {
1365+ export function comparePosition ( node1 : INode , node2 : INode ) : PositionNO {
13711366 if ( node1 === node2 ) {
13721367 return PositionNO . TheSame ;
13731368 }
0 commit comments