@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
673 lines • 63.9 kB
JavaScript
/**
* @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