From aef10fca0dc73b99ebea76d51ea5dd3d719604ee Mon Sep 17 00:00:00 2001 From: liujuping Date: Tue, 18 Apr 2023 11:50:23 +0800 Subject: [PATCH] feat(material): material apis add refreshComponentMetasMap function --- docs/docs/api/material.md | 10 ++++++++++ packages/shell/src/api/material.ts | 11 +++++++++-- packages/types/src/shell/api/material.ts | 6 ++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/docs/docs/api/material.md b/docs/docs/api/material.md index b52ad8cb2..5a5502fda 100644 --- a/docs/docs/api/material.md +++ b/docs/docs/api/material.md @@ -245,6 +245,7 @@ material.getComponentMeta('Input'); ``` #### getComponentMetasMap + 获取所有已注册的物料元数据 ```typescript @@ -264,6 +265,15 @@ import { material } from '@alilc/lowcode-engine'; material.getComponentMetasMap(); ``` +#### refreshComponentMetasMap + +刷新 componentMetasMap,可触发模拟器里的 components 重新构建 + +**@since v1.1.7** + +```typescript + refreshComponentMetasMap(): void; +``` ### 物料元数据管道函数 #### registerMetadataTransducer diff --git a/packages/shell/src/api/material.ts b/packages/shell/src/api/material.ts index e3ebd20ec..ea9d6e01b 100644 --- a/packages/shell/src/api/material.ts +++ b/packages/shell/src/api/material.ts @@ -143,9 +143,16 @@ export class Material implements IPublicApiMaterial { * 在设计器辅助层增加一个扩展 action * @param action */ - addBuiltinComponentAction(action: IPublicTypeComponentAction) { + addBuiltinComponentAction = (action: IPublicTypeComponentAction) => { this[designerSymbol].componentActions.addBuiltinComponentAction(action); - } + }; + + /** + * 刷新 componentMetasMap,可触发模拟器里的 components 重新构建 + */ + refreshComponentMetasMap = () => { + this[designerSymbol].refreshComponentMetasMap(); + }; /** * 移除设计器辅助层的指定 action diff --git a/packages/types/src/shell/api/material.ts b/packages/types/src/shell/api/material.ts index 1e9f54996..d64455edd 100644 --- a/packages/types/src/shell/api/material.ts +++ b/packages/types/src/shell/api/material.ts @@ -122,4 +122,10 @@ export interface IPublicApiMaterial { * @param fn */ onChangeAssets(fn: () => void): IPublicTypeDisposable; + + /** + * 刷新 componentMetasMap,可触发模拟器里的 components 重新构建 + * @since v1.1.7 + */ + refreshComponentMetasMap(): void; }