@ticatec/app-data-manager
Version:
A comprehensive TypeScript library providing hierarchical data manager classes for CRUD operations, pagination, and data management in frontend applications. Features include full list, paged, and stackable data managers with built-in caching and transfor
85 lines (84 loc) • 2.51 kB
TypeScript
/**
* 分页数据管理器接口
* 定义分页数据管理操作的契约,提供标准分页功能的完整接口
*
* @interface IPagedDataManager
*
*/
export default interface IPagedDataManager {
/**
* 获取当前页的数据列表(只读)
* @readonly
* @returns {Array<any>} 当前页面的数据数组
*/
get list(): Array<any>;
/**
* 获取记录总数
* @readonly
* @returns {number} 符合查询条件的记录总数
*/
get count(): number;
/**
* 获取当前页码(从1开始)
* @readonly
* @returns {number} 当前页码
*/
get pageNo(): number;
/**
* 获取总页数
* @readonly
* @returns {number} 基于记录总数和每页行数计算的总页数
*/
get pageCount(): number;
/**
* 获取当前查询条件
* @readonly
* @returns {any} 当前使用的查询条件对象
*/
get criteria(): any;
/**
* 刷新当前页数据
* 使用当前的查询条件和页码重新加载数据
*
* @returns {Promise<void>} 异步操作的Promise
* @throws {Error} 当网络请求失败或数据格式错误时抛出异常
*/
refresh(): Promise<void>;
/**
* 重置搜索条件为默认值
* 将查询条件重置为初始化时的默认条件(通常来自options.tagData)
*
* @returns {any} 重置后的默认查询条件
*/
resetCriteria(): any;
/**
* 重置为默认条件并重新搜索
* 相当于调用resetCriteria()后再调用search()
*
* @returns {Promise<void>} 异步操作的Promise
*/
resetSearch(): Promise<void>;
/**
* 使用新的查询条件进行搜索
* 会自动将页码重置为第1页,然后执行搜索
*
* @param {any} params - 查询条件对象,包含搜索参数
* @returns {Promise<void>} 异步操作的Promise
*/
search(params: any): Promise<void>;
/**
* 设置每页显示的行数
* 修改分页大小后会自动重新加载当前页数据
*
* @param {number} rows - 每页行数,必须大于0
* @returns {Promise<void>} 异步操作的Promise
*/
setRowsPage(rows: number): Promise<void>;
/**
* 导航到指定页码
*
* @param {number} value - 目标页码(从1开始),必须在有效范围内
* @returns {Promise<void>} 异步操作的Promise
*/
setPageNo(value: number): Promise<void>;
}