mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-11 18:42:56 +00:00
feat(skeleton): add onDisableWidget & onEnableWidget APIs
This commit is contained in:
parent
4a502f823c
commit
e79f68611a
@ -387,7 +387,7 @@ export default controlPanelWidthPlugin;
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onShowPanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onShowPanel(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
```
|
```
|
||||||
|
|
||||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
@ -403,11 +403,38 @@ onShowPanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onHidePanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onHidePanel(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
```
|
```
|
||||||
|
|
||||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
|
|
||||||
|
### onDisableWidget
|
||||||
|
|
||||||
|
监听 Widget 实例 Disable 事件
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
/**
|
||||||
|
* 监听 Widget 实例 Disable 事件
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
onDisableWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
```
|
||||||
|
|
||||||
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
|
|
||||||
|
### onEnableWidget
|
||||||
|
|
||||||
|
监听 Widget 实例 Enable 事件
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
/**
|
||||||
|
* 监听 Widget 实例 Enable 事件
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
onEnableWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
```
|
||||||
|
|
||||||
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
|
|
||||||
### onShowWidget
|
### onShowWidget
|
||||||
|
|
||||||
@ -420,7 +447,7 @@ onHidePanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onShowWidget(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onShowWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
```
|
```
|
||||||
|
|
||||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
@ -436,7 +463,7 @@ onShowWidget(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onHideWidget(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onHideWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
```
|
```
|
||||||
|
|
||||||
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
相关类型:[IPublicTypeDisposable](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/type/disposable.ts)
|
||||||
|
|||||||
@ -154,16 +154,30 @@ export class Skeleton implements IPublicApiSkeleton {
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onShowPanel(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
onShowPanel(listener: (paneName: string, panel: IPublicModelSkeletonItem) => void): IPublicTypeDisposable {
|
||||||
const { editor } = this[skeletonSymbol];
|
const { editor } = this[skeletonSymbol];
|
||||||
editor.eventBus.on(SkeletonEvents.PANEL_SHOW, (name: any, panel: any) => {
|
editor.eventBus.on(SkeletonEvents.PANEL_SHOW, (name: any, panel: any) => {
|
||||||
// 不泄漏 skeleton
|
listener(name, new SkeletonItem(panel));
|
||||||
const { skeleton, ...restPanel } = panel;
|
|
||||||
listener(name, restPanel);
|
|
||||||
});
|
});
|
||||||
return () => editor.eventBus.off(SkeletonEvents.PANEL_SHOW, listener);
|
return () => editor.eventBus.off(SkeletonEvents.PANEL_SHOW, listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onDisableWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||||
|
const { editor } = this[skeletonSymbol];
|
||||||
|
editor.eventBus.on(SkeletonEvents.WIDGET_DISABLE, (name: any, panel: any) => {
|
||||||
|
listener(name, new SkeletonItem(panel));
|
||||||
|
});
|
||||||
|
return () => editor.eventBus.off(SkeletonEvents.WIDGET_DISABLE, listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
onEnableWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||||
|
const { editor } = this[skeletonSymbol];
|
||||||
|
editor.eventBus.on(SkeletonEvents.WIDGET_ENABLE, (name: any, panel: any) => {
|
||||||
|
listener(name, new SkeletonItem(panel));
|
||||||
|
});
|
||||||
|
return () => editor.eventBus.off(SkeletonEvents.WIDGET_ENABLE, listener);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监听 panel 隐藏事件
|
* 监听 panel 隐藏事件
|
||||||
* @param listener
|
* @param listener
|
||||||
@ -172,9 +186,7 @@ export class Skeleton implements IPublicApiSkeleton {
|
|||||||
onHidePanel(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
onHidePanel(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||||
const { editor } = this[skeletonSymbol];
|
const { editor } = this[skeletonSymbol];
|
||||||
editor.eventBus.on(SkeletonEvents.PANEL_HIDE, (name: any, panel: any) => {
|
editor.eventBus.on(SkeletonEvents.PANEL_HIDE, (name: any, panel: any) => {
|
||||||
// 不泄漏 skeleton
|
listener(name, new SkeletonItem(panel));
|
||||||
const { skeleton, ...restPanel } = panel;
|
|
||||||
listener(name, restPanel);
|
|
||||||
});
|
});
|
||||||
return () => editor.eventBus.off(SkeletonEvents.PANEL_HIDE, listener);
|
return () => editor.eventBus.off(SkeletonEvents.PANEL_HIDE, listener);
|
||||||
}
|
}
|
||||||
@ -187,9 +199,7 @@ export class Skeleton implements IPublicApiSkeleton {
|
|||||||
onShowWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
onShowWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||||
const { editor } = this[skeletonSymbol];
|
const { editor } = this[skeletonSymbol];
|
||||||
editor.eventBus.on(SkeletonEvents.WIDGET_SHOW, (name: any, panel: any) => {
|
editor.eventBus.on(SkeletonEvents.WIDGET_SHOW, (name: any, panel: any) => {
|
||||||
// 不泄漏 skeleton
|
listener(name, new SkeletonItem(panel));
|
||||||
const { skeleton, ...rest } = panel;
|
|
||||||
listener(name, rest);
|
|
||||||
});
|
});
|
||||||
return () => editor.eventBus.off(SkeletonEvents.WIDGET_SHOW, listener);
|
return () => editor.eventBus.off(SkeletonEvents.WIDGET_SHOW, listener);
|
||||||
}
|
}
|
||||||
@ -202,9 +212,7 @@ export class Skeleton implements IPublicApiSkeleton {
|
|||||||
onHideWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
onHideWidget(listener: (...args: any[]) => void): IPublicTypeDisposable {
|
||||||
const { editor } = this[skeletonSymbol];
|
const { editor } = this[skeletonSymbol];
|
||||||
editor.eventBus.on(SkeletonEvents.WIDGET_HIDE, (name: any, panel: any) => {
|
editor.eventBus.on(SkeletonEvents.WIDGET_HIDE, (name: any, panel: any) => {
|
||||||
// 不泄漏 skeleton
|
listener(name, new SkeletonItem(panel));
|
||||||
const { skeleton, ...rest } = panel;
|
|
||||||
listener(name, rest);
|
|
||||||
});
|
});
|
||||||
return () => editor.eventBus.off(SkeletonEvents.WIDGET_HIDE, listener);
|
return () => editor.eventBus.off(SkeletonEvents.WIDGET_HIDE, listener);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,7 +95,7 @@ export interface IPublicApiSkeleton {
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onShowPanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onShowPanel(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监听 Panel 实例隐藏事件
|
* 监听 Panel 实例隐藏事件
|
||||||
@ -103,7 +103,19 @@ export interface IPublicApiSkeleton {
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onHidePanel(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onHidePanel(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听 Widget 实例 Disable 事件
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
onDisableWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听 Widget 实例 Enable 事件
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
onEnableWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监听 Widget 显示事件
|
* 监听 Widget 显示事件
|
||||||
@ -111,7 +123,7 @@ export interface IPublicApiSkeleton {
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onShowWidget(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onShowWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监听 Widget 隐藏事件
|
* 监听 Widget 隐藏事件
|
||||||
@ -119,7 +131,7 @@ export interface IPublicApiSkeleton {
|
|||||||
* @param listener
|
* @param listener
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
onHideWidget(listener: (...args: any[]) => void): IPublicTypeDisposable;
|
onHideWidget(listener: (paneName?: string, panel?: IPublicModelSkeletonItem) => void): IPublicTypeDisposable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册一个面板的配置转换器(transducer)。
|
* 注册一个面板的配置转换器(transducer)。
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user