@@ -4,19 +4,22 @@ import { computed, IEventBus, createModuleEventBus } from '@alilc/lowcode-editor
44import { SettingEntry } from './setting-entry' ;
55import { SettingField } from './setting-field' ;
66import { SettingPropEntry } from './setting-prop-entry' ;
7- import { Node } from '../../document' ;
7+ import { INode } from '../../document' ;
88import { ComponentMeta } from '../../component-meta' ;
9- import { Designer } from '../designer' ;
9+ import { IDesigner } from '../designer' ;
1010import { Setters } from '@alilc/lowcode-shell' ;
1111
12- function generateSessionId ( nodes : Node [ ] ) {
12+ function generateSessionId ( nodes : INode [ ] ) {
1313 return nodes
1414 . map ( ( node ) => node . id )
1515 . sort ( )
1616 . join ( ',' ) ;
1717}
1818
19- export class SettingTopEntry implements SettingEntry {
19+ export interface ISettingTopEntry extends SettingEntry {
20+ }
21+
22+ export class SettingTopEntry implements ISettingTopEntry {
2023 private emitter : IEventBus = createModuleEventBus ( 'SettingTopEntry' ) ;
2124
2225 private _items : Array < SettingField | IPublicTypeCustomView > = [ ] ;
@@ -68,21 +71,21 @@ export class SettingTopEntry implements SettingEntry {
6871
6972 readonly id : string ;
7073
71- readonly first : Node ;
74+ readonly first : INode ;
7275
73- readonly designer : Designer ;
76+ readonly designer : IDesigner | undefined ;
7477
7578 readonly setters : Setters ;
7679
7780 disposeFunctions : any [ ] = [ ] ;
7881
79- constructor ( readonly editor : IPublicModelEditor , readonly nodes : Node [ ] ) {
82+ constructor ( readonly editor : IPublicModelEditor , readonly nodes : INode [ ] ) {
8083 if ( ! Array . isArray ( nodes ) || nodes . length < 1 ) {
8184 throw new ReferenceError ( 'nodes should not be empty' ) ;
8285 }
8386 this . id = generateSessionId ( nodes ) ;
8487 this . first = nodes [ 0 ] ;
85- this . designer = this . first . document . designer ;
88+ this . designer = this . first . document ? .designer ;
8689 this . setters = editor . get ( 'setters' ) as Setters ;
8790
8891 // setups
@@ -229,7 +232,6 @@ export class SettingTopEntry implements SettingEntry {
229232 this . disposeFunctions = [ ] ;
230233 }
231234
232-
233235 getProp ( propName : string | number ) {
234236 return this . get ( propName ) ;
235237 }
0 commit comments