mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-11 18:42:56 +00:00
feat(workspace): add resourceTypeList api (#2148)
This commit is contained in:
parent
ee0d120bbd
commit
dc029c252a
@ -34,6 +34,21 @@ export class Workspace implements IPublicApiWorkspace {
|
|||||||
return new ShellWindow(this[workspaceSymbol].window);
|
return new ShellWindow(this[workspaceSymbol].window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get resourceTypeList() {
|
||||||
|
return Array.from(this[workspaceSymbol].resourceTypeMap.values()).map((d) => {
|
||||||
|
const { name: resourceName, type: resourceType } = d;
|
||||||
|
const {
|
||||||
|
description,
|
||||||
|
} = d.resourceTypeModel({} as any, {});
|
||||||
|
|
||||||
|
return {
|
||||||
|
resourceName,
|
||||||
|
resourceType,
|
||||||
|
description,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
onWindowRendererReady(fn: () => void): IPublicTypeDisposable {
|
onWindowRendererReady(fn: () => void): IPublicTypeDisposable {
|
||||||
return this[workspaceSymbol].onWindowRendererReady(fn);
|
return this[workspaceSymbol].onWindowRendererReady(fn);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,10 @@ export class Resource implements IPublicModelResource {
|
|||||||
return this[resourceSymbol].category;
|
return this[resourceSymbol].category;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get description() {
|
||||||
|
return this[resourceSymbol].description;
|
||||||
|
}
|
||||||
|
|
||||||
get children() {
|
get children() {
|
||||||
return this[resourceSymbol].children.map((child) => new Resource(child));
|
return this[resourceSymbol].children.map((child) => new Resource(child));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,8 @@ export interface IBaseModelResource<
|
|||||||
|
|
||||||
get viewName(): string | undefined;
|
get viewName(): string | undefined;
|
||||||
|
|
||||||
|
get description(): string | undefined;
|
||||||
|
|
||||||
get config(): {
|
get config(): {
|
||||||
disableBehaviors?: ('copy' | 'remove')[];
|
disableBehaviors?: ('copy' | 'remove')[];
|
||||||
} | undefined;
|
} | undefined;
|
||||||
|
|||||||
@ -12,6 +12,8 @@ export interface IBaseResource<T> extends IBaseModelResource<T> {
|
|||||||
|
|
||||||
skeleton: ISkeleton;
|
skeleton: ISkeleton;
|
||||||
|
|
||||||
|
description?: string;
|
||||||
|
|
||||||
get editorViews(): IPublicTypeEditorView[];
|
get editorViews(): IPublicTypeEditorView[];
|
||||||
|
|
||||||
get defaultViewType(): string;
|
get defaultViewType(): string;
|
||||||
|
|||||||
@ -33,6 +33,8 @@ export interface IWorkspace extends Omit<IPublicApiWorkspace<
|
|||||||
|
|
||||||
plugins: ILowCodePluginManager;
|
plugins: ILowCodePluginManager;
|
||||||
|
|
||||||
|
resourceTypeMap: Map<string, ResourceType>;
|
||||||
|
|
||||||
getResourceList(): IResource[];
|
getResourceList(): IResource[];
|
||||||
|
|
||||||
getResourceType(resourceName: string): IResourceType;
|
getResourceType(resourceName: string): IResourceType;
|
||||||
@ -55,12 +57,12 @@ export class Workspace implements IWorkspace {
|
|||||||
|
|
||||||
enableAutoOpenFirstWindow: boolean;
|
enableAutoOpenFirstWindow: boolean;
|
||||||
|
|
||||||
|
resourceTypeMap: Map<string, ResourceType> = new Map();
|
||||||
|
|
||||||
private emitter: IEventBus = createModuleEventBus('workspace');
|
private emitter: IEventBus = createModuleEventBus('workspace');
|
||||||
|
|
||||||
private _isActive = false;
|
private _isActive = false;
|
||||||
|
|
||||||
private resourceTypeMap: Map<string, ResourceType> = new Map();
|
|
||||||
|
|
||||||
private resourceList: IResource[] = [];
|
private resourceList: IResource[] = [];
|
||||||
|
|
||||||
get skeleton() {
|
get skeleton() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user