{"version":3,"file":"paginator.js","sources":["../../packages/material/paginator/paginator-intl.js","../../packages/material/paginator/paginator.js","../../packages/material/paginator/paginator-module.js","../../packages/material/paginator/index.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\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://angular.io/license\n */\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\n/**\n * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and\n * include it in a custom provider\n */\nexport class MatPaginatorIntl {\n constructor() {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n this.changes = new Subject();\n /**\n * A label for the page size selector.\n */\n this.itemsPerPageLabel = 'Items per page:';\n /**\n * A label for the button that increments the current page.\n */\n this.nextPageLabel = 'Next page';\n /**\n * A label for the button that decrements the current page.\n */\n this.previousPageLabel = 'Previous page';\n /**\n * A label for the range of items within the current page and the length of the whole list.\n */\n this.getRangeLabel = (page, pageSize, length) => {\n if (length == 0 || pageSize == 0) {\n return `0 of ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} of ${length}`;\n };\n }\n}\nMatPaginatorIntl.decorators = [\n { type: Injectable },\n];\n/**\n * @nocollapse\n */\nMatPaginatorIntl.ctorParameters = () => [];\nfunction MatPaginatorIntl_tsickle_Closure_declarations() {\n /** @type {?} */\n MatPaginatorIntl.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatPaginatorIntl.ctorParameters;\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n * @type {?}\n */\n MatPaginatorIntl.prototype.changes;\n /**\n * A label for the page size selector.\n * @type {?}\n */\n MatPaginatorIntl.prototype.itemsPerPageLabel;\n /**\n * A label for the button that increments the current page.\n * @type {?}\n */\n MatPaginatorIntl.prototype.nextPageLabel;\n /**\n * A label for the button that decrements the current page.\n * @type {?}\n */\n MatPaginatorIntl.prototype.previousPageLabel;\n /**\n * A label for the range of items within the current page and the length of the whole list.\n * @type {?}\n */\n MatPaginatorIntl.prototype.getRangeLabel;\n}\n//# sourceMappingURL=paginator-intl.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\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://angular.io/license\n */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';\nimport { MatPaginatorIntl } from './paginator-intl';\n/**\n * The default page size if there is no page size and there are no provided page size options.\n */\nconst DEFAULT_PAGE_SIZE = 50;\n/**\n * Change event object that is emitted when the user selects a\n * different page size or navigates to another page.\n */\nexport class PageEvent {\n}\nfunction PageEvent_tsickle_Closure_declarations() {\n /**\n * The current page index.\n * @type {?}\n */\n PageEvent.prototype.pageIndex;\n /**\n * The current page size\n * @type {?}\n */\n PageEvent.prototype.pageSize;\n /**\n * The current total number of items being paged\n * @type {?}\n */\n PageEvent.prototype.length;\n}\n/**\n * Component to provide navigation between paged information. Displays the size of the current\n * page, user-selectable options to change that size, what items are being shown, and\n * navigational button to go to the previous or next page.\n */\nexport class MatPaginator {\n /**\n * @param {?} _intl\n * @param {?} _changeDetectorRef\n */\n constructor(_intl, _changeDetectorRef) {\n this._intl = _intl;\n this._changeDetectorRef = _changeDetectorRef;\n this._pageIndex = 0;\n this._length = 0;\n this._pageSizeOptions = [];\n /**\n * Event emitted when the paginator changes the page size or page index.\n */\n this.page = new EventEmitter();\n this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());\n }\n /**\n * The zero-based page index of the displayed list of items. Defaulted to 0.\n * @return {?}\n */\n get pageIndex() { return this._pageIndex; }\n /**\n * @param {?} pageIndex\n * @return {?}\n */\n set pageIndex(pageIndex) {\n this._pageIndex = pageIndex;\n this._changeDetectorRef.markForCheck();\n }\n /**\n * The length of the total number of items that are being paginated. Defaulted to 0.\n * @return {?}\n */\n get length() { return this._length; }\n /**\n * @param {?} length\n * @return {?}\n */\n set length(length) {\n this._length = length;\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Number of items to display on a page. By default set to 50.\n * @return {?}\n */\n get pageSize() { return this._pageSize; }\n /**\n * @param {?} pageSize\n * @return {?}\n */\n set pageSize(pageSize) {\n this._pageSize = pageSize;\n this._updateDisplayedPageSizeOptions();\n }\n /**\n * The set of provided page size options to display to the user.\n * @return {?}\n */\n get pageSizeOptions() { return this._pageSizeOptions; }\n /**\n * @param {?} pageSizeOptions\n * @return {?}\n */\n set pageSizeOptions(pageSizeOptions) {\n this._pageSizeOptions = pageSizeOptions;\n this._updateDisplayedPageSizeOptions();\n }\n /**\n * @return {?}\n */\n ngOnInit() {\n this._initialized = true;\n this._updateDisplayedPageSizeOptions();\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this._intlChanges.unsubscribe();\n }\n /**\n * Advances to the next page if it exists.\n * @return {?}\n */\n nextPage() {\n if (!this.hasNextPage()) {\n return;\n }\n this.pageIndex++;\n this._emitPageEvent();\n }\n /**\n * Move back to the previous page if it exists.\n * @return {?}\n */\n previousPage() {\n if (!this.hasPreviousPage()) {\n return;\n }\n this.pageIndex--;\n this._emitPageEvent();\n }\n /**\n * Whether there is a previous page.\n * @return {?}\n */\n hasPreviousPage() {\n return this.pageIndex >= 1 && this.pageSize != 0;\n }\n /**\n * Whether there is a next page.\n * @return {?}\n */\n hasNextPage() {\n const /** @type {?} */ numberOfPages = Math.ceil(this.length / this.pageSize) - 1;\n return this.pageIndex < numberOfPages && this.pageSize != 0;\n }\n /**\n * Changes the page size so that the first item displayed on the page will still be\n * displayed using the new page size.\n *\n * For example, if the page size is 10 and on the second page (items indexed 10-19) then\n * switching so that the page size is 5 will set the third page as the current page so\n * that the 10th item will still be displayed.\n * @param {?} pageSize\n * @return {?}\n */\n _changePageSize(pageSize) {\n // Current page needs to be updated to reflect the new page size. Navigate to the page\n // containing the previous page's first item.\n const /** @type {?} */ startIndex = this.pageIndex * this.pageSize;\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\n this.pageSize = pageSize;\n this._emitPageEvent();\n }\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n * @return {?}\n */\n _updateDisplayedPageSizeOptions() {\n if (!this._initialized) {\n return;\n }\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.pageSize) {\n this._pageSize = this.pageSizeOptions.length != 0 ?\n this.pageSizeOptions[0] :\n DEFAULT_PAGE_SIZE;\n }\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) == -1) {\n this._displayedPageSizeOptions.push(this.pageSize);\n }\n // Sort the numbers using a number-specific sort function.\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Emits an event notifying that a change of the paginator's properties has been triggered.\n * @return {?}\n */\n _emitPageEvent() {\n this.page.next({\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length\n });\n }\n}\nMatPaginator.decorators = [\n { type: Component, args: [{selector: 'mat-paginator',\n exportAs: 'matPaginator',\n template: \"
{{_intl.itemsPerPageLabel}}
1\\\" class=\\\"mat-paginator-page-size-select\\\">{{pageSizeOption}}
{{pageSize}}
{{_intl.getRangeLabel(pageIndex, pageSize, length)}}
\",\n styles: [\".mat-paginator{display:flex;align-items:center;justify-content:flex-end;min-height:56px;padding:0 8px}.mat-paginator-page-size{display:flex;align-items:center}.mat-paginator-page-size-label{margin:0 4px}.mat-paginator-page-size-select{margin:0 4px;width:56px}.mat-paginator-range-label{margin:0 32px}.mat-paginator-increment-button+.mat-paginator-increment-button{margin:0 0 0 8px}[dir=rtl] .mat-paginator-increment-button+.mat-paginator-increment-button{margin:0 8px 0 0}.mat-paginator-decrement,.mat-paginator-increment{width:8px;height:8px}.mat-paginator-decrement,[dir=rtl] .mat-paginator-increment{transform:rotate(45deg)}.mat-paginator-increment,[dir=rtl] .mat-paginator-decrement{transform:rotate(225deg)}.mat-paginator-decrement{margin-left:12px}[dir=rtl] .mat-paginator-decrement{margin-right:12px}.mat-paginator-increment{margin-left:16px}[dir=rtl] .mat-paginator-increment{margin-right:16px}\"],\n host: {\n 'class': 'mat-paginator',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n },] },\n];\n/**\n * @nocollapse\n */\nMatPaginator.ctorParameters = () => [\n { type: MatPaginatorIntl, },\n { type: ChangeDetectorRef, },\n];\nMatPaginator.propDecorators = {\n 'pageIndex': [{ type: Input },],\n 'length': [{ type: Input },],\n 'pageSize': [{ type: Input },],\n 'pageSizeOptions': [{ type: Input },],\n 'page': [{ type: Output },],\n};\nfunction MatPaginator_tsickle_Closure_declarations() {\n /** @type {?} */\n MatPaginator.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatPaginator.ctorParameters;\n /** @type {?} */\n MatPaginator.propDecorators;\n /** @type {?} */\n MatPaginator.prototype._initialized;\n /** @type {?} */\n MatPaginator.prototype._intlChanges;\n /** @type {?} */\n MatPaginator.prototype._pageIndex;\n /** @type {?} */\n MatPaginator.prototype._length;\n /** @type {?} */\n MatPaginator.prototype._pageSize;\n /** @type {?} */\n MatPaginator.prototype._pageSizeOptions;\n /**\n * Event emitted when the paginator changes the page size or page index.\n * @type {?}\n */\n MatPaginator.prototype.page;\n /**\n * Displayed set of page size options. Will be sorted and include current page size.\n * @type {?}\n */\n MatPaginator.prototype._displayedPageSizeOptions;\n /** @type {?} */\n MatPaginator.prototype._intl;\n /** @type {?} */\n MatPaginator.prototype._changeDetectorRef;\n}\n//# sourceMappingURL=paginator.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\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://angular.io/license\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatPaginator } from './paginator';\nimport { MatPaginatorIntl } from './paginator-intl';\nexport class MatPaginatorModule {\n}\nMatPaginatorModule.decorators = [\n { type: NgModule, args: [{\n imports: [\n CommonModule,\n MatButtonModule,\n MatSelectModule,\n MatTooltipModule,\n ],\n exports: [MatPaginator],\n declarations: [MatPaginator],\n providers: [MatPaginatorIntl],\n },] },\n];\n/**\n * @nocollapse\n */\nMatPaginatorModule.ctorParameters = () => [];\nfunction MatPaginatorModule_tsickle_Closure_declarations() {\n /** @type {?} */\n MatPaginatorModule.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n MatPaginatorModule.ctorParameters;\n}\n//# sourceMappingURL=paginator-module.js.map","/**\n * Generated bundle index. Do not edit.\n */\nexport { MatPaginatorModule, PageEvent, MatPaginator, MatPaginatorIntl } from './public-api';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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"}