import {Component, OnInit, Input} from '@angular/core'; import {TableRow} from '../shared/tableRow'; declare var jQuery:any; @Component({ selector: 'table-component', templateUrl: './table-component.component.html', styleUrls: ['./table-component.component.css'] }) export class TableComponentComponent implements OnInit { @Input() columnNames: Array; @Input() loadingData: boolean; @Input() limit: number; private _data:Array; private pageNumber:number; private totalPages:number; constructor() { } ngOnInit() { this.pageNumber = 1; this.totalPages = 1; } @Input('data') set data(value) { this._data = value; if (value) { this.pageNumber = 1; this.totalPages = Math.ceil(value.length / this.limit); } } getData() { if (this._data) { let end = 0; this.pageNumber * this.limit > this._data.length ? end = this._data.length : end = this.pageNumber * this.limit; let start = (this.pageNumber - 1) * this.limit; return this._data.slice(start, end); } else { return this._data; } } increasePageNumber() { this.pageNumber < this.totalPages ? this.pageNumber++ : this.pageNumber = 1; } decreasePageNumber() { this.pageNumber === 1 ? this.pageNumber = this.totalPages : this.pageNumber--; } }