diff --git a/docs/docs/api/skeleton.md b/docs/docs/api/skeleton.md index bcf4225db..c378792de 100644 --- a/docs/docs/api/skeleton.md +++ b/docs/docs/api/skeleton.md @@ -178,6 +178,21 @@ IWidgetBaseConfig 定义如下: remove(config: IPublicTypeWidgetBaseConfig): number | undefined; ``` +### getPanel + +获取面板实例 + +```typescript +/** + * 获取面板实例 + * @param name 面板名称 + */ +getPanel(name: string): IPublicModelSkeletonItem | undefined; +``` + +相关类型:[IPublicModelSkeletonItem](https://github.com/alibaba/lowcode-engine/blob/main/packages/shell/src/model/skeleton-item.ts) + +@since v1.1.10 ### showPanel diff --git a/packages/shell/src/api/skeleton.ts b/packages/shell/src/api/skeleton.ts index 238931a25..0d1707525 100644 --- a/packages/shell/src/api/skeleton.ts +++ b/packages/shell/src/api/skeleton.ts @@ -76,6 +76,15 @@ export class Skeleton implements IPublicApiSkeleton { return this[skeletonSymbol][normalizeArea(areaName)].container.items?.map(d => new SkeletonItem(d)); } + getPanel(name: string) { + const item = this[skeletonSymbol].getPanel(name); + if (!item) { + return; + } + + return new SkeletonItem(item); + } + /** * 显示面板 * @param name diff --git a/packages/shell/src/model/skeleton-item.ts b/packages/shell/src/model/skeleton-item.ts index cda8486ad..7f1224c0d 100644 --- a/packages/shell/src/model/skeleton-item.ts +++ b/packages/shell/src/model/skeleton-item.ts @@ -32,4 +32,8 @@ export class SkeletonItem implements IPublicModelSkeletonItem { show() { this[skeletonItemSymbol].show(); } + + toggle() { + this[skeletonItemSymbol].toggle(); + } } \ No newline at end of file diff --git a/packages/types/src/shell/api/skeleton.ts b/packages/types/src/shell/api/skeleton.ts index 13ba3468b..2ad561518 100644 --- a/packages/types/src/shell/api/skeleton.ts +++ b/packages/types/src/shell/api/skeleton.ts @@ -20,6 +20,13 @@ export interface IPublicApiSkeleton { */ remove(config: IPublicTypeSkeletonConfig): number | undefined; + /** + * 获取面板实例 + * @param name 面板名称 + * @since v1.1.10 + */ + getPanel(name: string): IPublicModelSkeletonItem | undefined; + /** * 展示指定 Panel 实例 * show panel by name diff --git a/packages/types/src/shell/model/skeleton-item.ts b/packages/types/src/shell/model/skeleton-item.ts index c505a677c..beb18f222 100644 --- a/packages/types/src/shell/model/skeleton-item.ts +++ b/packages/types/src/shell/model/skeleton-item.ts @@ -13,4 +13,9 @@ export interface IPublicModelSkeletonItem { hide(): void; show(): void; + + /** + * @since v1.1.10 + */ + toggle(): void; } \ No newline at end of file