UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

184 lines (183 loc) 15 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, EventEmitter, Output } from '@angular/core'; import * as nh from '../../native-helper'; var AsiPaginationComponent = /** @class */ (function () { function AsiPaginationComponent() { this.nbElements = 0; this.nbVisibleElements = 0; this.selectedPagination = 1; this.onPaginationChanged = new EventEmitter(); } /** * @return {?} */ AsiPaginationComponent.prototype.onFirstPage = /** * @return {?} */ function () { return this.selectedPagination === 1; }; /** * @return {?} */ AsiPaginationComponent.prototype.onLastPage = /** * @return {?} */ function () { return this.selectedPagination === this.nbElements; }; /** * @param {?} pagination * @return {?} */ AsiPaginationComponent.prototype.isCurrentPagination = /** * @param {?} pagination * @return {?} */ function (pagination) { return this.selectedPagination === pagination; }; /** * @param {?} pagination * @return {?} */ AsiPaginationComponent.prototype.changePagination = /** * @param {?} pagination * @return {?} */ function (pagination) { if (pagination !== AsiPaginationComponent.TRI_POINT) { this.selectedPagination = pagination; this.onPaginationChanged.emit(this.selectedPagination); } }; /** * @return {?} */ AsiPaginationComponent.prototype.previousPage = /** * @return {?} */ function () { if (this.selectedPagination > 1) { this.selectedPagination--; this.onPaginationChanged.emit(this.selectedPagination); } }; /** * @return {?} */ AsiPaginationComponent.prototype.nextPage = /** * @return {?} */ function () { if (this.selectedPagination < this.nbElements) { this.selectedPagination++; this.onPaginationChanged.emit(this.selectedPagination); } }; /** * @return {?} */ AsiPaginationComponent.prototype.goLastPage = /** * @return {?} */ function () { if (this.selectedPagination !== this.nbElements) { this.selectedPagination = this.nbElements; this.onPaginationChanged.emit(this.selectedPagination); } }; /** * @return {?} */ AsiPaginationComponent.prototype.goFirstPage = /** * @return {?} */ function () { if (this.selectedPagination !== 1) { this.selectedPagination = 1; this.onPaginationChanged.emit(this.selectedPagination); } }; /** * @return {?} */ AsiPaginationComponent.prototype.getPaginationItems = /** * @return {?} */ function () { /** @type {?} */ var currentPage = this.selectedPagination; /** @type {?} */ var halfVisibleElement = Math.floor(this.nbVisibleElements / 2); if (!this.nbElements) { this.nbElements = 1; } if (this.nbElements <= this.nbVisibleElements) { // Show all return this.createNumbersTab(1, this.nbElements); } else if (currentPage < halfVisibleElement + 2) { // Pagination start return nh.concat(this.createNumbersTab(1, this.nbVisibleElements - 1), [AsiPaginationComponent.TRI_POINT, this.nbElements]); } else if (currentPage > this.nbElements - halfVisibleElement) { // Pagination end return nh.concat([1, AsiPaginationComponent.TRI_POINT], this.createNumbersTab(this.nbElements - this.nbVisibleElements + 2, this.nbElements)); } else { // Between return nh.concat([1, AsiPaginationComponent.TRI_POINT], this.createNumbersTab(currentPage - halfVisibleElement + 1, currentPage + halfVisibleElement - 1), [AsiPaginationComponent.TRI_POINT, this.nbElements]); } }; ; /** * @param {?} min * @param {?} max * @return {?} */ AsiPaginationComponent.prototype.createNumbersTab = /** * @param {?} min * @param {?} max * @return {?} */ function (min, max) { /** @type {?} */ var index = min - 1; return nh.times(max - min + 1, function () { return ++index; }); }; AsiPaginationComponent.TRI_POINT = '...'; AsiPaginationComponent.decorators = [ { type: Component, args: [{ selector: 'asi-pagination', host: { 'class': 'asi-component asi-pagination' }, template: "<div class=\"action-panel\">\r\n <div [ngClass]=\"{ 'disabled' : onFirstPage()}\">\r\n <span (click)=\"goFirstPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'&#139;&#139;'\"></span>\r\n <span (click)=\"previousPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'&#139;'\"></span>\r\n </div>\r\n</div>\r\n<span *ngFor=\"let paginationItem of getPaginationItems()\" [ngClass]=\"{'selected' : isCurrentPagination(paginationItem) , 'paginate-boutton' : paginationItem != '...'}\"\r\n (click)=\"changePagination(paginationItem)\" [innerHTML]=\"paginationItem\"></span>\r\n<div class=\"action-panel\">\r\n <div [ngClass]=\"{ 'disabled' : onLastPage()}\">\r\n <span (click)=\"nextPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'&#155;'\"></span>\r\n <span (click)=\"goLastPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'&#155;&#155;'\"></span>\r\n </div>\r\n</div>" }] } ]; AsiPaginationComponent.propDecorators = { nbElements: [{ type: Input }], nbVisibleElements: [{ type: Input }], selectedPagination: [{ type: Input }], onPaginationChanged: [{ type: Output }] }; return AsiPaginationComponent; }()); export { AsiPaginationComponent }; if (false) { /** @type {?} */ AsiPaginationComponent.TRI_POINT; /** @type {?} */ AsiPaginationComponent.prototype.nbElements; /** @type {?} */ AsiPaginationComponent.prototype.nbVisibleElements; /** @type {?} */ AsiPaginationComponent.prototype.selectedPagination; /** @type {?} */ AsiPaginationComponent.prototype.onPaginationChanged; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FzaS1wYWdpbmF0aW9uL2FzaS1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7MEJBV2xCLENBQUM7aUNBQ00sQ0FBQztrQ0FDQSxDQUFDO21DQUNDLElBQUksWUFBWSxFQUFVOzs7OztJQUUxRCw0Q0FBVzs7O0lBQVg7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixLQUFLLENBQUMsQ0FBQztLQUN0Qzs7OztJQUVELDJDQUFVOzs7SUFBVjtRQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUNwRDs7Ozs7SUFFRCxvREFBbUI7Ozs7SUFBbkIsVUFBb0IsVUFBa0I7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxVQUFVLENBQUM7S0FDL0M7Ozs7O0lBRUQsaURBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQWU7UUFDOUIsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztZQUNyQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3hEO0tBQ0Y7Ozs7SUFFRCw2Q0FBWTs7O0lBQVo7UUFDRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZ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QWtCLEdBQUcsQ0FBQyxDQUFDLEVBQ2pHLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO0tBQ0Y7SUFBQSxDQUFDOzs7Ozs7SUFFRixpREFBZ0I7Ozs7O0lBQWhCLFVBQWlCLEdBQVcsRUFBRSxHQUFXOztRQUN2QyxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQztTQUNoQixDQUFDLENBQUM7S0FDSjt1Q0FyRjBCLEtBQUs7O2dCQVBqQyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFO29CQUNqRCwwNUJBQTRDO2lCQUM3Qzs7OzZCQUtFLEtBQUs7b0NBQ0wsS0FBSztxQ0FDTCxLQUFLO3NDQUNMLE1BQU07O2lDQWZUOztTQVFhLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIG5oIGZyb20gJy4uLy4uL25hdGl2ZS1oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhc2ktcGFnaW5hdGlvbicsXHJcbiAgaG9zdDogeyAnY2xhc3MnOiAnYXNpLWNvbXBvbmVudCBhc2ktcGFnaW5hdGlvbicgfSxcclxuICB0ZW1wbGF0ZVVybDogJ2FzaS1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzaVBhZ2luYXRpb25Db21wb25lbnQge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBUUklfUE9JTlQgPSAnLi4uJztcclxuXHJcbiAgQElucHV0KCkgbmJFbGVtZW50cyA9IDA7XHJcbiAgQElucHV0KCkgbmJWaXNpYmxlRWxlbWVudHMgPSAwO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUGFnaW5hdGlvbiA9IDE7XHJcbiAgQE91dHB1dCgpIG9uUGFnaW5hdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgb25GaXJzdFBhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFBhZ2luYXRpb24gPT09IDE7XHJcbiAgfVxyXG5cclxuICBvbkxhc3RQYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQYWdpbmF0aW9uID09PSB0aGlzLm5iRWxlbWVudHM7XHJcbiAgfVxyXG5cclxuICBpc0N1cnJlbnRQYWdpbmF0aW9uKHBhZ2luYXRpb246IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQYWdpbmF0aW9uID09PSBwYWdpbmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnaW5hdGlvbihwYWdpbmF0aW9uOiBhbnkpIHtcclxuICAgIGlmIChwYWdpbmF0aW9uICE9PSBBc2lQYWdpbmF0aW9uQ29tcG9uZW50LlRSSV9QT0lOVCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbiA9IHBhZ2luYXRpb247XHJcbiAgICAgIHRoaXMub25QYWdpbmF0aW9uQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRQYWdpbmF0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByZXZpb3VzUGFnZSgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbiA+IDEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2luYXRpb24tLTtcclxuICAgICAgdGhpcy5vblBhZ2luYXRpb25DaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZFBhZ2luYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dFBhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFBhZ2luYXRpb24gPCB0aGlzLm5iRWxlbWVudHMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2luYXRpb24rKztcclxuICAgICAgdGhpcy5vblBhZ2luYXRpb25DaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZFBhZ2luYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ29MYXN0UGFnZSgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbiAhPT0gdGhpcy5uYkVsZW1lbnRzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdpbmF0aW9uID0gdGhpcy5uYkVsZW1lbnRzO1xyXG4gICAgICB0aGlzLm9uUGFnaW5hdGlvbkNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb0ZpcnN0UGFnZSgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbiAhPT0gMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUGFnaW5hdGlvbiA9IDE7XHJcbiAgICAgIHRoaXMub25QYWdpbmF0aW9uQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRQYWdpbmF0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBhZ2luYXRpb25JdGVtcygpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gdGhpcy5zZWxlY3RlZFBhZ2luYXRpb247XHJcbiAgICBsZXQgaGFsZlZpc2libGVFbGVtZW50ID0gTWF0aC5mbG9vcih0aGlzLm5iVmlzaWJsZUVsZW1lbnRzIC8gMik7XHJcblxyXG4gICAgaWYgKCF0aGlzLm5iRWxlbWVudHMpIHtcclxuICAgICAgdGhpcy5uYkVsZW1lbnRzID0gMTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5uYkVsZW1lbnRzIDw9IHRoaXMubmJWaXNpYmxlRWxlbWVudHMpIHtcclxuICAgICAgLy8gU2hvdyBhbGxcclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTnVtYmVyc1RhYigxLCB0aGlzLm5iRWxlbWVudHMpO1xyXG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZSA8IGhhbGZWaXNpYmxlRWxlbWVudCArIDIpIHtcclxuICAgICAgLy8gUGFnaW5hdGlvbiBzdGFydFxyXG4gICAgICByZXR1cm4gbmguY29uY2F0KHRoaXMuY3JlYXRlTnVtYmVyc1RhYigxLCB0aGlzLm5iVmlzaWJsZUVsZW1lbnRzIC0gMSksIFtBc2lQYWdpbmF0aW9uQ29tcG9uZW50LlRSSV9QT0lOVCwgdGhpcy5uYkVsZW1lbnRzXSk7XHJcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlID4gdGhpcy5uYkVsZW1lbnRzIC0gaGFsZlZpc2libGVFbGVtZW50KSB7XHJcbiAgICAgIC8vIFBhZ2luYXRpb24gZW5kXHJcbiAgICAgIHJldHVybiBuaC5jb25jYXQoWzEsIEFzaVBhZ2luYXRpb25Db21wb25lbnQuVFJJX1BPSU5UXSxcclxuICAgICAgICB0aGlzLmNyZWF0ZU51bWJlcnNUYWIodGhpcy5uYkVsZW1lbnRzIC0gdGhpcy5uYlZpc2libGVFbGVtZW50cyArIDIsIHRoaXMubmJFbGVtZW50cykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gQmV0d2VlblxyXG4gICAgICByZXR1cm4gbmguY29uY2F0KFsxLCBBc2lQYWdpbmF0aW9uQ29tcG9uZW50LlRSSV9QT0lOVF0sXHJcbiAgICAgICAgdGhpcy5jcmVhdGVOdW1iZXJzVGFiKGN1cnJlbnRQYWdlIC0gaGFsZlZpc2libGVFbGVtZW50ICsgMSwgY3VycmVudFBhZ2UgKyBoYWxmVmlzaWJsZUVsZW1lbnQgLSAxKSxcclxuICAgICAgICBbQXNpUGFnaW5hdGlvbkNvbXBvbmVudC5UUklfUE9JTlQsIHRoaXMubmJFbGVtZW50c10pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNyZWF0ZU51bWJlcnNUYWIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogQXJyYXk8bnVtYmVyPiB7XHJcbiAgICBsZXQgaW5kZXggPSBtaW4gLSAxO1xyXG4gICAgcmV0dXJuIG5oLnRpbWVzKG1heCAtIG1pbiArIDEsICgpID0+IHtcclxuICAgICAgcmV0dXJuICsraW5kZXg7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19