import { Component, EventEmitter, Injector, ViewChild, Output, Input } from '@angular/core'; import { AppComponentBase } from '@shared/common/app-component-base'; import { WillCallServiceServiceProxy, GetClinicResultDto, GetRouteByClinicResultDto } from '@shared/service-proxies/service-proxies'; import { ModalDirective } from 'ngx-bootstrap'; import { DropdownModule } from 'primeng/dropdown'; import { AutoCompleteModule } from 'primeng/autocomplete'; import { PrimengTableHelper } from 'shared/helpers/PrimengTableHelper'; import { finalize } from 'rxjs/operators'; import * as jquery from 'jquery'; import * as moment from 'moment'; @Component({ templateUrl: './call_back_modal.component.html', selector: 'callBackModal', styleUrls: ['./calls_modal.component.less'], providers : [WillCallServiceServiceProxy] }) export class CallBackModalComponent extends AppComponentBase { @ViewChild('callBackModal', {static: false}) modal: ModalDirective; @Output() modalSave: EventEmitter = new EventEmitter(); active = false; clinics: GetClinicResultDto[]; routes: GetRouteByClinicResultDto[]; clinicList : boolean = false; txtFilter: any; @Input('inputs') inputs: { locationId: number; loadDate: any; } = {}; constructor( injector: Injector, private _callBack : WillCallServiceServiceProxy ) { super(injector); } ngOnInit(){ } show() { this.active = true; this.modal.show(); } getRoutes(event) : void { this._callBack.getRouteByClinic(event.id, moment(localStorage.getItem('loadDate'))) .subscribe(result => { this.routes = result } ); } save(): void { } onShown(): void { $('.kt-select2').select2(); } searchForClinic(event) { this._callBack.getClinicForCallBack(this.txtFilter) .subscribe(result => { this.clinics = result; } ); } close(): void { this.active = false; this.modal.hide(); } }