import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnInit, Renderer2, TemplateRef } from '@angular/core'; import { CanDisable, CanSize, MixinElementRefBase, ThemePalette, ThemeSize } from '@ngx-simple/core/common-behaviors'; import { SafeAny } from '@ngx-simple/core/types'; import { SimPaginatorIntl } from './paginator-intl'; /** * 更改事件对象,当用户选择不同的每页条数或当前页数时,该对象将被释放。 */ export declare class SimPageEvent { /** 当前页数 */ pageIndex: number; /** 上一次选择的页数 */ previousPageIndex?: number; /** 每页条数 */ pageSize: number; /** 当前被分页的项的总数 */ pageTotal: number; } declare const enum PageItemType { First = "first", Prev = "prev", Prev_5 = "prev_5", Page = "page", Next_5 = "next_5", Next = "next", Last = "last" } interface PageItem { title: string; type: PageItemType; index?: number; text: string; disabled?: boolean; } /** 可用于配置分页器模块的默认选项 */ export interface SimPaginatorDefaultOptions { /** 每页条数。默认设置为10 */ pageSize?: number; /** 提供给用户显示的一组每页条数选项 */ pageSizeOptions?: number[]; /** 是否对用户隐藏每页条数选择UI */ hidePageSize?: boolean; /** 是否对用户隐藏输入快速跳转页数UI */ hideJumperPage?: boolean; /** 是否向用户显示第一个/最后一个按钮的UI */ showFirstLastButtons?: boolean; } /** 注入令牌,可用于为分页器模块提供默认选项 */ export declare const SIM_PAGINATOR_DEFAULT_OPTIONS: InjectionToken; declare const _SimPaginatorBase: import("../../../dist/libs/core/common-behaviors/constructor").Constructor & import("../../../dist/libs/core/common-behaviors/constructor").Constructor & import("../../../dist/libs/core/common-behaviors/constructor").Constructor & typeof MixinElementRefBase; export declare class SimPaginatorComponent extends _SimPaginatorBase implements OnInit, CanDisable, CanSize { private _intl; private _changeDetectorRef; color: ThemePalette; disabled: boolean; size: ThemeSize; /** * 显示当前页数 * @default 1 */ get pageIndex(): number; set pageIndex(value: number); /** * 一页显示的条数 * @default 10 */ get pageSize(): number; set pageSize(value: number); /** 分页的总数 */ get pageTotal(): number; set pageTotal(value: number); /** * 每页条数选择配置 * @default [10, 20, 30, 40, 50] */ pageSizeOptions: number[]; /** * 是否隐藏每页条数选择。 * @default true */ hidePageSize: boolean; /** * 是否隐藏快速跳转页数。 * @default true */ hideJumperPage: boolean; /** * 是否显示第一个/最后一个按钮。 * @default false */ showFirstLastButtons: boolean; /** 当分页器更改每页条数或当前页数时发出的事件。 */ readonly pageChange: EventEmitter; simPaginatorTotal: TemplateRef; simPaginatorItem: TemplateRef; /** 当前分页的区间 */ ranges: number[]; /** 分页按钮列表 */ pages: PageItem[]; _displayedPageSizeOptions: number[]; _rangeLabel: string; /** 第一页索引 */ private readonly _firstIndex; private _lastIndex; private _initialized; private _pageIndex; private _pageSize; private _pageTotal; constructor(elementRef: ElementRef, renderer: Renderer2, _intl: SimPaginatorIntl, _changeDetectorRef: ChangeDetectorRef, defaults?: SimPaginatorDefaultOptions); ngOnInit(): void; _trackByPageItem(_: number, value: PageItem): string; _onPageIndexChange(page: PageItem): void; _onPageSizeChange(pageSize: number): void; _handleKeyDown(event: KeyboardEvent, input: HTMLInputElement): void; private _updateDisplayedPageSizeOptions; private _goToPage; private _buildIndexes; private _getLastIndex; private _getListOfPageItem; /** 验证当前索引是否越界 */ private _validatePageIndex; /** 获取当前页面的区间 */ private _getRange; /** 发出一个事件,通知已触发paginator属性的更改。 */ private _emitPageEvent; } export {};