@stratio/egeo
Version:
62 lines • 5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/st-pagination/st-pagination.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* © 2017 Stratio Big Data Inc., Sucursal en España.
*
* This software is licensed under the Apache License, Version 2.0.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the terms of the License for more details.
*
* SPDX-License-Identifier: Apache-2.0.
*/
import { Injectable } from '@angular/core';
import * as _ from 'lodash';
export class StPaginationService {
constructor() {
}
/**
* @param {?} items
* @param {?} currentPage
* @param {?} perPage
* @return {?}
*/
newPage(items, currentPage, perPage) {
if (currentPage === 1) {
this.initItem = 0;
}
else {
this.initItem = perPage * (currentPage - 1);
}
if (perPage >= items.length) {
return Object.assign([], items);
}
if (this.initItem >= items.length) {
this.initItem = items.length - (perPage + 1);
return Object.assign([], _.takeRight(items, perPage));
}
this.lastItem = (this.initItem + perPage);
return Object.assign([], items.slice(this.initItem, this.lastItem));
}
}
StPaginationService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
StPaginationService.ctorParameters = () => [];
if (false) {
/**
* @type {?}
* @private
*/
StPaginationService.prototype.initItem;
/**
* @type {?}
* @private
*/
StPaginationService.prototype.lastItem;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtcGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0cmF0aW8vZWdlby8iLCJzb3VyY2VzIjpbImxpYi9zdC1wYWdpbmF0aW9uL3N0LXBhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFVQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE1BQU0sT0FBTyxtQkFBbUI7SUFLN0I7SUFDQSxDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFDLEtBQVksRUFBRSxXQUFtQixFQUFFLE9BQWU7UUFDdkQsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO2FBQU07WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDMUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM3QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUUxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7WUE1QkgsVUFBVTs7Ozs7Ozs7O0lBR1IsdUNBQXlCOzs7OztJQUN6Qix1Q0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogwqkgMjAxNyBTdHJhdGlvIEJpZyBEYXRhIEluYy4sIFN1Y3Vyc2FsIGVuIEVzcGHDsWEuXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTtcbiAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4gKiBTZWUgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0UGFnaW5hdGlvblNlcnZpY2Uge1xuXG4gICBwcml2YXRlIGluaXRJdGVtOiBudW1iZXI7XG4gICBwcml2YXRlIGxhc3RJdGVtOiBudW1iZXI7XG5cbiAgIGNvbnN0cnVjdG9yKCkge1xuICAgfVxuXG4gICBuZXdQYWdlKGl0ZW1zOiBhbnlbXSwgY3VycmVudFBhZ2U6IG51bWJlciwgcGVyUGFnZTogbnVtYmVyKTogYW55W10ge1xuICAgICAgaWYgKGN1cnJlbnRQYWdlID09PSAxKSB7XG4gICAgICAgICB0aGlzLmluaXRJdGVtID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICB0aGlzLmluaXRJdGVtID0gcGVyUGFnZSAqIChjdXJyZW50UGFnZSAtIDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAocGVyUGFnZSA+PSBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCBpdGVtcyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmluaXRJdGVtID49IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgdGhpcy5pbml0SXRlbSA9IGl0ZW1zLmxlbmd0aCAtIChwZXJQYWdlICsgMSk7XG4gICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgXy50YWtlUmlnaHQoaXRlbXMsIHBlclBhZ2UpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXN0SXRlbSA9ICh0aGlzLmluaXRJdGVtICsgcGVyUGFnZSk7XG5cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCBpdGVtcy5zbGljZSh0aGlzLmluaXRJdGVtLCB0aGlzLmxhc3RJdGVtKSk7XG4gICB9XG59XG4iXX0=