@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
JavaScript
/**
* @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]=\"'‹‹'\"></span>\r\n <span (click)=\"previousPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'‹'\"></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]=\"'›'\"></span>\r\n <span (click)=\"goLastPage()\" class=\"paginate-boutton action\" [innerHTML]=\"'››'\"></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