import { Component, Injector, OnInit, Output, EventEmitter, AfterViewInit, ViewChild } from '@angular/core'; import { appModuleAnimation } from '@shared/animations/routerTransition'; import { AppComponentBase } from '@shared/common/app-component-base'; import { Paginator } from 'primeng/components/paginator/paginator'; import { Table } from 'primeng/components/table/table'; import { LazyLoadEvent } from 'primeng/components/common/lazyloadevent'; import { MobileAppVersionServiceProxy, CreateMobileVersionInput, MobileVersionListDto } from '@shared/service-proxies/service-proxies'; import { AddMobileAppVersionModalComponent } from './add-mobile-app-version-modal.component'; @Component({ selector: 'mobile-app-versions', templateUrl: './mobile-app-versions.component.html', animations: [appModuleAnimation()], providers: [MobileAppVersionServiceProxy] }) export class MobileAppVersionsComponent extends AppComponentBase implements OnInit, AfterViewInit { displayItems: Array = []; @Output() showLoaderEvent = new EventEmitter(); @ViewChild('dataTable', { static: true }) dataTable: Table; @ViewChild('paginator', { static: true }) paginator: Paginator; @ViewChild('addMobileAppVersionComponent', { static: true }) addMobileAppVersionComponent: AddMobileAppVersionModalComponent; constructor( injector: Injector, private _mobileAppVersionServiceProxy: MobileAppVersionServiceProxy ) { super(injector); } ngOnInit(): void { } ngAfterViewInit(): void { } showCreateDialog(record?: MobileVersionListDto): void { this.addMobileAppVersionComponent.show(record); } deleteRecord(record?: MobileVersionListDto): void { if (record) { this.showLoaderEvent.emit(true); this._mobileAppVersionServiceProxy.deleteMobileVersion(record.id) .subscribe(result => { this.showLoaderEvent.emit(false); this.getVersionsFromApi(null); }); } } getVersionsFromApi(event?: LazyLoadEvent): void { this.showLoaderEvent.emit(true); this._mobileAppVersionServiceProxy.getMobileVersions( this.primengTableHelper.getSorting(this.dataTable), this.primengTableHelper.getMaxResultCount(this.paginator, event), this.primengTableHelper.getSkipCount(this.paginator, event) ) .subscribe(result => { this.primengTableHelper.totalRecordsCount = result.totalCount; this.displayItems = []; if (result.items) { this.displayItems = result.items; } this.showLoaderEvent.emit(false); }); } }