UNPKG

@period-year-norway/ngx-bootstrap

Version:
1 lines 40.4 kB
{"version":3,"file":"period-year-norway-ngx-bootstrap-pagination.mjs","sources":["../../../../src/pagination/pagination.config.ts","../../../../src/pagination/pager.component.ts","../../../../src/pagination/pager.component.html","../../../../src/pagination/pagination.component.ts","../../../../src/pagination/pagination.component.html","../../../../src/pagination/pagination.module.ts","../../../../src/pagination/period-year-norway-ngx-bootstrap-pagination.ts"],"sourcesContent":["// todo: split\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ConfigModel, PagerModel } from './models';\r\n\r\n/** Provides default values for Pagination and pager components */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaginationConfig {\r\n main: Partial<ConfigModel> = {\r\n itemsPerPage: 10,\r\n boundaryLinks: false,\r\n directionLinks: true,\r\n firstText: 'First',\r\n previousText: 'Previous',\r\n nextText: 'Next',\r\n lastText: 'Last',\r\n pageBtnClass: '',\r\n rotate: true\r\n };\r\n pager: PagerModel = {\r\n itemsPerPage: 15,\r\n previousText: '« Previous',\r\n nextText: 'Next »',\r\n pageBtnClass: '',\r\n align: true\r\n };\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n Provider\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { ConfigModel, PagesModel } from './models';\r\n\r\nimport { PageChangedEvent } from './pagination.component';\r\nimport { PaginationConfig } from './pagination.config';\r\n\r\nexport const PAGER_CONTROL_VALUE_ACCESSOR: Provider = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PagerComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\n selector: 'pager',\n templateUrl: './pager.component.html',\n providers: [PAGER_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\r\nexport class PagerComponent implements ControlValueAccessor, OnInit {\r\n config?: Partial<ConfigModel>;\r\n /** if `true` aligns each link to the sides of pager */\r\n @Input() align = false;\r\n /** limit number for page links in pager */\r\n @Input() maxSize?: number;\r\n /** if false first and last buttons will be hidden */\r\n @Input() boundaryLinks = false;\r\n /** if false previous and next buttons will be hidden */\r\n @Input() directionLinks = true;\r\n // labels\r\n /** first button text */\r\n @Input() firstText = 'First';\r\n /** previous button text */\r\n @Input() previousText = '« Previous';\r\n /** next button text */\r\n @Input() nextText = 'Next »';\r\n /** last button text */\r\n @Input() lastText = 'Last';\r\n /** if true current page will in the middle of pages list */\r\n @Input() rotate = true;\r\n // css\r\n /** add class to <code><li\\></code> */\r\n @Input() pageBtnClass = '';\r\n\r\n /** if true pagination component will be disabled */\r\n @Input() disabled = false;\r\n\r\n /** fired when total pages count changes, $event:number equals to total pages count */\r\n @Output() numPages = new EventEmitter<number>();\r\n /** fired when page was changed, $event:{page, itemsPerPage} equals to\r\n * object with current page index and number of items per page\r\n */\r\n @Output()\r\n pageChanged = new EventEmitter<PageChangedEvent>();\r\n onChange = Function.prototype;\r\n onTouched = Function.prototype;\r\n classMap = '';\r\n pages?: PagesModel[];\r\n protected inited = false;\r\n\r\n constructor(private elementRef: ElementRef,\r\n paginationConfig: PaginationConfig,\r\n private changeDetection: ChangeDetectorRef) {\r\n this.elementRef = elementRef;\r\n if (!this.config) {\r\n this.configureOptions(\r\n Object.assign({}, paginationConfig.main, paginationConfig.pager)\r\n );\r\n }\r\n }\r\n\r\n protected _itemsPerPage = 15;\r\n\r\n /** maximum number of items per page. If value less than 1 will display all items on one page */\r\n @Input()\r\n get itemsPerPage(): number {\r\n return this._itemsPerPage;\r\n }\r\n\r\n set itemsPerPage(v: number) {\r\n this._itemsPerPage = v;\r\n this.totalPages = this.calculateTotalPages();\r\n }\r\n\r\n protected _totalItems = 0;\r\n\r\n /** total number of items in all pages */\r\n @Input()\r\n get totalItems(): number {\r\n return this._totalItems;\r\n }\r\n\r\n set totalItems(v: number) {\r\n this._totalItems = v;\r\n this.totalPages = this.calculateTotalPages();\r\n }\r\n\r\n protected _totalPages = 0;\r\n\r\n get totalPages(): number {\r\n return this._totalPages;\r\n }\r\n\r\n set totalPages(v: number) {\r\n this._totalPages = v;\r\n this.numPages.emit(v);\r\n if (this.inited) {\r\n this.selectPage(this.page);\r\n }\r\n }\r\n\r\n protected _page = 1;\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n set page(value: number) {\r\n const _previous = this._page;\r\n this._page = value > this.totalPages ? this.totalPages : value || 1;\r\n this.changeDetection.markForCheck();\r\n\r\n if (_previous === this._page || typeof _previous === 'undefined') {\r\n return;\r\n }\r\n\r\n this.pageChanged.emit({\r\n page: this._page,\r\n itemsPerPage: this.itemsPerPage\r\n });\r\n }\r\n\r\n configureOptions(config: Partial<ConfigModel>): void {\r\n this.config = Object.assign({}, config);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (typeof window !== 'undefined') {\r\n this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\r\n }\r\n // watch for maxSize\r\n if (typeof this.maxSize === 'undefined') {\r\n this.maxSize = this.config?.maxSize || 0;\r\n }\r\n\r\n if (typeof this.rotate === 'undefined') {\r\n this.rotate = !!this.config?.rotate;\r\n }\r\n\r\n if (typeof this.boundaryLinks === 'undefined') {\r\n this.boundaryLinks = !!this.config?.boundaryLinks;\r\n }\r\n\r\n\r\n if (typeof this.directionLinks === 'undefined') {\r\n this.directionLinks = !!this.config?.directionLinks;\r\n }\r\n\r\n if (typeof this.pageBtnClass === 'undefined') {\r\n this.pageBtnClass = this.config?.pageBtnClass || '';\r\n }\r\n\r\n // base class\r\n if (typeof this.itemsPerPage === 'undefined') {\r\n this.itemsPerPage = this.config?.itemsPerPage || 0;\r\n }\r\n\r\n this.totalPages = this.calculateTotalPages();\r\n // this class\r\n this.pages = this.getPages(this.page, this.totalPages);\r\n this.inited = true;\r\n }\r\n\r\n writeValue(value: number): void {\r\n this.page = value;\r\n this.pages = this.getPages(this.page, this.totalPages);\r\n }\r\n\r\n getText(key: string): string {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return (this as any)[`${key}Text`] || (this as any).config[`${key}Text`];\r\n }\r\n\r\n noPrevious(): boolean {\r\n return this.page === 1;\r\n }\r\n\r\n noNext(): boolean {\r\n return this.page === this.totalPages;\r\n }\r\n\r\n registerOnChange(fn: () => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n selectPage(page: number, event?: Event): void {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this.disabled) {\r\n if (event && event.target) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const target: any = event.target;\r\n target.blur();\r\n }\r\n this.writeValue(page);\r\n this.onChange(this.page);\r\n }\r\n }\r\n\r\n // Create page object used in template\r\n protected makePage(num: number,\r\n text: string,\r\n active: boolean): { number: number; text: string; active: boolean } {\r\n return { text, number: num, active };\r\n }\r\n\r\n protected getPages(currentPage: number, totalPages: number): PagesModel[] {\r\n const pages: PagesModel[] = [];\r\n\r\n // Default page limits\r\n let startPage = 1;\r\n let endPage = totalPages;\r\n const isMaxSized =\r\n typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\r\n\r\n // recompute if maxSize\r\n if (isMaxSized && this.maxSize) {\r\n if (this.rotate) {\r\n // Current page is displayed in the middle of the visible ones\r\n startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\r\n endPage = startPage + this.maxSize - 1;\r\n\r\n // Adjust if limit is exceeded\r\n if (endPage > totalPages) {\r\n endPage = totalPages;\r\n startPage = endPage - this.maxSize + 1;\r\n }\r\n } else {\r\n // Visible pages are paginated with maxSize\r\n startPage =\r\n (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1;\r\n\r\n // Adjust last page if limit is exceeded\r\n endPage = Math.min(startPage + this.maxSize - 1, totalPages);\r\n }\r\n }\r\n\r\n // Add page number links\r\n for (let num = startPage; num <= endPage; num++) {\r\n const page = this.makePage(num, num.toString(), num === currentPage);\r\n pages.push(page);\r\n }\r\n\r\n // Add links to move between page sets\r\n if (isMaxSized && !this.rotate) {\r\n if (startPage > 1) {\r\n const previousPageSet = this.makePage(startPage - 1, '...', false);\r\n pages.unshift(previousPageSet);\r\n }\r\n\r\n if (endPage < totalPages) {\r\n const nextPageSet = this.makePage(endPage + 1, '...', false);\r\n pages.push(nextPageSet);\r\n }\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n // base class\r\n protected calculateTotalPages(): number {\r\n const totalPages =\r\n this.itemsPerPage < 1\r\n ? 1\r\n : Math.ceil(this.totalItems / this.itemsPerPage);\r\n\r\n return Math.max(totalPages || 0, 1);\r\n }\r\n}\r\n","<ul class=\"pager\">\r\n <li [class.disabled]=\"noPrevious()\" [class.previous]=\"align\"\r\n [ngClass]=\"{'pull-left': align, 'float-left': align}\"\r\n class=\"{{ pageBtnClass }}\">\r\n <a href (click)=\"selectPage(page - 1, $event)\">{{ getText('previous') }}</a>\r\n </li>\r\n <li [class.disabled]=\"noNext()\" [class.next]=\"align\"\r\n [ngClass]=\"{'pull-right': align, 'float-right': align}\"\r\n class=\"{{ pageBtnClass }}\">\r\n <a href (click)=\"selectPage(page + 1, $event)\">{{ getText('next') }}</a>\r\n </li>\r\n</ul>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n Provider,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ConfigModel, PagesModel, PaginationLinkContext, PaginationNumberLinkContext } from './models';\r\n\r\nimport { PaginationConfig } from './pagination.config';\r\n\r\nexport interface PageChangedEvent {\r\n itemsPerPage: number;\r\n page: number;\r\n}\r\n\r\nexport const PAGINATION_CONTROL_VALUE_ACCESSOR: Provider = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PaginationComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\n selector: 'pagination',\n templateUrl: './pagination.component.html',\n providers: [PAGINATION_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\r\nexport class PaginationComponent implements ControlValueAccessor, OnInit {\r\n config?: Partial<ConfigModel>;\r\n /** if `true` aligns each link to the sides of pager */\r\n @Input() align = true;\r\n /** limit number for page links in pager */\r\n @Input() maxSize?: number;\r\n /** if false first and last buttons will be hidden */\r\n @Input() boundaryLinks = false;\r\n /** if false previous and next buttons will be hidden */\r\n @Input() directionLinks = true;\r\n // labels\r\n /** first button text */\r\n @Input() firstText?: string;\r\n /** previous button text */\r\n @Input() previousText?: string;\r\n /** next button text */\r\n @Input() nextText?: string;\r\n /** last button text */\r\n @Input() lastText?: string;\r\n /** if true current page will in the middle of pages list */\r\n @Input() rotate = true;\r\n // css\r\n /** add class to <code><li\\></code> */\r\n @Input() pageBtnClass = '';\r\n /** if true pagination component will be disabled */\r\n @Input() disabled = false;\r\n /** custom template for page link */\r\n @Input() customPageTemplate?: TemplateRef<PaginationNumberLinkContext>;\r\n /** custom template for next link */\r\n @Input() customNextTemplate?: TemplateRef<PaginationLinkContext>;\r\n /** custom template for previous link */\r\n @Input() customPreviousTemplate?: TemplateRef<PaginationLinkContext>;\r\n /** custom template for first link */\r\n @Input() customFirstTemplate?: TemplateRef<PaginationLinkContext>;\r\n /** custom template for last link */\r\n @Input() customLastTemplate?: TemplateRef<PaginationLinkContext>;\r\n\r\n /** fired when total pages count changes, $event:number equals to total pages count */\r\n @Output() numPages = new EventEmitter<number>();\r\n /** fired when page was changed, $event:{page, itemsPerPage} equals to object\r\n * with current page index and number of items per page\r\n */\r\n @Output() pageChanged = new EventEmitter<PageChangedEvent>();\r\n onChange = Function.prototype;\r\n onTouched = Function.prototype;\r\n classMap = '';\r\n pages?: PagesModel[];\r\n protected inited = false;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n paginationConfig: PaginationConfig,\r\n private changeDetection: ChangeDetectorRef\r\n ) {\r\n this.elementRef = elementRef;\r\n if (!this.config) {\r\n this.configureOptions(paginationConfig.main);\r\n }\r\n }\r\n\r\n protected _itemsPerPage = 10;\r\n\r\n /** maximum number of items per page. If value less than 1 will display all items on one page */\r\n @Input()\r\n get itemsPerPage(): number {\r\n return this._itemsPerPage;\r\n }\r\n\r\n set itemsPerPage(v: number) {\r\n this._itemsPerPage = v;\r\n this.totalPages = this.calculateTotalPages();\r\n }\r\n\r\n protected _totalItems = 0;\r\n\r\n /** total number of items in all pages */\r\n @Input()\r\n get totalItems(): number {\r\n return this._totalItems;\r\n }\r\n\r\n set totalItems(v: number) {\r\n this._totalItems = v;\r\n this.totalPages = this.calculateTotalPages();\r\n }\r\n\r\n protected _totalPages = 0;\r\n\r\n get totalPages(): number {\r\n return this._totalPages;\r\n }\r\n\r\n set totalPages(v: number) {\r\n this._totalPages = v;\r\n this.numPages.emit(v);\r\n if (this.inited) {\r\n this.selectPage(this.page);\r\n }\r\n }\r\n\r\n protected _page = 1;\r\n\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n set page(value: number) {\r\n const _previous = this._page;\r\n this._page = value > this.totalPages ? this.totalPages : value || 1;\r\n this.changeDetection.markForCheck();\r\n\r\n if (_previous === this._page || typeof _previous === 'undefined') {\r\n return;\r\n }\r\n\r\n this.pageChanged.emit({\r\n page: this._page,\r\n itemsPerPage: this.itemsPerPage\r\n });\r\n }\r\n\r\n configureOptions(config: Partial<ConfigModel>): void {\r\n this.config = Object.assign({}, config);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (typeof window !== 'undefined') {\r\n this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\r\n }\r\n\r\n // watch for maxSize\r\n if (typeof this.maxSize === 'undefined') {\r\n this.maxSize = this.config?.maxSize || 0;\r\n }\r\n\r\n if (typeof this.rotate === 'undefined') {\r\n this.rotate = !!this.config?.rotate;\r\n }\r\n\r\n if (typeof this.boundaryLinks === 'undefined') {\r\n this.boundaryLinks = !!this.config?.boundaryLinks;\r\n }\r\n\r\n\r\n if (typeof this.directionLinks === 'undefined') {\r\n this.directionLinks = !!this.config?.directionLinks;\r\n }\r\n\r\n if (typeof this.pageBtnClass === 'undefined') {\r\n this.pageBtnClass = this.config?.pageBtnClass || '';\r\n }\r\n\r\n // base class\r\n if (typeof this.itemsPerPage === 'undefined') {\r\n this.itemsPerPage = this.config?.itemsPerPage || 0;\r\n }\r\n\r\n this.totalPages = this.calculateTotalPages();\r\n // this class\r\n this.pages = this.getPages(this.page, this.totalPages);\r\n this.inited = true;\r\n }\r\n\r\n writeValue(value: number): void {\r\n this.page = value;\r\n this.pages = this.getPages(this.page, this.totalPages);\r\n }\r\n\r\n getText(key: string): string {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return (this as any)[`${key}Text`] || (this as any).config[`${key}Text`];\r\n }\r\n\r\n noPrevious(): boolean {\r\n return this.page === 1;\r\n }\r\n\r\n noNext(): boolean {\r\n return this.page === this.totalPages;\r\n }\r\n\r\n registerOnChange(fn: () => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n selectPage(page: number, event?: Event): void {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this.disabled) {\r\n if (event && event.target) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const target: any = event.target;\r\n target.blur();\r\n }\r\n this.writeValue(page);\r\n this.onChange(this.page);\r\n }\r\n }\r\n\r\n // Create page object used in template\r\n protected makePage(\r\n num: number,\r\n text: string,\r\n active: boolean\r\n ): { number: number; text: string; active: boolean } {\r\n return { text, number: num, active };\r\n }\r\n\r\n protected getPages(currentPage: number, totalPages: number): PagesModel[] {\r\n const pages: PagesModel[] = [];\r\n\r\n // Default page limits\r\n let startPage = 1;\r\n let endPage = totalPages;\r\n const isMaxSized =\r\n typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\r\n\r\n // recompute if maxSize\r\n if (isMaxSized && this.maxSize) {\r\n if (this.rotate) {\r\n // Current page is displayed in the middle of the visible ones\r\n startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\r\n endPage = startPage + this.maxSize - 1;\r\n\r\n // Adjust if limit is exceeded\r\n if (endPage > totalPages) {\r\n endPage = totalPages;\r\n startPage = endPage - this.maxSize + 1;\r\n }\r\n } else {\r\n // Visible pages are paginated with maxSize\r\n startPage =\r\n (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1;\r\n\r\n // Adjust last page if limit is exceeded\r\n endPage = Math.min(startPage + this.maxSize - 1, totalPages);\r\n }\r\n }\r\n\r\n // Add page number links\r\n for (let num = startPage; num <= endPage; num++) {\r\n const page = this.makePage(num, num.toString(), num === currentPage);\r\n pages.push(page);\r\n }\r\n\r\n // Add links to move between page sets\r\n if (isMaxSized && !this.rotate) {\r\n if (startPage > 1) {\r\n const previousPageSet = this.makePage(startPage - 1, '...', false);\r\n pages.unshift(previousPageSet);\r\n }\r\n\r\n if (endPage < totalPages) {\r\n const nextPageSet = this.makePage(endPage + 1, '...', false);\r\n pages.push(nextPageSet);\r\n }\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n // base class\r\n protected calculateTotalPages(): number {\r\n const totalPages =\r\n this.itemsPerPage < 1\r\n ? 1\r\n : Math.ceil(this.totalItems / this.itemsPerPage);\r\n\r\n return Math.max(totalPages || 0, 1);\r\n }\r\n}\r\n","<ul class=\"pagination\" [ngClass]=\"classMap\">\r\n <li class=\"pagination-first page-item\"\r\n *ngIf=\"boundaryLinks\"\r\n [class.disabled]=\"noPrevious() || disabled\">\r\n <a class=\"page-link\" href (click)=\"selectPage(1, $event)\">\r\n <ng-container [ngTemplateOutlet]=\"customFirstTemplate || defaultFirstTemplate\"\r\n [ngTemplateOutletContext]=\"{disabled: noPrevious() || disabled, currentPage: page}\">\r\n </ng-container>\r\n </a>\r\n </li>\r\n\r\n <li class=\"pagination-prev page-item\"\r\n *ngIf=\"directionLinks\"\r\n [class.disabled]=\"noPrevious() || disabled\">\r\n <a class=\"page-link\" href (click)=\"selectPage(page - 1, $event)\">\r\n <ng-container [ngTemplateOutlet]=\"customPreviousTemplate || defaultPreviousTemplate\"\r\n [ngTemplateOutletContext]=\"{disabled: noPrevious() || disabled, currentPage: page}\">\r\n </ng-container>\r\n </a>\r\n </li>\r\n\r\n <li *ngFor=\"let pg of pages\"\r\n [class.active]=\"pg.active\"\r\n [class.disabled]=\"disabled && !pg.active\"\r\n class=\"pagination-page page-item\">\r\n <a class=\"page-link\" href (click)=\"selectPage(pg.number, $event)\">\r\n <ng-container [ngTemplateOutlet]=\"customPageTemplate || defaultPageTemplate\"\r\n [ngTemplateOutletContext]=\"{disabled: disabled, $implicit: pg, currentPage: page}\">\r\n </ng-container>\r\n </a>\r\n </li>\r\n\r\n <li class=\"pagination-next page-item\"\r\n *ngIf=\"directionLinks\"\r\n [class.disabled]=\"noNext() || disabled\">\r\n <a class=\"page-link\" href (click)=\"selectPage(page + 1, $event)\">\r\n <ng-container [ngTemplateOutlet]=\"customNextTemplate || defaultNextTemplate\"\r\n [ngTemplateOutletContext]=\"{disabled: noNext() || disabled, currentPage: page}\">\r\n </ng-container>\r\n </a>\r\n </li>\r\n\r\n <li class=\"pagination-last page-item\"\r\n *ngIf=\"boundaryLinks\"\r\n [class.disabled]=\"noNext() || disabled\">\r\n <a class=\"page-link\" href (click)=\"selectPage(totalPages, $event)\">\r\n <ng-container [ngTemplateOutlet]=\"customLastTemplate || defaultLastTemplate\"\r\n [ngTemplateOutletContext]=\"{disabled: noNext() || disabled, currentPage: page}\">\r\n </ng-container>\r\n </a>\r\n </li>\r\n</ul>\r\n\r\n<ng-template #defaultPageTemplate let-page>{{ page.text }}</ng-template>\r\n\r\n<ng-template #defaultNextTemplate>{{ getText('next') }}</ng-template>\r\n\r\n<ng-template #defaultPreviousTemplate>{{ getText('previous') }}</ng-template>\r\n\r\n<ng-template #defaultFirstTemplate>{{ getText('first') }}</ng-template>\r\n\r\n<ng-template #defaultLastTemplate>{{ getText('last') }}</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\n\r\nimport { PagerComponent } from './pager.component';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [PagerComponent, PaginationComponent],\r\n exports: [PagerComponent, PaginationComponent]\r\n})\r\nexport class PaginationModule {\r\n static forRoot(): ModuleWithProviders<PaginationModule> {\r\n return { ngModule: PaginationModule, providers: [] };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PaginationConfig"],"mappings":"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"}