Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

import { Component, OnInit, AfterViewInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { EwvViewerService } from '../ewv-viewer/ewv-viewer.service';
import { EwvSearchModel } from '../ewv-viewer/ewv-viewer.model';
import { MenuModel } from '../../shared/menu/menu.component.model';
import { MessageModel } from '../pdf-reference/pdf-reference.model';
import { WindowRefService } from '../../window-ref.service';
import { PdfReferenceService } from '../pdf-reference/pdf-reference.service';
import { AuthenticationService } from '../../auth/auth.service';
import { AppSettingsService } from './../../shared/app-settings/app-settings.service';

@Component({
selector: 'app-ewv-search',
templateUrl: './ewv-search.component.html',
styleUrls: ['./ewv-search.component.scss']
})
export class EwvSearchComponent implements OnInit, AfterViewInit {
userInfo;
title = 'EDI Web Viewer';
form: FormGroup;
pdiSearchParam;
ewvMenu: MenuModel;
infoStatusSolid = false;
infoMsg = '';
errorStatus = false;
errorMsg = '';
successStatus = false;
successMsg = '';
archiveSuccessMsg = '';
archiveErrorMsg = '';
archiveSuccessStatus = false;
archiveErrorStatus = false;
// loadingSpinnerClosed = true; // Spinner disabled

constructor(
private router: Router,
private ewvViewerService: EwvViewerService,
private fb: FormBuilder,
private _window: WindowRefService,
private pdfReferenceService: PdfReferenceService,
private authenticationService: AuthenticationService,
private appSettingsService: AppSettingsService
) {}

ngOnInit() {
// this.setMenu();
this.userInfo = this.authenticationService.getDecodedUserInfo();
this.formInit();
}

ngAfterViewInit() {
setTimeout(() => {
this.setMenu();
}, 0);
}

formInit() {
this.form = this.fb.group({
pdiSearchParam: [
this.pdiSearchParam,
Validators.compose([
Validators.required,
Validators.pattern('[0-9]*'),
Validators.minLength(15)
])
]
});
}

setMenu() {
this.appSettingsService
.getMenu('EWV_MENU')
.subscribe(menu => (this.ewvMenu = menu));
this.pdfReferenceService.populatePdfReferenceMenu().subscribe(data => {
this.ewvMenu.dropDownGroups[1].dropdowns = data;
// this.ewvViewerService.setEwvMenu(this.ewvMenu);
});
}

onSearch() {
if (this.pdiSearchParam !== '' && this.form.valid) {
// this.openloadingSpinnerModal(); // Spinner disabled
this.infoStatusSolid = false;
this.switchView('single');
this.ewvViewerService.setPdi(this.pdiSearchParam);
this.ewvViewerService
.searchClaim(this.ewvViewerService.getPdi())
.subscribe((data: EwvSearchModel) => {
if (data.patientHeaderInfo) {
this.ewvViewerService.setClaimData(data);
this.router.navigate(['ewv']); // Change to 'ewv2' to show EWV2SS; 'ewv' will revert to original single-view
} else {
this.infoStatusSolid = true;
// this.infoMsg =
// 'PDI Claim Number ' + this.pdiSearchParam + ' cannot be found.';
if (data && data['message']) {
this.infoMsg = data['message'];
} else {
this.infoMsg =
'PDI Claim Number ' + this.pdiSearchParam + ' cannot be found.';
}

// this.closeloadingSpinnerModal(); // Spinner disabled
}
});
}
}

onUploadSuccess(uploadMsg: MessageModel) {
this.successMsg = uploadMsg.msg;
this.successStatus = uploadMsg.status;
}

onUploadError(uploadMsg: MessageModel) {
this.errorMsg = uploadMsg.msg;
this.errorStatus = uploadMsg.status;
}

onArchiveSuccess(archiveMsg: MessageModel) {
this.archiveSuccessMsg = archiveMsg.msg;
this.archiveSuccessStatus = archiveMsg.status;
}

onArchiveError(archiveMsg: MessageModel) {
this.archiveErrorMsg = archiveMsg.msg;
this.archiveErrorStatus = archiveMsg.status;
}

switchView(view: string) {
this.ewvViewerService.switchView(view);
}

updatePdf(evt) {
console.log('Upload / Delete Clicked', evt);
}

// Spinner disabled
// closeloadingSpinnerModal() {
// this.loadingSpinnerClosed = true;
// }

// Spinner disabled
// openloadingSpinnerModal() {
// this.loadingSpinnerClosed = false;
// }

resetForm() {
this.form.reset();
this.infoStatusSolid = false;
this.pdiSearchParam = '';
this.archiveErrorMsg = '';
this.archiveErrorStatus = false;
this.archiveSuccessMsg = '';
this.archiveSuccessStatus = false;
this.successMsg = '';
this.successStatus = false;
}

getPdfFile(guid: number) {
this.ewvViewerService.getPdfFile(guid).subscribe(data => {
const fileName = data.headers.get('Content-Disposition');
const pdfBlob = new Blob([data.blob()], { type: 'application/pdf' });
const pdfURL = this._window.nativeWindow.URL.createObjectURL(pdfBlob);
if (
this._window.nativeWindow.navigator &&
this._window.nativeWindow.navigator.msSaveOrOpenBlob
) {
this._window.nativeWindow.navigator.msSaveOrOpenBlob(pdfBlob, fileName);
return;
}
this._window.nativeWindow.open(pdfURL);
});
}

notify(evt) {
if (evt.guid) {
this.getPdfFile(evt.guid);
}
}
}