dehub
Version:
Data&Event MessageHub.
95 lines (94 loc) • 2.26 kB
TypeScript
/**
* DEComp 模块
* 这是一个组件管理模块,负责组件的生命周期、状态管理和事件处理
* @module DEComp
*/
import { IDEComp, DERecord, DEEventFunction, Tag, ObjTag, DECompOption } from "./DETypes";
/**
* 组件类
* 实现了 IDEComp 接口,提供组件的状态管理和生命周期功能
*/
export default class DEComp<T extends DERecord> implements IDEComp<T> {
/**
* 构造函数
* @param tag 组件标签
* @param options 配置选项
* @param state 初始状态
*/
constructor(tag: Tag | ObjTag, options?: DECompOption, state?: T);
/**
* 获取组件存储
*/
private get compStore();
/**
* 设置组件存储
*/
private set compStore(value);
/**
* 获取状态变更事件处理函数列表
*/
private get onStateChangingHandler();
/**
* 获取就绪等待器列表
*/
private get onReadyWaiters();
/**
* 获取脏状态
*/
private get dirtyState();
/**
* 设置脏状态
*/
private set dirtyState(value);
/**
* 获取配置选项
*/
get options(): DECompOption;
/**
* 设置配置选项
*/
set options(options: DERecord);
/**
* 等待组件就绪
*/
waitReady: () => Promise<void>;
/**
* 设置组件就绪状态
* @param isReady 是否就绪
*/
setReady: (isReady: boolean) => Promise<void>;
/**
* 获取组件就绪状态
*/
get isReady(): boolean;
/**
* 设置组件就绪状态
*/
private set isReady(value);
/**
* 获取组件标签
*/
get tag(): Tag;
/**
* 获取组件状态
*/
get state(): T;
/**
* 注册状态变更事件处理函数
* @param callback 回调函数
*/
onStateChanging(callback: DEEventFunction): void;
/**
* 移除事件处理函数
* @param callback 要移除的函数
*/
removeHandler(callback: DEEventFunction): void;
/**
* 更新组件状态
* @param target 目标状态
* @param deep 是否深度更新
*/
update: (target: Partial<T>, deep?: boolean) => Promise<Partial<T>>;
[]: any;
}