@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
43 lines (42 loc) • 3.39 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
export class AsiPaginationService {
constructor() {
}
/**
* @param {?} datas
* @param {?} nbElementParPage
* @return {?}
*/
getNbPages(datas, nbElementParPage) {
return Math.ceil(datas.length / nbElementParPage);
}
/**
* @param {?} datas
* @param {?} nbElementParPage
* @param {?} pageIndex
* @return {?}
*/
getPage(datas, nbElementParPage, pageIndex) {
/** @type {?} */
let results = new Array();
if (datas != null) {
if (pageIndex < this.getNbPages(datas, nbElementParPage)) {
results = datas.slice((pageIndex - 1) * nbElementParPage, (pageIndex) * nbElementParPage);
}
else {
results = datas.slice((pageIndex - 1) * nbElementParPage);
}
}
return results;
}
}
AsiPaginationService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AsiPaginationService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLXBhZ2luYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYXNpLXBhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNO0lBRUo7S0FFQzs7Ozs7O0lBRUQsVUFBVSxDQUFDLEtBQWlCLEVBQUUsZ0JBQXdCO1FBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztLQUNuRDs7Ozs7OztJQUVELE9BQU8sQ0FBQyxLQUFpQixFQUFFLGdCQUF3QixFQUFFLFNBQWlCOztRQUNwRSxJQUFJLE9BQU8sR0FBRyxJQUFJLEtBQUssRUFBTyxDQUFDO1FBRS9CLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekQsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzFGO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQzthQUMxRDtTQUNGO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQztLQUNoQjs7O1lBdkJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBc2lQYWdpbmF0aW9uU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcblxyXG4gIGdldE5iUGFnZXMoZGF0YXM6IEFycmF5PGFueT4sIG5iRWxlbWVudFBhclBhZ2U6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5jZWlsKGRhdGFzLmxlbmd0aCAvIG5iRWxlbWVudFBhclBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnZShkYXRhczogQXJyYXk8YW55PiwgbmJFbGVtZW50UGFyUGFnZTogbnVtYmVyLCBwYWdlSW5kZXg6IG51bWJlcik6IEFycmF5PGFueT4ge1xyXG4gICAgbGV0IHJlc3VsdHMgPSBuZXcgQXJyYXk8YW55PigpO1xyXG5cclxuICAgIGlmIChkYXRhcyAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChwYWdlSW5kZXggPCB0aGlzLmdldE5iUGFnZXMoZGF0YXMsIG5iRWxlbWVudFBhclBhZ2UpKSB7XHJcbiAgICAgICAgcmVzdWx0cyA9IGRhdGFzLnNsaWNlKChwYWdlSW5kZXggLTEpICogbmJFbGVtZW50UGFyUGFnZSwgKHBhZ2VJbmRleCkgKiBuYkVsZW1lbnRQYXJQYWdlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXN1bHRzID0gZGF0YXMuc2xpY2UoKHBhZ2VJbmRleCAtMSkgKiBuYkVsZW1lbnRQYXJQYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbn0iXX0=