11import { IPublicTypeEditorView , IPublicModelResource , IPublicResourceData , IPublicResourceTypeConfig } from '@alilc/lowcode-types' ;
22import { Logger } from '@alilc/lowcode-utils' ;
3- import { BasicContext } from './base-context' ;
3+ import { BasicContext } from './context/ base-context' ;
44import { ResourceType } from './resource-type' ;
55import { Workspace as InnerWorkSpace } from './workspace' ;
66
@@ -13,20 +13,6 @@ export class Resource implements IPublicModelResource {
1313
1414 editorViewMap : Map < string , IPublicTypeEditorView > = new Map < string , IPublicTypeEditorView > ( ) ;
1515
16- constructor ( readonly resourceData : IPublicResourceData , readonly resourceType : ResourceType , workspace : InnerWorkSpace ) {
17- this . context = new BasicContext ( workspace , '' ) ;
18- this . resourceTypeInstance = resourceType . resourceTypeModel ( this . context , { } ) ;
19- this . init ( ) ;
20- if ( this . resourceTypeInstance . editorViews ) {
21- this . resourceTypeInstance . editorViews . forEach ( ( d : any ) => {
22- this . editorViewMap . set ( d . viewName , d ) ;
23- } ) ;
24- }
25- if ( ! resourceType ) {
26- logger . error ( `resourceType[${ resourceType } ] is unValid.` ) ;
27- }
28- }
29-
3016 get name ( ) {
3117 return this . resourceType . name ;
3218 }
@@ -55,6 +41,24 @@ export class Resource implements IPublicModelResource {
5541 return this . resourceData ?. category ;
5642 }
5743
44+ get skeleton ( ) {
45+ return this . context . innerSkeleton ;
46+ }
47+
48+ constructor ( readonly resourceData : IPublicResourceData , readonly resourceType : ResourceType , workspace : InnerWorkSpace ) {
49+ this . context = new BasicContext ( workspace , `resource-${ resourceData . resourceName || resourceType . name } ` ) ;
50+ this . resourceTypeInstance = resourceType . resourceTypeModel ( this . context , { } ) ;
51+ this . init ( ) ;
52+ if ( this . resourceTypeInstance . editorViews ) {
53+ this . resourceTypeInstance . editorViews . forEach ( ( d : any ) => {
54+ this . editorViewMap . set ( d . viewName , d ) ;
55+ } ) ;
56+ }
57+ if ( ! resourceType ) {
58+ logger . error ( `resourceType[${ resourceType } ] is unValid.` ) ;
59+ }
60+ }
61+
5862 async init ( ) {
5963 await this . resourceTypeInstance . init ?.( ) ;
6064 await this . context . innerPlugins . init ( ) ;
@@ -63,6 +67,7 @@ export class Resource implements IPublicModelResource {
6367 async import ( schema : any ) {
6468 return await this . resourceTypeInstance . import ?.( schema ) ;
6569 }
70+
6671 async save ( value : any ) {
6772 return await this . resourceTypeInstance . save ?.( value ) ;
6873 }
0 commit comments