igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
1 lines • 26.2 kB
Source Map (JSON)
{"version":3,"file":"igniteui-angular-paginator.mjs","sources":["../../../projects/igniteui-angular/paginator/src/paginator/paginator-interfaces.ts","../../../projects/igniteui-angular/paginator/src/paginator/token.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.html","../../../projects/igniteui-angular/paginator/src/paginator/page-size-selector.component.html","../../../projects/igniteui-angular/paginator/src/paginator/pager.component.html","../../../projects/igniteui-angular/paginator/src/paginator/public_api.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.module.ts","../../../projects/igniteui-angular/paginator/src/igniteui-angular-paginator.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IPageEventArgs extends IBaseEventArgs {\n previous: number;\n current: number;\n}\n\nexport interface IPageCancellableEventArgs extends CancelableEventArgs {\n current: number;\n next: number;\n}\n\n@Directive({\n selector: '[igxPaginator]',\n standalone: true\n})\nexport class IgxPaginatorDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { EventEmitter } from '@angular/core';\n\n/** @hidden @internal */\nexport abstract class IgxPaginatorToken {\n public abstract page: number;\n public abstract perPage: number;\n public abstract totalRecords: number;\n\n public abstract pageChange: EventEmitter<number>;\n\n public abstract paginate(val: number): void\n}\n","import { ChangeDetectorRef, Component, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, forwardRef, inject } from '@angular/core';\nimport { IPageCancellableEventArgs, IPageEventArgs } from './paginator-interfaces';\nimport {\n IPaginatorResourceStrings,\n PaginatorResourceStringsEN,\n OverlaySettings,\n getCurrentResourceStrings\n} from 'igniteui-angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxRippleDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select';\nimport { IgxPaginatorToken } from './token';\n\n@Directive({\n selector: '[igxPaginatorContent],igx-paginator-content',\n standalone: true\n})\nexport class IgxPaginatorContentDirective {\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-paginator-content')\n public cssClass = 'igx-paginator-content';\n}\n\n/* blazorElement */\n/* mustUseNGParentAnchor */\n/* wcElementTag: igc-paginator */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: GridBaseDirective */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/* jsonAPIManageCollectionInMarkup */\n/**\n * Paginator component description\n * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent, *\n */\n@Component({\n selector: 'igx-paginator',\n templateUrl: 'paginator.component.html',\n imports: [forwardRef(() => IgxPageSizeSelectorComponent), forwardRef(() => IgxPageNavigationComponent)],\n providers: [\n { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }\n ]\n})\n// switch IgxPaginatorToken to extends once density is dropped\nexport class IgxPaginatorComponent implements IgxPaginatorToken {\n private elementRef = inject(ElementRef);\n private cdr = inject(ChangeDetectorRef);\n\n\n /**\n * @hidden\n * @internal\n */\n @ContentChild(IgxPaginatorContentDirective)\n public customContent: IgxPaginatorContentDirective;\n\n /**\n * Emitted when `perPage` property value of the paginator is changed.\n *\n * @example\n * ```html\n * <igx-paginator (perPageChange)=\"onPerPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPerPageChange(perPage: number) {\n * this.perPage = perPage;\n * }\n * ```\n */\n @Output()\n public perPageChange = new EventEmitter<number>();\n\n /**\n * Emitted after the current page is changed.\n *\n * @example\n * ```html\n * <igx-paginator (pageChange)=\"onPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPageChange(page: number) {\n * this.currentPage = page;\n * }\n * ```\n */\n @Output()\n public pageChange = new EventEmitter<number>();\n\n /**\n * Emitted before paging is performed.\n *\n * @remarks\n * Returns an object consisting of the current and next pages.\n * @example\n * ```html\n * <igx-paginator (paging)=\"pagingHandler($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public paging = new EventEmitter<IPageCancellableEventArgs>();\n\n /**\n * Emitted after paging is performed.\n *\n * @remarks\n * Returns an object consisting of the previous and current pages.\n * @example\n * ```html\n * <igx-paginator (pagingDone)=\"pagingDone($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public pagingDone = new EventEmitter<IPageEventArgs>();\n\n /**\n * Total pages calculated from totalRecords and perPage\n */\n public totalPages: number;\n protected _page = 0;\n protected _totalRecords: number;\n protected _selectOptions = [5, 10, 15, 25, 50, 100, 500];\n protected _perPage = 15;\n\n private _resourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN);\n private _overlaySettings: OverlaySettings = {};\n private defaultSelectValues = [5, 10, 15, 25, 50, 100, 500];\n\n /** @hidden @internal */\n @HostBinding('class.igx-paginator')\n public cssClass = 'igx-paginator';\n\n /**\n * Gets/Sets the current page of the paginator.\n * The default is 0.\n * ```typescript\n * let page = this.paginator.page;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get page() {\n return this._page;\n }\n\n public set page(value: number) {\n if (this._page === value || value < 0 || value > this.totalPages) {\n return;\n }\n const cancelEventArgs: IPageCancellableEventArgs = { current: this._page, next: value, cancel: false };\n const eventArgs: IPageEventArgs = { previous: this._page, current: value };\n\n this.paging.emit(cancelEventArgs);\n if (cancelEventArgs.cancel) {\n return;\n }\n this._page = value;\n this.pageChange.emit(this._page);\n\n this.pagingDone.emit(eventArgs);\n }\n\n /**\n * Gets/Sets the number of visible items per page in the paginator.\n * The default is 15.\n * ```typescript\n * let itemsPerPage = this.paginator.perPage;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get perPage() {\n return this._perPage;\n }\n\n public set perPage(value: number) {\n if (value < 0 || this.perPage === value) {\n return;\n }\n this._perPage = Number(value);\n this.perPageChange.emit(this._perPage);\n this._selectOptions = this.sortUniqueOptions(this.defaultSelectValues, this._perPage);\n this.totalPages = Math.ceil(this.totalRecords / this._perPage);\n if (this.totalPages !== 0 && this.page >= this.totalPages) {\n this.page = this.totalPages - 1;\n }\n }\n\n /**\n * Sets the total records.\n * ```typescript\n * let totalRecords = this.paginator.totalRecords;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get totalRecords() {\n return this._totalRecords;\n }\n\n public set totalRecords(value: number) {\n this._totalRecords = value;\n this.totalPages = Math.ceil(this.totalRecords / this.perPage);\n if (this.page > this.totalPages) {\n this.page = 0;\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Sets custom options in the select of the paginator\n * ```typescript\n * let options = this.paginator.selectOptions;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get selectOptions() {\n return this._selectOptions;\n }\n\n public set selectOptions(value: Array<number>) {\n this._selectOptions = this.sortUniqueOptions(value, this._perPage);\n this.defaultSelectValues = [...value];\n }\n\n /**\n * Sets custom OverlaySettings.\n * ```html\n * <igx-paginator [overlaySettings] = \"customOverlaySettings\"></igx-paginator>\n * ```\n */\n @Input()\n public get overlaySettings(): OverlaySettings {\n return this._overlaySettings;\n }\n\n public set overlaySettings(value: OverlaySettings) {\n this._overlaySettings = Object.assign({}, this._overlaySettings, value);\n }\n\n /* mustSetInCodePlatforms: WebComponents;Blazor;React */\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IPaginatorResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IPaginatorResourceStrings {\n return this._resourceStrings;\n }\n\n /**\n * Returns if the current page is the last page.\n * ```typescript\n * const lastPage = this.paginator.isLastPage;\n * ```\n */\n public get isLastPage(): boolean {\n return this.page + 1 >= this.totalPages;\n }\n\n /**\n * Returns if the current page is the first page.\n * ```typescript\n * const lastPage = this.paginator.isFirstPage;\n * ```\n */\n public get isFirstPage(): boolean {\n return this.page === 0;\n }\n\n\n /**\n * Returns if the first pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isFirstPage` property instead.\n */\n public get isFirstPageDisabled(): boolean {\n return this.isFirstPage;\n }\n\n /**\n * Returns if the last pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isLastPage` property instead.\n */\n public get isLastPageDisabled(): boolean {\n return this.isLastPage;\n }\n\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Goes to the next page of the `IgxPaginatorComponent`, if the paginator is not already at the last page.\n * ```typescript\n * this.paginator.nextPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public nextPage(): void {\n if (!this.isLastPage) {\n this.page += 1;\n }\n }\n /**\n * Goes to the previous page of the `IgxPaginatorComponent`, if the paginator is not already at the first page.\n * ```typescript\n * this.paginator.previousPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public previousPage(): void {\n if (!this.isFirstPage) {\n this.page -= 1;\n }\n }\n /**\n * Goes to the desired page index.\n * ```typescript\n * this.paginator.paginate(1);\n * ```\n *\n * @param val\n * @memberof IgxPaginatorComponent\n */\n public paginate(val: number): void {\n if (val < 0 || val > this.totalPages - 1) {\n return;\n }\n this.page = val;\n }\n\n private sortUniqueOptions(values: Array<number>, newOption: number): number[] {\n return Array.from(new Set([...values, newOption])).sort((a, b) => a - b);\n }\n}\n\n\n@Component({\n selector: 'igx-page-size',\n templateUrl: 'page-size-selector.component.html',\n imports: [IgxSelectComponent, FormsModule, IgxSelectItemComponent]\n})\nexport class IgxPageSizeSelectorComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-size')\n public cssClass = 'igx-page-size';\n}\n\n\n@Component({\n selector: 'igx-page-nav',\n templateUrl: 'pager.component.html',\n imports: [IgxRippleDirective, IgxIconComponent, IgxIconButtonDirective]\n})\nexport class IgxPageNavigationComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-nav')\n public cssClass = 'igx-page-nav';\n\n /**\n * Sets the `role` attribute of the element.\n */\n @HostBinding('attr.role')\n @Input()\n public role = 'navigation';\n}\n","<ng-content select=\"[igxPaginatorContent],igx-paginator-content\"></ng-content>\n\n@if (!customContent) {\n <igx-page-size></igx-page-size>\n}\n@if (!customContent) {\n <igx-page-nav></igx-page-nav>\n}\n","<label class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n","<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n > {{\n paginator.resourceStrings.igx_paginator_pager_text\n }} </span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n","import { IgxPaginatorDirective } from './paginator-interfaces';\nimport { IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective } from './paginator.component';\n\nexport * from './paginator.component';\nexport * from './paginator-interfaces';\nexport { IgxPaginatorToken } from './token';\n\n/* NOTE: Paginator directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_PAGINATOR_DIRECTIVES = [\n IgxPaginatorComponent,\n IgxPageNavigationComponent,\n IgxPageSizeSelectorComponent,\n IgxPaginatorContentDirective,\n IgxPaginatorDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_PAGINATOR_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ],\n exports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ]\n})\nexport class IgxPaginatorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxPaginatorComponent","i1.IgxPageNavigationComponent","i1.IgxPageSizeSelectorComponent","i1.IgxPaginatorContentDirective","i2.IgxPaginatorDirective"],"mappings":"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"}