UNPKG

watercolor-ui

Version:

A modern minimalist cross-framework component library

216 lines 5.69 kB
/** * 计算总页数 * @param {number} total - 总数据量 * @param {number} pageSize - 每页大小 * @returns {number} 总页数 */ export function calculateTotalPages(total: number, pageSize: number): number; /** * 验证当前页码 * @param {number} page - 当前页码 * @param {number} totalPages - 总页数 * @returns {number} 有效的页码 */ export function validateCurrentPage(page: number, totalPages: number): number; /** * 计算数据范围 * @param {number} currentPage - 当前页码 * @param {number} pageSize - 每页大小 * @param {number} total - 总数据量 * @returns {Object} 数据范围信息 */ export function calculateDataRange(currentPage: number, pageSize: number, total: number): Object; /** * 生成页码项数组 * @param {Object} options - 配置选项 * @returns {Array} 页码项数组 */ export function generatePageItems(options?: Object): any[]; /** * 生成 Pagination 组件的 CSS 类名 * @param {Object} options - 配置选项 * @returns {string} 生成的类名字符串 */ export function getPaginationClasses(options?: Object): string; /** * 格式化分页信息文本 * @param {Object} range - 数据范围 * @param {Object} options - 格式化选项 * @returns {string} 格式化后的文本 */ export function formatPaginationInfo(range: Object, options?: Object): string; export namespace sizes { let SM: string; let MD: string; let LG: string; let XL: string; } export namespace variants { let DEFAULT: string; let MINIMAL: string; let OUTLINED: string; let COMPACT: string; } export namespace colors { let PRIMARY: string; let SUCCESS: string; let WARNING: string; let ERROR: string; } export namespace shapes { let DEFAULT_1: string; export { DEFAULT_1 as DEFAULT }; export let ROUNDED: string; export let SQUARE: string; } /** * Pagination 控制器类 */ export class PaginationController { constructor(options?: {}); options: { total: number; pageSize: number; currentPage: number; siblingCount: number; boundaryCount: number; showFirstLast: boolean; showPrevNext: boolean; showInfo: boolean; showSizeChanger: boolean; pageSizeOptions: number[]; onChange: null; onPageSizeChange: null; }; state: { currentPage: number; pageSize: number; total: number; }; /** * 获取当前状态 * @returns {Object} 当前状态 */ getState(): Object; /** * 设置总数据量 * @param {number} total - 总数据量 */ setTotal(total: number): void; /** * 设置每页大小 * @param {number} pageSize - 每页大小 */ setPageSize(pageSize: number): void; /** * 设置当前页 * @param {number} page - 页码 */ setCurrentPage(page: number): void; /** * 跳转到首页 */ goToFirst(): void; /** * 跳转到末页 */ goToLast(): void; /** * 跳转到上一页 */ goToPrev(): void; /** * 跳转到下一页 */ goToNext(): void; /** * 获取总页数 * @returns {number} 总页数 */ getTotalPages(): number; /** * 获取数据范围 * @returns {Object} 数据范围 */ getDataRange(): Object; /** * 获取页码项 * @returns {Array} 页码项数组 */ getPageItems(): any[]; /** * 处理页码点击 * @param {Object} item - 页码项 */ handlePageClick(item: Object): void; /** * 重置到首页 */ reset(): void; /** * 更新配置 * @param {Object} newOptions - 新配置 */ updateOptions(newOptions: Object): void; } export namespace utils { /** * 创建分页控制器实例 * @param {Object} options - 配置选项 * @returns {PaginationController} 控制器实例 */ function createController(options?: Object): PaginationController; /** * 生成页面大小选项 * @param {Array} options - 选项数组 * @returns {Array} 格式化的选项 */ function generatePageSizeOptions(options?: any[]): any[]; /** * 计算分页偏移量 * @param {number} page - 页码 * @param {number} pageSize - 每页大小 * @returns {number} 偏移量 */ function calculateOffset(page: number, pageSize: number): number; /** * 从偏移量计算页码 * @param {number} offset - 偏移量 * @param {number} pageSize - 每页大小 * @returns {number} 页码 */ function calculatePageFromOffset(offset: number, pageSize: number): number; /** * 检测是否为移动设备 * @returns {boolean} 是否为移动设备 */ function isMobile(): boolean; /** * 获取适合移动设备的配置 * @param {Object} options - 原始配置 * @returns {Object} 移动端配置 */ function getMobileConfig(options?: Object): Object; /** * 调试信息 * @param {string} message - 消息 * @param {*} data - 数据 */ function debug(message: string, data: any): void; } declare namespace _default { export { PaginationController }; export { calculateTotalPages }; export { validateCurrentPage }; export { calculateDataRange }; export { generatePageItems }; export { getPaginationClasses }; export { formatPaginationInfo }; export { utils }; export { sizes }; export { variants }; export { colors }; export { shapes }; } export default _default; //# sourceMappingURL=utils.d.ts.map