ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 46.3 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-pagination.mjs","sources":["../../components/pagination/pagination-item.component.ts","../../components/pagination/pagination-simple.component.ts","../../components/pagination/pagination-options.component.ts","../../components/pagination/pagination-default.component.ts","../../components/pagination/pagination.component.ts","../../components/pagination/pagination.module.ts","../../components/pagination/public-api.ts","../../components/pagination/ng-zorro-antd-pagination.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\nimport { PaginationItemRenderContext, PaginationItemType } from './pagination.types';\n\n@Component({\n selector: 'li[nz-pagination-item]',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-template #renderItemTemplate let-type let-page=\"page\">\n <ng-container [ngSwitch]=\"type\">\n <a *ngSwitchCase=\"'page'\">{{ page }}</a>\n <button type=\"button\" [disabled]=\"disabled\" class=\"ant-pagination-item-link\" *ngSwitchCase=\"'prev'\">\n <ng-container [ngSwitch]=\"direction\">\n <i *ngSwitchCase=\"'rtl'\" nz-icon nzType=\"right\"></i>\n <i *ngSwitchDefault nz-icon nzType=\"left\"></i>\n </ng-container>\n </button>\n <button type=\"button\" [disabled]=\"disabled\" class=\"ant-pagination-item-link\" *ngSwitchCase=\"'next'\">\n <ng-container [ngSwitch]=\"direction\">\n <i *ngSwitchCase=\"'rtl'\" nz-icon nzType=\"left\"></i>\n <i *ngSwitchDefault nz-icon nzType=\"right\"></i>\n </ng-container>\n </button>\n <ng-container *ngSwitchDefault>\n <a class=\"ant-pagination-item-link\" [ngSwitch]=\"type\">\n <div class=\"ant-pagination-item-container\" *ngSwitchDefault>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'prev_5'\" [ngSwitch]=\"direction\">\n <i *ngSwitchCase=\"'rtl'\" nz-icon nzType=\"double-right\" class=\"ant-pagination-item-link-icon\"></i>\n <i *ngSwitchDefault nz-icon nzType=\"double-left\" class=\"ant-pagination-item-link-icon\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'next_5'\" [ngSwitch]=\"direction\">\n <i *ngSwitchCase=\"'rtl'\" nz-icon nzType=\"double-left\" class=\"ant-pagination-item-link-icon\"></i>\n <i *ngSwitchDefault nz-icon nzType=\"double-right\" class=\"ant-pagination-item-link-icon\"></i>\n </ng-container>\n </ng-container>\n <span class=\"ant-pagination-item-ellipsis\">•••</span>\n </div>\n </a>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"itemRender || renderItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: type, page: index }\"\n ></ng-template>\n `,\n host: {\n '[class.ant-pagination-prev]': `type === 'prev'`,\n '[class.ant-pagination-next]': `type === 'next'`,\n '[class.ant-pagination-item]': `type === 'page'`,\n '[class.ant-pagination-jump-prev]': `type === 'prev_5'`,\n '[class.ant-pagination-jump-prev-custom-icon]': `type === 'prev_5'`,\n '[class.ant-pagination-jump-next]': `type === 'next_5'`,\n '[class.ant-pagination-jump-next-custom-icon]': `type === 'next_5'`,\n '[class.ant-pagination-disabled]': 'disabled',\n '[class.ant-pagination-item-active]': 'active',\n '[attr.title]': 'title',\n '(click)': 'clickItem()'\n }\n})\nexport class NzPaginationItemComponent implements OnChanges {\n static ngAcceptInputType_type: PaginationItemType | string | null | undefined;\n static ngAcceptInputType_index: number | null | undefined;\n\n @Input() active = false;\n @Input() locale!: NzPaginationI18nInterface;\n @Input() index: number | null = null;\n @Input() disabled = false;\n @Input() direction = 'ltr';\n @Input() type: PaginationItemType | string | null = null;\n @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n @Output() readonly diffIndex = new EventEmitter<number>();\n @Output() readonly gotoIndex = new EventEmitter<number>();\n title: string | null = null;\n\n clickItem(): void {\n if (!this.disabled) {\n if (this.type === 'page') {\n this.gotoIndex.emit(this.index!);\n } else {\n this.diffIndex.emit(\n (\n {\n next: 1,\n prev: -1,\n prev_5: -5,\n next_5: 5\n } as NzSafeAny\n )[this.type!]\n );\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { locale, index, type } = changes;\n if (locale || index || type) {\n this.title = (\n {\n page: `${this.index}`,\n next: this.locale?.next_page,\n prev: this.locale?.prev_page,\n prev_5: this.locale?.prev_5,\n next_5: this.locale?.next_5\n } as NzSafeAny\n )[this.type!];\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { toNumber } from 'ng-zorro-antd/core/util';\nimport { NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport { PaginationItemRenderContext } from './pagination.types';\n\n@Component({\n selector: 'nz-pagination-simple',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-template #containerTemplate>\n <li\n nz-pagination-item\n [attr.title]=\"locale.prev_page\"\n [disabled]=\"isFirstIndex\"\n [direction]=\"dir\"\n (click)=\"prePage()\"\n type=\"prev\"\n [itemRender]=\"itemRender\"\n ></li>\n <li [attr.title]=\"pageIndex + '/' + lastIndex\" class=\"ant-pagination-simple-pager\">\n <input [disabled]=\"disabled\" [value]=\"pageIndex\" (keydown.enter)=\"jumpToPageViaInput($event)\" size=\"3\" />\n <span class=\"ant-pagination-slash\">/</span>\n {{ lastIndex }}\n </li>\n <li\n nz-pagination-item\n [attr.title]=\"locale?.next_page\"\n [disabled]=\"isLastIndex\"\n [direction]=\"dir\"\n (click)=\"nextPage()\"\n type=\"next\"\n [itemRender]=\"itemRender\"\n ></li>\n </ng-template>\n `\n})\nexport class NzPaginationSimpleComponent implements OnChanges, OnDestroy, OnInit {\n @ViewChild('containerTemplate', { static: true }) template!: TemplateRef<NzSafeAny>;\n @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n @Input() disabled = false;\n @Input() locale!: NzPaginationI18nInterface;\n @Input() total = 0;\n @Input() pageIndex = 1;\n @Input() pageSize = 10;\n @Output() readonly pageIndexChange = new EventEmitter<number>();\n lastIndex = 0;\n isFirstIndex = false;\n isLastIndex = false;\n\n dir: Direction = 'ltr';\n private destroy$ = new Subject<void>();\n\n constructor(\n private cdr: ChangeDetectorRef,\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Optional() private directionality: Directionality\n ) {\n renderer.removeChild(renderer.parentNode(elementRef.nativeElement), elementRef.nativeElement);\n }\n ngOnInit(): void {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.updateRtlStyle();\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n this.updateRtlStyle();\n }\n\n private updateRtlStyle(): void {\n if (this.dir === 'rtl') {\n this.renderer.addClass(this.elementRef.nativeElement, 'ant-pagination-rtl');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'ant-pagination-rtl');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n jumpToPageViaInput($event: Event): void {\n const target = $event.target as HTMLInputElement;\n const index = toNumber(target.value, this.pageIndex);\n this.onPageIndexChange(index);\n target.value = `${this.pageIndex}`;\n }\n\n prePage(): void {\n this.onPageIndexChange(this.pageIndex - 1);\n }\n nextPage(): void {\n this.onPageIndexChange(this.pageIndex + 1);\n }\n\n onPageIndexChange(index: number): void {\n this.pageIndexChange.next(index);\n }\n\n updateBindingValue(): void {\n this.lastIndex = Math.ceil(this.total / this.pageSize);\n this.isFirstIndex = this.pageIndex === 1;\n this.isLastIndex = this.pageIndex === this.lastIndex;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { pageIndex, total, pageSize } = changes;\n if (pageIndex || total || pageSize) {\n this.updateBindingValue();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { toNumber } from 'ng-zorro-antd/core/util';\nimport { NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\n\n@Component({\n selector: 'div[nz-pagination-options]',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <nz-select\n class=\"ant-pagination-options-size-changer\"\n *ngIf=\"showSizeChanger\"\n [nzDisabled]=\"disabled\"\n [nzSize]=\"nzSize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"onPageSizeChange($event)\"\n >\n <nz-option\n *ngFor=\"let option of listOfPageSizeOption; trackBy: trackByOption\"\n [nzLabel]=\"option.label\"\n [nzValue]=\"option.value\"\n ></nz-option>\n </nz-select>\n <div class=\"ant-pagination-options-quick-jumper\" *ngIf=\"showQuickJumper\">\n {{ locale.jump_to }}\n <input [disabled]=\"disabled\" (keydown.enter)=\"jumpToPageViaInput($event)\" />\n {{ locale.page }}\n </div>\n `,\n host: { class: 'ant-pagination-options' }\n})\nexport class NzPaginationOptionsComponent implements OnChanges {\n @Input() nzSize: 'default' | 'small' = 'default';\n @Input() disabled = false;\n @Input() showSizeChanger = false;\n @Input() showQuickJumper = false;\n @Input() locale!: NzPaginationI18nInterface;\n @Input() total = 0;\n @Input() pageIndex = 1;\n @Input() pageSize = 10;\n @Input() pageSizeOptions: number[] = [];\n @Output() readonly pageIndexChange = new EventEmitter<number>();\n @Output() readonly pageSizeChange = new EventEmitter<number>();\n listOfPageSizeOption: Array<{ value: number; label: string }> = [];\n\n constructor() {}\n\n onPageSizeChange(size: number): void {\n if (this.pageSize !== size) {\n this.pageSizeChange.next(size);\n }\n }\n\n jumpToPageViaInput($event: Event): void {\n const target = $event.target as HTMLInputElement;\n const index = Math.floor(toNumber(target.value, this.pageIndex));\n this.pageIndexChange.next(index);\n target.value = '';\n }\n\n trackByOption(_: number, option: { value: number; label: string }): number {\n return option.value;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { pageSize, pageSizeOptions, locale } = changes;\n if (pageSize || pageSizeOptions || locale) {\n this.listOfPageSizeOption = [...new Set([...this.pageSizeOptions, this.pageSize])].map(item => ({\n value: item,\n label: `${item} ${this.locale.items_per_page}`\n }));\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport { NzPaginationItemComponent } from './pagination-item.component';\nimport { PaginationItemRenderContext } from './pagination.types';\n\n@Component({\n selector: 'nz-pagination-default',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-template #containerTemplate>\n <li class=\"ant-pagination-total-text\" *ngIf=\"showTotal\">\n <ng-template\n [ngTemplateOutlet]=\"showTotal\"\n [ngTemplateOutletContext]=\"{ $implicit: total, range: ranges }\"\n ></ng-template>\n </li>\n <li\n *ngFor=\"let page of listOfPageItem; trackBy: trackByPageItem\"\n nz-pagination-item\n [locale]=\"locale\"\n [type]=\"page.type\"\n [index]=\"page.index\"\n [disabled]=\"!!page.disabled\"\n [itemRender]=\"itemRender\"\n [active]=\"pageIndex === page.index\"\n (gotoIndex)=\"jumpPage($event)\"\n (diffIndex)=\"jumpDiff($event)\"\n [direction]=\"dir\"\n ></li>\n <div\n nz-pagination-options\n *ngIf=\"showQuickJumper || showSizeChanger\"\n [total]=\"total\"\n [locale]=\"locale\"\n [disabled]=\"disabled\"\n [nzSize]=\"nzSize\"\n [showSizeChanger]=\"showSizeChanger\"\n [showQuickJumper]=\"showQuickJumper\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (pageIndexChange)=\"onPageIndexChange($event)\"\n (pageSizeChange)=\"onPageSizeChange($event)\"\n ></div>\n </ng-template>\n `\n})\nexport class NzPaginationDefaultComponent implements OnChanges, OnDestroy, OnInit {\n @ViewChild('containerTemplate', { static: true }) template!: TemplateRef<NzSafeAny>;\n @Input() nzSize: 'default' | 'small' = 'default';\n @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n @Input() showTotal: TemplateRef<{ $implicit: number; range: [number, number] }> | null = null;\n @Input() disabled = false;\n @Input() locale!: NzPaginationI18nInterface;\n @Input() showSizeChanger = false;\n @Input() showQuickJumper = false;\n @Input() total = 0;\n @Input() pageIndex = 1;\n @Input() pageSize = 10;\n @Input() pageSizeOptions: number[] = [10, 20, 30, 40];\n @Output() readonly pageIndexChange = new EventEmitter<number>();\n @Output() readonly pageSizeChange = new EventEmitter<number>();\n ranges = [0, 0];\n listOfPageItem: Array<Partial<NzPaginationItemComponent>> = [];\n\n dir: Direction = 'ltr';\n private destroy$ = new Subject<void>();\n\n constructor(\n private cdr: ChangeDetectorRef,\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Optional() private directionality: Directionality\n ) {\n renderer.removeChild(renderer.parentNode(elementRef.nativeElement), elementRef.nativeElement);\n }\n ngOnInit(): void {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.updateRtlStyle();\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n this.updateRtlStyle();\n }\n\n private updateRtlStyle(): void {\n if (this.dir === 'rtl') {\n this.renderer.addClass(this.elementRef.nativeElement, 'ant-pagination-rtl');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'ant-pagination-rtl');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n jumpPage(index: number): void {\n this.onPageIndexChange(index);\n }\n\n jumpDiff(diff: number): void {\n this.jumpPage(this.pageIndex + diff);\n }\n\n trackByPageItem(_: number, value: Partial<NzPaginationItemComponent>): string {\n return `${value.type}-${value.index}`;\n }\n\n onPageIndexChange(index: number): void {\n this.pageIndexChange.next(index);\n }\n\n onPageSizeChange(size: number): void {\n this.pageSizeChange.next(size);\n }\n\n getLastIndex(total: number, pageSize: number): number {\n return Math.ceil(total / pageSize);\n }\n\n buildIndexes(): void {\n const lastIndex = this.getLastIndex(this.total, this.pageSize);\n this.listOfPageItem = this.getListOfPageItem(this.pageIndex, lastIndex);\n }\n\n getListOfPageItem(pageIndex: number, lastIndex: number): Array<Partial<NzPaginationItemComponent>> {\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const concatWithPrevNext = (listOfPage: Array<Partial<NzPaginationItemComponent>>) => {\n const prevItem = {\n type: 'prev',\n disabled: pageIndex === 1\n };\n const nextItem = {\n type: 'next',\n disabled: pageIndex === lastIndex\n };\n return [prevItem, ...listOfPage, nextItem];\n };\n const generatePage = (start: number, end: number): Array<Partial<NzPaginationItemComponent>> => {\n const list = [];\n for (let i = start; i <= end; i++) {\n list.push({\n index: i,\n type: 'page'\n });\n }\n return list;\n };\n if (lastIndex <= 9) {\n return concatWithPrevNext(generatePage(1, lastIndex));\n } else {\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const generateRangeItem = (selected: number, last: number) => {\n let listOfRange = [];\n const prevFiveItem = {\n type: 'prev_5'\n };\n const nextFiveItem = {\n type: 'next_5'\n };\n const firstPageItem = generatePage(1, 1);\n const lastPageItem = generatePage(lastIndex, lastIndex);\n if (selected < 5) {\n // If the 4th is selected, one more page will be displayed.\n const maxLeft = selected === 4 ? 6 : 5;\n listOfRange = [...generatePage(2, maxLeft), nextFiveItem];\n } else if (selected < last - 3) {\n listOfRange = [prevFiveItem, ...generatePage(selected - 2, selected + 2), nextFiveItem];\n } else {\n // If the 4th from last is selected, one more page will be displayed.\n const minRight = selected === last - 3 ? last - 5 : last - 4;\n listOfRange = [prevFiveItem, ...generatePage(minRight, last - 1)];\n }\n return [...firstPageItem, ...listOfRange, ...lastPageItem];\n };\n return concatWithPrevNext(generateRangeItem(pageIndex, lastIndex));\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { pageIndex, pageSize, total } = changes;\n if (pageIndex || pageSize || total) {\n this.ranges = [(this.pageIndex - 1) * this.pageSize + 1, Math.min(this.pageIndex * this.pageSize, this.total)];\n this.buildIndexes();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { gridResponsiveMap, NzBreakpointEnum, NzBreakpointService } from 'ng-zorro-antd/core/services';\nimport { BooleanInput, NumberInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, InputNumber } from 'ng-zorro-antd/core/util';\nimport { NzI18nService, NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport { PaginationItemRenderContext } from './pagination.types';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'pagination';\n\n@Component({\n selector: 'nz-pagination',\n exportAs: 'nzPagination',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"showPagination\">\n <ng-container *ngIf=\"nzSimple; else defaultPagination.template\">\n <ng-template [ngTemplateOutlet]=\"simplePagination.template\"></ng-template>\n </ng-container>\n </ng-container>\n <nz-pagination-simple\n #simplePagination\n [disabled]=\"nzDisabled\"\n [itemRender]=\"nzItemRender\"\n [locale]=\"locale\"\n [pageSize]=\"nzPageSize\"\n [total]=\"nzTotal\"\n [pageIndex]=\"nzPageIndex\"\n (pageIndexChange)=\"onPageIndexChange($event)\"\n ></nz-pagination-simple>\n <nz-pagination-default\n #defaultPagination\n [nzSize]=\"size\"\n [itemRender]=\"nzItemRender\"\n [showTotal]=\"nzShowTotal\"\n [disabled]=\"nzDisabled\"\n [locale]=\"locale\"\n [showSizeChanger]=\"nzShowSizeChanger\"\n [showQuickJumper]=\"nzShowQuickJumper\"\n [total]=\"nzTotal\"\n [pageIndex]=\"nzPageIndex\"\n [pageSize]=\"nzPageSize\"\n [pageSizeOptions]=\"nzPageSizeOptions\"\n (pageIndexChange)=\"onPageIndexChange($event)\"\n (pageSizeChange)=\"onPageSizeChange($event)\"\n ></nz-pagination-default>\n `,\n host: {\n class: 'ant-pagination',\n '[class.ant-pagination-simple]': 'nzSimple',\n '[class.ant-pagination-disabled]': 'nzDisabled',\n '[class.mini]': `!nzSimple && size === 'small'`,\n '[class.ant-pagination-rtl]': `dir === 'rtl'`\n }\n})\nexport class NzPaginationComponent implements OnInit, OnDestroy, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n static ngAcceptInputType_nzDisabled: BooleanInput;\n static ngAcceptInputType_nzShowSizeChanger: BooleanInput;\n static ngAcceptInputType_nzHideOnSinglePage: BooleanInput;\n static ngAcceptInputType_nzShowQuickJumper: BooleanInput;\n static ngAcceptInputType_nzSimple: BooleanInput;\n static ngAcceptInputType_nzResponsive: BooleanInput;\n static ngAcceptInputType_nzTotal: NumberInput;\n static ngAcceptInputType_nzPageIndex: NumberInput;\n static ngAcceptInputType_nzPageSize: NumberInput;\n\n @Output() readonly nzPageSizeChange: EventEmitter<number> = new EventEmitter();\n @Output() readonly nzPageIndexChange: EventEmitter<number> = new EventEmitter();\n @Input() nzShowTotal: TemplateRef<{ $implicit: number; range: [number, number] }> | null = null;\n @Input() nzItemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n @Input() @WithConfig() nzSize: 'default' | 'small' = 'default';\n @Input() @WithConfig() nzPageSizeOptions: number[] = [10, 20, 30, 40];\n @Input() @WithConfig() @InputBoolean() nzShowSizeChanger = false;\n @Input() @WithConfig() @InputBoolean() nzShowQuickJumper = false;\n @Input() @WithConfig() @InputBoolean() nzSimple = false;\n @Input() @InputBoolean() nzDisabled = false;\n @Input() @InputBoolean() nzResponsive = false;\n @Input() @InputBoolean() nzHideOnSinglePage = false;\n @Input() @InputNumber() nzTotal = 0;\n @Input() @InputNumber() nzPageIndex = 1;\n @Input() @InputNumber() nzPageSize = 10;\n\n showPagination = true;\n locale!: NzPaginationI18nInterface;\n size: 'default' | 'small' = 'default';\n dir: Direction = 'ltr';\n\n private destroy$ = new Subject<void>();\n private total$ = new ReplaySubject<number>(1);\n\n validatePageIndex(value: number, lastIndex: number): number {\n if (value > lastIndex) {\n return lastIndex;\n } else if (value < 1) {\n return 1;\n } else {\n return value;\n }\n }\n\n onPageIndexChange(index: number): void {\n const lastIndex = this.getLastIndex(this.nzTotal, this.nzPageSize);\n const validIndex = this.validatePageIndex(index, lastIndex);\n if (validIndex !== this.nzPageIndex && !this.nzDisabled) {\n this.nzPageIndex = validIndex;\n this.nzPageIndexChange.emit(this.nzPageIndex);\n }\n }\n\n onPageSizeChange(size: number): void {\n this.nzPageSize = size;\n this.nzPageSizeChange.emit(size);\n const lastIndex = this.getLastIndex(this.nzTotal, this.nzPageSize);\n if (this.nzPageIndex > lastIndex) {\n this.onPageIndexChange(lastIndex);\n }\n }\n\n onTotalChange(total: number): void {\n const lastIndex = this.getLastIndex(total, this.nzPageSize);\n if (this.nzPageIndex > lastIndex) {\n Promise.resolve().then(() => {\n this.onPageIndexChange(lastIndex);\n this.cdr.markForCheck();\n });\n }\n }\n\n getLastIndex(total: number, pageSize: number): number {\n return Math.ceil(total / pageSize);\n }\n\n constructor(\n private i18n: NzI18nService,\n private cdr: ChangeDetectorRef,\n private breakpointService: NzBreakpointService,\n protected nzConfigService: NzConfigService,\n @Optional() private directionality: Directionality\n ) {}\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Pagination');\n this.cdr.markForCheck();\n });\n\n this.total$.pipe(takeUntil(this.destroy$)).subscribe(total => {\n this.onTotalChange(total);\n });\n\n this.breakpointService\n .subscribe(gridResponsiveMap)\n .pipe(takeUntil(this.destroy$))\n .subscribe(bp => {\n if (this.nzResponsive) {\n this.size = bp === NzBreakpointEnum.xs ? 'small' : 'default';\n this.cdr.markForCheck();\n }\n });\n\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n this.dir = this.directionality.value;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzHideOnSinglePage, nzTotal, nzPageSize, nzSize } = changes;\n if (nzTotal) {\n this.total$.next(this.nzTotal);\n }\n if (nzHideOnSinglePage || nzTotal || nzPageSize) {\n this.showPagination =\n (this.nzHideOnSinglePage && this.nzTotal > this.nzPageSize) || (this.nzTotal > 0 && !this.nzHideOnSinglePage);\n }\n\n if (nzSize) {\n this.size = nzSize.currentValue;\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzPaginationDefaultComponent } from './pagination-default.component';\nimport { NzPaginationItemComponent } from './pagination-item.component';\nimport { NzPaginationOptionsComponent } from './pagination-options.component';\nimport { NzPaginationSimpleComponent } from './pagination-simple.component';\nimport { NzPaginationComponent } from './pagination.component';\n\n@NgModule({\n declarations: [\n NzPaginationComponent,\n NzPaginationSimpleComponent,\n NzPaginationOptionsComponent,\n NzPaginationItemComponent,\n NzPaginationDefaultComponent\n ],\n exports: [NzPaginationComponent],\n imports: [BidiModule, CommonModule, FormsModule, NzSelectModule, NzI18nModule, NzIconModule]\n})\nexport class NzPaginationModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './pagination.component';\nexport * from './pagination.module';\nexport * from './pagination.types';\nexport * from './pagination-simple.component';\nexport * from './pagination-options.component';\nexport * from './pagination-item.component';\nexport * from './pagination-default.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}