import { Component, Output, EventEmitter, ChangeDetectionStrategy, Input, TemplateRef } from '@angular/core'; import { DatatableFooterDirective } from './footer.directive'; @Component({ selector: 'datatable-footer', template: ` `, host: { class: 'datatable-footer' }, changeDetection: ChangeDetectionStrategy.OnPush }) export class DataTableFooterComponent { @Input() footerHeight: number; @Input() rowCount: number; @Input() pageSize: number; @Input() offset: number; @Input() pagerLeftArrowIcon: string; @Input() pagerRightArrowIcon: string; @Input() pagerPreviousIcon: string; @Input() pagerNextIcon: string; @Input() totalMessage: string; @Input() footerTemplate: DatatableFooterDirective; @Input() selectedCount: number = 0; @Input() selectedMessage: string | boolean; @Output() page: EventEmitter = new EventEmitter(); get isVisible(): boolean { return (this.rowCount / this.pageSize) > 1; } get curPage(): number { return this.offset + 1; } }