import { Component, ViewChild, Injector, Output, EventEmitter } from '@angular/core'; import { ModalDirective } from 'ngx-bootstrap'; import { GetClinicForViewDto, ClinicDto, ClinicsServiceProxy, CreateOrEditClinicDto, PostalCodeServiceProxy, CreateAddressInput, AddressTypeServiceProxy, AddressTypesServiceProxy } from '@shared/service-proxies/service-proxies'; import { AppComponentBase } from '@shared/common/app-component-base'; import { id } from '@swimlane/ngx-charts/release/utils'; @Component({ selector: 'viewClinicModal', templateUrl: './view-clinic-modal.component.html' }) export class ViewClinicModalComponent extends AppComponentBase { @ViewChild('createOrEditModal', { static: true }) modal: ModalDirective; @Output() modalSave: EventEmitter = new EventEmitter(); active = false; saving = false; clinic: CreateOrEditClinicDto = new CreateOrEditClinicDto(); address: CreateAddressInput = new CreateAddressInput(); item: GetClinicForViewDto; city: string; state: string; country: string; value: string; addressType: string; constructor( injector: Injector, private _clinicsServiceProxy: ClinicsServiceProxy, private _postalCodeService: PostalCodeServiceProxy, private _addressTypeServiceProxy: AddressTypesServiceProxy, ) { super(injector); this.item = new GetClinicForViewDto(); this.item.clinic = new ClinicDto(); } show(id: number): void { this.spinnerService.show(); this._clinicsServiceProxy.getClinicForEdit(id).subscribe(result => { this.clinic = result.clinic; this.address = result.clinic.address; if(this.clinic.address.postalCodeId!=0){ this._postalCodeService.getPostalCodeEdit(this.clinic.address.postalCodeId).subscribe(resultPostalCode => { console.log(resultPostalCode) this.city = resultPostalCode.city; this.state = resultPostalCode.state; this.country = resultPostalCode.country; this.value = resultPostalCode.value; this._addressTypeServiceProxy.getAddressTypeForEdit(result.clinic.address.addressTypeId).subscribe(result1 =>{ this.addressType = result1 == null ? "n/a" : result1.addressType.name; this.spinnerService.hide(); }); }); } }); this.active = true; this.modal.show(); } close(): void { this.active = false; this.modal.hide(); } }