@vicoders/angular
Version:
- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)
156 lines • 11.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, EventEmitter, Output } from '@angular/core';
var PaginationComponent = /** @class */ (function () {
function PaginationComponent() {
this.goPrev = new EventEmitter();
this.goNext = new EventEmitter();
this.goPage = new EventEmitter();
}
/**
* @return {?}
*/
PaginationComponent.prototype.getMin = /**
* @return {?}
*/
function () {
return this.perPage * this.page - this.perPage + 1;
};
/**
* @return {?}
*/
PaginationComponent.prototype.getMax = /**
* @return {?}
*/
function () {
/** @type {?} */
var max = this.perPage * this.page;
if (max > this.count) {
max = this.count;
}
return max;
};
/**
* @param {?} n
* @return {?}
*/
PaginationComponent.prototype.onPage = /**
* @param {?} n
* @return {?}
*/
function (n) {
this.goPage.emit(n);
};
/**
* @return {?}
*/
PaginationComponent.prototype.onPrev = /**
* @return {?}
*/
function () {
this.goPrev.emit(true);
};
/**
* @param {?} next
* @return {?}
*/
PaginationComponent.prototype.onNext = /**
* @param {?} next
* @return {?}
*/
function (next) {
this.goNext.emit(next);
};
/**
* @return {?}
*/
PaginationComponent.prototype.totalPages = /**
* @return {?}
*/
function () {
return Math.ceil(this.count / this.perPage) || 0;
};
/**
* @return {?}
*/
PaginationComponent.prototype.lastPage = /**
* @return {?}
*/
function () {
return this.perPage * this.page > this.count;
};
/**
* @return {?}
*/
PaginationComponent.prototype.getPages = /**
* @return {?}
*/
function () {
/** @type {?} */
var c = Math.ceil(this.count / this.perPage);
/** @type {?} */
var p = this.page || 1;
/** @type {?} */
var pagesToShow = this.pagesToShow || 9;
/** @type {?} */
var pages = [];
pages.push(p);
/** @type {?} */
var times = pagesToShow - 1;
for (var i = 0; i < times; i++) {
if (pages.length < pagesToShow) {
if (Math.min.apply(null, pages) > 1) {
pages.push(Math.min.apply(null, pages) - 1);
}
}
if (pages.length < pagesToShow) {
if (Math.max.apply(null, pages) < c) {
pages.push(Math.max.apply(null, pages) + 1);
}
}
}
pages.sort(function (a, b) { return a - b; });
return pages;
};
PaginationComponent.decorators = [
{ type: Component, args: [{
selector: 'app-pagination',
template: "<div class=\"row\">\n <div class=\"col-md-5 col-sm-7\">\n <div class=\"description\">\n <span class=\"page-counts\">{{ getMin() }} - {{ getMax() }} of {{ count }}</span>\n <span class=\"page-totals\">{{ totalPages() }} pages</span>\n </div>\n </div>\n <div class=\"col-md-7 col-sm-7\">\n <div class=\"dataTables_paginate paging_simple_numbers\" *ngIf=\"count > 0\">\n\n <ul class=\"pagination\">\n <li class=\"paginate_button previous\" [ngClass]=\"{ 'disabled': page === 1 || loading }\">\n <button class=\"link\" (click)=\"onPrev()\" [disabled]=\"page === 1 || loading\">\n Previous\n </button>\n </li>\n <li class=\"paginate_button\" *ngFor=\"let pageNum of getPages()\" (click)=\"onPage(pageNum)\" [ngClass]=\"{'active': pageNum === page, 'disabled': loading}\">\n <a href=\"javascript:;\">{{ pageNum }}</a>\n </li>\n <li class=\"paginate_button next\" [ngClass]=\"{ 'disabled': lastPage() || loading }\">\n <button class=\"link\" (click)=\"onNext(true)\" [disabled]=\"lastPage() || loading\">\n Next\n </button>\n </li>\n </ul>\n </div>\n </div>\n</div>",
styles: [""]
}] }
];
PaginationComponent.ctorParameters = function () { return []; };
PaginationComponent.propDecorators = {
pagesToShow: [{ type: Input }],
page: [{ type: Input }],
count: [{ type: Input }],
perPage: [{ type: Input }],
loading: [{ type: Input }],
goPrev: [{ type: Output }],
goNext: [{ type: Output }],
goPage: [{ type: Output }]
};
return PaginationComponent;
}());
export { PaginationComponent };
if (false) {
/** @type {?} */
PaginationComponent.prototype.pagesToShow;
/** @type {?} */
PaginationComponent.prototype.page;
/** @type {?} */
PaginationComponent.prototype.count;
/** @type {?} */
PaginationComponent.prototype.perPage;
/** @type {?} */
PaginationComponent.prototype.loading;
/** @type {?} */
PaginationComponent.prototype.goPrev;
/** @type {?} */
PaginationComponent.prototype.goNext;
/** @type {?} */
PaginationComponent.prototype.goPage;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkU7SUFnQkU7UUFKVSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUUvQixDQUFDOzs7O0lBRWhCLG9DQUFNOzs7SUFBTjtRQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Ozs7SUFFRCxvQ0FBTTs7O0lBQU47O1lBQ00sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFDbEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNwQixHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNsQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7Ozs7SUFFRCxvQ0FBTTs7OztJQUFOLFVBQU8sQ0FBUztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCxvQ0FBTTs7O0lBQU47UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7OztJQUVELG9DQUFNOzs7O0lBQU4sVUFBTyxJQUFhO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCx3Q0FBVTs7O0lBQVY7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7O1lBQ1EsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDOztZQUN4QyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDOztZQUNsQixXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDOztZQUNuQyxLQUFLLEdBQWEsRUFBRTtRQUMxQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUNSLEtBQUssR0FBRyxXQUFXLEdBQUcsQ0FBQztRQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUU7Z0JBQzlCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbkMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7WUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1NBQ0Y7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLEVBQUwsQ0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztnQkF2RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLCtyQ0FBMEM7O2lCQUUzQzs7Ozs4QkFFRSxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7eUJBRUwsTUFBTTt5QkFDTixNQUFNO3lCQUNOLE1BQU07O0lBMERULDBCQUFDO0NBQUEsQUF4RUQsSUF3RUM7U0FuRVksbUJBQW1COzs7SUFDOUIsMENBQTZCOztJQUM3QixtQ0FBc0I7O0lBQ3RCLG9DQUF1Qjs7SUFDdkIsc0NBQXlCOztJQUN6QixzQ0FBMEI7O0lBRTFCLHFDQUErQzs7SUFDL0MscUNBQStDOztJQUMvQyxxQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSBwYWdlc1RvU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvdW50OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBlclBhZ2U6IG51bWJlcjtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgZ29QcmV2ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZ29OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZ29QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGdldE1pbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBlclBhZ2UgKiB0aGlzLnBhZ2UgLSB0aGlzLnBlclBhZ2UgKyAxO1xuICB9XG5cbiAgZ2V0TWF4KCk6IG51bWJlciB7XG4gICAgbGV0IG1heCA9IHRoaXMucGVyUGFnZSAqIHRoaXMucGFnZTtcbiAgICBpZiAobWF4ID4gdGhpcy5jb3VudCkge1xuICAgICAgbWF4ID0gdGhpcy5jb3VudDtcbiAgICB9XG4gICAgcmV0dXJuIG1heDtcbiAgfVxuXG4gIG9uUGFnZShuOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmdvUGFnZS5lbWl0KG4pO1xuICB9XG5cbiAgb25QcmV2KCk6IHZvaWQge1xuICAgIHRoaXMuZ29QcmV2LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBvbk5leHQobmV4dDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZ29OZXh0LmVtaXQobmV4dCk7XG4gIH1cblxuICB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmNvdW50IC8gdGhpcy5wZXJQYWdlKSB8fCAwO1xuICB9XG5cbiAgbGFzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGVyUGFnZSAqIHRoaXMucGFnZSA+IHRoaXMuY291bnQ7XG4gIH1cblxuICBnZXRQYWdlcygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgYyA9IE1hdGguY2VpbCh0aGlzLmNvdW50IC8gdGhpcy5wZXJQYWdlKTtcbiAgICBjb25zdCBwID0gdGhpcy5wYWdlIHx8IDE7XG4gICAgY29uc3QgcGFnZXNUb1Nob3cgPSB0aGlzLnBhZ2VzVG9TaG93IHx8IDk7XG4gICAgY29uc3QgcGFnZXM6IG51bWJlcltdID0gW107XG4gICAgcGFnZXMucHVzaChwKTtcbiAgICBjb25zdCB0aW1lcyA9IHBhZ2VzVG9TaG93IC0gMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVzOyBpKyspIHtcbiAgICAgIGlmIChwYWdlcy5sZW5ndGggPCBwYWdlc1RvU2hvdykge1xuICAgICAgICBpZiAoTWF0aC5taW4uYXBwbHkobnVsbCwgcGFnZXMpID4gMSkge1xuICAgICAgICAgIHBhZ2VzLnB1c2goTWF0aC5taW4uYXBwbHkobnVsbCwgcGFnZXMpIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwYWdlcy5sZW5ndGggPCBwYWdlc1RvU2hvdykge1xuICAgICAgICBpZiAoTWF0aC5tYXguYXBwbHkobnVsbCwgcGFnZXMpIDwgYykge1xuICAgICAgICAgIHBhZ2VzLnB1c2goTWF0aC5tYXguYXBwbHkobnVsbCwgcGFnZXMpICsgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcGFnZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIHJldHVybiBwYWdlcztcbiAgfVxufVxuIl19