UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 56.9 kB
{"version":3,"file":"ng-zorro-antd-pagination.mjs","sources":["../../components/pagination/pagination-item.component.ts","../../components/pagination/pagination-options.component.ts","../../components/pagination/pagination-default.component.ts","../../components/pagination/pagination-simple.component.ts","../../components/pagination/pagination.component.ts","../../components/pagination/pagination.module.ts","../../components/pagination/pagination.types.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 { NgTemplateOutlet } from '@angular/common';\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 { NzIconModule } from 'ng-zorro-antd/icon';\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 @switch (type) {\n @case ('page') {\n <a>{{ page }}</a>\n }\n @case ('prev') {\n <button type=\"button\" [disabled]=\"disabled\" [attr.title]=\"locale.prev_page\" class=\"ant-pagination-item-link\">\n @if (direction === 'rtl') {\n <nz-icon nzType=\"right\" />\n } @else {\n <nz-icon nzType=\"left\" />\n }\n </button>\n }\n @case ('next') {\n <button type=\"button\" [disabled]=\"disabled\" [attr.title]=\"locale.next_page\" class=\"ant-pagination-item-link\">\n @if (direction === 'rtl') {\n <nz-icon nzType=\"left\" />\n } @else {\n <nz-icon nzType=\"right\" />\n }\n </button>\n }\n @default {\n <a class=\"ant-pagination-item-link\">\n <div class=\"ant-pagination-item-container\">\n @switch (type) {\n @case ('prev_5') {\n @if (direction === 'rtl') {\n <nz-icon nzType=\"double-right\" class=\"ant-pagination-item-link-icon\" />\n } @else {\n <nz-icon nzType=\"double-left\" class=\"ant-pagination-item-link-icon\" />\n }\n }\n @case ('next_5') {\n @if (direction === 'rtl') {\n <nz-icon nzType=\"double-left\" class=\"ant-pagination-item-link-icon\" />\n } @else {\n <nz-icon nzType=\"double-right\" class=\"ant-pagination-item-link-icon\" />\n }\n }\n }\n <span class=\"ant-pagination-item-ellipsis\">•••</span>\n </div>\n </a>\n }\n }\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"itemRender || renderItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: type, page: index }\"\n />\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 imports: [NzIconModule, NgTemplateOutlet]\n})\nexport class NzPaginationItemComponent implements OnChanges {\n @Input() active = false;\n @Input() locale!: NzPaginationI18nInterface;\n @Input() index: number | null | undefined = null;\n @Input() disabled = false;\n @Input() direction = 'ltr';\n @Input() type: PaginationItemType | string | null | undefined = 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 {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { toNumber } from 'ng-zorro-antd/core/util';\nimport { NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\n@Component({\n selector: 'li[nz-pagination-options]',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (showSizeChanger) {\n <nz-select\n class=\"ant-pagination-options-size-changer\"\n [nzDisabled]=\"disabled\"\n [nzSize]=\"nzSize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"onPageSizeChange($event)\"\n >\n @for (option of listOfPageSizeOption; track option.value) {\n <nz-option [nzLabel]=\"option.label\" [nzValue]=\"option.value\" />\n }\n </nz-select>\n }\n\n @if (showQuickJumper) {\n <div class=\"ant-pagination-options-quick-jumper\">\n {{ locale.jump_to }}\n <input [disabled]=\"disabled\" (keydown.enter)=\"jumpToPageViaInput($event)\" />\n {{ locale.page }}\n </div>\n }\n `,\n host: { class: 'ant-pagination-options' },\n imports: [NzSelectModule, FormsModule]\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 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 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 { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\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 { NzPaginationOptionsComponent } from './pagination-options.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 <ul>\n @if (showTotal) {\n <li class=\"ant-pagination-total-text\">\n <ng-template\n [ngTemplateOutlet]=\"showTotal\"\n [ngTemplateOutletContext]=\"{ $implicit: total, range: ranges }\"\n />\n </li>\n }\n\n @for (page of listOfPageItem; track trackByPageItem($index, page)) {\n <li\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 }\n\n @if (showQuickJumper || showSizeChanger) {\n <li\n nz-pagination-options\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 ></li>\n }\n </ul>\n </ng-template>\n `,\n imports: [NgTemplateOutlet, NzPaginationItemComponent, NzPaginationOptionsComponent]\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 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 ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\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 { NzPaginationItemComponent } from './pagination-item.component';\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 <ul>\n <li\n nz-pagination-item\n [locale]=\"locale\"\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 [locale]=\"locale\"\n [attr.title]=\"locale?.next_page\"\n [disabled]=\"isLastIndex\"\n [direction]=\"dir\"\n (click)=\"nextPage()\"\n type=\"next\"\n [itemRender]=\"itemRender\"\n ></li>\n </ul>\n </ng-template>\n `,\n imports: [NzPaginationItemComponent]\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 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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\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 { NzBreakpointEnum, NzBreakpointService, gridResponsiveMap } from 'ng-zorro-antd/core/services';\nimport { NzI18nService, NzPaginationI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport { NzPaginationDefaultComponent } from './pagination-default.component';\nimport { NzPaginationSimpleComponent } from './pagination-simple.component';\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 @if (showPagination) {\n @if (nzSimple) {\n <ng-template [ngTemplateOutlet]=\"simplePagination.template\" />\n } @else {\n <ng-template [ngTemplateOutlet]=\"defaultPagination.template\" />\n }\n }\n\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.ant-pagination-mini]': `!nzSimple && size === 'small'`,\n '[class.ant-pagination-rtl]': `dir === 'rtl'`\n },\n imports: [NgTemplateOutlet, NzPaginationSimpleComponent, NzPaginationDefaultComponent]\n})\nexport class NzPaginationComponent implements OnInit, OnDestroy, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n @Output() readonly nzPageSizeChange = new EventEmitter<number>();\n @Output() readonly nzPageIndexChange = new EventEmitter<number>();\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({ transform: booleanAttribute }) @WithConfig() nzShowSizeChanger = false;\n @Input({ transform: booleanAttribute }) @WithConfig() nzShowQuickJumper = false;\n @Input({ transform: booleanAttribute }) @WithConfig() nzSimple = false;\n @Input({ transform: booleanAttribute }) nzDisabled = false;\n @Input({ transform: booleanAttribute }) nzResponsive = false;\n @Input({ transform: booleanAttribute }) nzHideOnSinglePage = false;\n @Input({ transform: numberAttribute }) nzTotal = 0;\n @Input({ transform: numberAttribute }) nzPageIndex = 1;\n @Input({ transform: numberAttribute }) 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 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 { NgModule } from '@angular/core';\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 imports: [\n NzPaginationComponent,\n NzPaginationSimpleComponent,\n NzPaginationOptionsComponent,\n NzPaginationItemComponent,\n NzPaginationDefaultComponent\n ],\n exports: [NzPaginationComponent]\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 interface PaginationItemRenderContext {\n $implicit: PaginationItemType;\n page: number;\n}\n\nexport type PaginationItemType = 'page' | 'prev' | 'next' | 'prev_5' | 'next_5';\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":["i1","i2","i4"],"mappings":"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