@thingjs/xplugin-core
Version:
xplugin核心组件包,完成插件生命周期配置实现
82 lines (75 loc) • 3.49 kB
TypeScript
import BaseXPlugin from "../BaseXPlugin";
/**
* @extends BaseXPlugin
* @file 面板插件::生命周期定义
* @author 张光 <zhangguang@uino.com>
* @date 2022.08.08
* @copyright uino 2022
* @version Revision
* @description ThingJS-X 面板插件基类
* @description 面板插件是『 ThingJS-X 零代码平台 』的载入全生命周期插件;
* @class PanlePlugin
* @constructor
* @property readonly name 获取资源(插件)名称
* @property readonly viewName 资源UI名称
* @method onInited::面板插件初始化完成后载入
* @method onActivate::面板插件被激活完成后
* @method onDeactivate::面板插件切换取消激活完成后载入
* @method onLevelChange::层级切换完成后载入
* @method setCategory::设置面板分类,默认孪生体面板. a.孪生体面板(xtwin) b.业务面板(xbusiness)
*/
declare class PanelPlugin extends BaseXPlugin{
/**
* @class PanlePlugin
* @constructor
* @param VueComponent 插件UI实例
* @param name 插件名称
*/
constructor(VueComponent: Object,name: string);
/**
* UI 注册名称
*/
readonly viewName:string;
/**
* @description 面板初始化完成载入(面板UI渲染完成)
* @param xhost 分类对象(宿主对象),xtwin:孪生体对象实例、xbusiness:业务面板实例对象
* @param widget 面板关联 VUE组件实例
* widget.$xHide(); //x组件扩展内置方法,用于对该组件UI的隐藏
* widget.$xShow(); //x组件扩展内置方法,用于对该组件UI的显示
*/
onInited(xhost: Object,widget: Object);
/**
* @description 面板被激活完成后载入
* @param xhost 分类对象(宿主对象)
* @param widget 面板关联 VUE组件实例
* widget.$xHide(); //x组件扩展内置方法,用于对该组件UI的隐藏
* widget.$xShow(); //x组件扩展内置方法,用于对该组件UI的显示
* @returns boolean | Promise<boolean>
*/
onActivate(xhost: Object,widget: Object):boolean | Promise<boolean>;
/**
* @description 孪生体面板被取消激活完成后载入
* @param xhost 分类对象(宿主对象),xtwin:孪生体对象实例、xbusiness:面板实例对象
* @param widget 面板关联 VUE组件实例
* widget.$xHide(); //x组件扩展内置方法,用于对该组件UI的隐藏
* widget.$xShow(); //x组件扩展内置方法,用于对该组件UI的显示
* @returns boolean | Promise<boolean>
*/
onDeactivate(xhost: Object,widget: Object):boolean | Promise<boolean>;
// /**
// * @description 层级切换完成后载入(如果面板已渲染显示,未失去焦点仍然保持显示)
// * @param current 当前层级实例
// * @param previous 上一层级实例
// * @param xhost 分类对象(宿主对象),xtwin:孪生体对象实例、xbusiness:面板实例对象
// * @param widget 面板关联 VUE组件实例
// * widget.$xHide(); //x组件扩展内置方法,用于对该组件UI的隐藏
// * widget.$xShow(); //x组件扩展内置方法,用于对该组件UI的显示
// */
// onLevelChange(current: any, previous: any, xhost: Object,widget: Object);
/**
* @description
* @param xcategory 分类 xtwin、xbusiness
*/
setXHostCategory(xcategory:string):void;
}
export default PanelPlugin;