UNPKG

@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
/** * 分页数据管理器接口 * 定义分页数据管理操作的契约,提供标准分页功能的完整接口 * * @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>; }