ftable
Version:
Angular 6/7 Tables
136 lines • 15.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { Input } from '@angular/core';
import { Output } from '@angular/core';
import { EventEmitter } from '@angular/core';
export class FPaginateComponent {
constructor() {
this.PagingChange = new EventEmitter();
}
/**
* @param {?} totalItemsAfterFilters
* @return {?}
*/
set totalItemsAfterFilters(totalItemsAfterFilters) {
this._totalItemsAfterFilters = totalItemsAfterFilters;
this.totalPages = Math.ceil(this._totalItemsAfterFilters / this.itemsPerPage);
this._currentPage = 1;
}
/**
* @param {?} num
* @return {?}
*/
set currentPage(num) {
this._currentPage = num;
}
/**
* @return {?}
*/
ngOnInit() {
this.totalPages = Math.ceil(this._totalItemsAfterFilters / this.itemsPerPage);
this.setCurrentPage(this._currentPage);
}
/**
* @return {?}
*/
ngOnChanges() {
this.totalPages = Math.ceil(this._totalItemsAfterFilters / this.itemsPerPage);
}
/**
* @param {?} number
* @return {?}
*/
setCurrentPage(number) {
this._currentPage = number;
this.PagingChange.emit(number);
}
/**
* @return {?}
*/
firstPage() {
this.setCurrentPage(1);
}
/**
* @return {?}
*/
previousPage() {
this.setCurrentPage(this._currentPage - 1);
}
/**
* @return {?}
*/
nextPage() {
this.setCurrentPage(this._currentPage + 1);
}
/**
* @return {?}
*/
lastPage() {
this.setCurrentPage(this.totalPages);
}
/**
* @return {?}
*/
isFirstDisabled() {
return (this._currentPage === 1);
}
/**
* @return {?}
*/
isPreviousDisabled() {
return (this._currentPage === 1);
}
/**
* @return {?}
*/
isNextDisabled() {
return (this._currentPage === this.totalPages);
}
/**
* @return {?}
*/
isLastDisabled() {
return (this._currentPage === this.totalPages);
}
}
FPaginateComponent.decorators = [
{ type: Component, args: [{
selector: 'ft-fpaginate',
template: "<div id=\"ft-fpaginate\" class=\"ft-fpaginate\">\r\n \r\n <button class=\"ft-b ft-b-fpaginate\" id='ft-b-fpaginate_first' [disabled]=\"isFirstDisabled()\" (click)=\"firstPage()\"><i></i></button>\r\n <button class=\"ft-b ft-b-fpaginate\" id='ft-b-fpaginate_previous' [disabled]=\"isPreviousDisabled()\" (click)=\"previousPage()\"><i></i></button>\r\n\r\n <!-- <span> -->\r\n <ng-container *ngIf=\"totalPages < 8\">\r\n <ng-container *ngIf=\"totalPages > 0\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 1, 'ft-b-fpaginate_current': _currentPage == 1}\" (click)=\"setCurrentPage(1)\">1</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 1\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 2, 'ft-b-fpaginate_current': _currentPage == 2}\" (click)=\"setCurrentPage(2)\">2</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 2\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 3, 'ft-b-fpaginate_current': _currentPage == 3}\" (click)=\"setCurrentPage(3)\">3</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 3\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 4, 'ft-b-fpaginate_current': _currentPage == 4}\" (click)=\"setCurrentPage(4)\">4</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 4\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 5, 'ft-b-fpaginate_current': _currentPage == 5}\" (click)=\"setCurrentPage(5)\">5</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 5\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 6, 'ft-b-fpaginate_current': _currentPage == 6}\" (click)=\"setCurrentPage(6)\">6</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"totalPages > 6\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 7, 'ft-b-fpaginate_current': _currentPage == 7}\" (click)=\"setCurrentPage(7)\">7</button>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"totalPages > 7\">\r\n\r\n <ng-container *ngIf=\"_currentPage < 5\">\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 1, 'ft-b-fpaginate_current': _currentPage == 1}\" (click)=\"setCurrentPage(1)\">1</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 2, 'ft-b-fpaginate_current': _currentPage == 2}\" (click)=\"setCurrentPage(2)\">2</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 3, 'ft-b-fpaginate_current': _currentPage == 3}\" (click)=\"setCurrentPage(3)\">3</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != 4, 'ft-b-fpaginate_current': _currentPage == 4}\" (click)=\"setCurrentPage(4)\">4</button>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(5)\">5</button>\r\n <span class='ft-paginate_ellipsis'>…</span>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(totalPages)\">{{totalPages}}</button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"_currentPage >= totalPages-3\">\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(1)\">1</button>\r\n <span class='ft-paginate_ellipsis'>…</span>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(totalPages-4)\">{{totalPages-4}}</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != (totalPages-3), 'ft-b-fpaginate_current': _currentPage == (totalPages-3)}\" (click)=\"setCurrentPage(totalPages-3)\">{{totalPages-3}}</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != (totalPages-2), 'ft-b-fpaginate_current': _currentPage == (totalPages-2)}\" (click)=\"setCurrentPage(totalPages-2)\">{{totalPages-2}}</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != (totalPages-1), 'ft-b-fpaginate_current': _currentPage == (totalPages-1)}\" (click)=\"setCurrentPage(totalPages-1)\">{{totalPages-1}}</button>\r\n <button class='ft-b' [ngClass]=\"{'ft-b-fpaginate': _currentPage != (totalPages), 'ft-b-fpaginate_current': _currentPage == (totalPages)}\" (click)=\"setCurrentPage(totalPages)\">{{totalPages}}</button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"(_currentPage < (totalPages-3)) && (_currentPage >= 5)\">\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(1)\">1</button>\r\n <span class='ft-paginate_ellipsis'>…</span>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(_currentPage-1)\">{{_currentPage-1}}</button>\r\n <button class=\"ft-b ft-b-fpaginate_current\" (click)=\"setCurrentPage(_currentPage)\">{{_currentPage}}</button>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(_currentPage+1)\">{{_currentPage+1}}</button>\r\n <span class='ft-paginate_ellipsis'>…</span>\r\n <button class=\"ft-b ft-b-fpaginate\" (click)=\"setCurrentPage(totalPages)\">{{totalPages}}</button>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <!-- </span> -->\r\n\r\n <button class=\"ft-b ft-b-fpaginate\" id='ft-b-fpaginate_next' [disabled]=\"isNextDisabled()\" (click)=\"nextPage()\"><i></i></button>\r\n <button class=\"ft-b ft-b-fpaginate\" id='ft-b-fpaginate_last' [disabled]=\"isLastDisabled()\" (click)=\"lastPage()\"><i></i></button>\r\n\r\n</div>",
styles: [""]
}] }
];
FPaginateComponent.propDecorators = {
itemsPerPage: [{ type: Input }],
totalItems: [{ type: Input }],
totalItemsAfterFilters: [{ type: Input }],
currentPage: [{ type: Input }],
PagingChange: [{ type: Output }]
};
if (false) {
/**
* @type {?}
* @private
*/
FPaginateComponent.prototype.itemsPerPage;
/**
* @type {?}
* @private
*/
FPaginateComponent.prototype.totalItems;
/** @type {?} */
FPaginateComponent.prototype._currentPage;
/** @type {?} */
FPaginateComponent.prototype.PagingChange;
/**
* @type {?}
* @private
*/
FPaginateComponent.prototype._totalItemsAfterFilters;
/** @type {?} */
FPaginateComponent.prototype.totalPages;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnBhZ2luYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Z0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9mcGFnaW5hdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVTdDLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUE0QmMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQTJEOUUsQ0FBQzs7Ozs7SUF2RUcsSUFDSSxzQkFBc0IsQ0FBQyxzQkFBOEI7UUFDckQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO1FBQ3RELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsSUFDSSxXQUFXLENBQUMsR0FBVztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDOzs7O0lBZUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsTUFBYztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7O0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7OztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7OztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7O0lBRUQsZUFBZTtRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7O0lBRUQsY0FBYztRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O0lBRUQsY0FBYztRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7WUFyRkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxjQUFjO2dCQUN4Qiw0M0xBQXlDOzthQUc1Qzs7OzJCQUtJLEtBQUs7eUJBRUwsS0FBSztxQ0FJTCxLQUFLOzBCQU9MLEtBQUs7MkJBS0wsTUFBTTs7Ozs7OztJQWxCUCwwQ0FBc0M7Ozs7O0lBRXRDLHdDQUFvQzs7SUFFbkMsMENBQTRCOztJQWM3QiwwQ0FBMEU7Ozs7O0lBVTFFLHFEQUF3Qzs7SUFDeEMsd0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZnQtZnBhZ2luYXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZnBhZ2luYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mcGFnaW5hdGUuY29tcG9uZW50LnNjc3MnXSxcblxufSlcblxuZXhwb3J0IGNsYXNzIEZQYWdpbmF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICAgIC8vIE51bWJlciBvZiBJdGVtcyBwZXIgcGFnZVxuICAgIEBJbnB1dCgpIHByaXZhdGUgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG4gICAgLy8gRGF0YVxuICAgIEBJbnB1dCgpIHByaXZhdGUgdG90YWxJdGVtczogbnVtYmVyO1xuICAgIC8vIEN1cnJlbnQgUGFnZVxuICAgICBwdWJsaWMgX2N1cnJlbnRQYWdlOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0b3RhbEl0ZW1zQWZ0ZXJGaWx0ZXJzKHRvdGFsSXRlbXNBZnRlckZpbHRlcnM6IG51bWJlcikge1xuICAgICAgICB0aGlzLl90b3RhbEl0ZW1zQWZ0ZXJGaWx0ZXJzID0gdG90YWxJdGVtc0FmdGVyRmlsdGVycztcbiAgICAgICAgdGhpcy50b3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMuX3RvdGFsSXRlbXNBZnRlckZpbHRlcnMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gMTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjdXJyZW50UGFnZShudW06IG51bWJlcikge1xuICAgICAgdGhpcy5fY3VycmVudFBhZ2UgPSBudW07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIFBhZ2luZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuXG5cbiAgICAvLyBnZXQgY3VycmVudFBhZ2UoKTogbnVtYmVyIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2U7XG4gICAgLy8gICB9XG4gICAgICBcbiBcblxuICAgIHByaXZhdGUgX3RvdGFsSXRlbXNBZnRlckZpbHRlcnM6IG51bWJlcjtcbiAgICBwdWJsaWMgdG90YWxQYWdlczogbnVtYmVyO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudG90YWxQYWdlcyA9IE1hdGguY2VpbCh0aGlzLl90b3RhbEl0ZW1zQWZ0ZXJGaWx0ZXJzIC8gdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuX2N1cnJlbnRQYWdlKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy50b3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMuX3RvdGFsSXRlbXNBZnRlckZpbHRlcnMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudFBhZ2UobnVtYmVyOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFBhZ2UgPSBudW1iZXI7XG4gICAgICAgIHRoaXMuUGFnaW5nQ2hhbmdlLmVtaXQobnVtYmVyKTtcbiAgICB9XG5cbiAgICBmaXJzdFBhZ2UoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCkge1xuICAgICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuX2N1cnJlbnRQYWdlIC0gMSk7XG4gICAgfVxuXG4gICAgbmV4dFBhZ2UoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2UodGhpcy5fY3VycmVudFBhZ2UgKyAxKTtcbiAgICB9XG5cbiAgICBsYXN0UGFnZSgpIHtcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50UGFnZSh0aGlzLnRvdGFsUGFnZXMpO1xuICAgIH1cblxuICAgIGlzRmlyc3REaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9jdXJyZW50UGFnZSA9PT0gMSk7XG4gICAgfVxuXG4gICAgaXNQcmV2aW91c0Rpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2N1cnJlbnRQYWdlID09PSAxKTtcbiAgICB9XG5cbiAgICBpc05leHREaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9jdXJyZW50UGFnZSA9PT0gdGhpcy50b3RhbFBhZ2VzKTtcbiAgICB9XG5cbiAgICBpc0xhc3REaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9jdXJyZW50UGFnZSA9PT0gdGhpcy50b3RhbFBhZ2VzKTtcbiAgICB9XG5cbn1cbiJdfQ==