import { Component, OnInit, OnDestroy } from '@angular/core'; import { DropDownsHR } from '../../_helpers/dropdowns.class'; import { ActivatedRoute, Router } from '@angular/router'; import { FileTrackingSystemService } from '../file-tracking-system.service'; import { ApplicationMaster, ApplicationView } from '../../modules/application-fts/application-fts'; import { Subscription } from 'rxjs/Subscription'; @Component({ selector: 'app-application', templateUrl: './application.component.html', styles: [] }) export class ApplicationComponent implements OnInit, OnDestroy { public loading: boolean = true; private subscription: Subscription; public dropDowns: DropDownsHR = new DropDownsHR(); public application: ApplicationView; constructor(private _fileTrackingSystemService: FileTrackingSystemService, private route: ActivatedRoute, private router: Router, ) { } ngOnInit() { this.fetchParams(); } private fetchParams() { this.subscription = this.route.params.subscribe( (params: any) => { if (params.hasOwnProperty('id') && +params['id'] && params.hasOwnProperty('tracking') && +params['tracking']) { let id = +params['id']; let tracking = +params['tracking']; this.getApplication(id, tracking); } else { } } ); } private getApplication(id, tracking) { this._fileTrackingSystemService.getApplication(+id, +tracking).subscribe((data: ApplicationView) => { this.application = data; this.loading = false; }); } public dashifyCNIC(cnic: string) { if (!cnic) return ''; return cnic[0] + cnic[1] + cnic[2] + cnic[3] + cnic[4] + '-' + cnic[5] + cnic[6] + cnic[7] + cnic[8] + cnic[9] + cnic[10] + cnic[11] + '-' + cnic[12]; } ngOnDestroy() { this.subscription.unsubscribe(); } }