// Angular // import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core'; // Other // import * as statics from '@fb/statics'; @Component({ selector: 'fb-items-per-page-dropdown', templateUrl: './items-per-page-dropdown.component.html' }) export class FbItemsPerPageDropdownComponent implements OnInit { @Input() numberOfItems: number[]; @Input() selectableItemsPerPage: number; @Output() onNumberOfItemsChange: EventEmitter = new EventEmitter(); dropdownExpanded: boolean; ngOnInit(): void { this.checkAttributesBeforeInit(); } expandDropdown(): void { this.dropdownExpanded = true; } setItemsPerPage(numberOfRows: number): void { this.onNumberOfItemsChange.emit(numberOfRows); } private checkAttributesBeforeInit(): void { let errorString: string = ''; if (statics.isUndefined(this.numberOfItems)) { errorString += 'Parameter numberOfItems is undefined \n'; } if (statics.isUndefined(this.selectableItemsPerPage)) { errorString += 'Parameter selectableItemsPerPage is undefined \n'; } if (errorString !== '') { throw new Error(errorString); } } }