fineui是帆软报表和BI产品线所使用的前端框架。
 
 
 

327 lines
5.8 KiB

import { _OB } from "./ob";
export interface _WidgetStatic {
/**
* 注册渲染引擎
* @param engine 引擎
*/
registerRenderEngine(engine: RenderEngine): void;
}
export interface _Widget extends _OB {
/**
* 出现loading的锁
*/
__asking: boolean;
/**
* 同步锁
*/
__async: boolean;
/**
* widget类标识符
*/
widgetName: string | null;
/**
* 是否为根节点
*/
_isRoot: boolean;
/**
* 父节点
*/
_parent: _Widget | null;
/**
* 真实dom的类jQuery对象
*/
element: {
width(): number;
height(): number;
[key: string]: any;
};
/**
* 子元素
*/
_children: {
[key: string]: _Widget;
};
/**
* 是否已挂载
*/
_isMounted: boolean;
/**
* 手动设置enable
*/
_manualSetEnable: boolean;
/**
* 手动设置valid
*/
_manualSetValid: boolean;
/**
* 渲染引擎
*/
_renderEngine: RenderEngine;
_store(): void;
/**
* 初始化前
*/
beforeInit?(cb: Function): void;
/**
* 创建前
*/
beforeCreate?(): void;
/**
* 创建
*/
created?(): void;
/**
* 渲染
*/
render?(): any;
/**
* 挂载前
*/
beforeMount?(): void;
/**
* 挂载
*/
mounted?(): void;
/**
* 更新前
*/
shouldUpdate?(): void;
/**
* 更新
*/
update?(...args: any[]): void;
/**
* 销毁前
*/
beforeDestroy?(): void;
/**
* 销毁
*/
destroyed?(): void;
/**
* 初始化render函数
*/
_initRender: () => void;
/**
* 内部主render函数
*/
_render: () => void;
/**
* 初始化根节点
*/
_initRoot: () => void;
/**
* 初始化元素宽度
*/
_initElementWidth: () => void;
/**
* 初始化元素高度
*/
_initElementHeight: () => void;
/**
* 初始化元素可见
*/
_initVisual: () => void;
/**
* 初始化元素可用不可用
*/
_initEffects: () => void;
/**
* 设置mounted锁
*/
_initState: () => void;
/**
* 生成真实dom
*/
_initElement: () => void;
/**
* 设置父节点
*/
_setParent: () => void;
/**
* @param force 是否强制挂载子节点
* @param deep 子节点是否也是按照当前force处理
* @param lifeHook 生命周期钩子触不触发,默认触发
* @param predicate 递归每个widget的回调
*/
_mount(force?: boolean, deep?: boolean, lifeHook?: boolean, predicate?: Function): boolean;
/**
* 挂载子节点
*/
_mountChildren?(): void;
/**
* 是否已挂载
*/
isMounted(): boolean;
/**
* 设置宽度
*/
setWidth(w: number): void;
/**
* 设置高度
*/
setHeight(h: number): void;
/**
* 设置可用
*/
_setEnable(enable: boolean): void;
/**
* 设置合法
*/
_setValid(valid: boolean): void;
/**
* 设置可见
*/
_setVisible(visible: boolean): void;
/**
* 设置是否可用
*/
setEnable(enable: boolean): void;
/**
* 设置是否可见
*/
setVisible(visible: boolean): void;
/**
* 设置是否合法
*/
setValid(valid: boolean): void;
/**
* 设置反馈效果
* @param args arguments参数
*/
doBehavior(...args: any[]): void;
/**
* 获取宽度
*/
getWidth(): number;
/**
* 获取高度
*/
getHeight(): number;
/**
* 是否合法
*/
isValid(): boolean;
/**
* 新增子元素
*/
addWidget(_name: any, _widget: _Widget): _Widget;
/**
* 根据wigetname获取子元素实例
*/
getWidgetByName(_name: string): _Widget | undefined;
/**
* 移除子元素
* @param nameOrWidget widgetName或widget实例
*/
removeWidget(nameOrWidget: string | _Widget): void;
/**
* 是否有某个子元素
*/
hasWidget(name: string): boolean;
/**
* 获取widgetName
*/
getName(): string;
/**
* 设置tag
* @param tag html tag
*/
setTag(tag: string): void;
/**
* 获取tag
*/
getTag(): string;
/**
* 设置属性
* @param key 键
* @param value 值
*/
attr(key: string | {
[key: string]: any;
}, value?: any): any;
/**
* 获取text
*/
getText(): string;
/**
* 设置text
*/
setText(text: string): void;
/**
* 获取值
*/
getValue(): any;
/**
* 设置值
*/
setValue(...args: any[]): void;
/**
* 获取是否enable
*/
isEnabled(): boolean;
/**
* 是否可见
*/
isVisible(): boolean;
/**
* disable元素
*/
disable(): void;
/**
* enable元素
*/
enable(): void;
/**
* 是widget合法
*/
valid(): void;
/**
* 使元素不合法
*/
invalid(): void;
/**
* 使不可见
*/
invisible(..._args: any[]): void;
/**
* 可见
*/
visible(..._args: any[]): void;
/**
* 清除子元素
*/
__d(): void;
/**
* 取消挂载
*/
_unMount(): void;
/**
* hang元素
*/
isolate(): void;
/**
* 请除元素
*/
empty(): void;
/**
* 内部destory方法
*/
_destroy(): void;
/**
* destory元素
*/
destroy(): void;
}
interface RenderEngine {
/**
* 创建元素方法,返回的类jQuery对象
* @param widget widget对象
*/
createElement: (widget: any) => any;
/**
* 创建DocumentFragment对象
*/
createFragment: () => DocumentFragment;
}
export {};