{"version":3,"file":"primeng-paginator.mjs","sources":["../../src/app/components/paginator/paginator.ts","../../src/app/components/paginator/primeng-paginator.ts"],"sourcesContent":["import {NgModule,Component,OnInit,Input,Output,ChangeDetectorRef,EventEmitter,TemplateRef,OnChanges,SimpleChanges,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {DropdownModule} from 'primeng/dropdown';\nimport {SelectItem} from 'primeng/api';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule} from 'primeng/api';\nimport {InputNumberModule} from 'primeng/inputnumber';\n\n@Component({\n selector: 'p-paginator',\n template: `\n
1)\">\n
\n \n
\n {{currentPageReport}}\n \n \n \n \n \n \n {{currentPageReport}}\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./paginator.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class Paginator implements OnInit, OnChanges {\n\n @Input() pageLinkSize: number = 5;\n\n @Output() onPageChange: EventEmitter = new EventEmitter();\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() alwaysShow: boolean = true;\n\n @Input() templateLeft: TemplateRef;\n\n @Input() templateRight: TemplateRef;\n\n @Input() dropdownAppendTo: any;\n\n @Input() dropdownScrollHeight: string = '200px';\n\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n\n @Input() showCurrentPageReport: boolean;\n\n @Input() showFirstLastIcon: boolean = true;\n\n @Input() totalRecords: number = 0;\n\n @Input() rows: number = 0;\n\n @Input() rowsPerPageOptions: any[];\n\n @Input() showJumpToPageDropdown: boolean;\n\n @Input() showJumpToPageInput: boolean;\n\n @Input() showPageLinks: boolean = true;\n\n @Input() dropdownItemTemplate: TemplateRef;\n\n pageLinks: number[];\n\n pageItems: SelectItem[];\n\n rowsPerPageItems: SelectItem[];\n\n paginatorState: any;\n\n _first: number = 0;\n\n _page: number = 0;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.updatePaginatorState();\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n }\n\n @Input() get first(): number {\n return this._first;\n }\n set first(val:number) {\n this._first = val;\n }\n\n updateRowsPerPageOptions() {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n this.rowsPerPageItems.unshift({label: opt['showAll'], value: this.totalRecords});\n }\n else {\n this.rowsPerPageItems.push({label: String(opt), value: opt});\n }\n }\n }\n }\n\n isFirstPage() {\n return this.getPage() === 0;\n }\n\n isLastPage() {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount() {\n return Math.ceil(this.totalRecords/this.rows);\n }\n\n calculatePageLinkBoundaries() {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - ((visiblePages) / 2))),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n\n return [start, end];\n }\n\n updatePageLinks() {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n\n for(let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({label: String(i + 1), value: i});\n }\n }\n }\n\n changePage(p :number) {\n var pc = this.getPageCount();\n\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n\n updateFirst() {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && (this.first >= this.totalRecords)) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n\n getPage(): number {\n return Math.floor(this.first / this.rows);\n }\n\n changePageToFirst(event) {\n if (!this.isFirstPage()){\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event) {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event) {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event) {\n if (!this.isLastPage()){\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event, page) {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event) {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event) {\n this.changePage(event.value);\n }\n\n updatePaginatorState() {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n }\n }\n\n empty() {\n return this.getPageCount() === 0;\n }\n\n currentPage() {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport() {\n return this.currentPageReportTemplate\n .replace(\"{currentPage}\", String(this.currentPage()))\n .replace(\"{totalPages}\", String(this.getPageCount()))\n .replace(\"{first}\", String((this.totalRecords > 0) ? this._first + 1 : 0))\n .replace(\"{last}\", String(Math.min(this._first + this.rows, this.totalRecords)))\n .replace(\"{rows}\", String(this.rows))\n .replace(\"{totalRecords}\", String(this.totalRecords));\n }\n}\n\n@NgModule({\n imports: [CommonModule,DropdownModule,InputNumberModule,FormsModule,SharedModule,RippleModule],\n exports: [Paginator,DropdownModule,InputNumberModule,FormsModule,SharedModule],\n declarations: [Paginator]\n})\nexport class PaginatorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}