UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

673 lines 63.9 kB
/** * @fileoverview added by tsickle * Generated from: pagination.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; import { fromEvent } from 'rxjs'; import { I18nService } from '@duoduo-oba/ng-devui/i18n'; var PaginationComponent = /** @class */ (function () { function PaginationComponent(ref, i18n) { var _this = this; this.ref = ref; this.i18n = i18n; /** * 【可选】每页显示最大条目数量,默认10条 */ this.pageSize = 10; /** * 【可选】用于选择更改分页每页最大条目数量的下拉框的数据源,默认为`[5, 10, 20, 50]` */ this.pageSizeOptions = [5, 10, 20, 50]; /** * 【可选】初始化页码 */ this.pageIndex = 1; /** * 页码变化的回调 */ this.pageIndexChange = new EventEmitter(); /** * 每页最大条目数量变更时的回调 */ this.pageSizeChange = new EventEmitter(); /** * 分页最多显示几个按钮,默认10个 */ this.maxItems = 10; /** * 【可选】分页组件尺寸 */ this.size = ''; // 是否显示跳转按钮,默认不显示 this.showJumpButton = false; // 翻过了页的需求要显示当前真实页面 this.showTruePageIndex = false; this.showPages = []; this.totalPage = 1; this._total = 0; this.jumpPage = null; /** * 下拉菜单默认方向 */ this.selectDirection = 'auto'; /** * 极简模式开关 */ this.lite = false; this.showPageSelector = true; this.haveConfigMenu = false; this.litePaginatorOptions = []; this.litePaginatorOptionsLengthCache = 0; this.showConfig = false; this.configButtonLoseFocusHandler = null; this.loseFocusListener = null; this.i18nText = this.i18n.getI18nText().pagination; this.i18nSubscription = this.i18n.langChange().subscribe((/** * @param {?} data * @return {?} */ function (data) { _this.i18nText = data.pagination; _this.ref.markForCheck(); })); this.constructLitePaginatorOptions(); } Object.defineProperty(PaginationComponent.prototype, "total", { get: /** * @return {?} */ function () { return this._total; }, set: /** * @param {?} total * @return {?} */ function (total) { if (total === undefined) { this._total = 0; } else { if (!isNaN(parseInt(total, 10))) { this._total = parseInt(total, 10); } } }, enumerable: true, configurable: true }); /** * @return {?} */ PaginationComponent.prototype.first = /** * @return {?} */ function () { if (this.pageIndex !== 1) { this.onPageIndexChange(1); } }; /** * @return {?} */ PaginationComponent.prototype.last = /** * @return {?} */ function () { /** @type {?} */ var last = Math.max(this.totalPage, 1); if (this.pageIndex !== last) { this.onPageIndexChange(last); } }; /** * @return {?} */ PaginationComponent.prototype.prev = /** * @return {?} */ function () { if (this.hasPrev()) { this.onPageIndexChange(this.pageIndex - 1); } }; /** * @return {?} */ PaginationComponent.prototype.next = /** * @return {?} */ function () { if (this.hasNext()) { this.onPageIndexChange(this.pageIndex + 1); } }; /** * @return {?} */ PaginationComponent.prototype.jump = /** * @return {?} */ function () { /** @type {?} */ var pageInput = parseInt(this.jumpPage, 10); if (pageInput) { if (pageInput > 0 && pageInput <= this.totalPage) { this.onPageIndexChange(pageInput); } } }; /** * @return {?} */ PaginationComponent.prototype.validateInput = /** * @return {?} */ function () { if (this.jumpPage === '') { return; } /** @type {?} */ var value = parseInt(this.jumpPage, 10); this.jumpPage = value; if (isNaN(value)) { this.jumpPage = this.pageIndex; } }; /** * @return {?} */ PaginationComponent.prototype.preRange = /** * @return {?} */ function () { /** @type {?} */ var pre = this.showPages[0] - 1; this.onPageIndexChange(Math.max(pre, 1)); }; /** * @return {?} */ PaginationComponent.prototype.nextRange = /** * @return {?} */ function () { /** @type {?} */ var next = this.showPages[this.showPages.length - 1] + 1; this.onPageIndexChange(Math.min(next, this.totalPage)); }; /** * @param {?} pageIndex * @return {?} */ PaginationComponent.prototype.onPageIndexChange = /** * @param {?} pageIndex * @return {?} */ function (pageIndex) { if (this.pageIndex !== pageIndex) { this.litePaginatorIndex = Object.assign({}, { value: this.pageIndex, label: this.pageIndex + "/" + this.totalPage }); this.pageIndexChange.emit(pageIndex); } }; /** * @param {?} size * @return {?} */ PaginationComponent.prototype.onPageSizeChange = /** * @param {?} size * @return {?} */ function (size) { if (this.pageSize !== size) { this.pageSizeChange.emit(size); if (Math.ceil(this.total / size) < this.totalPage) { this.totalPage = Math.ceil(this.total / size); this.onPageIndexChange(this.totalPage <= this.pageIndex ? this.totalPage : this.pageIndex); } this.adjustPaginatorWidth(); } }; /** * @return {?} */ PaginationComponent.prototype.hasPrev = /** * @return {?} */ function () { return this.pageIndex > 1; }; /** * @return {?} */ PaginationComponent.prototype.hasNext = /** * @return {?} */ function () { return this.pageIndex < this.totalPage; }; /** * @private * @return {?} */ PaginationComponent.prototype.getTotalPage = /** * @private * @return {?} */ function () { return Math.ceil(this.total / this.pageSize); }; /** * @param {?} changes * @return {?} */ PaginationComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { /** @type {?} */ var shouldUpdateRanges = PaginationComponent.EFFECT_PAGE_RANGE_KEYS.some((/** * @param {?} key * @return {?} */ function (key) { return !!changes[key]; })); if (shouldUpdateRanges) { this.totalPage = this.getTotalPage(); if (!this.showTruePageIndex) { this.pageIndex = Math.max(Math.min(this.pageIndex, this.totalPage), 1); } this.jumpPage = this.pageIndex; this.updateShowPageRange(); this.constructLitePaginatorOptions(); this.adjustPaginatorWidth(); } }; /** * @return {?} */ PaginationComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.adjustPaginatorWidth(); }; /** * @private * @return {?} */ PaginationComponent.prototype.updateShowPageRange = /** * @private * @return {?} */ function () { if (!this.totalPage) { this.showPages = [1]; return; } if (this.totalPage <= this.maxItems) { this.showPages = new Array(this.totalPage).fill(0).map((/** * @param {?} _ * @param {?} i * @return {?} */ function (_, i) { return i + 1; })); return; } this.showPages = this.extractRange(); }; /** * @private * @return {?} */ PaginationComponent.prototype.extractRange = /** * @private * @return {?} */ function () { var _this = this; /** @type {?} */ var showPages = [this.pageIndex]; /** @type {?} */ var start = this.pageIndex - 1; /** @type {?} */ var end = this.pageIndex + 1; /** @type {?} */ var arriveLeftBound = (/** * @param {?} index * @return {?} */ function (index) { return index < 1; }); /** @type {?} */ var arriveRightBound = (/** * @param {?} index * @return {?} */ function (index) { return index > _this.totalPage; }); /** @type {?} */ var fullPageRang = (/** * @param {?} pages * @return {?} */ function (pages) { return pages.length >= _this.maxItems - 2; }); while (!(fullPageRang(showPages) || (arriveLeftBound(start) && arriveRightBound(end)))) { if (!arriveLeftBound(start)) { showPages.unshift((start--)); } if (!fullPageRang(showPages) && !arriveRightBound(end)) { showPages.push(end++); } } return showPages; }; /** * @private * @return {?} */ PaginationComponent.prototype.constructLitePaginatorOptions = /** * @private * @return {?} */ function () { var _this = this; if (this.litePaginatorOptions.length === 0 || this.litePaginatorOptions.length !== this.litePaginatorOptionsLengthCache) { this.litePaginatorOptions = Array.from({ length: this.totalPage }).map((/** * @param {?} v * @param {?} index * @return {?} */ function (v, index) { return { label: index + 1 + "/" + _this.totalPage, value: index + 1 }; })); } this.litePaginatorIndex = Object.assign({}, { value: this.pageIndex, label: this.pageIndex + "/" + this.totalPage }); }; /** * @private * @return {?} */ PaginationComponent.prototype.adjustPaginatorWidth = /** * @private * @return {?} */ function () { if (this.litePaginator && this.litePaginator.nativeElement && this.litePaginatorOptions.length > 0) { /** @type {?} */ var lastOption = this.litePaginatorOptions[this.litePaginatorOptions.length - 1]; /** @type {?} */ var lastLabel = lastOption ? lastOption['label'] : ''; /** @type {?} */ var minWidth = 100; /** @type {?} */ var width = lastLabel.length * 4 + 80; this.litePaginator.nativeElement.style.width = Math.max(minWidth, width) + "px"; } }; /** * @param {?=} force * @return {?} */ PaginationComponent.prototype.toggleMenu = /** * @param {?=} force * @return {?} */ function (force) { if (force === void 0) { force = null; } if (force !== null) { this.showConfig = force; } else { this.showConfig = !this.showConfig; } this.ref.markForCheck(); if (this.showConfig) { this.subscribeLoseFocusHandler(); } else { this.unsubscribeLoseFocusHandler(); } }; /** * @private * @return {?} */ PaginationComponent.prototype.closeMenu = /** * @private * @return {?} */ function () { this.toggleMenu(false); }; /** * @private * @return {?} */ PaginationComponent.prototype.unsubscribeLoseFocusHandler = /** * @private * @return {?} */ function () { if (this.configButtonLoseFocusHandler) { this.configButtonLoseFocusHandler.unsubscribe(); this.configButtonLoseFocusHandler = null; } }; /** * @return {?} */ PaginationComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.unsubscribeLoseFocusHandler(); if (this.i18nSubscription) { this.i18nSubscription.unsubscribe(); } }; /** * @private * @return {?} */ PaginationComponent.prototype.subscribeLoseFocusHandler = /** * @private * @return {?} */ function () { if (this.loseFocusListener === null) { this.loseFocusListener = fromEvent(document, 'click'); } if (this.configButtonLoseFocusHandler === null) { this.configButtonLoseFocusHandler = this.loseFocusListener.subscribe(this.closeMenu.bind(this)); } }; PaginationComponent.EFFECT_PAGE_RANGE_KEYS = ['total', 'pageSize', 'pageIndex', 'maxItems']; PaginationComponent.decorators = [ { type: Component, args: [{ selector: 'd-pagination', template: "<div class=\"devui-pagination\">\r\n <div *ngIf=\"canChangePageSize && !lite\" class=\"devui-page-size {{ size ? 'devui-page-size-' + size : '' }}\">\r\n <d-select\r\n [scrollHight]=\"'200px'\"\r\n [direction]=\"selectDirection\"\r\n [size]=\"size\"\r\n [ngModel]=\"pageSize\"\r\n [appendToBody]=\"true\"\r\n (valueChange)=\"onPageSizeChange($event)\"\r\n [options]=\"pageSizeOptions\"\r\n [isSearch]=\"false\"\r\n ></d-select>\r\n </div>\r\n <div *ngIf=\"canViewTotal\" class=\"devui-total-size\">{{ totalItemText ? totalItemText : i18nText?.totalItem }}: {{ total }}</div>\r\n <div *ngIf=\"lite && showPageSelector\" class=\"devui-lite-paginator\" #litePaginator>\r\n <d-select\r\n [scrollHight]=\"'200px'\"\r\n [direction]=\"selectDirection\"\r\n [size]=\"size\"\r\n [isSearch]=\"false\"\r\n [ngModel]=\"litePaginatorIndex\"\r\n [appendToBody]=\"true\"\r\n [options]=\"litePaginatorOptions\"\r\n [filterKey]=\"'label'\"\r\n [disabled]=\"!litePaginatorOptions.length\"\r\n (valueChange)=\"onPageIndexChange($event.value)\"\r\n ></d-select>\r\n </div>\r\n <ul class=\"devui-pagination-list {{ size ? 'devui-pagination-' + size : '' }}\">\r\n <ng-container *ngIf=\"!lite\">\r\n <li *ngIf=\"preLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n <a (click)=\"prev()\" class=\"devui-pagination-link\">{{ preLink }}</a>\r\n </li>\r\n <li *ngIf=\"!preLink\" [ngClass]=\"{ disabled: pageIndex == 1 }\">\r\n <a (click)=\"prev()\" class=\"devui-pagination-link\">\r\n <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"\u64CD\u4F5C/collapse1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon\r\n id=\"\u8DEF\u5F84\"\r\n fill=\"#293040\"\r\n fill-rule=\"nonzero\"\r\n points=\"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8\"\r\n ></polygon>\r\n </g>\r\n </svg>\r\n </a>\r\n </li>\r\n <li *ngIf=\"showPages[0] > 1\" (click)=\"first()\">\r\n <a>1</a>\r\n </li>\r\n <li *ngIf=\"showPages[0] > 2\" (click)=\"preRange()\">\r\n <a>...</a>\r\n </li>\r\n <li *ngFor=\"let item of showPages\" [ngClass]=\"{ active: item == pageIndex }\">\r\n <a (click)=\"onPageIndexChange(item)\">{{ item }}</a>\r\n </li>\r\n <li *ngIf=\"showPages[showPages.length - 1] < totalPage - 1\" (click)=\"nextRange()\">\r\n <a>...</a>\r\n </li>\r\n <li *ngIf=\"showPages[showPages.length - 1] < totalPage\" (click)=\"last()\">\r\n <a>{{ totalPage }}</a>\r\n </li>\r\n <ng-container *ngIf=\"showTruePageIndex && pageIndex > totalPage && totalPage > 0\">\r\n <li *ngIf=\"pageIndex > totalPage + 1\" class=\"disabled\"><a>...</a></li>\r\n <li class=\"active disabled\">\r\n <a>{{ pageIndex }}</a>\r\n </li>\r\n </ng-container>\r\n <li *ngIf=\"nextLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n <a (click)=\"next()\" class=\"devui-pagination-link\">{{ nextLink }}</a>\r\n </li>\r\n <li *ngIf=\"!nextLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n <a (click)=\"next()\" class=\"devui-pagination-link\">\r\n <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"\u64CD\u4F5C/collapse2\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon\r\n id=\"\u8DEF\u5F84\"\r\n fill=\"#293040\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) \"\r\n points=\"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8\"\r\n ></polygon>\r\n </g>\r\n </svg>\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"lite\">\r\n <li *ngIf=\"preLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n <a (click)=\"prev()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite\">{{ preLink }}</a>\r\n </li>\r\n <li *ngIf=\"!preLink\" [ngClass]=\"{ disabled: pageIndex == 1 }\">\r\n <a (click)=\"prev()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite \">\r\n <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"\u64CD\u4F5C/collapse1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon\r\n id=\"\u8DEF\u5F84\"\r\n fill=\"#293040\"\r\n fill-rule=\"nonzero\"\r\n points=\"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8\"\r\n ></polygon>\r\n </g>\r\n </svg>\r\n </a>\r\n </li>\r\n <li *ngIf=\"nextLink\" [ngClass]=\"{ disabled: pageIndex >= totalPage }\">\r\n <a (click)=\"next()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite\">{{ nextLink }}</a>\r\n </li>\r\n <li *ngIf=\"!nextLink\" [ngClass]=\"{ disabled: pageIndex >= totalPage }\">\r\n <a (click)=\"next()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite \">\r\n <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"\u64CD\u4F5C/collapse2\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon\r\n id=\"\u8DEF\u5F84\"\r\n fill=\"#293040\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) \"\r\n points=\"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8\"\r\n ></polygon>\r\n </g>\r\n </svg>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div *ngIf=\"canJumpPage\" class=\"devui-jump-container\">\r\n {{ goToText ? goToText : i18nText?.goTo }}\r\n <input\r\n type=\"text\"\r\n class=\"devui-input {{ size ? 'devui-input-' + size : '' }}\"\r\n name=\"pageIndex\"\r\n [(ngModel)]=\"jumpPage\"\r\n (keyup.enter)=\"jump()\"\r\n (keyup)=\"validateInput()\"\r\n />\r\n <div\r\n *ngIf=\"showJumpButton\"\r\n class=\"devui-jump-button {{ size ? 'devui-jump-size-' + size : 'devui-jump-size-default' }}\"\r\n title=\"{{ goToText ? goToText : i18nText?.goTo }}\"\r\n (click)=\"jump()\"\r\n >\r\n <div class=\"devui-pagination-go\"></div>\r\n </div>\r\n </div>\r\n <div class=\"devui-pagination-config\" *ngIf=\"haveConfigMenu\">\r\n <div class=\"devui-setup-icon\" (click)=\"$event.stopPropagation(); toggleMenu()\">\r\n <svg\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 16 16\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <path\r\n d=\"M8,12 C10.209139,12 12,10.209139 12,8 C12,5.790861 10.209139,4 8,4 C5.790861,4 4,5.790861 4,8 C4,10.209139 5.790861,12 8,12 Z M4.52067059,3.11124369 C5.24511171,2.59473146 6.08922816,2.23522497 7.00334609,2.08239805 C7.00112987,2.05522493 7,2.02774441 7,2 L7,1 C7,0.44771525 7.44771525,1.01453063e-16 8,0 C8.55228475,-1.01453063e-16 9,0.44771525 9,1 L9,2 C9,2.02774441 8.99887013,2.05522493 8.99665391,2.08239805 C9.91077184,2.23522497 10.7548883,2.59473146 11.4793294,3.11124369 C11.4970673,3.09033559 11.5158021,3.06998434 11.5355339,3.05025253 L12.2426407,2.34314575 C12.633165,1.95262146 13.26633,1.95262146 13.6568542,2.34314575 C14.0473785,2.73367004 14.0473785,3.36683502 13.6568542,3.75735931 L12.9497475,4.46446609 C12.9300157,4.4841979 12.9096644,4.50293273 12.8887563,4.52067059 C13.4052685,5.24511171 13.764775,6.08922816 13.917602,7.00334609 C13.9447751,7.00112987 13.9722556,7 14,7 L15,7 C15.5522847,7 16,7.44771525 16,8 C16,8.55228475 15.5522847,9 15,9 L14,9 C13.9722556,9 13.9447751,8.99887013 13.917602,8.99665391 C13.764775,9.91077184 13.4052685,10.7548883 12.8887563,11.4793294 C12.9096644,11.4970673 12.9300157,11.5158021 12.9497475,11.5355339 L13.6568542,12.2426407 C14.0473785,12.633165 14.0473785,13.26633 13.6568542,13.6568542 C13.26633,14.0473785 12.633165,14.0473785 12.2426407,13.6568542 L11.5355339,12.9497475 C11.5158021,12.9300157 11.4970673,12.9096644 11.4793294,12.8887563 C10.7548883,13.4052685 9.91077184,13.764775 8.99665391,13.917602 C8.99887013,13.9447751 9,13.9722556 9,14 L9,15 C9,15.5522847 8.55228475,16 8,16 C7.44771525,16 7,15.5522847 7,15 L7,14 C7,13.9722556 7.00112987,13.9447751 7.00334609,13.917602 C6.08922816,13.764775 5.24511171,13.4052685 4.52067059,12.8887563 C4.50293273,12.9096644 4.4841979,12.9300157 4.46446609,12.9497475 L3.75735931,13.6568542 C3.36683502,14.0473785 2.73367004,14.0473785 2.34314575,13.6568542 C1.95262146,13.26633 1.95262146,12.633165 2.34314575,12.2426407 L3.05025253,11.5355339 C3.06998434,11.5158021 3.09033559,11.4970673 3.11124369,11.4793294 C2.59473146,10.7548883 2.23522497,9.91077184 2.08239805,8.99665391 C2.05522493,8.99887013 2.02774441,9 2,9 L1,9 C0.44771525,9 2.4125371e-16,8.55228475 3.83475851e-17,8 C-1.6455854e-16,7.44771525 0.44771525,7 1,7 L2,7 C2.02774441,7 2.05522493,7.00112987 2.08239805,7.00334609 C2.23522497,6.08922816 2.59473146,5.24511171 3.11124369,4.52067059 C3.09033559,4.50293273 3.06998434,4.4841979 3.05025253,4.46446609 L2.34314575,3.75735931 C1.95262146,3.36683502 1.95262146,2.73367004 2.34314575,2.34314575 C2.73367004,1.95262146 3.36683502,1.95262146 3.75735931,2.34314575 L4.46446609,3.05025253 C4.4841979,3.06998434 4.50293273,3.09033559 4.52067059,3.11124369 Z M8,9 C7.44771525,9 7,8.55228475 7,8 C7,7.44771525 7.44771525,7 8,7 C8.55228475,7 9,7.44771525 9,8 C9,8.55228475 8.55228475,9 8,9 Z\"\r\n id=\"\u5F62\u72B6\"\r\n fill=\"#293040\"\r\n fill-rule=\"nonzero\"\r\n ></path>\r\n </g>\r\n </svg>\r\n </div>\r\n <div *ngIf=\"showConfig\" class=\"devui-config-container\">\r\n <ng-content></ng-content>\r\n <div class=\"devui-pagination-config-item devui-page-size-config\" *ngIf=\"canChangePageSize\">\r\n <div class=\"devui-config-item-title\">\u6BCF\u9875\u6761\u6570</div>\r\n <div class=\"devui-page-number\">\r\n <ng-container *ngFor=\"let size of pageSizeOptions\">\r\n <div class=\"number\" [ngClass]=\"{ choosed: size === pageSize }\" (click)=\"onPageSizeChange(size)\">\r\n {{ size }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", exportAs: 'pagination', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}.devui-pagination .devui-page-size{display:inline-block;max-width:100px;vertical-align:middle;margin:0 10px 0 0;position:relative}.devui-pagination .devui-page-size.devui-page-size-sm{max-width:60px}.devui-pagination .devui-page-size.devui-page-size-lg{max-width:100px}.devui-pagination .devui-total-size{display:inline-block;position:relative;margin:0 20px 0 0;color:#575d6c}.devui-pagination .devui-pagination-list{display:inline-block;margin:20px 0}.devui-pagination .devui-pagination-list>.disabled>a,.devui-pagination .devui-pagination-list>.disabled>a:focus,.devui-pagination .devui-pagination-list>.disabled>a:hover{cursor:not-allowed}.devui-pagination .devui-pagination-list li{display:inline}.devui-pagination .devui-pagination-list li.disabled a{background:#fff;opacity:.3}.devui-pagination .devui-pagination-list li:not(.disabled){cursor:pointer}.devui-pagination .devui-pagination-list li:not(.disabled) a:focus,.devui-pagination .devui-pagination-list li:not(.disabled) a:hover,.devui-pagination .devui-pagination-list li:not(.disabled) span:focus,.devui-pagination .devui-pagination-list li:not(.disabled) span:hover{background:#f2f5fc}.devui-pagination .devui-pagination-list li:not(.disabled).active a{background:#5e7ce0;color:#fff;cursor:default}.devui-pagination .devui-pagination-list li:not(.disabled) a.devui-pagination-link:hover svg g polygon{fill:#5e7ce0}.devui-pagination .devui-pagination-list li:not(.disabled) a.devui-pagination-link-lite:hover{border:1px solid #adb0b8!important}.devui-pagination .devui-pagination-list .devui-pagination-link svg{vertical-align:bottom}.devui-pagination .devui-pagination-list .devui-pagination-link svg g polygon{fill:#252b3a}.devui-pagination .devui-pagination-list .devui-pagination-link-lite{border:1px solid transparent!important;border-radius:2px}.devui-pagination .devui-pagination-list>li>a{margin-left:5px;padding:5px 12px;line-height:1.42857143}.devui-pagination .devui-pagination-sm>li>a{padding:4px 10px;line-height:1.66666667;font-size:12px}.devui-pagination .devui-pagination-lg>li>a{padding:9px 17px;font-size:16px;line-height:1.3333333}.devui-pagination .devui-pagination-list>li:first-child>a,.devui-pagination .devui-pagination-list>li:last-child>a{padding:4px 11px;border-radius:1px;border:1px solid #adb0b8}.devui-pagination .devui-pagination-sm>li:first-child>a,.devui-pagination .devui-pagination-sm>li:last-child>a{padding:3px 4px;border-radius:1px;border:1px solid #adb0b8}.devui-pagination .devui-pagination-lg>li:first-child>a,.devui-pagination .devui-pagination-lg>li:last-child>a{padding:8px 16px;border-radius:1px;border:1px solid #adb0b8}.devui-pagination .devui-jump-container{display:inline-block;position:relative;margin:0 10px}.devui-pagination .devui-jump-container .devui-input{display:inline-block;width:50px;margin-right:5px}.devui-pagination .devui-jump-button{display:inline-block;vertical-align:bottom;border-radius:1px;border:1px solid #adb0b8;cursor:pointer}.devui-pagination .devui-jump-button .devui-pagination-go{width:0;height:0;border-top-style:solid;border-left-style:solid;border-bottom-style:solid}.devui-pagination .devui-jump-button:hover{border-color:#344899}.devui-pagination .devui-jump-button:hover .devui-pagination-go{border-left-color:#344899}.devui-pagination .devui-jump-size-default{width:34px;height:34px}.devui-pagination .devui-jump-size-default .devui-pagination-go{width:0;height:0;border-top:12px solid transparent;border-left:12px solid #575d6c;border-bottom:12px solid transparent;margin:4px auto}.devui-pagination .devui-jump-size-sm{width:24px;height:24px}.devui-pagination .devui-jump-size-sm .devui-pagination-go{width:0;height:0;border-top:8px solid transparent;border-left:8px solid #575d6c;border-bottom:8px solid transparent;margin:3px auto}.devui-pagination .devui-jump-size-lg{width:46px;height:46px}.devui-pagination .devui-jump-size-lg .devui-pagination-go{width:0;height:0;border-top:16px solid transparent;border-left:16px solid #575d6c;border-bottom:16px solid transparent;margin:6px auto}.devui-pagination .devui-lite-paginator{display:inline-block;margin-right:5px;width:100px}.devui-pagination .devui-pagination-config{color:#252b3a;position:relative;display:inline-block;vertical-align:middle;margin:0 5px}.devui-pagination .devui-pagination-config .devui-setup-icon{line-height:30px;cursor:pointer;display:-webkit-box;display:flex}.devui-pagination .devui-pagination-config .devui-setup-icon svg g path{fill:#252b3a}.devui-pagination .devui-pagination-config .devui-config-container{padding:5px 0;box-shadow:0 0 6px 1px rgba(41,48,64,.2);border-radius:2px;width:150px;background-color:#fff;line-height:26px;position:absolute;left:-136px;top:28px;cursor:auto;z-index:1000;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item.devui-page-size-config{border-bottom:none}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item{padding-bottom:8px;padding-top:5px;border-bottom:1px solid #dfe1e6}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-config-item-title{color:#575d6c;padding-left:10px;font-size:12px;line-height:22px}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number{padding-left:10px;margin-top:4px;display:-webkit-box;display:flex;display:-ms-flexbox}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number div{color:#252b3a;cursor:pointer;border-top:1px solid #adb0b8;border-bottom:1px solid #adb0b8;border-right:1px solid #adb0b8;text-align:center;height:26px;width:26px}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number div:hover{background-color:#f2f5fc}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number div:first-child{border-left:1px solid #adb0b8}.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number .choosed,.devui-pagination .devui-pagination-config .devui-config-container .devui-pagination-config-item .devui-page-number .devui-page-number div.choosed{color:#5e7ce0;background-color:#f2f5fc!important;cursor:auto!important}:host ::ng-deep .devui-input-sm{height:24px;padding:5px;font-size:14px;line-height:18px;border-radius:0}:host ::ng-deep .devui-select-sm{min-height:24px}"] }] } ]; /** @nocollapse */ PaginationComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef }, { type: I18nService } ]; }; PaginationComponent.propDecorators = { pageSize: [{ type: Input }], pageSizeOptions: [{ type: Input }], pageIndex: [{ type: Input }], pageIndexChange: [{ type: Output }], pageSizeChange: [{ type: Output }], maxItems: [{ type: Input }], preLink: [{ type: Input }], nextLink: [{ type: Input }], size: [{ type: Input }], canJumpPage: [{ type: Input }], canChangePageSize: [{ type: Input }], canViewTotal: [{ type: Input }], cssClass: [{ type: Input }], showJumpButton: [{ type: Input }], showTruePageIndex: [{ type: Input }], id: [{ type: Input }], totalItemText: [{ type: Input }], goToText: [{ type: Input }], selectDirection: [{ type: Input }], lite: [{ type: Input }], showPageSelector: [{ type: Input }], haveConfigMenu: [{ type: Input }], litePaginator: [{ type: ViewChild, args: ['litePaginator', { static: false },] }], total: [{ type: Input }] }; return PaginationComponent; }()); export { PaginationComponent }; if (false) { /** @type {?} */ PaginationComponent.EFFECT_PAGE_RANGE_KEYS; /** * 【可选】每页显示最大条目数量,默认10条 * @type {?} */ PaginationComponent.prototype.pageSize; /** * 【可选】用于选择更改分页每页最大条目数量的下拉框的数据源,默认为`[5, 10, 20, 50]` * @type {?} */ PaginationComponent.prototype.pageSizeOptions; /** * 【可选】初始化页码 * @type {?} */ PaginationComponent.prototype.pageIndex; /** * 页码变化的回调 * @type {?} */ PaginationComponent.prototype.pageIndexChange; /** * 每页最大条目数量变更时的回调 * @type {?} */ PaginationComponent.prototype.pageSizeChange; /** * 分页最多显示几个按钮,默认10个 * @type {?} */ PaginationComponent.prototype.maxItems; /** * 【可选】前一页按钮文字,默认为左箭头图标 * @type {?} */ PaginationComponent.prototype.preLink; /** * 【可选】后一页按钮文字,默认为左箭头图标 * @type {?} */ PaginationComponent.prototype.nextLink; /** * 【可选】分页组件尺寸 * @type {?} */ PaginationComponent.prototype.size; /** * 【可选】是否显示分页输入跳转 * @type {?} */ PaginationComponent.prototype.canJumpPage; /** * 【可选】是否显示用于选择更改分页每页最大条目数量的下拉框 * @type {?} */ PaginationComponent.prototype.canChangePageSize; /** * 【可选】是否显示总条目 * @type {?} */ PaginationComponent.prototype.canViewTotal; /** @type {?} */ PaginationComponent.prototype.cssClass; /** @type {?} */ PaginationComponent.prototype.showJumpButton; /** @type {?} */ PaginationComponent.prototype.showTruePageIndex; /** @type {?} */ PaginationComponent.prototype.id; /** @type {?} */ PaginationComponent.prototype.showPages; /** @type {?} */ PaginationComponent.prototype.totalPage; /** @type {?} */ PaginationComponent.prototype._total; /** @type {?} */ PaginationComponent.prototype.jumpPage; /** @type {?} */ PaginationComponent.prototype.totalItemText; /** @type {?} */ PaginationComponent.prototype.goToText; /** * 下拉菜单默认方向 * @type {?} */ PaginationComponent.prototype.selectDirection; /** * 极简模式开关 * @type {?} */ PaginationComponent.prototype.lite; /** @type {?} */ PaginationComponent.prototype.showPageSelector; /** @type {?} */ PaginationComponent.prototype.haveConfigMenu; /** @type {?} */ PaginationComponent.prototype.litePaginatorIndex; /** @type {?} */ PaginationComponent.prototype.litePaginatorOptions; /** * @type {?} * @private */ PaginationComponent.prototype.litePaginatorOptionsLengthCache; /** @type {?} */ PaginationComponent.prototype.showConfig; /** @type {?} */ PaginationComponent.prototype.litePaginator; /** * @type {?} * @private */ PaginationComponent.prototype.configButtonLoseFocusHandler; /** * @type {?} * @private */ PaginationComponent.prototype.loseFocusListener; /** @type {?} */ PaginationComponent.prototype.i18nText; /** @type {?} */ PaginationComponent.prototype.i18nSubscription; /** * @type {?} * @private */ PaginationComponent.prototype.ref; /** * @type {?} * @private */ PaginationComponent.prototype.i18n; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9wYWdpbmF0aW9uLyIsInNvdXJjZXMiOlsicGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRDtJQTRGRSw2QkFBcUIsR0FBc0IsRUFBVSxJQUFpQjtRQUF0RSxpQkFPQztRQVBvQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7Ozs7UUEvRTdELGFBQVEsR0FBRyxFQUFFLENBQUM7Ozs7UUFJZCxvQkFBZSxHQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7UUFJNUMsY0FBUyxHQUFHLENBQUMsQ0FBQzs7OztRQUliLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQzs7OztRQUk3QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7Ozs7UUFJN0MsYUFBUSxHQUFHLEVBQUUsQ0FBQzs7OztRQVlkLFNBQUksR0FBcUIsRUFBRSxDQUFDOztRQWU1QixtQkFBYyxHQUFHLEtBQUssQ0FBQzs7UUFFdkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLGFBQVEsR0FBRyxJQUFJLENBQUM7Ozs7UUFRUCxvQkFBZSxHQUEyQixNQUFN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bkMsaUNBQVk7O0lBQ1osd0NBQWU7O0lBQ2Ysd0NBQWM7O0lBQ2QscUNBQVc7O0lBQ1gsdUNBQWdCOztJQUdoQiw0Q0FBK0I7O0lBQy9CLHVDQUEwQjs7Ozs7SUFJMUIsOENBQTBEOzs7OztJQUsxRCxtQ0FBc0I7O0lBQ3RCLCtDQUFpQzs7SUFDakMsNkNBQWdDOztJQUNoQyxpREFBNEQ7O0lBQzVELG1EQUFpQzs7Ozs7SUFDakMsOERBQTRDOztJQUM1Qyx5Q0FBbUI7O0lBQ25CLDRDQUF5RTs7Ozs7SUFDekUsMkRBQWlFOzs7OztJQUNqRSxnREFBc0M7O0lBQ3RDLHVDQUFzQzs7SUFDdEMsK0NBQStCOzs7OztJQUNsQixrQ0FBOEI7Ozs7O0lBQUUsbUNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9