{"version":3,"file":"main.0c9ef6b35bee95cb.js","mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iJAAiJ,KAAK,MAAM,KAAK,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,a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AAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,8EAAmE;AACvH,kCAAkC,mBAAO,CAAC,uEAA4D;AACtG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/PaymentPortal/payment-portal-footer/payment-portal-footer.component.ts","./src/app/PaymentPortal/payment-portal-header/payment-portal-header.component.ts","./src/app/PaymentPortal/payment-portal-login/file-number-help/file-number-help.component.ts","./src/app/PaymentPortal/payment-portal-login/payment-portal-login.component.ts","./src/app/PaymentPortal/payment-portal-payment/ccv-help/ccvhelp.component.ts","./src/app/PaymentPortal/payment-portal-payment/payment-portal-payment.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/claim-submission/claim-submission.component.ts","./src/app/core/abc-message-display/abc-message-display.component.ts","./src/app/core/dynamic-form-components/form-builder/form-builder.component.ts","./src/app/core/dynamic-form-components/table-builder/table-builder.component.ts","./src/app/core/header/header.component.ts","./src/app/core/printer-selection/printer-selection.component.ts","./src/app/core/searchable-lookup/searchable-lookup.component.ts","./src/app/dashboard/change-client-focus/change-client-focus.component.ts","./src/app/dashboard/dashboard.component.ts","./src/app/globalvars.ts","./src/app/login/login.component.ts","./src/app/maintenance/dynamic/dynamic.component.ts","./src/app/manage/accounts/accounts.component.ts","./src/app/manage/accounts/add-activity/add-activity.component.ts","./src/app/manage/accounts/attorney-information/attorney-information.component.ts","./src/app/manage/accounts/collector-information/collector-information.component.ts","./src/app/manage/reports/reports.component.ts","./src/app/reports/Client/claim-detail/claim-detail.component.ts","./src/app/reports/Client/client-summary/client-summary.component.ts","./src/app/reports/Client/daily-statistics/daily-statistics.component.ts","./src/app/reports/Client/monthly-performance/monthly-performance.component.ts","./src/app/reports/report-viewer/report-viewer.component.ts","./src/app/shared/base-form/base-form.component.ts","./src/app/shared/directives/disable-control.directive.ts","./src/app/shared/directives/dropdown.directive.ts","./src/app/shared/directives/local-storage.function.ts","./src/app/shared/directives/maxlength.directive.ts","./src/app/shared/directives/session-storage.function.ts","./src/app/shared/dynamic-controls/control-components/left-right-combo-box/left-right-combo-box.component.ts","./src/app/shared/dynamic-controls/dynamic-form-control/dynamic-form-control.component.ts","./src/app/shared/dynamic-controls/form-controls/form-control.service.ts","./src/app/shared/modals/printer-output/printer-output.component.ts","./src/app/shared/models/abc-message.model.ts","./src/app/shared/models/abc.dictionary.model.ts","./src/app/shared/services/account.service.ts","./src/app/shared/services/authentication.service.ts","./src/app/shared/services/clients.service.ts","./src/app/shared/services/custom-validators.ts","./src/app/shared/services/formdata.service.ts","./src/app/shared/services/maintenance.service.ts","./src/app/shared/services/manageUsers.service.ts","./src/app/shared/services/messaging.service.ts","./src/app/shared/services/modShared.service.ts","./src/app/shared/services/record-locking.service.ts","./src/app/shared/services/referenceTables.service.ts","./src/app/shared/services/reporting.service.ts","./src/app/shared/shared.module.ts","./src/app/system/change-password/change-password.component.ts","./src/app/system/forgot-password/forgot-password.component.ts","./src/app/system/secure-reset/secure-reset.component.ts","./src/dragula-extended.directive.ts","./src/environments/environment.production.ts","./src/main.ts","webpack:///./src/app/core/dynamic-form-components/form-builder/form-builder.component.ts?68b1","webpack:///./src/app/shared/dynamic-controls/dynamic-form-control/dynamic-form-control.component.ts?962e","./src/app/PaymentPortal/payment-portal-footer/payment-portal-footer.component.css","./src/app/PaymentPortal/payment-portal-header/payment-portal-header.component.css","./src/app/PaymentPortal/payment-portal-login/file-number-help/file-number-help.component.css","./src/app/PaymentPortal/payment-portal-login/payment-portal-login.component.css","./src/app/PaymentPortal/payment-portal-payment/ccv-help/ccvhelp.component.css","./src/app/PaymentPortal/payment-portal-payment/payment-portal-payment.component.css","./src/app/claim-submission/claim-submission.component.css","./src/app/core/dynamic-form-components/table-builder/table-builder.component.css","./src/app/dashboard/change-client-focus/change-client-focus.component.css","./src/app/manage/accounts/accounts.component.css","./src/app/manage/accounts/add-activity/add-activity.component.css","./src/app/manage/accounts/attorney-information/attorney-information.component.css","./src/app/manage/accounts/collector-information/collector-information.component.css","./src/app/manage/reports/reports.component.css","./src/app/reports/Client/claim-detail/claim-detail.component.css","./src/app/reports/Client/client-summary/client-summary.component.css","./src/app/reports/Client/daily-statistics/daily-statistics.component.css","./src/app/reports/Client/monthly-performance/monthly-performance.component.css","./src/app/app.component.scss","./src/app/core/abc-message-display/abc-message-display.component.scss","./src/app/core/header/header.component.scss","./src/app/core/printer-selection/printer-selection.component.scss","./src/app/core/searchable-lookup/searchable-lookup.component.scss","./src/app/dashboard/dashboard.component.scss","./src/app/login/login.component.scss","./src/app/maintenance/dynamic/dynamic.component.scss","./src/app/reports/report-viewer/report-viewer.component.scss","./src/app/shared/base-form/base-form.component.scss","./src/app/shared/dynamic-controls/control-components/left-right-combo-box/left-right-combo-box.component.scss","./src/app/shared/modals/printer-output/printer-output.component.scss","./src/app/system/change-password/change-password.component.scss","./src/app/system/forgot-password/forgot-password.component.scss","./src/app/system/secure-reset/secure-reset.component.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'payment-portal-footer',\r\n templateUrl: './payment-portal-footer.component.html',\r\n styleUrls: ['./payment-portal-footer.component.css']\r\n})\r\nexport class PaymentPortalFooterComponent {\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'payment-portal-header',\r\n templateUrl: './payment-portal-header.component.html',\r\n styleUrls: ['./payment-portal-header.component.css']\r\n})\r\nexport class PaymentPortalHeaderComponent {\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { AccountService } from '../../../shared/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-file-number-help',\r\n templateUrl: './file-number-help.component.html',\r\n styleUrls: ['./file-number-help.component.css']\r\n})\r\nexport class FileNumberHelpComponent {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n\r\n // Input parameters\r\n\r\n // Global Arrays\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService,\r\n private svcAccountService: AccountService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.modShared.SetModalDraggable();\r\n\r\n this.mfrmForm = new UntypedFormGroup({});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { CustomValidators } from '../../shared/services/custom-validators';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientsService } from 'app/shared/services/clients.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { AccountService } from '../../shared/services/account.service';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\nimport { FileNumberHelpComponent } from './file-number-help/file-number-help.component';\r\nimport { _isTestEnvironment } from '@angular/cdk/platform';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-payment-portal-login',\r\n templateUrl: './payment-portal-login.component.html',\r\n styleUrls: ['./payment-portal-login.component.css']\r\n})\r\nexport class PaymentPortalLoginComponent {\r\n\r\n\r\n menmScreenModes = {\r\n AuthByDetails: 1,\r\n AuthByGUID: 2\r\n }\r\n\r\n // Subscriptions\r\n\r\n // Dropdowns\r\n marCountry: any[] = [];\r\n marAllState: any[] = [];\r\n marState: any[] = []; \r\n\r\n // Data\r\n mfrmForm: UntypedFormGroup;\r\n\r\n // Properties\r\n mbolCaptchaResolved: boolean = false;\r\n mstrCaptchaResponse: string = \"\"; \r\n ScreenMode: number = this.menmScreenModes.AuthByDetails;\r\n mbolHasPaymentPortal: boolean = environment.hasPaymentPortal;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private svcModalService: NgbModal,\r\n private valCustomValidators: CustomValidators,\r\n private svcAuth: AuthenticationService,\r\n private rtRouter: Router,\r\n private arRoute: ActivatedRoute) {\r\n\r\n let bolHasPaymentPortal: boolean = false;\r\n\r\n try {\r\n\r\n if (!this.mbolHasPaymentPortal) {\r\n\r\n // They don't have a payment portal, reroute them. \r\n this.rtRouter.navigate(['/']);\r\n\r\n } else {\r\n\r\n this.arRoute.queryParams.subscribe(arParameters => {\r\n\r\n if (arParameters['GUID'] != undefined) {\r\n\r\n // Attempt to auth by GUID\r\n this.svcAuth.AuthenticateByPaymentPortalGUID(arParameters['GUID'])\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.rtRouter.navigate(['/PaymentPortal/PaymentPortalPayment']);\r\n\r\n } else {\r\n\r\n // Could not Auth, switch over to details (assuming Payment Portal is enabled and someone isn't trying to trick the system)\r\n bolHasPaymentPortal = this.modShared.ExtractValueFromPayload(rspResponse, \"HasPaymentPortal\");\r\n\r\n console.log(\"This\" + bolHasPaymentPortal);\r\n\r\n if (bolHasPaymentPortal != undefined\r\n && !bolHasPaymentPortal) {\r\n\r\n this.rtRouter.navigate(['/']);\r\n\r\n } else {\r\n\r\n this.ScreenMode = this.menmScreenModes.AuthByDetails;\r\n\r\n }\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n this.ScreenMode = this.menmScreenModes.AuthByGUID;\r\n\r\n } else {\r\n\r\n this.ScreenMode = this.menmScreenModes.AuthByDetails;\r\n\r\n }\r\n\r\n }); \r\n\r\n } \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let arTablesToRetrieve: string[] = [];\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ClaimIdent': new UntypedFormControl(\"\", [Validators.required, this.valCustomValidators.Numeric]),\r\n 'Address1': new UntypedFormControl(\"\", []),\r\n 'City': new UntypedFormControl(\"\", []),\r\n 'CountryIdent': new UntypedFormControl(modSharedService.enmCountry.USA, []),\r\n 'StateIdent': new UntypedFormControl(0, []),\r\n 'Zip': new UntypedFormControl(\"\", []),\r\n 'ReCaptchaForm': new UntypedFormControl(undefined, [])\r\n });\r\n\r\n arTablesToRetrieve.push(\"State\");\r\n\r\n this.svcMaintenanceService.GetAllByList(arTablesToRetrieve)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marAllState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n this.marState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n\r\n // Set up the watchers for when a country box changes\r\n this.mfrmForm.get('CountryIdent').valueChanges.subscribe(intCountryIdent => {\r\n\r\n this.marState = this.marAllState.slice().filter(itmState => itmState.CountryIdent == intCountryIdent || itmState.Ident == 0);\r\n\r\n if (this.marState.find(itmState => itmState.Ident == this.mfrmForm.controls.StateIdent.value) == undefined) {\r\n\r\n this.mfrmForm.controls.StateIdent.patchValue(0);\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n // Have to get Country Separately because it pushed US to the top\r\n this.svcMaintenanceService.GetAllActiveCountry()\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n // Don't want to extract Dropdown because we want US to bubble to the top\r\n this.marCountry = this.modShared.ExtractDataFromPayload(rspResponse, \"Country\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n console.log(this.marCountry);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n checkCaptcha(strCaptchaResponse: string) {\r\n\r\n try {\r\n\r\n this.mbolCaptchaResolved = (strCaptchaResponse && strCaptchaResponse.length > 0) ? true : false;\r\n this.mstrCaptchaResponse = strCaptchaResponse;\r\n\r\n console.log(\"Resp: \" + strCaptchaResponse);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Login() {\r\n\r\n try {\r\n\r\n if (this.mbolCaptchaResolved) {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n this.svcAuth.AuthenticateByPaymentPortalDetails(this.mstrCaptchaResponse, this.mfrmForm.controls.ClaimIdent.value, this.mfrmForm.controls.Address1.value,\r\n this.mfrmForm.controls.City.value, this.mfrmForm.controls.CountryIdent.value, this.mfrmForm.controls.StateIdent.value, this.mfrmForm.controls.Zip.value)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.rtRouter.navigate(['/PaymentPortal/PaymentPortalPayment']);\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n }\r\n\r\n } else {\r\n\r\n this.modShared.AddMessage(new ABCMessage(0, \"You must accept the CAPTCHA below.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n } \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n CheckScreenMode(intScreenMode: number): boolean {\r\n\r\n let bolResult: boolean = false;\r\n\r\n try {\r\n\r\n bolResult = (this.ScreenMode == intScreenMode);\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return bolResult;\r\n\r\n }\r\n\r\n LoadABCFnHelp() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n // Display the modal -- Note, omitting \"Backdrop\" as we want them to be able to hit Escape and/or click outside the modal\r\n rfModal = this.svcModalService.open(FileNumberHelpComponent, { size: 'md' });\r\n\r\n rfModal.result.then((objResult) => {\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n setTimeout(() => {\r\n\r\n let modal = document.getElementsByClassName(\"modal\");\r\n modal[0].classList.add(\"in\");\r\n\r\n }, 100);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { AccountService } from '../../../shared/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-ccv-help',\r\n templateUrl: './ccvhelp.component.html',\r\n styleUrls: ['./ccvhelp.component.css']\r\n})\r\nexport class CCVHelpComponent {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n\r\n // Input parameters\r\n\r\n // Global Arrays\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.modShared.SetModalDraggable();\r\n\r\n this.mfrmForm = new UntypedFormGroup({});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { CustomValidators } from '../../shared/services/custom-validators';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientsService } from 'app/shared/services/clients.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { AccountService } from '../../shared/services/account.service';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { CCVHelpComponent } from './ccv-help/ccvhelp.component';\r\n\r\n@Component({\r\n selector: 'app-payment-portal-payment',\r\n templateUrl: './payment-portal-payment.component.html',\r\n styleUrls: ['./payment-portal-payment.component.css']\r\n})\r\nexport class PaymentPortalPaymentComponent {\r\n\r\n menmScreenModes = {\r\n CannotProcessAtThisTime: -1,\r\n Documents: 1,\r\n Confirmation: 2,\r\n Payment: 3,\r\n Receipt: 4\r\n }\r\n\r\n // Subscriptions\r\n\r\n // Dropdowns\r\n\r\n // Data\r\n mfrmForm: UntypedFormGroup;\r\n marAccount: any[] = [];\r\n marDocuments: any[] = [];\r\n marDocumentsToPay: any[] = [];\r\n marAllState: any[] = [];\r\n marState: any[] = [];\r\n marYears: any[] = []; \r\n\r\n // Properties\r\n mstrClientName1: string = \"\";\r\n mstrClientAddress1: string = \"\";\r\n mstrClientCity: string = \"\";\r\n mstrClientZip: string = \"\";\r\n mstrClientStateName1: string = \"\";\r\n ScreenMode: number = this.menmScreenModes.Documents;\r\n mstrABCFn: string = \"\";\r\n mstrAccountName1: string = \"\";\r\n mstrAccountNumber: string = \"\";\r\n mstrAccountAddress1: string = \"\";\r\n mstrAccountCity: string = \"\";\r\n mstrAccountStateName1: string = \"\";\r\n mstrAccountZip: string = \"\";\r\n mmnyTotalPaymentAmount: number = 0;\r\n mbolHasStagingPayment: boolean = false;\r\n mmnyMinPaymentPortalThreshold: number = 0;\r\n mmnyMaxPaymentPortalThreshold: number = 0;\r\n\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private svcModalService: NgbModal,\r\n private svcAccounts: AccountService, \r\n private valCustomValidators: CustomValidators,\r\n private rtRouter: Router,\r\n private mobjDecimalPipe: DecimalPipe) {\r\n\r\n try {\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let arTablesToRetrieve: string[] = [];\r\n let dtStartDate: Date = new Date();\r\n let itmYear: any;\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'BillingAddress1': new UntypedFormControl(\"\", [Validators.required]),\r\n 'BillingCity': new UntypedFormControl(\"\", [Validators.required]),\r\n 'BillingCountryIdent': new UntypedFormControl(modSharedService.enmCountry.USA, []),\r\n 'BillingStateIdent': new UntypedFormControl(0, [Validators.required, this.valCustomValidators.DropdownRequired]),\r\n 'BillingZipCode': new UntypedFormControl(\"\", [Validators.required]),\r\n 'BillingFirstName': new UntypedFormControl(\"\", [Validators.required]),\r\n 'BillingLastName': new UntypedFormControl(\"\", [Validators.required]),\r\n 'CardNumber': new UntypedFormControl(\"\", [Validators.required]),\r\n 'ExpirationMonth': new UntypedFormControl(\"\", [Validators.required, this.valCustomValidators.NumericGreaterThanZero]),\r\n 'ExpirationYear': new UntypedFormControl(\"\", [Validators.required, this.valCustomValidators.NumericGreaterThanZero]),\r\n 'CardCCV': new UntypedFormControl(\"\", [Validators.required, this.valCustomValidators.NumericGreaterThanZero]),\r\n 'EmailConfirmation': new UntypedFormControl(\"\", [Validators.required])\r\n });\r\n\r\n // Pull the Account information\r\n\r\n this.svcAccounts.GetClientAndDebtorInformation()\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marAccount = this.modShared.ExtractDataFromPayload(rspResponse, \"AccountInformation\");\r\n this.marDocuments = this.modShared.ExtractDataFromPayload(rspResponse, \"Documents\");\r\n\r\n this.mstrClientName1 = this.marAccount[0].ClientName1;\r\n this.mstrClientAddress1 = this.marAccount[0].ClientAddress1;\r\n this.mstrClientCity = this.marAccount[0].ClientCity;\r\n this.mstrClientStateName1 = this.marAccount[0].ClientStateName1;\r\n this.mstrClientZip = this.marAccount[0].ClientZip;\r\n\r\n this.mstrABCFn = this.marAccount[0].ClaimIdent;\r\n this.mstrAccountName1 = this.marAccount[0].AccountName1;\r\n this.mstrAccountNumber = this.marAccount[0].AccountNumber;\r\n this.mstrAccountAddress1 = this.marAccount[0].AccountAddress1;\r\n this.mstrAccountCity = this.marAccount[0].AccountCity;\r\n this.mstrAccountStateName1 = this.marAccount[0].AccountStateName1;\r\n this.mstrAccountZip = this.marAccount[0].AccountZip;\r\n this.mbolHasStagingPayment = this.marAccount[0].HasStagingPayment;\r\n\r\n // Update the payment fields\r\n this.mfrmForm.controls.BillingAddress1.patchValue(this.marAccount[0].AccountAddress1);\r\n this.mfrmForm.controls.BillingCity.patchValue(this.marAccount[0].AccountCity);\r\n this.mfrmForm.controls.BillingStateIdent.patchValue(this.marAccount[0].AccountStateIdent);\r\n this.mfrmForm.controls.BillingZipCode.patchValue(this.marAccount[0].AccountZip);\r\n\r\n // Minimum and Maximum amounts\r\n this.mmnyMinPaymentPortalThreshold = this.marAccount[0].MinPaymentPortalThreshold;\r\n this.mmnyMaxPaymentPortalThreshold = this.marAccount[0].MaxPaymentPortalThreshold;\r\n\r\n // Check to see if they should be allowed to process a payment\r\n if (this.mbolHasStagingPayment) {\r\n\r\n this.ScreenMode = this.menmScreenModes.CannotProcessAtThisTime;\r\n\r\n }\r\n\r\n if (this.marDocuments.length == 0) {\r\n\r\n this.ScreenMode = this.menmScreenModes.CannotProcessAtThisTime;\r\n this.modShared.AddMessage(new ABCMessage(0, \"No Documents found for Claim.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n arTablesToRetrieve.push(\"State\");\r\n\r\n this.svcMaintenanceService.GetAllByList(arTablesToRetrieve)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marAllState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n this.marState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n\r\n // Set up the watchers for when a country box changes\r\n this.mfrmForm.get('BillingCountryIdent').valueChanges.subscribe(intCountryIdent => {\r\n\r\n this.FilterState(intCountryIdent); \r\n\r\n });\r\n\r\n\r\n } // Succeeded\r\n\r\n this.FilterState(this.mfrmForm.controls.BillingCountryIdent.value);\r\n\r\n });\r\n\r\n\r\n for (let intCounter = 0; intCounter <= 10; intCounter++) {\r\n\r\n itmYear = new Object();\r\n itmYear.Value = new Date().getFullYear() + intCounter;\r\n\r\n this.marYears.push(itmYear);\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n FilterState(intCountryIdent: number) {\r\n\r\n try {\r\n\r\n this.marState = this.marAllState.slice().filter(itmState => itmState.CountryIdent == intCountryIdent || itmState.Ident == 0);\r\n\r\n if (this.marState.find(itmState => itmState.Ident == this.mfrmForm.controls.BillingStateIdent.value) == undefined) {\r\n\r\n this.mfrmForm.controls.BillingStateIdent.patchValue(0);\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n PayDocInFull(itmDocument: any) {\r\n\r\n try {\r\n\r\n itmDocument.PaymentAmount = this.FormatWithDecimal(itmDocument.Balance);\r\n\r\n console.log(itmDocument.PaymentAmount);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n PayAllInvoices() {\r\n\r\n try {\r\n\r\n for (let itmDocument of this.marDocuments) {\r\n\r\n itmDocument.PaymentAmount = this.FormatWithDecimal(itmDocument.Balance);\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n FormatWithDecimal(dblAmount: number): string {\r\n\r\n let strResult: string = \"\";\r\n\r\n try {\r\n\r\n dblAmount = Number(dblAmount.toString().replace(\",\", \"\"));\r\n\r\n if (dblAmount != 0) {\r\n\r\n strResult = this.mobjDecimalPipe.transform(dblAmount, '0.2-2');\r\n\r\n }\r\n\r\n strResult = strResult.toString().replace(\",\", \"\"); \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult;\r\n\r\n }\r\n\r\n CheckScreenMode(intScreenMode: number): boolean {\r\n\r\n let bolResult: boolean = false; \r\n\r\n try {\r\n\r\n bolResult = (this.ScreenMode == intScreenMode); \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return bolResult;\r\n\r\n }\r\n\r\n CompletePayment() {\r\n\r\n let elMessages: HTMLElement; \r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n if (confirm(\"This will complete your payment and charge your credit card. Are you sure you want to do this? Click 'OK' to confirm.\")) {\r\n\r\n this.svcAccounts.CompletePaymentPortalPayment(this.mmnyTotalPaymentAmount, this.mfrmForm.controls.EmailConfirmation.value, this.mfrmForm.controls.BillingFirstName.value,\r\n this.mfrmForm.controls.BillingLastName.value, this.mfrmForm.controls.BillingAddress1.value, this.mfrmForm.controls.BillingCity.value, this.mfrmForm.controls.BillingStateIdent.value,\r\n this.mfrmForm.controls.BillingZipCode.value, this.mfrmForm.controls.CardNumber.value, this.mfrmForm.controls.ExpirationMonth.value, this.mfrmForm.controls.ExpirationYear.value,\r\n this.mfrmForm.controls.CardCCV.value, this.marDocumentsToPay)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.ProgressStep(1);\r\n\r\n window.sessionStorage.clear();\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n VerifyDocuments() {\r\n\r\n // One of the few optimistic continues, because we're looking for \r\n // failure cases\r\n let bolContinue = true;\r\n let bolValidDocumentFound = false;\r\n let itmDocument: any = {};\r\n let arMessages = [];\r\n let msgValidation = {};\r\n let mnyTotalBalance = 0;\r\n let bolAllDocsPaidInFull: boolean = true;\r\n let bolExpensesPaid: boolean = false;\r\n\r\n try {\r\n\r\n this.modShared.MessagesCleared.next(); \r\n this.mmnyTotalPaymentAmount = 0;\r\n this.marDocumentsToPay = [];\r\n\r\n // Loop through each of the documents, make sure: \r\n // - The values are numeric\r\n // - The amounts aren't greater than the Balance\r\n // - That they entered one document \r\n for (var intCounter = 0; intCounter < this.marDocuments.length; intCounter++) {\r\n\r\n itmDocument = this.marDocuments[intCounter];\r\n\r\n if (itmDocument.PaymentAmount != null && itmDocument.PaymentAmount != '') {\r\n\r\n // Check to make sure the number is numeric \r\n if (isNaN(itmDocument.PaymentAmount)) {\r\n\r\n // Not a number, throw an error\r\n this.modShared.AddMessage(new ABCMessage(0, \"Document Number: \" + itmDocument.DocumentNumber + \" -- This value must be numeric.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n bolContinue = false;\r\n\r\n } else {\r\n\r\n // It's numeric, make sure it's less than the balance. \r\n if (itmDocument.PaymentAmount > itmDocument.Balance\r\n || itmDocument.PaymentAmount <= 0) {\r\n\r\n // Nope, Too much money on one doc.\r\n this.modShared.AddMessage(new ABCMessage(0, \"Document Number: \" + itmDocument.DocumentNumber + \" -- The amount paid must be greater than zero and less than or equal to the Balance on the document.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n bolContinue = false;\r\n\r\n } else {\r\n\r\n // All good, add it to the list and increment the payment amount\r\n this.mmnyTotalPaymentAmount = parseFloat((this.mmnyTotalPaymentAmount + parseFloat(itmDocument.PaymentAmount)).toFixed(2));\r\n this.marDocumentsToPay.push(itmDocument);\r\n\r\n bolValidDocumentFound = true;\r\n\r\n if (itmDocument.PaymentAmount != itmDocument.Balance\r\n && itmDocument.DocumentIdent != 0) {\r\n\r\n // They aren't paying this doc off in full, which is \"fine\", so long as they aren't trying to pay CE/Interest\r\n bolAllDocsPaidInFull = false; \r\n\r\n console.log(itmDocument.PaymentAmount); \r\n console.log(itmDocument.Balance); \r\n\r\n }\r\n\r\n if (itmDocument.DocumentIdent == 0) {\r\n\r\n bolExpensesPaid = true;\r\n\r\n } \r\n\r\n } // ELSE: PaymentAmount > Balance\r\n\r\n } // ELSE: isNAN\r\n\r\n } else {\r\n\r\n // They aren't paying this doc, mark it so we can check Interest/Expenses\r\n bolAllDocsPaidInFull = false;\r\n\r\n\r\n }// PaymentAmount != null\r\n\r\n mnyTotalBalance = parseFloat((mnyTotalBalance + parseFloat(itmDocument.Balance)).toFixed(2));\r\n\r\n } // for (...)\r\n\r\n if (bolExpensesPaid && !bolAllDocsPaidInFull) {\r\n\r\n this.modShared.AddMessage(new ABCMessage(0, \"You can only pay Interest/Expenses if you are also paying all other invoices in full.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n bolContinue = false;\r\n\r\n } \r\n\r\n if (!bolValidDocumentFound) {\r\n\r\n // No valid Document, raise an error\r\n this.modShared.AddMessage(new ABCMessage(0, \"You must enter at least one valid payment on one of the below documents to continue.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n bolContinue = false;\r\n\r\n }\r\n\r\n if ((this.mmnyTotalPaymentAmount <= 100 && this.mmnyTotalPaymentAmount < this.mmnyMinPaymentPortalThreshold)\r\n && this.mmnyTotalPaymentAmount != mnyTotalBalance\r\n && this.mmnyTotalPaymentAmount != 0) {\r\n\r\n console.log(this.mmnyTotalPaymentAmount);\r\n\r\n bolContinue = false;\r\n\r\n this.modShared.AddMessage(new ABCMessage(0, \"Invalid Payment Amount. We can only accept payments less than or equal to $100.00 if the account is being paid in full.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n // Make sure the total payment amount isn't too high or low\r\n if ((this.mmnyTotalPaymentAmount < this.mmnyMinPaymentPortalThreshold ||\r\n this.mmnyTotalPaymentAmount > this.mmnyMaxPaymentPortalThreshold)\r\n && !(this.mmnyTotalPaymentAmount <= 100\r\n && (this.mmnyTotalPaymentAmount == mnyTotalBalance\r\n || this.mmnyTotalPaymentAmount == 0))) {\r\n\r\n bolContinue = false;\r\n\r\n this.modShared.AddMessage(new ABCMessage(0, \"Invalid Payment Amount. This portal can only accept partial payments between $\" + this.mmnyMinPaymentPortalThreshold.toFixed(2) + \" and $\" + this.mmnyMaxPaymentPortalThreshold.toFixed(2) + \".\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n // Now that you're done looking, check to see if you found a valid doc\r\n if (bolContinue) {\r\n\r\n // Everything is good!\r\n this.ProgressStep(1);\r\n\r\n\r\n } \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ProgressStep(intStepDirection: number) {\r\n\r\n try {\r\n\r\n this.ScreenMode += intStepDirection;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n LoadCCVHelp() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n // Display the modal -- Note, omitting \"Backdrop\" as we want them to be able to hit Escape and/or click outside the modal\r\n rfModal = this.svcModalService.open(CCVHelpComponent, { size: 'md' });\r\n\r\n rfModal.result.then((objResult) => {\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n setTimeout(() => {\r\n\r\n let modal = document.getElementsByClassName(\"modal\");\r\n modal[0].classList.add(\"in\");\r\n\r\n }, 100);\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\n\r\n// Custom Components\r\nimport { LoginComponent } from './login/login.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { ChangePasswordComponent } from './system/change-password/change-password.component';\r\nimport { SecureResetComponent } from './system/secure-reset/secure-reset.component';\r\nimport { ForgotPasswordComponent } from './system/forgot-password/forgot-password.component';\r\nimport { ReportViewerComponent } from './reports/report-viewer/report-viewer.component';\r\nimport { AccountsComponent } from './manage/accounts/accounts.component';\r\nimport { ClaimSubmissionComponent } from './claim-submission/claim-submission.component';\r\nimport { ReportsComponent } from './manage/reports/reports.component';\r\nimport { ClaimDetailComponent } from './reports/Client/claim-detail/claim-detail.component';\r\nimport { ClientSummaryComponent } from './reports/Client/client-summary/client-summary.component';\r\nimport { DailyStatisticsComponent } from './reports/Client/daily-statistics/daily-statistics.component';\r\nimport { MonthlyPerformanceComponent } from './reports/Client/monthly-performance/monthly-performance.component';\r\nimport { PaymentPortalLoginComponent } from './PaymentPortal/payment-portal-login/payment-portal-login.component';\r\nimport { PaymentPortalPaymentComponent } from './PaymentPortal/payment-portal-payment/payment-portal-payment.component';\r\n\r\nconst appRoutes: Routes = [\r\n { path: '', component: LoginComponent },\r\n { path: 'login/NotAuthorized', component: LoginComponent },\r\n { path: 'dashboard', component: DashboardComponent },\r\n { path: 'manage/Accounts', component: AccountsComponent },\r\n { path: 'system/SecureReset', component: SecureResetComponent },\r\n { path: 'system/ForgotPassword', component: ForgotPasswordComponent},\r\n { path: 'system/ChangePassword', component: ChangePasswordComponent },\r\n { path: 'system/ChangePassword', component: ChangePasswordComponent },\r\n { path: 'reporting/ReportViewer', component: ReportViewerComponent },\r\n { path: 'claimSubmission', component: ClaimSubmissionComponent },\r\n { path: 'manage/Reports',\r\n component: ReportsComponent,\r\n children: [\r\n { path: 'Client/ClaimDetail', component: ClaimDetailComponent },\r\n { path: 'Client/ClientSummary', component: ClientSummaryComponent },\r\n { path: 'Client/DailyStatistics', component: DailyStatisticsComponent },\r\n { path: 'Client/MonthlyPerformance', component: MonthlyPerformanceComponent }\r\n ]\r\n },\r\n { path: 'PaymentPortal', component: PaymentPortalLoginComponent },\r\n { path: 'PaymentPortal/PaymentPortalPayment', component: PaymentPortalPaymentComponent }\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(appRoutes, { preloadingStrategy: PreloadAllModules, useHash: true, onSameUrlNavigation: 'reload' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\n\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GlobalVars } from './globalvars';\r\nimport { RECAPTCHA_SETTINGS, RecaptchaFormsModule, RecaptchaModule, RecaptchaSettings } from 'ng-recaptcha';\r\nimport { environment } from '../environments/environment';\r\n\r\n// Angular Material Controls\r\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\r\nimport { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\r\nimport { MatLegacyTabsModule as MatTabsModule } from '@angular/material/legacy-tabs';\r\nimport { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';\r\nimport { MatLegacyRadioButton as MatRadioButton, MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';\r\n\r\nimport 'jquery-ui-dist/jquery-ui';\r\n\r\n// Custom Components\r\nimport { AppComponent } from './app.component';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { modSharedService } from './shared/services/modShared.service';\r\nimport { AuthenticationService } from './shared/services/authentication.service';\r\nimport { HeaderComponent } from './core/header/header.component';\r\nimport { ReportingService } from './shared/services/reporting.service';\r\nimport { ABCMessageDisplayComponent } from './core/abc-message-display/abc-message-display.component';\r\nimport { DynamicComponent } from './maintenance/dynamic/dynamic.component';\r\nimport { ReferenceTablesService } from './shared/services/referenceTables.service';\r\nimport { MessagingService } from './shared/services/messaging.service';\r\nimport { DisableControlDirective } from './shared/directives/disable-control.directive';\r\n\r\n\r\n// Third party\r\nimport { LeftRightComboBoxComponent } from './shared/dynamic-controls/control-components/left-right-combo-box/left-right-combo-box.component';\r\nimport { RecordLockingService } from './shared/services/record-locking.service';\r\nimport { CustomValidators } from './shared/services/custom-validators';\r\nimport { ChangePasswordComponent } from './system/change-password/change-password.component';\r\nimport { SecureResetComponent } from './system/secure-reset/secure-reset.component';\r\nimport { ReportViewerComponent } from './reports/report-viewer/report-viewer.component';\r\nimport { SearchableLookupComponent } from './core/searchable-lookup/searchable-lookup.component';\r\nimport { PrinterSelectionComponent } from './core/printer-selection/printer-selection.component';\r\nimport { PrinterOutputComponent } from './shared/modals/printer-output/printer-output.component';\r\n\r\n// Third party\r\nimport { MaintenanceService } from './shared/services/maintenance.service';\r\nimport { DynamicFormControlComponent } from './shared/dynamic-controls/dynamic-form-control/dynamic-form-control.component';\r\nimport { FormControlService } from './shared/dynamic-controls/form-controls/form-control.service';\r\nimport { FormBuilderComponent } from './core/dynamic-form-components/form-builder/form-builder.component';\r\nimport { TableBuilderComponent } from './core/dynamic-form-components/table-builder/table-builder.component';\r\nimport { BaseFormComponent } from './shared/base-form/base-form.component';\r\nimport { Ng2GoogleChartsModule } from 'ng2-google-charts';\r\nimport { CommonModule, DatePipe, DecimalPipe } from '@angular/common';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { MenuModule } from 'primeng/primeng';\r\nimport { PasswordModule, InputTextModule } from 'primeng/primeng';\r\nimport { DragulaModule } from \"ng2-dragula\";\r\nimport { DragulaService } from \"ng2-dragula\";\r\nimport { DragulaExtendedDirective } from \"../dragula-extended.directive\";\r\n\r\n// Custom Code\r\nimport { ForgotPasswordComponent } from './system/forgot-password/forgot-password.component';\r\nimport { MatTreeModule} from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';\r\nimport { AngularSplitModule } from 'angular-split';\r\nimport { AccountService } from './shared/services/account.service';\r\nimport { ChangeClientFocusComponent } from './dashboard/change-client-focus/change-client-focus.component';\r\nimport { ManageUsersService } from './shared/services/manageUsers.service';\r\nimport { ClientsService } from './shared/services/clients.service';\r\nimport { AccountsComponent } from './manage/accounts/accounts.component';\r\nimport { AttorneyInformationComponent } from './manage/accounts/attorney-information/attorney-information.component';\r\nimport { CollectorInformationComponent } from './manage/accounts/collector-information/collector-information.component';\r\nimport { AddActivityComponent } from './manage/accounts/add-activity/add-activity.component';\r\nimport { ClaimSubmissionComponent } from './claim-submission/claim-submission.component';\r\nimport { ReportsComponent } from './manage/reports/reports.component';\r\nimport { ClaimDetailComponent } from './reports/Client/claim-detail/claim-detail.component';\r\nimport { ClientSummaryComponent } from './reports/Client/client-summary/client-summary.component';\r\nimport { DailyStatisticsComponent } from './reports/Client/daily-statistics/daily-statistics.component';\r\nimport { MonthlyPerformanceComponent } from './reports/Client/monthly-performance/monthly-performance.component';\r\nimport { PaymentPortalLoginComponent } from './PaymentPortal/payment-portal-login/payment-portal-login.component';\r\nimport { PaymentPortalFooterComponent } from './PaymentPortal/payment-portal-footer/payment-portal-footer.component';\r\nimport { PaymentPortalHeaderComponent } from './PaymentPortal/payment-portal-header/payment-portal-header.component';\r\nimport { FileNumberHelpComponent } from './PaymentPortal/payment-portal-login/file-number-help/file-number-help.component';\r\nimport { PaymentPortalPaymentComponent } from './PaymentPortal/payment-portal-payment/payment-portal-payment.component';\r\nimport { CCVHelpComponent } from './PaymentPortal/payment-portal-payment/ccv-help/ccvhelp.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n DashboardComponent,\r\n HeaderComponent,\r\n ABCMessageDisplayComponent,\r\n DynamicComponent,\r\n FormBuilderComponent,\r\n TableBuilderComponent,\r\n BaseFormComponent,\r\n DynamicFormControlComponent,\r\n LeftRightComboBoxComponent,\r\n DragulaExtendedDirective,\r\n ChangePasswordComponent,\r\n SecureResetComponent,\r\n ForgotPasswordComponent,\r\n ReportViewerComponent,\r\n SearchableLookupComponent,\r\n PrinterSelectionComponent,\r\n DisableControlDirective,\r\n PrinterOutputComponent,\r\n ChangeClientFocusComponent,\r\n AccountsComponent,\r\n AttorneyInformationComponent,\r\n CollectorInformationComponent,\r\n AddActivityComponent,\r\n ClaimSubmissionComponent,\r\n ReportsComponent,\r\n ClaimDetailComponent,\r\n ClientSummaryComponent,\r\n DailyStatisticsComponent,\r\n MonthlyPerformanceComponent,\r\n PaymentPortalLoginComponent,\r\n PaymentPortalFooterComponent,\r\n PaymentPortalHeaderComponent,\r\n FileNumberHelpComponent,\r\n PaymentPortalPaymentComponent,\r\n CCVHelpComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n SharedModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n Ng2GoogleChartsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n NgxDatatableModule,\r\n PanelMenuModule,\r\n TabViewModule,\r\n MenuModule,\r\n PasswordModule,\r\n InputTextModule,\r\n BrowserAnimationsModule,\r\n DragulaModule,\r\n NgbModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatInputModule,\r\n MatTabsModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatCardModule,\r\n MatRadioModule,\r\n AngularSplitModule,\r\n RecaptchaModule\r\n ],\r\n exports: [FormBuilderComponent, TableBuilderComponent, BaseFormComponent, DragulaExtendedDirective],\r\n providers: [modSharedService, AuthenticationService, ReportingService, MaintenanceService,\r\n FormControlService, ReferenceTablesService, GlobalVars, DragulaService,\r\n CustomValidators, RecordLockingService, MessagingService, DatePipe,\r\n DecimalPipe, AccountService, ManageUsersService, ClientsService, {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: {\r\n siteKey: environment.recaptcha.siteKey,\r\n } as RecaptchaSettings,\r\n }],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../shared/services/maintenance.service';\r\nimport { CustomValidators } from '../shared/services/custom-validators';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientsService } from 'app/shared/services/clients.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Validator } from '../shared/dynamic-controls/form-controls/form-control-base';\r\nimport { ABCMessage } from '../shared/models/abc-message.model';\r\nimport { AccountService } from '../shared/services/account.service';\r\nimport { AuthenticationService } from '../shared/services/authentication.service';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-claim-submission',\r\n templateUrl: './claim-submission.component.html',\r\n styleUrls: ['./claim-submission.component.css']\r\n})\r\nexport class ClaimSubmissionComponent implements OnInit, OnDestroy {\r\n\r\n // Subscriptions\r\n OnNavigation: Subscription; \r\n\r\n\r\n menmScreenModes = {\r\n Search: 0,\r\n Edit: 1\r\n }\r\n\r\n menmSubmissionType = {\r\n Domestic: 1,\r\n Foreign: 2\r\n } \r\n\r\n ngOnDestroy() {\r\n\r\n // This is needed to allow for same-navigation reload.\r\n\r\n try {\r\n\r\n if (this.OnNavigation) {\r\n\r\n this.OnNavigation.unsubscribe();\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n // Dropdowns\r\n marAllState: any[] = [];\r\n marClientState: any[] = [];\r\n marDebtorState: any[] = [];\r\n marCountry: any[] = [];\r\n marClaimSubmissionLegalStatus: any[] = []; \r\n marTriState: any[] = [];\r\n marClaimSubmissionTerm: any[] = [];\r\n marClaimSubmissionDocumentType: any[] = [];\r\n marClaimSubmissionStatus: any[] = [];\r\n\r\n // Data\r\n marFilesAttached: string[] = [];\r\n\r\n // Properties\r\n ScreenMode: number = this.menmScreenModes.Edit;\r\n mfrmForm: UntypedFormGroup;\r\n mfilFileAttachmentData: File = null;\r\n mstrAttachmentFileName: string = \"\";\r\n mstrUserFolderGUID: string = \"\";\r\n mstrAttachmentFileUploadBytes: string = \"\";\r\n mitmClient: any = {};\r\n mintSubmissionType: number\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcAccountService: AccountService,\r\n private svcClientsService: ClientsService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private rtRouter: Router) {\r\n\r\n try {\r\n\r\n if (this.rtRouter.getCurrentNavigation() != undefined\r\n && this.rtRouter.getCurrentNavigation().extras != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state.ClaimSubmissionType != undefined) {\r\n\r\n this.mintSubmissionType = this.rtRouter.getCurrentNavigation().extras.state.ClaimSubmissionType;\r\n\r\n\r\n } else {\r\n\r\n this.mintSubmissionType = 2; \r\n\r\n console.log(\"No State!\");\r\n\r\n }\r\n\r\n this.OnNavigation = this.rtRouter.events.subscribe((e: any) => {\r\n // If it is a NavigationEnd event re-initalise the component\r\n if (e instanceof NavigationEnd) {\r\n\r\n if (this.rtRouter.getCurrentNavigation() != undefined\r\n && this.rtRouter.getCurrentNavigation().extras != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state.ClaimSubmissionType != undefined) {\r\n\r\n this.mintSubmissionType = this.rtRouter.getCurrentNavigation().extras.state.ClaimSubmissionType;\r\n\r\n }\r\n\r\n this.ngOnInit(); \r\n }\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let arTablesToRetrieve: string[] = [];\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ClientNo': new UntypedFormControl(\"\", []),\r\n 'ClientEmail': new UntypedFormControl(\"\", []),\r\n 'ClientName': new UntypedFormControl(\"\", []),\r\n 'ClientContact': new UntypedFormControl(\"\", []),\r\n 'ClientAddress1': new UntypedFormControl(\"\", []),\r\n 'ClientAddress2': new UntypedFormControl(\"\", []),\r\n 'ClientAddress3': new UntypedFormControl(\"\", []),\r\n 'ClientCity': new UntypedFormControl(\"\", []),\r\n 'ClientStateIdent': new UntypedFormControl(0, []),\r\n 'ClientZip': new UntypedFormControl(\"\", []),\r\n 'ClientCountryIdent': new UntypedFormControl(0, []),\r\n 'ClientPhone': new UntypedFormControl(\"\", []),\r\n 'ClientFax': new UntypedFormControl(\"\", []),\r\n 'DebtorName': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorOwner': new UntypedFormControl(\"\", []),\r\n 'DebtorContact': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorAddress1': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorAddress2': new UntypedFormControl(\"\", []),\r\n 'DebtorAddress3': new UntypedFormControl(\"\", []),\r\n 'DebtorCity': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorStateIdent': new UntypedFormControl(0, []),\r\n 'DebtorZip': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorCountryIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'DebtorPhone': new UntypedFormControl(\"\", [Validators.required]), \r\n 'DebtorFax': new UntypedFormControl(\"\", []),\r\n 'CustomerNo': new UntypedFormControl(\"\", [Validators.required]),\r\n 'DebtorEmail': new UntypedFormControl(\"\", []),\r\n 'DebtorBank': new UntypedFormControl(\"\", []),\r\n 'BankPhone': new UntypedFormControl(\"\", []),\r\n 'ClaimSubmissionLegalStatusIdent': new UntypedFormControl(0, []),\r\n 'DebtAmt': new UntypedFormControl(\"\", [this.valCustomValidators.NumericGreaterThanZero]),\r\n 'Currency': new UntypedFormControl(\"\", [Validators.required]),\r\n 'OldestInv': new UntypedFormControl(\"\", []),\r\n 'LastPay': new UntypedFormControl(\"\", []),\r\n 'ClaimSubmissionTermIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'RecGoodsTriStateIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'BillExchTriStateIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'BillLadingTriStateIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'ProtestTriStateIdent': new UntypedFormControl(0, []),\r\n 'BankDemandTriStateIdent': new UntypedFormControl(0, []),\r\n 'Status': new UntypedFormControl(\"\", []),\r\n 'Other': new UntypedFormControl(\"\", []),\r\n 'Documents': new UntypedFormControl(\"\", []),\r\n 'Mail': new UntypedFormControl(false, []),\r\n 'Fax': new UntypedFormControl(false, []),\r\n 'Comments': new UntypedFormControl(\"\", []),\r\n 'FileAttachment': new UntypedFormControl({ value: '', disabled: true }, []),\r\n 'FileAttachmentUpload': new UntypedFormControl(null, []),\r\n 'ClientIdent': new UntypedFormControl(0, []),\r\n 'ClaimSubmissionTypeIdent': new UntypedFormControl(this.mintSubmissionType, []),\r\n 'ClientTerritory': new UntypedFormControl(\"\", []),\r\n 'Referral': new UntypedFormControl(\"\", []),\r\n 'Email': new UntypedFormControl(false, []),\r\n 'FinalDemandTriStateIdent': new UntypedFormControl(false, [])\r\n });\r\n\r\n arTablesToRetrieve.push(\"State\");\r\n arTablesToRetrieve.push(\"ClaimSubmissionLegalStatus\");\r\n arTablesToRetrieve.push(\"TriState\");\r\n arTablesToRetrieve.push(\"ClaimSubmissionTerm\");\r\n arTablesToRetrieve.push(\"ClaimSubmissionStatus\");\r\n arTablesToRetrieve.push(\"ClaimSubmissionDocumentType\");\r\n \r\n this.svcMaintenanceService.GetAllByList(arTablesToRetrieve)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marAllState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n this.marClientState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n this.marDebtorState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"StateGetAll\");\r\n this.marClaimSubmissionLegalStatus = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ClaimSubmissionLegalStatusGetAll\");\r\n this.marTriState = this.modShared.ExtractDropdownFromPayload(rspResponse, \"TriStateGetAll\").filter(x => x.Ident != 0)\r\n .sort((a, b) => a.Ident > b.Ident ? 1 : -1);\r\n this.marClaimSubmissionTerm = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ClaimSubmissionTermGetAll\");\r\n this.marClaimSubmissionStatus = this.modShared.ExtractDataFromPayload(rspResponse, \"ClaimSubmissionStatusGetAll\");\r\n this.marClaimSubmissionDocumentType = this.modShared.ExtractDataFromPayload(rspResponse, \"ClaimSubmissionDocumentTypeGetAll\");\r\n\r\n this.mfrmForm.get('ClientCountryIdent').valueChanges.subscribe(intCountryIdent => {\r\n\r\n this.marClientState = this.marAllState.slice().filter(itmState => itmState.CountryIdent == intCountryIdent || itmState.Ident == 0);\r\n\r\n if (this.marClientState.find(itmState => itmState.Ident == this.mfrmForm.controls.ClientStateIdent.value) == undefined) {\r\n\r\n this.mfrmForm.controls.ClientStateIdent.patchValue(0);\r\n\r\n }\r\n\r\n });\r\n\r\n this.mfrmForm.get('DebtorCountryIdent').valueChanges.subscribe(intCountryIdent => {\r\n\r\n this.marDebtorState = this.marAllState.slice().filter(itmState => itmState.CountryIdent == intCountryIdent || itmState.Ident == 0);\r\n\r\n if (this.marDebtorState.find(itmState => itmState.Ident == this.mfrmForm.controls.DebtorStateIdent.value) == undefined) {\r\n\r\n this.mfrmForm.controls.DebtorStateIdent.patchValue(0);\r\n\r\n }\r\n\r\n });\r\n\r\n this.svcClientsService.GetClientAndStructureByIdent(this.modShared.mintClientFocusIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mitmClient = this.modShared.ExtractDataFromPayload(rspResponse, \"Client\")[0];\r\n\r\n this.PopulateClientFields();\r\n\r\n // Have to get Country Separately because it pushed US to the top\r\n this.svcMaintenanceService.GetAllActiveCountry()\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n // Don't want to extract Dropdown because we want US to bubble to the top\r\n this.marCountry = this.modShared.ExtractDataFromPayload(rspResponse, \"Country\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n if (this.mintSubmissionType == modSharedService.enmClaimSubmissionFormType.Domestic) {\r\n\r\n this.mfrmForm.controls.Currency.patchValue(\"USD\");\r\n this.mfrmForm.controls.BillExchTriStateIdent.clearValidators(); \r\n\r\n } else {\r\n\r\n this.mfrmForm.controls.Currency.patchValue(\"\");\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ClearClaim() {\r\n\r\n let bolContinue: boolean = true;\r\n\r\n try {\r\n\r\n if (this.mfrmForm.dirty) {\r\n\r\n bolContinue = confirm(\"You have made changes to this claim, are you sure you want to clear this information?\");\r\n \r\n }\r\n\r\n if (bolContinue) {\r\n\r\n this.ClearControls();\r\n\r\n }\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n PopulateClientFields() {\r\n\r\n try {\r\n\r\n this.mfrmForm.controls.ClientNo.patchValue(this.mitmClient.ClientNumber); \r\n this.mfrmForm.controls.ClientEmail.patchValue(this.mitmClient.Email);\r\n this.mfrmForm.controls.ClientName.patchValue(this.mitmClient.PublicName1);\r\n this.mfrmForm.controls.ClientAddress1.patchValue(this.mitmClient.Address1);\r\n this.mfrmForm.controls.ClientAddress2.patchValue(this.mitmClient.Address2);\r\n this.mfrmForm.controls.ClientAddress3.patchValue(this.mitmClient.Address3);\r\n this.mfrmForm.controls.ClientCity.patchValue(this.mitmClient.City);\r\n this.mfrmForm.controls.ClientStateIdent.patchValue(this.mitmClient.StateIdent);\r\n this.mfrmForm.controls.ClientZip.patchValue(this.mitmClient.Zip);\r\n this.mfrmForm.controls.ClientCountryIdent.patchValue(this.mitmClient.CountryIdent);\r\n this.mfrmForm.controls.ClientPhone.patchValue(this.mitmClient.Phone);\r\n this.mfrmForm.controls.ClientFax.patchValue(this.mitmClient.Fax);\r\n this.mfrmForm.controls.ClientIdent.patchValue(this.mitmClient.Ident);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n GetClaimSubmissionEmail(): string {\r\n\r\n try {\r\n\r\n return modSharedService.gstrClaimSubmissionEmailAddress; \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n EditEnabled(): boolean {\r\n\r\n try {\r\n\r\n return this.ScreenMode === this.menmScreenModes.Edit;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } // EditEnabled()\r\n\r\n Cancel() {\r\n\r\n let bolContinue: boolean = true;\r\n\r\n try {\r\n\r\n if (this.mfrmForm.dirty) {\r\n\r\n bolContinue = confirm(\"You have made changes to this claim, are you sure you want to cancel?\"); \r\n\r\n }\r\n\r\n if (bolContinue) {\r\n\r\n this.rtRouter.navigate(['/dashboard']);\r\n\r\n }\r\n \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n \r\n ClearControls() {\r\n\r\n let objSave: any = null;\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n // Save the search controls \r\n objSave = this.modShared.SaveSearchParameters(this.mfrmForm);\r\n\r\n this.mfrmForm.reset();\r\n\r\n // Reset initial values\r\n // TODO: Fill in\r\n this.mfrmForm.setValue({\r\n ClientNo: \"\",\r\n ClientEmail: \"\",\r\n ClientName: \"\",\r\n ClientContact: \"\",\r\n ClientAddress1: \"\",\r\n ClientAddress2: \"\",\r\n ClientAddress3: \"\",\r\n ClientCity: \"\",\r\n ClientStateIdent: 0,\r\n ClientZip: \"\",\r\n ClientCountryIdent: 0,\r\n ClientPhone: \"\",\r\n ClientFax: \"\",\r\n DebtorName: \"\",\r\n DebtorOwner: \"\",\r\n DebtorContact: \"\",\r\n DebtorAddress1: \"\",\r\n DebtorAddress2: \"\",\r\n DebtorAddress3: \"\",\r\n DebtorCity: \"\",\r\n DebtorStateIdent: 0,\r\n DebtorZip: \"\",\r\n DebtorCountryIdent: 0,\r\n DebtorPhone: \"\",\r\n DebtorFax: \"\",\r\n CustomerNo: \"\",\r\n DebtorEmail: \"\",\r\n DebtorBank: \"\",\r\n BankPhone: \"\",\r\n ClaimSubmissionLegalStatusIdent: 0,\r\n DebtAmt: \"\",\r\n Currency: \"\",\r\n OldestInv: \"\",\r\n LastPay: \"\",\r\n ClaimSubmissionTermIdent: 0,\r\n RecGoodsTriStateIdent: 0,\r\n BillExchTriStateIdent: 0,\r\n BillLadingTriStateIdent: 0,\r\n ProtestTriStateIdent: 0,\r\n BankDemandTriStateIdent: 0,\r\n Status: \"\",\r\n Other: \"\",\r\n Documents: \"\",\r\n Mail: false,\r\n Fax: false,\r\n Comments: \"\",\r\n FileAttachmentUpload: null,\r\n ClientIdent: 0,\r\n ClaimSubmissionTypeIdent: this.mintSubmissionType,\r\n ClientTerritory: \"\",\r\n Referral: \"\",\r\n Email: false,\r\n FinalDemandTriStateIdent: false,\r\n FileAttachment: {\r\n value: '',\r\n FileAttachmentUpload: null }\r\n });\r\n\r\n // Repopulate the search controls \r\n this.modShared.PopulateFormFromItem(this.mfrmForm, objSave);\r\n\r\n if (this.mintSubmissionType == modSharedService.enmClaimSubmissionFormType.Domestic) {\r\n\r\n this.mfrmForm.controls.Currency.patchValue(\"USD\");\r\n\r\n } else {\r\n\r\n this.mfrmForm.controls.Currency.patchValue(\"\");\r\n\r\n }\r\n\r\n this.PopulateClientFields(); \r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n IsDomesticSubmission(): boolean {\r\n\r\n try {\r\n\r\n return (this.mintSubmissionType == modSharedService.enmClaimSubmissionFormType.Domestic);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n FileSelected(arFiles) {\r\n\r\n let rdrReader = new FileReader();\r\n\r\n try {\r\n\r\n console.log(arFiles);\r\n\r\n this.mfilFileAttachmentData = arFiles[0];\r\n this.mstrAttachmentFileName = this.mfilFileAttachmentData.name;\r\n\r\n rdrReader.onload = function (readerEvt: any) {\r\n\r\n var arrayBuffer = readerEvt.target.result.toString().split('base64,')[1];\r\n\r\n //document.querySelector('#hidden_upload_item').innerHTML = arrayBuffer;\r\n this.mstrAttachmentFileUploadBytes = arrayBuffer;\r\n\r\n }.bind(this);\r\n\r\n rdrReader.readAsDataURL(this.mfilFileAttachmentData);\r\n\r\n // Alexandru Troponete\r\n \r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UploadFileAttachment() {\r\n\r\n try {\r\n\r\n if (this.mfilFileAttachmentData != null || this.mstrAttachmentFileName != \"\") {\r\n\r\n this.svcAccountService.AddAttachmentToClaimSubmission(this.mstrAttachmentFileUploadBytes, this.mstrAttachmentFileName, this.mstrUserFolderGUID)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mstrUserFolderGUID = this.modShared.ExtractValueFromPayload(rspResponse, \"UserFolderGUID\");\r\n\r\n this.marFilesAttached.push(this.mstrAttachmentFileName);\r\n\r\n this.mfilFileAttachmentData = null;\r\n this.mstrAttachmentFileName = \"\";\r\n\r\n this.mfrmForm.controls.FileAttachmentUpload.setValue(null);\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } else {\r\n\r\n this.modShared.MessagesCleared.next();\r\n this.modShared.AddMessage(new ABCMessage(0, \"No File Selected!\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ClearAttachments() {\r\n\r\n try {\r\n\r\n this.svcAccountService.ClearAttachmentsFromClaimSubmission(this.mstrUserFolderGUID)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marFilesAttached = [];\r\n\r\n this.mfilFileAttachmentData = null;\r\n this.mstrAttachmentFileName = \"\";\r\n\r\n this.mfrmForm.controls.FileAttachmentUpload.setValue(null);\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SubmitClaim(cmdSubmitClaim: any) {\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n this.svcAccountService.AddClaimSubmission(this.mfrmForm, this.mstrUserFolderGUID, this.mfrmForm.controls.Status.value, this.mfrmForm.controls.Documents.value)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.modShared.MessagesCleared.next();\r\n this.modShared.AddMessage(new ABCMessage(0, \"Your claim has been successfully submitted!\", modSharedService.enmABCMessageSeverity.SaveSuccess, \"\"));\r\n\r\n this.rtRouter.navigate(['/dashboard']);\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } else {\r\n\r\n cmdSubmitClaim.focus();\r\n\r\n } \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n \r\n}\r\n","import { Component, OnInit, ChangeDetectorRef} from '@angular/core';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'abc-message-display',\r\n templateUrl: './abc-message-display.component.html',\r\n styleUrls: ['./abc-message-display.component.scss']\r\n})\r\nexport class ABCMessageDisplayComponent implements OnInit, OnDestroy {\r\n\r\n // modShared Subscriptions\r\n private OnMessagesAdded: Subscription;\r\n private OnMessagesCleared: Subscription;\r\n\r\n marMessages: ABCMessage[] = [];\r\n\r\n constructor(private modShared: modSharedService, private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n \r\n // if () {\r\n this.OnMessagesAdded = this.modShared.MessagesAdded.subscribe(\r\n (arMessages: ABCMessage[]) => {\r\n \r\n this.marMessages.push(...arMessages);\r\n this.cdr.detectChanges();\r\n \r\n });\r\n \r\n // }\r\n \r\n this.OnMessagesCleared = this.modShared.MessagesCleared.subscribe(\r\n () => {\r\n\r\n this.marMessages = [];\r\n\r\n });\r\n \r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n try {\r\n\r\n this.OnMessagesAdded.unsubscribe();\r\n this.OnMessagesCleared.unsubscribe();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n DetermineErrorStyle() {\r\n\r\n let intMaxABCMessageSeverity: number = modSharedService.enmABCMessageSeverity.SaveSuccess;\r\n let intMaxABCMessageSeverityPriority: number = 0;\r\n let intCurrentMessagePriority: number = 0;\r\n let objClass;\r\n\r\n try {\r\n\r\n // Loop through each of the errors, checking their severity\r\n // and defaulting to the highest priority\r\n for (let msgMessage of this.marMessages) {\r\n\r\n intCurrentMessagePriority = this.modShared.GetABCMessageSeverityPriority(msgMessage.ABCMessageSeverityIdent);\r\n\r\n if (intCurrentMessagePriority > intMaxABCMessageSeverityPriority) {\r\n\r\n intMaxABCMessageSeverity = msgMessage.ABCMessageSeverityIdent;\r\n intMaxABCMessageSeverityPriority = intCurrentMessagePriority;\r\n\r\n }\r\n\r\n }\r\n\r\n switch (intMaxABCMessageSeverity) {\r\n\r\n case modSharedService.enmABCMessageSeverity.Severe:\r\n case modSharedService.enmABCMessageSeverity.SaveFailedMessages:\r\n case modSharedService.enmABCMessageSeverity.FailedValidation: {\r\n\r\n objClass = { 'alert-danger': true };\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.Low:\r\n case modSharedService.enmABCMessageSeverity.Moderate: {\r\n\r\n objClass = { 'alert-warning': true };\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.Information: {\r\n\r\n objClass = { 'alert-primary': true };\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.SaveSuccess: {\r\n\r\n objClass = { 'alert-success': true };\r\n break;\r\n\r\n }\r\n\r\n default: {\r\n\r\n objClass = { 'alert-warning': true };\r\n break;\r\n\r\n }\r\n\r\n } // switch(intMaxABCMessageSeverity)\r\n\r\n return objClass;\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, ViewChild, ɵConsole, ChangeDetectorRef } from '@angular/core';\r\nimport { UntypedFormGroup, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { FormControlBase } from '../../../shared/dynamic-controls/form-controls/form-control-base';\r\nimport { FormControlService } from '../../../shared/dynamic-controls/form-controls/form-control.service';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { BaseFormComponent } from '../../../shared/base-form/base-form.component';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-form-builder',\r\n templateUrl: './form-builder.component.html',\r\n providers: [FormControlService],\r\n styles: [\r\n `\r\n .tab-pane {\r\n padding-top: 20px;\r\n }\r\n .tab-container {\r\n width: 100%;\r\n }\r\n .control-container {\r\n width: 100%;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\nexport class FormBuilderComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() controls: FormControlBase[] = [];\r\n @Input() tabs: any[] = [];\r\n @Input() masterFormEvents: Observable;\r\n @Output() formSubmit = new EventEmitter();\r\n @Output() formReset = new EventEmitter();\r\n nextEvent: any;\r\n selectedTab: any;\r\n form: UntypedFormGroup;\r\n dynamicDataSourceControls: any;\r\n initialData: any[] = [];\r\n columns: any[] = []; \r\n\r\n constructor(private formControl: FormControlService, public modShared: modSharedService, private cdr: ChangeDetectorRef, private svcMaintenanceService: MaintenanceService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.nextEvent = this.masterFormEvents.subscribe((saveContinue) => {\r\n this.Save(saveContinue)\r\n });\r\n\r\n this.selectedTab = this.tabs.length > 0 ? this.tabs[0] : null;\r\n this.SetLabels();\r\n this.SetDynamicValues();\r\n this.form = this.formControl.toFormGroup(this.controls);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(){\r\n \r\n this.nextEvent.unsubscribe();\r\n\r\n }\r\n\r\n Save(saveContinue: boolean){\r\n\r\n this.formSubmit.emit({form: this.form, saveAndContinue: saveContinue});\r\n\r\n }\r\n\r\n SetLabels(){\r\n\r\n try{\r\n\r\n this.controls.forEach(x => {\r\n\r\n x.label = x.label.replace(/([A-Z]+)/g, \" $1\").replace(/([A-Z][a-z])/g, \" $1\");\r\n x.label = x.label.replace(/[^0-9](?=[0-9])/g, '$& ');\r\n \r\n });\r\n\r\n this.tabs.forEach(x =>{\r\n\r\n x.label = x.label.replace(/([A-Z])/g, ' $1');\r\n x.label = x.label.replace(/[^0-9](?=[0-9])/g, '$& ');\r\n\r\n });\r\n \r\n }\r\n\r\n catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SetDynamicValues() {\r\n\r\n try {\r\n this.dynamicDataSourceControls = [];\r\n this.dynamicDataSourceControls = this.controls.filter(control => control.datasource != undefined && control.datasource != null && control.datasource != null);\r\n\r\n this.dynamicDataSourceControls.forEach(x => {\r\n\r\n if (x.datasource.proc === \"uspGetAllActiveABCUsersForStationAssignment\") {\r\n\r\n this.svcMaintenanceService.GetABCUsersForStation().subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n x.options = [];\r\n\r\n x.options.push({\r\n \"key\": \"\", \"value\": \"Please Select\"\r\n });\r\n\r\n resultOptions.forEach(y => {\r\n\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n\r\n });\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n if (x.options.length <= 2) {\r\n\r\n x.options = [];\r\n\r\n this.svcMaintenanceService.GetAll(x.datasource.entity)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n \r\n x.options.push({\r\n \"key\": \"\", \"value\": \"Please Select\"\r\n });\r\n resultOptions.forEach(y => {\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n });\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n handleControlChange(event) {\r\n let actions = event.control.onChange;\r\n\r\n if (actions.hasOwnProperty(\"updateSelects\")) {\r\n if (event.value == undefined || event.value == null || event.value == \"\") return;\r\n this.updateSelectDependents(event.control, event.value, actions.updateSelects);\r\n }\r\n\r\n if (actions.hasOwnProperty(\"updateValidations\")) {\r\n if (event.value == undefined || event.value == null || event.value == \"\") return;\r\n this.updateValidationDependents(event.control, event.value, actions.updateValidations);\r\n }\r\n }\r\n\r\n // Called on change of a control with dependent select field sources.\r\n // Updates the options available in the dependent select fields.\r\n updateSelectDependents(changedControl, newValue, dependentSelects) {\r\n try {\r\n dependentSelects.forEach((updateConfig) => {\r\n let control = this.controls.find(control => control.key == updateConfig.controlKey);\r\n control.options = [];\r\n var queryParams = {};\r\n queryParams[updateConfig.columnName] = newValue;\r\n\r\n this.svcMaintenanceService.Search(control.datasource.entity, queryParams).subscribe(\r\n (rspResponse: ApiResponse) => {\r\n if (rspResponse.Succeeded) {\r\n var resultOptions: any = rspResponse.Payload[0].Data; \r\n resultOptions.forEach(y => { \r\n control.options.push({\r\n \"key\": y[control.datasource.key], \"value\": y[control.datasource.value]\r\n }); \r\n });\r\n }\r\n });\r\n });\r\n }\r\n catch (ex) {\r\n this.modShared.LogClientError(ex);\r\n }\r\n }\r\n\r\n // Called on change of a control with dependent validation field sources.\r\n // Updates the dependent validation fields.\r\n updateValidationDependents(changedControl, newKey, dependentValidations) {\r\n try {\r\n dependentValidations.forEach((updateConfig) => {\r\n let control = this.controls.filter(control => control.key == updateConfig.controlKey);\r\n if (control && control.length > 0 && updateConfig.selectedValue == newKey) {\r\n this.form.controls[updateConfig.controlKey].setValidators([Validators.minLength(9), Validators.maxLength(9)]);\r\n this.form.controls[updateConfig.controlKey].updateValueAndValidity();\r\n } else {\r\n this.form.controls[updateConfig.controlKey].clearValidators();\r\n this.form.controls[updateConfig.controlKey].updateValueAndValidity();\r\n }\r\n });\r\n }\r\n catch (ex) {\r\n this.modShared.LogClientError(ex);\r\n }\r\n }\r\n\r\n RemitData(tabs) { \r\n \r\n this.controls.forEach(element => {\r\n let replacementText = element.key; \r\n element.value = this.form.controls[replacementText].value; \r\n }); \r\n\r\n this.controls.forEach(element1 => {\r\n if(element1.key.startsWith(\"Remit\")) {\r\n let shortenedKey = element1.key.replace(\"RemitTo\", \"\").replace(\"Remit\" ,\"\"); \r\n this.controls.forEach(element2 => {\r\n if(element2.key == shortenedKey) { \r\n element1.value = element2.value; \r\n }\r\n });\r\n }\r\n });\r\n \r\n this.form = this.formControl.toFormGroup(this.controls);\r\n\r\n if (tabs.length) {\r\n let idx = tabs.indexOf(this.selectedTab);\r\n this.selectedTab = tabs[idx + 1];\r\n }\r\n\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, ViewChild, TemplateRef, ViewContainerRef, ViewEncapsulation, IterableDiffers, ChangeDetectionStrategy, OnChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { FormControlBase } from '../../../shared/dynamic-controls/form-controls/form-control-base';\r\nimport { FormControlService } from '../../../shared/dynamic-controls/form-controls/form-control.service';\r\nimport { DatatableComponent, SelectionType } from '@swimlane/ngx-datatable';\r\nimport { FormDataService } from '../../../shared/services/formdata.service';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { resetFakeAsyncZone } from '@angular/core/testing';\r\nimport { DragulaService } from \"ng2-dragula\";\r\nimport { element } from 'protractor';\r\nimport { AfterViewInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-table-builder',\r\n templateUrl: './table-builder.component.html',\r\n providers: [FormControlService],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls: ['./table-builder.component.css']\r\n})\r\n\r\nexport class TableBuilderComponent implements OnInit, AfterViewInit {\r\n dynamicDataSourceControls: any;\r\n initialData: any[] = [];\r\n columns: any[] = [];\r\n iconsCss: any;\r\n mintRecordIdent: number = 0;\r\n mintCurrentRecordIndex: number = 0;\r\n editRowIdent: number = 0;\r\n private _entityName: string = \"\";\r\n private routeSub: any;\r\n @Input() showTable: boolean;\r\n @Input() entity: string;\r\n @Input() rows: any[] = [];\r\n @Input() pageSize: number;\r\n @Input() draggable: boolean;\r\n @Input() dataColumns: any[] = [];\r\n @Input() searchValues: any;\r\n @Input() controls: FormControlBase[] = [];\r\n @Output() formSubmit = new EventEmitter();\r\n @Output() formChange = new EventEmitter();\r\n @Output() Edit: EventEmitter = new EventEmitter(true);\r\n form: UntypedFormGroup;\r\n @ViewChild('editTemplate', { static: false }) editTemplate: TemplateRef;\r\n @ViewChild(DatatableComponent, { static: false }) mydatatable: DatatableComponent;\r\n\r\n\r\n SelectionType = SelectionType;\r\n\r\n constructor(private formControl: FormControlService, private iterableDiffers: IterableDiffers, private svcMaintenanceService: MaintenanceService, public formData: FormDataService, public modShared: modSharedService, private router: Router, private vcRef: ViewContainerRef, private activatedRoute: ActivatedRoute, private cdr: ChangeDetectorRef, private dragulaService: DragulaService) {\r\n var self = this;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n if (this.rows && this.rows.length) {\r\n let keys = Object.keys(this.rows[0]);\r\n if (keys.includes('Rank'))\r\n this.rows.sort((a, b) => (a.Rank > b.Rank) ? 1 : -1);\r\n }\r\n this.iconsCss = { sortAscending: 'glyphicon glyphicon-chevron-down', sortDescending: 'glyphicon glyphicon-chevron-up', pagerLeftArrow: 'fa fa-angle-left', pagerRightArrow: 'fa fa-angle-right', pagerPrevious: 'fa fa-angle-double-left', pagerNext: 'fa fa-angle-double-right' };\r\n this.initialData = this.rows;\r\n\r\n\r\n if (this.controls) {\r\n this.form = this.formControl.toFormGroup(this.controls);\r\n }\r\n\r\n if (this.searchValues && Object.keys(this.searchValues).length > 1) {\r\n\r\n let sv = this.searchValues;\r\n delete sv.Active;\r\n let svKeys = Object.keys(sv);\r\n let formKeys = Object.keys(this.form.value);\r\n\r\n for (let key in formKeys) {\r\n let keyExists = svKeys.filter(x => x == formKeys[key]);\r\n if (!keyExists || keyExists.length == 0)\r\n sv[formKeys[key]] = \"\";\r\n }\r\n\r\n svKeys = Object.keys(sv);\r\n\r\n for (let key in svKeys) {\r\n let keyExists = formKeys.filter(x => x == svKeys[key]);\r\n if (!keyExists || keyExists.length == 0)\r\n delete sv[svKeys[key]];\r\n }\r\n\r\n this.form.setValue(sv);\r\n\r\n }\r\n\r\n this.form.valueChanges.subscribe(changes => {\r\n\r\n this.formChange.emit(this.form.value)\r\n\r\n });\r\n\r\n this.SetDynamicValues();\r\n\r\n // this.mydatatable.onColumnSort({sorts: this.columns});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n \r\n this.columns.length = 0;\r\n this.columns.push({\r\n \"prop\": \"Ident\", \"name\": \"\", \"cellTemplate\": this.editTemplate, \"width\": 75\r\n });\r\n\r\n this.dataColumns.forEach(x => {\r\n\r\n if ((x.showInGrid || x.showInGrid === undefined) && x.key.toUpperCase() != \"IDENT\") {\r\n\r\n if (x.datasource != null && x.datasource != undefined && x.datasource != null) {\r\n\r\n if (x.datasource.entity) {\r\n\r\n this.columns.push({\r\n \"prop\": x.datasource.entity + '.' + x.datasource.value, \"name\": x.label, \"width\": x.width ? x.width : 135\r\n });\r\n\r\n }\r\n else if (x.datasource.proc) {\r\n\r\n this.columns.push({\r\n \"prop\": x.datasource.entityName + '.' + x.datasource.value, \"name\": x.label, \"width\": x.width ? x.width : 135\r\n });\r\n\r\n }\r\n\r\n } else {\r\n\r\n this.columns.push({\r\n \"prop\": x.key, \"name\": x.label, \"width\": x.width ? x.width : 135\r\n });\r\n this.columns = [...this.columns]\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n Reset() {\r\n\r\n try {\r\n\r\n this.form.reset();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n EditRecord(value: string) {\r\n\r\n try {\r\n\r\n this.Edit.emit(value);\r\n this.svcMaintenanceService.SetEditIdent(value);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SetColumnLabels() {\r\n\r\n try {\r\n\r\n this.dataColumns.forEach(x => {\r\n\r\n x.label = x.label.replace(/([A-Z]+)/g, \" $1\").replace(/([A-Z][a-z])/g, \" $1\");\r\n x.label = x.label.replace(/[^0-9](?=[0-9])/g, '$& ');\r\n\r\n });\r\n\r\n }\r\n catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AdjustRank(btnClicked, currentRow) {\r\n\r\n if (btnClicked == 'top') {\r\n\r\n let storedValue = currentRow.Rank;\r\n\r\n if (storedValue != 1) {\r\n currentRow.Rank = 1;\r\n this.rows.forEach(element => {\r\n if ((element.Rank <= storedValue) && (element.Rank + 1 <= this.rows.length) && (element.Ident != currentRow.Ident)) {\r\n element.Rank = element.Rank + 1;\r\n }\r\n });\r\n }\r\n\r\n }\r\n else if (btnClicked == 'up') {\r\n\r\n let storedValue = currentRow.Rank;\r\n\r\n if (currentRow.Rank > 1) {\r\n currentRow.Rank--;\r\n this.rows.forEach(element => {\r\n if ((element.Rank == currentRow.Rank) && (element.Ident != currentRow.Ident)) {\r\n element.Rank = storedValue;\r\n }\r\n });\r\n }\r\n }\r\n else if (btnClicked == 'down') {\r\n\r\n let storedValue = currentRow.Rank;\r\n\r\n if (currentRow.Rank < this.rows.length) {\r\n currentRow.Rank++;\r\n this.rows.forEach(element => {\r\n if ((element.Rank == currentRow.Rank) && (element.Ident != currentRow.Ident)) {\r\n element.Rank = storedValue;\r\n }\r\n });\r\n }\r\n }\r\n else if (btnClicked == 'bottom') {\r\n\r\n let storedValue = currentRow.Rank;\r\n\r\n if (storedValue != this.rows.length) {\r\n currentRow.Rank = this.rows.length;\r\n this.rows.forEach(element => {\r\n if ((element.Rank >= storedValue) && (element.Ident != currentRow.Ident)) {\r\n element.Rank = element.Rank - 1;\r\n }\r\n });\r\n }\r\n }\r\n this.RecalibrateRows();\r\n }\r\n\r\n SaveInlineRank(rowData: any) {\r\n\r\n let entityParam = this.activatedRoute.snapshot.params[\"entity\"];\r\n\r\n this._entityName = entityParam;\r\n this.svcMaintenanceService.Update(this._entityName, rowData)\r\n .subscribe((rspResponse: ApiResponse) => {\r\n });\r\n }\r\n\r\n onDrop(event) {\r\n this.rows = event;\r\n\r\n this.rows.forEach(element => {\r\n element.Rank = event.indexOf(element) + 1;\r\n this.rows[element.Rank - 1] = element;\r\n });\r\n\r\n this.RecalibrateRows();\r\n }\r\n\r\n RecalibrateRows() {\r\n this.ngOnInit();\r\n this.mydatatable.sorts = [{ prop: 'Rank', dir: 'asc' }];\r\n this.rows.forEach(element => {\r\n this.SaveInlineRank(element);\r\n });\r\n }\r\n\r\n SetDynamicValues() {\r\n\r\n try {\r\n this.dynamicDataSourceControls = [];\r\n this.dynamicDataSourceControls = this.controls.filter(control => control.datasource != undefined && control.datasource != null && control.datasource != null);\r\n\r\n this.dynamicDataSourceControls.forEach(x => {\r\n\r\n if (x.datasource.proc === \"uspGetAllActiveABCUsersForStationAssignment\") {\r\n\r\n this.svcMaintenanceService.GetABCUsersForStation().subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n x.options = [];\r\n\r\n x.options.push({\r\n \"key\": \"\", \"value\": \"Please Select\"\r\n });\r\n\r\n resultOptions.forEach(y => {\r\n\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n this.cdr.detectChanges();\r\n\r\n } else {\r\n this.svcMaintenanceService.GetAll(x.datasource.entity)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n x.options = [];\r\n\r\n x.options.push({\r\n \"key\": \"\", \"value\": \"Please Select\"\r\n });\r\n resultOptions.forEach(y => {\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n });\r\n\r\n }\r\n \r\n this.cdr.detectChanges();\r\n\r\n });\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientsService } from '../../shared/services/clients.service';\r\nimport { ChangeClientFocusComponent } from '../../dashboard/change-client-focus/change-client-focus.component';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n // Subscriptions\r\n private OnEscalationsSet: Subscription;\r\n\r\n constructor(public modShared: modSharedService,\r\n private rtRouter: Router,\r\n private svcClientsService: ClientsService,\r\n private svcModalService: NgbModal) { }\r\n\r\n mstrUsername: string;\r\n marEscalations: any[] = []; \r\n \r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mstrUsername = this.modShared.mstrUsername;\r\n\r\n if (this.modShared.mbolRestrictAccess === 'true' && this.rtRouter.url != '/system/ChangePassword') {\r\n\r\n //todo update message to alert once messaging is merged.\r\n this.rtRouter.navigate(['/system/ChangePassword']);\r\n\r\n }\r\n\r\n this.OnEscalationsSet = this.modShared.EscalationsSet.subscribe(\r\n () => {\r\n\r\n this.marEscalations = JSON.parse(this.modShared.marEscalations); \r\n\r\n });\r\n\r\n this.marEscalations = JSON.parse(this.modShared.marEscalations);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SearchByEscalation(intCustomerResponseIdent: number) {\r\n\r\n try {\r\n\r\n if (this.rtRouter.url == \"/manage/Accounts\") {\r\n\r\n this.modShared.SearchAccount.next(intCustomerResponseIdent);\r\n\r\n } else {\r\n\r\n this.rtRouter.navigate(['/manage/Accounts'], { state: { data: { EscalationCustomerResponseIdent: intCustomerResponseIdent } } });\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n ClientFocus(): string {\r\n\r\n try {\r\n\r\n return this.modShared.mstrClientFocusNumber + \" - \" + this.modShared.mstrClientFocusName;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n HasClientFocus(): boolean {\r\n\r\n try {\r\n\r\n return (this.modShared.mintClientFocusIdent != 0);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n\r\n ChangeFocus() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n let itmClient: any = {};\r\n\r\n try {\r\n\r\n // Display the modal\r\n rfModal = this.svcModalService.open(ChangeClientFocusComponent, { backdrop: 'static', size: 'xl' });\r\n rfModal.result.then((objResult) => {\r\n\r\n if (objResult.RecordSaved) {\r\n\r\n this.svcClientsService.GetClientAndStructureByIdent(objResult.ClientIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n itmClient = this.modShared.ExtractDataFromPayload(rspResponse, \"Client\")[0];\r\n\r\n this.modShared.mstrClientFocusName = itmClient.PublicName1;\r\n this.modShared.mstrClientFocusNumber = itmClient.ClientNumber;\r\n this.modShared.mintClientFocusIdent = itmClient.Ident;\r\n\r\n this.modShared.SetEscalations(this.modShared.ExtractDataFromPayload(rspResponse, \"Escalation\"));\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n this.modShared.SetLoading(false);\r\n\r\n }\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n NavigateToEntity(entity: string) {\r\n\r\n try {\r\n\r\n this.rtRouter.navigateByUrl('/', { skipLocationChange: true }).then(() =>\r\n this.rtRouter.navigate(['/system/referenceTables', { entity: entity }])); \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n }\r\n\r\n onLogout() {\r\n\r\n try {\r\n\r\n this.modShared.mstrAuthToken = '';\r\n this.rtRouter.navigate(['/']);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n } \r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { ABCDictionary } from '../../shared/models/abc.dictionary.model';\r\n\r\n@Component({\r\n selector: 'app-printer-selection',\r\n templateUrl: './printer-selection.component.html',\r\n styleUrls: ['./printer-selection.component.scss']\r\n})\r\nexport class PrinterSelectionComponent implements OnInit {\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcMaintenance: MaintenanceService) { }\r\n\r\n\r\n @Output()\r\n OnPrinterSelectionChanged: EventEmitter = new EventEmitter();\r\n\r\n marPrinters: any[] = []; \r\n mfrmForm: UntypedFormGroup;\r\n \r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n\r\n });\r\n\r\n\r\n this.svcMaintenance.GetAll(\"CorrespondencePrinter\")\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marPrinters = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGetAll\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ChangeChecked(itmItem: any, intIndex: number) {\r\n\r\n try {\r\n\r\n // Because this was a stock maintenance form, we don't know if selected is even a property, so check that first\r\n if (itmItem.Selected == undefined) {\r\n\r\n itmItem.Selected = false;\r\n\r\n } \r\n\r\n itmItem.Selected = !itmItem.Selected;\r\n\r\n // Raise up the value change\r\n this.OnPrinterSelectionChanged.emit(this.marPrinters.filter(itmItem => itmItem.Selected == true)); \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n \r\n}\r\n","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { ABCDictionary } from '../../shared/models/abc.dictionary.model';\r\n\r\n//for account structure\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\n\r\n@Component({\r\n selector: 'app-searchable-lookup',\r\n templateUrl: './searchable-lookup.component.html',\r\n styleUrls: ['./searchable-lookup.component.scss']\r\n})\r\nexport class SearchableLookupComponent implements OnInit {\r\n\r\n @Input() mfrmScreenLocked: UntypedFormControl;\r\n @Input() mfrmFormControl: UntypedFormControl;\r\n @Input() mstrTableName: string = \"\";\r\n @Input() mstrOverrideProcedure: string = \"\";\r\n @Input() mintMaxRecords: number = 50;\r\n @Input() marAdditionalParameters: UntypedFormControl[] = [];\r\n @Input() mstrDisplayColumn: string = \"Name1\";\r\n \r\n marResults: any[] = [];\r\n marColumns: any[] = [];\r\n mbolDisabled: boolean = false;\r\n\r\n mfrmSearch: UntypedFormGroup;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcMaintenance: MaintenanceService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmSearch = new UntypedFormGroup({\r\n\r\n 'Name1': new UntypedFormControl(\"\", [])\r\n \r\n });\r\n\r\n if (this.mfrmScreenLocked !== undefined) {\r\n\r\n this.mbolDisabled = this.mfrmScreenLocked.value;\r\n\r\n this.mfrmScreenLocked.valueChanges.subscribe(bolLocked => {\r\n\r\n this.LockScreen(bolLocked);\r\n\r\n });\r\n \r\n // Check to see if this already has a record loaded, if so use the table name to pull the Name1\r\n if (this.mfrmFormControl !== undefined\r\n && this.mfrmFormControl !== null) {\r\n\r\n if (this.mfrmFormControl.value != 0) {\r\n\r\n this.svcMaintenance.GetSearchableLookupValueByTableIdent(this.mfrmFormControl.value, this.mstrTableName, this.mstrDisplayColumn)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mfrmSearch.controls.Name1.patchValue(this.modShared.ExtractDataFromPayload(rspResponse, \"Lookup\")[0][this.mstrDisplayColumn]);\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n }\r\n\r\n } \r\n\r\n this.LockScreen(this.mbolDisabled);\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n } \r\n \r\n }\r\n\r\n LockScreen(bolLocked: boolean) {\r\n\r\n try {\r\n\r\n this.mbolDisabled = bolLocked;\r\n\r\n for (let strControl in this.mfrmSearch.controls) {\r\n\r\n if (bolLocked) {\r\n\r\n this.mfrmSearch.get(strControl).disable();\r\n\r\n } else {\r\n\r\n this.mfrmSearch.get(strControl).enable();\r\n\r\n }\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n\r\n SelectRecord(itmItem: any, intIndex: number) {\r\n\r\n try {\r\n\r\n this.marColumns = [];\r\n this.marResults = [];\r\n \r\n if (itmItem[this.mstrDisplayColumn] !== undefined) {\r\n\r\n this.mfrmSearch.controls.Name1.patchValue(itmItem[this.mstrDisplayColumn]);\r\n\r\n } else {\r\n\r\n // Some older code just returns \"Name\"\r\n this.mfrmSearch.controls.Name1.patchValue(itmItem.Name);\r\n\r\n }\r\n\r\n this.mfrmFormControl.patchValue(itmItem.Ident);\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n Search() {\r\n\r\n let intParentRecordIdent: number = 0;\r\n let slAdditionalParameters: ABCDictionary[] = []; \r\n let strControlName: string = \"\";\r\n\r\n try {\r\n\r\n this.modShared.MessagesCleared.next(); \r\n\r\n // Loop through and add any additional parameters\r\n for (let ctlControl of this.marAdditionalParameters) {\r\n\r\n strControlName = this.modShared.GetFormControlName(ctlControl);\r\n\r\n slAdditionalParameters.push(new ABCDictionary(strControlName, ctlControl.value));\r\n\r\n }\r\n\r\n this.svcMaintenance.SearchableLookupByName1(this.mfrmSearch.controls.Name1.value,\r\n this.mstrTableName, this.mstrOverrideProcedure, slAdditionalParameters,\r\n this.mintMaxRecords)\r\n .subscribe(\r\n \r\n (rspResponse: ApiResponse) => {\r\n\r\n let objColumn: any;\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marResults = this.modShared.ExtractDataFromPayload(rspResponse, \"Results\");\r\n this.marColumns = [];\r\n\r\n if (this.marResults.length !== 0) {\r\n\r\n // Pull out the columns to create the base object.\r\n Object.entries(this.marResults[0]).forEach(([strKey, objVal]) => {\r\n\r\n if (strKey.indexOf(\"Ident\") == -1) {\r\n\r\n objColumn = new Object;\r\n objColumn.ColumnID = strKey;\r\n objColumn.ColumnName = this.modShared.ConvertColumnName(strKey);\r\n\r\n this.marColumns.push(objColumn);\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n \r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { AccountService } from '../../shared/services/account.service';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { ClientsService } from '../../shared/services/clients.service';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\ninterface Client {\r\n Ident: number,\r\n ParentClientIdent: number,\r\n Name1: string;\r\n PublicName1: string,\r\n ClientNumber: string,\r\n LeftBound: number,\r\n RightBound: number,\r\n ClientTreeIdent: number,\r\n SortOrder: number,\r\n Children: Client[];\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-change-client-focus',\r\n templateUrl: './change-client-focus.component.html',\r\n styleUrls: ['./change-client-focus.component.css']\r\n})\r\nexport class ChangeClientFocusComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mtrTree = new NestedTreeControl(node => node.Children);\r\n mobjClientStructure = new MatTreeNestedDataSource();\r\n mclRootClient: Client = null;\r\n mndCurrentNode: any;\r\n mbolDisplayTree: boolean = false; \r\n\r\n // Input parameters\r\n\r\n // Global Arrays\r\n marSearchResults: any[] = [];\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService,\r\n private svcAccountService: AccountService,\r\n private svcClientsService: ClientsService) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ClientNameOrNumber': new UntypedFormControl(\"\", [])\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here, either they added docs or not.\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Search() {\r\n\r\n let strClientNameOrNumber: string = \"\"; \r\n let arClientTree: Client[] = [];\r\n\r\n try {\r\n\r\n strClientNameOrNumber = this.mfrmForm.controls.ClientNameOrNumber.value;\r\n\r\n if (isNaN(+strClientNameOrNumber) || strClientNameOrNumber == \"\") {\r\n\r\n this.svcClientsService.SearchClientsByName(strClientNameOrNumber)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marSearchResults = this.modShared.ExtractDataFromPayload(rspResponse, \"Client\");\r\n this.mbolDisplayTree = false; \r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n this.svcClientsService.SearchClientByClientNumber(strClientNameOrNumber)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marSearchResults = this.modShared.ExtractDataFromPayload(rspResponse, \"Client\");\r\n\r\n this.mclRootClient = this.modShared.ExtractValueFromPayload(rspResponse, \"ClientStructure\");\r\n arClientTree.push(this.mclRootClient);\r\n\r\n this.mobjClientStructure.data = arClientTree;\r\n this.mtrTree.dataNodes = arClientTree;\r\n\r\n if (this.mtrTree.dataNodes[0] != undefined) {\r\n\r\n this.mndCurrentNode = this.mtrTree.dataNodes[0];\r\n\r\n this.ExpandNode(this.mtrTree.dataNodes[0].Ident);\r\n\r\n this.mbolDisplayTree = true;\r\n\r\n } \r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } \r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ExpandNode(intClientIdent: number) {\r\n\r\n let ndNodeToExpand: any;\r\n\r\n try {\r\n\r\n if (intClientIdent == this.mtrTree.dataNodes[0].Ident) {\r\n\r\n // They are grabbing the root, just grab it\r\n ndNodeToExpand = this.mtrTree.dataNodes[0];\r\n\r\n } else {\r\n\r\n ndNodeToExpand = this.mtrTree.getDescendants(this.mtrTree.dataNodes[0]).find(x => x.Ident == intClientIdent);\r\n\r\n }\r\n\r\n if (ndNodeToExpand !== undefined) {\r\n\r\n this.mtrTree.expand(ndNodeToExpand);\r\n\r\n if (ndNodeToExpand.ParentClientIdent !== 0) {\r\n\r\n this.ExpandNode(ndNodeToExpand.ParentClientIdent);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n hasChild = (_: number, clClient: Client) => !!clClient.Children && clClient.Children.length > 0;\r\n\r\n SelectClient(intClientIdent: number, itmClient: any, bolFromTree: boolean) {\r\n\r\n let objResult: any = {};\r\n let arClientTree: Client[] = [];\r\n\r\n try {\r\n\r\n if (bolFromTree\r\n || itmClient.LeftBound == (itmClient.RightBound - 1)) {\r\n\r\n // No logic needed, just return the client info.\r\n objResult.RecordSaved = true;\r\n objResult.ClientIdent = intClientIdent;\r\n\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } else {\r\n\r\n // Need to pull back the tree\r\n this.svcClientsService.GetClientAndStructureByIdent(itmClient.Ident)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mclRootClient = this.modShared.ExtractValueFromPayload(rspResponse, \"ClientStructure\");\r\n arClientTree.push(this.mclRootClient);\r\n\r\n this.mobjClientStructure.data = arClientTree;\r\n this.mtrTree.dataNodes = arClientTree;\r\n this.mndCurrentNode = this.mtrTree.dataNodes[0];\r\n\r\n this.ExpandNode(this.mtrTree.dataNodes[0].Ident);\r\n\r\n this.mbolDisplayTree = true;\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../shared/services/maintenance.service';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { ABCMessage } from '../shared/models/abc-message.model';\r\nimport { AccountService } from '../shared/services/account.service';\r\nimport { ABCDictionary } from '../shared/models/abc.dictionary.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ChangeClientFocusComponent } from './change-client-focus/change-client-focus.component';\r\nimport { ManageUsersService } from '../shared/services/manageUsers.service';\r\nimport { ClientsService } from '../shared/services/clients.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n // Dropdowns\r\n\r\n menmScreenModes = {\r\n Search: 0\r\n }\r\n\r\n // Properties\r\n ScreenMode: number = this.menmScreenModes.Search;\r\n mfrmForm: UntypedFormGroup;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcAccountService: AccountService,\r\n private svcManageUsersService: ManageUsersService,\r\n private svcClientsService: ClientsService, \r\n private svcModalService: NgbModal,\r\n private svcDatePipe: DatePipe,\r\n private rtRouter: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n if (!this.modShared.CheckUserInPermission(modSharedService.enmABCPermission.ClickABCStaffAccess)\r\n && !this.modShared.CheckUserInPermission(modSharedService.enmABCPermission.ClickABCClientAccess)) {\r\n\r\n this.rtRouter.navigate(['/'], { state: { data: { IsAuthorized: false } } });\r\n\r\n }\r\n\r\n this.mfrmForm = new UntypedFormGroup({});\r\n\r\n if (this.modShared.CheckUserInPermission(modSharedService.enmABCPermission.ClickABCStaffAccess)) {\r\n\r\n if (this.modShared.mintClientFocusIdent == 0) {\r\n\r\n this.OpenClientFocus(); \r\n\r\n }\r\n\r\n } else {\r\n\r\n if (this.modShared.mintClientFocusIdent == 0) {\r\n\r\n this.svcManageUsersService.GetWebUserDetails()\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.modShared.mstrClientFocusName = this.modShared.ExtractValueFromPayload(rspResponse, \"ClientFocusName\");\r\n this.modShared.mstrClientFocusNumber = this.modShared.ExtractValueFromPayload(rspResponse, \"ClientFocusNumber\");\r\n this.modShared.mintClientFocusIdent = this.modShared.ExtractValueFromPayload(rspResponse, \"ClientFocusIdent\");\r\n\r\n this.modShared.SetEscalations(this.modShared.ExtractDataFromPayload(rspResponse, \"Escalation\"));\r\n\r\n } else {\r\n\r\n this.rtRouter.navigate(['/'], { state: { data: { IsAuthorized: false } } });\r\n\r\n } // ELSE: Succeeded\r\n\r\n });\r\n\r\n } \r\n\r\n\r\n } \r\n\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n OpenClientFocus() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n let itmClient: any = {};\r\n\r\n try {\r\n\r\n // Display the modal\r\n rfModal = this.svcModalService.open(ChangeClientFocusComponent, { backdrop: 'static', size: 'xl' });\r\n rfModal.result.then((objResult) => {\r\n\r\n if (objResult.RecordSaved) {\r\n\r\n this.svcClientsService.GetClientAndStructureByIdent(objResult.ClientIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n itmClient = this.modShared.ExtractDataFromPayload(rspResponse, \"Client\")[0];\r\n \r\n this.modShared.mstrClientFocusName = itmClient.PublicName1;\r\n this.modShared.mstrClientFocusNumber = itmClient.ClientNumber;\r\n this.modShared.mintClientFocusIdent = itmClient.Ident;\r\n\r\n this.modShared.SetEscalations(this.modShared.ExtractDataFromPayload(rspResponse, \"Escalation\"));\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n this.modShared.SetLoading(false); \r\n\r\n }\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n ClientFocusIdent(): number {\r\n\r\n try {\r\n\r\n return this.modShared.mintClientFocusIdent;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class GlobalVars {\r\n public pageSize: number;\r\n public siteURL: string;\r\n public draggable: boolean;\r\n\r\n constructor() {\r\n this.pageSize = 10;\r\n this.siteURL = \"http://localhost:4200/#/system/referenceTables;entity=\";\r\n this.draggable = false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { modSharedService } from '../shared/services/modShared.service';\r\nimport { AuthenticationService } from '../shared/services/authentication.service';\r\nimport { ApiResponse } from '../shared/models/api-response.model';\r\nimport { ABCMessage } from '../shared/models/abc-message.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n mbolAuthorized: boolean = true;\r\n\r\n constructor(public modShared: modSharedService,\r\n private svcAuth: AuthenticationService,\r\n private rtRouter: Router,\r\n private svcModalService: NgbModal,\r\n private svcTitleService: Title) {\r\n\r\n\r\n try {\r\n\r\n if (this.rtRouter.getCurrentNavigation() != undefined\r\n && this.rtRouter.getCurrentNavigation().extras != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state.data.IsAuthorized != undefined) {\r\n\r\n this.mbolAuthorized = this.rtRouter.getCurrentNavigation().extras.state.data.IsAuthorized;\r\n\r\n } else {\r\n\r\n console.log(\"No State!\");\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.modShared.mstrAuthToken = '';\r\n this.modShared.mstrUsername = \"\";\r\n this.modShared.marUserRoles = \"\";\r\n this.modShared.marUserPermissions = \"\";\r\n this.modShared.mstrClientFocusName = \"\";\r\n this.modShared.mintClientFocusIdent = 0;\r\n this.modShared.mstrClientFocusNumber = \"\";\r\n this.modShared.SetEscalations([]); \r\n\r\n if (!this.mbolAuthorized) {\r\n\r\n this.modShared.MessagesCleared.next();\r\n this.modShared.AddMessage(new ABCMessage(0, \"This user is not authorized to access this application.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n this.svcTitleService.setTitle(this.modShared.mstrApplicationName);\r\n\r\n this.modShared.mintClientFocusIdent = 0; \r\n\r\n this.svcModalService.dismissAll(); \r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n onSignin(frmLoginForm: NgForm) {\r\n\r\n try {\r\n\r\n // Don't particularly like having the subscribe here. Consider moving it to the authentication service\r\n this.svcAuth.LoginUser(frmLoginForm.value.txtUsername,\r\n frmLoginForm.value.txtPassword)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n rspResponse.Payload.forEach((item) => {\r\n if (item[\"ItemName\"] == \"UserIdent\") {\r\n this.svcAuth.SetUserIdent(item[\"Data\"]);\r\n }\r\n });\r\n\r\n if (this.modShared.ExtractDataFromPayload(rspResponse, \"PasswordExpied\")) {\r\n\r\n this.modShared.mbolRestrictAccess = 'true';\r\n this.rtRouter.navigate(['/system/ChangePassword']);\r\n\r\n } else {\r\n\r\n this.rtRouter.navigate(['/dashboard']);\r\n this.modShared.mstrUsername = frmLoginForm.value.txtUsername;\r\n\r\n }\r\n\r\n this.modShared.marUserRoles = JSON.stringify(this.modShared.ExtractDataFromPayload(rspResponse, \"Roles\"));\r\n this.modShared.marUserPermissions = JSON.stringify(this.modShared.ExtractDataFromPayload(rspResponse, \"Permissions\"));\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n // perform error handling\r\n console.log(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ForgotPassword() {\r\n\r\n try {\r\n\r\n this.rtRouter.navigate(['/system/ForgotPassword']);\r\n\r\n } catch (ex) {\r\n\r\n // perform error handling\r\n console.log(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { Component, OnInit, Input, Output, EventEmitter, ViewContainerRef } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\n\r\n@Component({\r\n selector: 'dynamic',\r\n templateUrl: './dynamic.component.html',\r\n styleUrls: ['./dynamic.component.scss']\r\n})\r\n\r\nexport class DynamicComponent implements OnInit {\r\n\r\n constructor(private vcRef: ViewContainerRef, public modShared: modSharedService, private activatedRoute: ActivatedRoute, private router: Router) {}\r\n entity: string;\r\n parent: string;\r\n ident: number;\r\n pIdent: string;\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n\r\n this.entity = params['entity'] || null;\r\n this.parent = params['parent'] || null;\r\n this.ident = params['ident'] || null;\r\n this.pIdent = params['pIdent'] || null;\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { CustomValidators } from '../../shared/services/custom-validators';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientsService } from 'app/shared/services/clients.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { RecordLockingService } from '../../shared/services/record-locking.service';\r\nimport { Validator } from '../../shared/dynamic-controls/form-controls/form-control-base';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { AccountService } from '../../shared/services/account.service';\r\nimport { ABCDictionary } from '../../shared/models/abc.dictionary.model';\r\nimport { ReportingService } from '../../shared/services/reporting.service';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AttorneyInformationComponent } from './attorney-information/attorney-information.component';\r\nimport { CollectorInformationComponent } from './collector-information/collector-information.component';\r\nimport { AddActivityComponent } from './add-activity/add-activity.component';\r\n\r\n@Component({\r\n selector: 'app-accounts',\r\n templateUrl: './accounts.component.html',\r\n styleUrls: ['./accounts.component.css']\r\n})\r\nexport class AccountsComponent implements OnInit {\r\n\r\n // Subscriptions\r\n private OnAccountSearchForEscalation: Subscription;\r\n\r\n marSearchResults: any[] = [];\r\n\r\n menmScreenModes = {\r\n Search: 0,\r\n Edit: 1\r\n }\r\n\r\n // Dropdowns\r\n marCustomerResponseForSearch: any[] = [];\r\n marEscalationCustomerResponseForSearch: any[] = [];\r\n\r\n // Data\r\n marDocuments: any[] = []; \r\n marActivity: any[] = [];\r\n\r\n // Properties\r\n ScreenMode: number = this.menmScreenModes.Search;\r\n mfrmForm: UntypedFormGroup;\r\n mintRecordIdent: number = 0;\r\n mintClaimIdent: number = 0; \r\n mitmAccount: any = {}; \r\n mitmPrimaryContact: any = {};\r\n mintAttorneyIdent: number = 0;\r\n mstrAttorneyName: string = \"\"; \r\n mstrAttorneyCaseNumber: string = \"\"; \r\n mstrCurrency: string = \"\";\r\n mstrCollectorName: string = \"\";\r\n mintCollectorABCUserIdent: number = 0;\r\n mstrCollectorPhone: string = \"\"; \r\n\r\n mbolFireSearch: boolean = false;\r\n mintEscalationCustomerResponseIdent: number = 0; \r\n\r\n constructor(private modShared: modSharedService,\r\n private svcAccountService: AccountService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private svcLockingService: RecordLockingService,\r\n private svcModalService: NgbModal,\r\n private svcReporting: ReportingService,\r\n private svcDatePipe: DatePipe,\r\n private svcAuth: AuthenticationService,\r\n private rtRouter: Router) {\r\n\r\n try {\r\n\r\n if (this.rtRouter.getCurrentNavigation() != undefined\r\n && this.rtRouter.getCurrentNavigation().extras != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state != undefined\r\n && this.rtRouter.getCurrentNavigation().extras.state.data.EscalationCustomerResponseIdent != undefined) {\r\n\r\n this.mbolFireSearch = true;\r\n this.mintEscalationCustomerResponseIdent = this.rtRouter.getCurrentNavigation().extras.state.data.EscalationCustomerResponseIdent;\r\n\r\n } else {\r\n\r\n console.log(\"No State!\");\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let arTablesToRetrieve: string[] = [];\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'DocumentNumberForSearch': new UntypedFormControl(\"\", []),\r\n 'AccountNumberForSearch': new UntypedFormControl(\"\", []),\r\n 'CustomerNameForSearch': new UntypedFormControl(\"\", []),\r\n 'ClaimNumberForSearch': new UntypedFormControl(\"\", []), // TODO: Remove, testing only\r\n 'CustomerResponseIdentForSearch': new UntypedFormControl(0, []),\r\n 'EscalationCustomerResponseIdentForSearch': new UntypedFormControl(0, []),\r\n 'IncludeWorkedEscalation': new UntypedFormControl(true, [])\r\n });\r\n\r\n\r\n this.svcAccountService.GetScreenInformationForAccountSearch(this.modShared.mintClientFocusIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marEscalationCustomerResponseForSearch = this.modShared.ExtractDropdownFromPayload(rspResponse, \"EscalationCustomerResponse\");\r\n this.marCustomerResponseForSearch = this.modShared.ExtractDropdownFromPayload(rspResponse, \"CustomerResponse\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n if (this.mbolFireSearch) {\r\n\r\n this.mfrmForm.controls.EscalationCustomerResponseIdentForSearch.patchValue(this.mintEscalationCustomerResponseIdent);\r\n this.Search(); \r\n\r\n } \r\n\r\n this.OnAccountSearchForEscalation = this.modShared.SearchAccount.subscribe(\r\n (intEscalationCustomerResponseIdent) => {\r\n\r\n this.mfrmForm.controls.EscalationCustomerResponseIdentForSearch.patchValue(intEscalationCustomerResponseIdent);\r\n this.Search(); \r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n EditEnabled(): boolean {\r\n\r\n try {\r\n\r\n return this.ScreenMode === this.menmScreenModes.Edit;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } // EditEnabled()\r\n\r\n Search() {\r\n\r\n try {\r\n\r\n console.log(this.modShared.mintClientFocusIdent); \r\n\r\n this.svcAccountService.SearchAccounts(this.modShared.mintClientFocusIdent, this.mfrmForm.controls.DocumentNumberForSearch.value, this.mfrmForm.controls.AccountNumberForSearch.value,\r\n this.mfrmForm.controls.CustomerNameForSearch.value, this.mfrmForm.controls.ClaimNumberForSearch.value,\r\n this.mfrmForm.controls.EscalationCustomerResponseIdentForSearch.value, this.mfrmForm.controls.CustomerResponseIdentForSearch.value,\r\n true)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marSearchResults = this.modShared.ExtractDataFromPayload(rspResponse, \"Account\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let bolContinue: boolean = false;\r\n\r\n try {\r\n\r\n this.ScreenMode = this.menmScreenModes.Search;\r\n this.ClearControls();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n FormatAddress(itmItem: any) {\r\n\r\n try {\r\n\r\n itmItem.DisplayAddress = itmItem.Address1;\r\n\r\n if (itmItem.Address2.toString().trim() != \"\") {\r\n\r\n if (itmItem.DisplayAddress.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \"
\";\r\n\r\n } \r\n\r\n itmItem.DisplayAddress += itmItem.Address2;\r\n\r\n }\r\n\r\n if (itmItem.Address3.toString().trim() != \"\") {\r\n\r\n\r\n if (itmItem.DisplayAddress.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \"
\";\r\n\r\n } \r\n\r\n itmItem.DisplayAddress += itmItem.Address3;\r\n\r\n }\r\n\r\n if (itmItem.DisplayAddress.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \"
\";\r\n\r\n } \r\n\r\n itmItem.DisplayAddress += itmItem.City;\r\n\r\n if (itmItem.StateName != \"(Please Select)\") {\r\n\r\n if (itmItem.DisplayAddress.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \", \";\r\n\r\n } \r\n\r\n itmItem.DisplayAddress += itmItem.StateName;\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n GetAccountDetails() {\r\n\r\n let itmAttorney: any = {};\r\n let itmCollector: any = {};\r\n\r\n try {\r\n\r\n this.svcAccountService.GetAccountDetails(this.mintRecordIdent, this.mintClaimIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mitmAccount = this.modShared.ExtractDataFromPayload(rspResponse, \"Account\")[0];\r\n this.mitmPrimaryContact = this.modShared.ExtractDataFromPayload(rspResponse, \"AccountContact\")[0];\r\n this.marDocuments = this.modShared.ExtractDataFromPayload(rspResponse, \"Document\");\r\n this.marActivity = this.modShared.ExtractDataFromPayload(rspResponse, \"Activity\");\r\n itmAttorney = this.modShared.ExtractDataFromPayload(rspResponse, \"Attorney\")[0];\r\n itmCollector = this.modShared.ExtractDataFromPayload(rspResponse, \"Collector\")[0];\r\n\r\n if (itmAttorney != undefined) {\r\n\r\n this.mintAttorneyIdent = itmAttorney.Ident;\r\n this.mstrAttorneyName = itmAttorney.Name1;\r\n this.mstrAttorneyCaseNumber = itmAttorney.AttorneyCaseNumber;\r\n\r\n }\r\n\r\n if (itmCollector != undefined) {\r\n\r\n this.mintCollectorABCUserIdent = itmCollector.Ident;\r\n this.mstrCollectorName = itmCollector.CollectorName;\r\n this.mstrCollectorPhone = itmCollector.Phone;\r\n\r\n }\r\n\r\n\r\n // Set up the Address display for the front end.\r\n this.FormatAddress(this.mitmAccount);\r\n this.FormatAddress(this.mitmPrimaryContact);\r\n\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n\r\n\r\n EditRecord(itmAccount: any, intIndex: number) {\r\n\r\n try {\r\n\r\n this.mintRecordIdent = itmAccount.Ident;\r\n this.mintClaimIdent = itmAccount.FileNumber;\r\n\r\n this.GetAccountDetails(); \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n FormatDateAndTime(strDate: string): string {\r\n\r\n let strResult: string = \"\";\r\n let datNewDate: Date;\r\n\r\n try {\r\n\r\n datNewDate = new Date(strDate);\r\n\r\n if (datNewDate.getFullYear() != 1900) {\r\n\r\n strResult = datNewDate.toLocaleDateString() + \" \" + datNewDate.toLocaleTimeString();\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult\r\n\r\n }\r\n\r\n ShowCollectorInfo(intABCUserIdent: number) {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n // Display the modal\r\n rfModal = this.svcModalService.open(CollectorInformationComponent, { backdrop: 'static', size: 'lg' });\r\n rfModal.componentInstance.mintABCUserIdent = intABCUserIdent;\r\n\r\n rfModal.result.then((objResult) => {\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ShowAttorneyInfo() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n // Display the modal\r\n rfModal = this.svcModalService.open(AttorneyInformationComponent, { backdrop: 'static', size: 'lg' });\r\n rfModal.componentInstance.mintAttorneyIdent = this.mintAttorneyIdent;\r\n rfModal.componentInstance.mstrAttorneyCaseNumber = this.mstrAttorneyCaseNumber;\r\n\r\n rfModal.result.then((objResult) => {\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n ClearControls() {\r\n\r\n let objSave: any = null;\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n // Save the search controls \r\n objSave = this.modShared.SaveSearchParameters(this.mfrmForm);\r\n\r\n this.mintRecordIdent = 0;\r\n this.mfrmForm.reset();\r\n\r\n // Reset initial values\r\n // TODO: Fill in\r\n this.mfrmForm.setValue({\r\n DocumentNumberForSearch: \"\",\r\n AccountNumberForSearch: \"\",\r\n CustomerNameForSearch: \"\",\r\n ClaimNumberForSearch: \"1531988\", // TODO: Remove, Testing only.\r\n CustomerResponseIdentForSearch: 0,\r\n EscalationCustomerResponseIdentForSearch: 0,\r\n IncludeWorkedEscalation: true\r\n });\r\n\r\n // Repopulate the search controls \r\n this.modShared.PopulateFormFromItem(this.mfrmForm, objSave);\r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n FormatDate(strDate: string): string {\r\n\r\n let strResult: string = \"\";\r\n let datNewDate: Date;\r\n\r\n try {\r\n\r\n datNewDate = new Date(strDate);\r\n\r\n if (datNewDate.getFullYear() != 1900) {\r\n\r\n strResult = datNewDate.toLocaleDateString();\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult\r\n\r\n }\r\n\r\n AddActivity() {\r\n\r\n let rfModal: NgbModalRef = null;\r\n\r\n try {\r\n\r\n // Display the modal\r\n rfModal = this.svcModalService.open(AddActivityComponent, { backdrop: 'static', size: 'lg' });\r\n rfModal.componentInstance.mintAccountIdent = this.mintRecordIdent;\r\n\r\n rfModal.result.then((objResult) => {\r\n\r\n if (objResult.RecordSaved) {\r\n\r\n // Need to go out and re-grab the activities.\r\n this.GetAccountDetails(); \r\n\r\n } \r\n\r\n\r\n }, (reason) => {\r\n\r\n // They dismissed without making a selection\r\n\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n PrintCurrencyType() : string {\r\n\r\n let strResult = \"\"; \r\n\r\n try {\r\n\r\n if (this.marDocuments.length != 0) {\r\n\r\n strResult = this.marDocuments[0].CurrencyTypeName;\r\n\r\n } \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult;\r\n\r\n } \r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { AccountService } from '../../../shared/services/account.service';\r\nimport { CustomValidators } from '../../../shared/services/custom-validators';\r\n\r\n@Component({\r\n selector: 'app-add-activity',\r\n templateUrl: './add-activity.component.html',\r\n styleUrls: ['./add-activity.component.css']\r\n})\r\nexport class AddActivityComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n\r\n // Input parameters\r\n @Input() mintAccountIdent: number = 0;\r\n\r\n // Global Arrays\r\n marFollowUpSetting: any[] = []; \r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService,\r\n private valCustomValidators: CustomValidators,\r\n private svcAccountService: AccountService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'FollowUpSettingIdent': new UntypedFormControl(modSharedService.enmFollowUpSetting.Immediately, [this.valCustomValidators.DropdownRequired]),\r\n 'Notes': new UntypedFormControl(\"\", [Validators.required])\r\n });\r\n\r\n // At some point we should put these in the DB. I don't like that they're hard coded but that's how they are now.\r\n this.marFollowUpSetting.push({ Ident: modSharedService.enmFollowUpSetting.Immediately, Name1: \"Follow-Up Immediately.\" });\r\n this.marFollowUpSetting.push({ Ident: modSharedService.enmFollowUpSetting.Current, Name1: \"Allow Account to follow current schedule.\" });\r\n\r\n \r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here, either they added docs or not.\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AddActivity() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n this.svcAccountService.AddActivity(this.mintAccountIdent, this.mfrmForm.controls.Notes.value, this.mfrmForm.controls.FollowUpSettingIdent.value)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n objResult.RecordSaved = true;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } \r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n\r\n } \r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { AccountService } from '../../../shared/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-attorney-information',\r\n templateUrl: './attorney-information.component.html',\r\n styleUrls: ['./attorney-information.component.css']\r\n})\r\nexport class AttorneyInformationComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mitmAttorney: any = {}; \r\n\r\n // Input parameters\r\n @Input() mintAttorneyIdent: number = 0; \r\n @Input() mstrAttorneyCaseNumber: string = \"\"; \r\n\r\n // Global Arrays\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService,\r\n private svcAccountService: AccountService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({});\r\n\r\n this.svcAccountService.GetAttorneyInformation(this.mintAttorneyIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mitmAttorney = this.modShared.ExtractDataFromPayload(rspResponse, \"Attorney\")[0];\r\n\r\n this.FormatAddress(this.mitmAttorney); \r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n FormatAddress(itmItem: any) {\r\n\r\n try {\r\n\r\n itmItem.DisplayAddress = itmItem.Address1;\r\n\r\n if (itmItem.Address2.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \"
\" + itmItem.Address2;\r\n\r\n }\r\n\r\n if (itmItem.Address3.toString().trim() != \"\") {\r\n\r\n itmItem.DisplayAddress += \"
\" + itmItem.Address3;\r\n\r\n }\r\n\r\n itmItem.DisplayAddress += \"
\" + itmItem.CityStateCountry;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here, either they added docs or not.\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from 'app/shared/services/modShared.service';\r\nimport { UntypedFormGroup, FormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { AccountService } from '../../../shared/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-collector-information',\r\n templateUrl: './collector-information.component.html',\r\n styleUrls: ['./collector-information.component.css']\r\n})\r\nexport class CollectorInformationComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mitmABCUser: any = {};\r\n\r\n // Input parameters\r\n @Input() mintABCUserIdent: number = 0;\r\n\r\n // Global Arrays\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService,\r\n private svcAccountService: AccountService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({});\r\n\r\n this.svcAccountService.GetABCUserInformation(this.mintABCUserIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.mitmABCUser = this.modShared.ExtractDataFromPayload(rspResponse, \"ABCUser\")[0];\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let objResult: any = {};\r\n\r\n try {\r\n\r\n // Don't need any logic here, either they added docs or not.\r\n objResult.RecordSaved = false;\r\n this.activeModal.close(objResult);\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { FormGroup, FormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { CustomValidators } from '../../shared/services/custom-validators';\r\nimport { NgbModalRef, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GlobalVars } from '../../globalvars';\r\nimport { ReportingService } from 'app/shared/services/reporting.service';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.css']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n\r\n items: any;\r\n menuCollapsed: boolean;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcReportingService: ReportingService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private svcModalService: NgbModal, private globalVars: GlobalVars) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.getReportTypes();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n getReportTypes() {\r\n\r\n try {\r\n\r\n this.svcReportingService.GetAllActiveReportTypesAndReports().subscribe(res => {\r\n\r\n if (res && res.Payload && res.Payload.length && res.Payload[0].Data && res.Payload[0].Data.length) {\r\n\r\n let reportTypes = [];\r\n this.items = [];\r\n\r\n res.Payload[0].Data.forEach(d => {\r\n\r\n if (reportTypes.indexOf(d.ReportTypeName) < 0) {\r\n\r\n reportTypes.push(d.ReportTypeName)\r\n\r\n }\r\n\r\n });\r\n\r\n reportTypes.forEach(r => {\r\n\r\n let obj = {\r\n category: r,\r\n children: res.Payload[0].Data.filter(x => x.ReportTypeName === r)\r\n }\r\n\r\n this.items.push(obj);\r\n\r\n });\r\n\r\n this.items[0].active = true;\r\n\r\n }\r\n\r\n }, err => {\r\n this.modShared.LogClientError(err);\r\n });\r\n\r\n }\r\n catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n openAndCloseMenu() {\r\n\r\n this.menuCollapsed = !this.menuCollapsed;\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { CustomValidators } from '../../../shared/services/custom-validators';\r\nimport { ReportingService } from '../../../shared/services/reporting.service';\r\nimport { ABCDictionary } from '../../../shared/models/abc.dictionary.model';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\n\r\n@Component({\r\n selector: 'app-claim-detail',\r\n templateUrl: './claim-detail.component.html',\r\n styleUrls: ['./claim-detail.component.css']\r\n})\r\nexport class ClaimDetailComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mintReportIdent: number = modSharedService.enmReports.ClaimDetail;\r\n marReportReportFormatXRef: any[] = [];\r\n marBookCode: any[] = [];\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcReporting: ReportingService,\r\n private svcAuth: AuthenticationService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ReportReportFormatXRefIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired])\r\n });\r\n\r\n this.svcReporting.GetReportReportFormatXRefByReportIdent(this.mintReportIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marReportReportFormatXRef = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ReportReportFormatXRef\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n RunReport() {\r\n\r\n let intReportIdent: number;\r\n let intReportFormatIdent: number;\r\n let strFilename: string;\r\n let strLogoPath: string;\r\n let intStoredProcedureTypeIdent: number;\r\n let intReportReportFormatXRefIdent: number;\r\n let arTableNames: string[];\r\n let slParameters: ABCDictionary[];\r\n let strReportName: string;\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n intReportIdent = this.mintReportIdent;\r\n intReportFormatIdent = 0;\r\n intReportReportFormatXRefIdent = this.mfrmForm.controls.ReportReportFormatXRefIdent.value;\r\n strFilename = \"ClaimDetail\";\r\n strLogoPath = \"template/abc_report_logo.gif\";\r\n intStoredProcedureTypeIdent = modSharedService.enmStoredProcedureType.Single;\r\n\r\n arTableNames = [];\r\n arTableNames.push(\"ClaimDetail\");\r\n arTableNames.push(\"ReportData\");\r\n arTableNames.push(\"ClientData\");\r\n\r\n slParameters = [];\r\n slParameters.push(new ABCDictionary(\"ClientIdent\", this.modShared.mintClientFocusIdent));\r\n\r\n strReportName = \"Claim Detail Report\"\r\n\r\n this.svcReporting.GenerateReport(intReportIdent, intReportFormatIdent, strFilename,\r\n strLogoPath, intStoredProcedureTypeIdent,\r\n intReportReportFormatXRefIdent, arTableNames,\r\n slParameters, strReportName)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n // Nothing to do here, it's a report call.\r\n\r\n });\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n this.router.navigateByUrl('/manage/Reports');\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { CustomValidators } from '../../../shared/services/custom-validators';\r\nimport { ReportingService } from '../../../shared/services/reporting.service';\r\nimport { ABCDictionary } from '../../../shared/models/abc.dictionary.model';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\n\r\n@Component({\r\n selector: 'app-client-summary',\r\n templateUrl: './client-summary.component.html',\r\n styleUrls: ['./client-summary.component.css']\r\n})\r\nexport class ClientSummaryComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mintReportIdent: number = modSharedService.enmReports.ClientSummaryPlacement;\r\n marReportReportFormatXRef: any[] = [];\r\n marDateParamValue: any[] = [];\r\n\r\n menmReportType = {\r\n Placement: 1,\r\n Calendar: 2\r\n }\r\n\r\n mintReportIdentMonthly = modSharedService.enmReports.ClientSummaryMonthly;\r\n mintReportIdentPlacement = modSharedService.enmReports.ClientSummaryPlacement;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcReporting: ReportingService,\r\n private svcAuth: AuthenticationService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ReportReportFormatXRefIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'ClientIdent': new UntypedFormControl(0, []),\r\n 'ParentClientIdent': new UntypedFormControl(0, []),\r\n 'ReportTypeIdent': new UntypedFormControl(1, [this.valCustomValidators.DropdownRequired]),\r\n 'DateParamIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'DateParamValue': new UntypedFormControl(\"\", [this.valCustomValidators.DropdownRequired])\r\n });\r\n\r\n this.mfrmForm.get('ReportTypeIdent').valueChanges.subscribe(intReportTypeIdent => {\r\n\r\n switch (intReportTypeIdent) {\r\n\r\n case this.menmReportType.Calendar:\r\n\r\n this.mintReportIdent = this.mintReportIdentMonthly;\r\n break;\r\n\r\n case this.menmReportType.Placement:\r\n\r\n this.mintReportIdent = this.mintReportIdentPlacement;\r\n break;\r\n\r\n }\r\n\r\n this.mfrmForm.controls.ReportReportFormatXRefIdent.patchValue(0);\r\n\r\n this.GetReportFormats();\r\n\r\n });\r\n\r\n this.mfrmForm.controls.ParentClientIdent.patchValue(this.modShared.mintClientFocusIdent); \r\n\r\n this.PopulateDateDropdown();\r\n this.GetReportFormats();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetReportFormats() {\r\n\r\n try {\r\n\r\n this.svcReporting.GetReportReportFormatXRefByReportIdent(this.mintReportIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marReportReportFormatXRef = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ReportReportFormatXRef\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n RunReport() {\r\n\r\n let intReportIdent: number;\r\n let intReportFormatIdent: number;\r\n let strFilename: string;\r\n let strLogoPath: string;\r\n let intStoredProcedureTypeIdent: number;\r\n let intReportReportFormatXRefIdent: number;\r\n let arTableNames: string[];\r\n let slParameters: ABCDictionary[];\r\n let strReportName: string;\r\n let dtStartDate: Date = new Date();\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n intReportIdent = this.mintReportIdent;\r\n intReportFormatIdent = 0;\r\n intReportReportFormatXRefIdent = this.mfrmForm.controls.ReportReportFormatXRefIdent.value;\r\n strFilename = \"ClientSummary\";\r\n strLogoPath = \"template/abc_report_logo.gif\";\r\n intStoredProcedureTypeIdent = modSharedService.enmStoredProcedureType.Single;\r\n\r\n arTableNames = [];\r\n\r\n if (this.mfrmForm.controls.ReportTypeIdent.value == 1) {\r\n\r\n this.mintReportIdent = modSharedService.enmReports.ClientSummaryPlacement;\r\n\r\n arTableNames.push(\"PlacementsYTD\");\r\n arTableNames.push(\"CollectionsYTD\");\r\n arTableNames.push(\"InterestYTD\");\r\n arTableNames.push(\"InHouseYTD\");\r\n arTableNames.push(\"AttorneyYTD\");\r\n arTableNames.push(\"FeesTotal\");\r\n arTableNames.push(\"CourtCostsYTD\");\r\n arTableNames.push(\"SuitFeesYTD\");\r\n arTableNames.push(\"TotalLegal\");\r\n arTableNames.push(\"WriteOffs\");\r\n arTableNames.push(\"ActiveCounts\");\r\n arTableNames.push(\"ReportParameters\");\r\n arTableNames.push(\"ColumnHeaders\");\r\n\r\n\r\n } else {\r\n\r\n this.mintReportIdent = modSharedService.enmReports.ClientSummaryMonthly;\r\n\r\n arTableNames.push(\"PlacementsMTD\");\r\n arTableNames.push(\"PlacementsYTD\");\r\n arTableNames.push(\"CollectionsMTD\");\r\n arTableNames.push(\"CollectionsYTD\");\r\n arTableNames.push(\"InterestMTD\");\r\n arTableNames.push(\"InterestYTD\");\r\n arTableNames.push(\"FeesMTD\");\r\n arTableNames.push(\"InHouseYTD\");\r\n arTableNames.push(\"AttorneyYTD\");\r\n arTableNames.push(\"FeesTotal\");\r\n arTableNames.push(\"CourtCostsMTD\");\r\n arTableNames.push(\"CourtCostsYTD\");\r\n arTableNames.push(\"SuitFeesMTD\");\r\n arTableNames.push(\"SuitFeesYTD\");\r\n arTableNames.push(\"TotalLegal\");\r\n arTableNames.push(\"WriteOffsMTD\");\r\n arTableNames.push(\"WriteOffsYTD\");\r\n arTableNames.push(\"ReportParameters\");\r\n arTableNames.push(\"ColumnHeaders\");\r\n\r\n }\r\n\r\n slParameters = [];\r\n slParameters.push(new ABCDictionary(\"ClientIdent\", this.mfrmForm.controls.ClientIdent.value));\r\n slParameters.push(new ABCDictionary(\"ByCalenderPeriod\", this.mfrmForm.controls.ReportTypeIdent.value == 2));\r\n\r\n if (this.mfrmForm.controls.DateParamIdent.value == 1) {\r\n\r\n // Yesterday\r\n dtStartDate = new Date((dtStartDate.getMonth() + 1) + \"/\" + (dtStartDate.getDate() - 1) + \"/\" + dtStartDate.getFullYear());\r\n\r\n slParameters.push(new ABCDictionary(\"RunDate\", dtStartDate));\r\n slParameters.push(new ABCDictionary(\"AsOfYesterday\", true));\r\n\r\n } else {\r\n\r\n // End of Month\r\n slParameters.push(new ABCDictionary(\"RunDate\", this.mfrmForm.controls.DateParamValue.value));\r\n slParameters.push(new ABCDictionary(\"AsOfYesterday\", false));\r\n\r\n }\r\n\r\n strReportName = \"Client Summary\"\r\n\r\n this.svcReporting.GenerateReport(intReportIdent, intReportFormatIdent, strFilename,\r\n strLogoPath, intStoredProcedureTypeIdent,\r\n intReportReportFormatXRefIdent, arTableNames,\r\n slParameters, strReportName, 1)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n // Nothing to do here, it's a report call.\r\n\r\n });\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n PopulateDateDropdown() {\r\n\r\n let datCurrentDate: Date = new Date();\r\n let strDateString: string = \"\";\r\n\r\n try {\r\n\r\n for (let intCounter = 1; intCounter <= 13; intCounter++) {\r\n\r\n datCurrentDate = new Date(datCurrentDate.setMonth(datCurrentDate.getMonth() - 1));\r\n\r\n strDateString = datCurrentDate.toLocaleString('default', { month: 'long' }) + \" \" + datCurrentDate.getFullYear();\r\n\r\n this.marDateParamValue.push(\r\n {\r\n DateText: strDateString,\r\n DateValue: datCurrentDate.toLocaleDateString()\r\n });\r\n\r\n if (intCounter == 1) {\r\n\r\n // Mark this as the selected value.\r\n this.mfrmForm.controls.DateParamValue.patchValue(datCurrentDate.toLocaleDateString());\r\n\r\n }\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n Cancel() {\r\n\r\n this.router.navigateByUrl('/manage/Reports');\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { CustomValidators } from '../../../shared/services/custom-validators';\r\nimport { ReportingService } from '../../../shared/services/reporting.service';\r\nimport { ABCDictionary } from '../../../shared/models/abc.dictionary.model';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\n\r\n@Component({\r\n selector: 'app-daily-statistics',\r\n templateUrl: './daily-statistics.component.html',\r\n styleUrls: ['./daily-statistics.component.css']\r\n})\r\nexport class DailyStatisticsComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mintReportIdent: number = modSharedService.enmReports.DailyStatistics;\r\n marReportReportFormatXRef: any[] = [];\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcReporting: ReportingService,\r\n private svcAuth: AuthenticationService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n let dtGetDate: Date = new Date();\r\n let dtStartDate: Date = new Date();\r\n let dtEndDate: Date = new Date();\r\n\r\n try {\r\n\r\n dtStartDate = new Date((dtGetDate.getMonth() + 1) + \"/\" + (dtGetDate.getDate() - 1) + \"/\" + dtGetDate.getFullYear());\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ReportReportFormatXRefIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'StartDate': new UntypedFormControl(dtStartDate, [Validators.required]),\r\n 'EndDate': new UntypedFormControl(dtEndDate, [Validators.required])\r\n });\r\n\r\n this.svcReporting.GetReportReportFormatXRefByReportIdent(this.mintReportIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marReportReportFormatXRef = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ReportReportFormatXRef\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n RunReport() {\r\n\r\n let intReportIdent: number;\r\n let intReportFormatIdent: number;\r\n let strFilename: string;\r\n let strLogoPath: string;\r\n let intStoredProcedureTypeIdent: number;\r\n let intReportReportFormatXRefIdent: number;\r\n let arTableNames: string[];\r\n let slParameters: ABCDictionary[];\r\n let strReportName: string;\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n intReportIdent = this.mintReportIdent;\r\n intReportFormatIdent = 0;\r\n intReportReportFormatXRefIdent = this.mfrmForm.controls.ReportReportFormatXRefIdent.value;\r\n strFilename = \"DailyPerformance\";\r\n strLogoPath = \"template/abc_report_logo.gif\";\r\n intStoredProcedureTypeIdent = modSharedService.enmStoredProcedureType.Single;\r\n\r\n arTableNames = [];\r\n arTableNames.push(\"DailyPerformance\");\r\n arTableNames.push(\"Totals\");\r\n\r\n slParameters = [];\r\n\r\n slParameters.push(new ABCDictionary(\"StartDate\", this.mfrmForm.controls.StartDate.value));\r\n slParameters.push(new ABCDictionary(\"EndDate\", this.mfrmForm.controls.EndDate.value));\r\n slParameters.push(new ABCDictionary(\"ClientIdent\", this.modShared.mintClientFocusIdent));\r\n slParameters.push(new ABCDictionary(\"ABCUserIdent\", this.svcAuth.GetUserIdent()));\r\n\r\n strReportName = \"Daily Statistics\"\r\n\r\n this.svcReporting.GenerateReport(intReportIdent, intReportFormatIdent, strFilename,\r\n strLogoPath, intStoredProcedureTypeIdent,\r\n intReportReportFormatXRefIdent, arTableNames,\r\n slParameters, strReportName)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n // Nothing to do here, it's a report call.\r\n\r\n });\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n this.router.navigateByUrl('/manage/Reports');\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { modSharedService } from '../../../shared/services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport { ApiResponse } from '../../../shared/models/api-response.model';\r\nimport { CustomValidators } from '../../../shared/services/custom-validators';\r\nimport { ReportingService } from '../../../shared/services/reporting.service';\r\nimport { ABCDictionary } from '../../../shared/models/abc.dictionary.model';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../shared/services/authentication.service';\r\nimport { MaintenanceService } from '../../../shared/services/maintenance.service';\r\n\r\n@Component({\r\n selector: 'app-monthly-performance',\r\n templateUrl: './monthly-performance.component.html',\r\n styleUrls: ['./monthly-performance.component.css']\r\n})\r\nexport class MonthlyPerformanceComponent implements OnInit {\r\n\r\n // Properties\r\n mfrmForm: UntypedFormGroup;\r\n mintReportIdent: number = modSharedService.enmReports.MonthlyPerformance;\r\n marReportReportFormatXRef: any[] = [];\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcReporting: ReportingService,\r\n private svcAuth: AuthenticationService,\r\n private svcMaintenanceService: MaintenanceService,\r\n private valCustomValidators: CustomValidators,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n let dtGetDate: Date = new Date();\r\n let dtStartDate: Date = new Date();\r\n let dtEndDate: Date = new Date();\r\n\r\n try {\r\n\r\n dtStartDate = new Date((dtGetDate.getMonth() + 1) + \"/\" + (dtGetDate.getDate() - 1) + \"/\" + dtGetDate.getFullYear());\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n 'ReportReportFormatXRefIdent': new UntypedFormControl(0, [this.valCustomValidators.DropdownRequired]),\r\n 'StartDate': new UntypedFormControl(dtStartDate, [Validators.required]),\r\n 'EndDate': new UntypedFormControl(dtEndDate, [Validators.required]),\r\n 'ClientIdent': new UntypedFormControl(0, []),\r\n 'ParentClientIdent': new UntypedFormControl(this.modShared.mintClientFocusIdent, [])\r\n });\r\n\r\n this.svcReporting.GetReportReportFormatXRefByReportIdent(this.mintReportIdent)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n this.marReportReportFormatXRef = this.modShared.ExtractDropdownFromPayload(rspResponse, \"ReportReportFormatXRef\");\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n RunReport() {\r\n\r\n let intReportIdent: number;\r\n let intReportFormatIdent: number;\r\n let strFilename: string;\r\n let strLogoPath: string;\r\n let intStoredProcedureTypeIdent: number;\r\n let intReportReportFormatXRefIdent: number;\r\n let arTableNames: string[];\r\n let slParameters: ABCDictionary[];\r\n let strReportName: string;\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(this.mfrmForm, [])) {\r\n\r\n intReportIdent = this.mintReportIdent;\r\n intReportFormatIdent = 0;\r\n intReportReportFormatXRefIdent = this.mfrmForm.controls.ReportReportFormatXRefIdent.value;\r\n strFilename = \"MonthlyPerformance\";\r\n strLogoPath = \"template/abc_report_logo.gif\";\r\n intStoredProcedureTypeIdent = modSharedService.enmStoredProcedureType.Single;\r\n\r\n arTableNames = [];\r\n arTableNames.push(\"MonthlyPerformance\");\r\n arTableNames.push(\"ReportData\");\r\n arTableNames.push(\"ReportTotals\");\r\n\r\n slParameters = [];\r\n\r\n slParameters.push(new ABCDictionary(\"StartDate\", this.mfrmForm.controls.StartDate.value));\r\n slParameters.push(new ABCDictionary(\"EndDate\", this.mfrmForm.controls.EndDate.value));\r\n slParameters.push(new ABCDictionary(\"ClientIdent\", this.mfrmForm.controls.ClientIdent.value));\r\n\r\n strReportName = \"Monthly Performance\"\r\n\r\n this.svcReporting.GenerateReport(intReportIdent, intReportFormatIdent, strFilename,\r\n strLogoPath, intStoredProcedureTypeIdent,\r\n intReportReportFormatXRefIdent, arTableNames,\r\n slParameters, strReportName)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n // Nothing to do here, it's a report call.\r\n\r\n });\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n this.router.navigateByUrl('/manage/Reports');\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ReportingService } from '../../shared/services/reporting.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\n\r\n@Component({\r\n selector: 'app-report-viewer',\r\n templateUrl: './report-viewer.component.html',\r\n styleUrls: ['./report-viewer.component.scss']\r\n})\r\nexport class ReportViewerComponent implements OnInit {\r\n\r\n mstrData: string = \"whee!\";\r\n mstrReportRawXML: string = \"\";\r\n mstrExcelXSLTFile: string = \"\";\r\n mstrPDFXSLTFile: string = \"\";\r\n mstrReportFileName: string = \"\";\r\n mstrPDFType: string = \"1\";\r\n mstrLogoPath: string = \"\"; \r\n\r\n constructor(private rtRoute: ActivatedRoute,\r\n private modShared: modSharedService,\r\n private svcReporting: ReportingService) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.rtRoute.queryParams.subscribe(queryParams => {\r\n\r\n // This is because if they click \"run report\" without closing the window Angular\r\n // does not refresh\r\n this.mstrData = localStorage.getItem(\"ReportData\");\r\n this.mstrReportRawXML = localStorage.getItem(\"ReportRawXML\");\r\n this.mstrExcelXSLTFile = localStorage.getItem(\"ExcelXSLTFile\");\r\n this.mstrPDFXSLTFile = localStorage.getItem(\"PDFXSLTFile\");\r\n this.mstrReportFileName = localStorage.getItem(\"ReportFileName\");\r\n this.mstrPDFType = localStorage.getItem(\"PDFType\");\r\n this.mstrLogoPath = localStorage.getItem(\"LogoPath\");\r\n\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ExportReportToExcel() {\r\n\r\n try {\r\n\r\n\r\n this.svcReporting.GenerateRawReport(modSharedService.enmReportFormat.Excel, this.mstrReportRawXML, this.mstrExcelXSLTFile, this.mstrReportFileName, parseInt(this.mstrPDFType), this.mstrLogoPath)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n // Nothing to do here, just a report call.\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ExportReportToPDF() {\r\n\r\n try {\r\n\r\n\r\n this.svcReporting.GenerateRawReport(modSharedService.enmReportFormat.PDF, this.mstrReportRawXML, this.mstrPDFXSLTFile, this.mstrReportFileName, parseInt(this.mstrPDFType), this.mstrLogoPath)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n\r\n\r\n } // Succeeded\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, AfterViewInit, Input, Output, EventEmitter, ViewChild, ViewContainerRef, ElementRef, QueryList, ViewChildren, ApplicationRef, ChangeDetectionStrategy, OnChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { FormControlBase } from '../../shared/dynamic-controls/form-controls/form-control-base';\r\nimport { Validators, NgForm } from '@angular/forms';\r\nimport { MaintenanceService } from '../../shared/services/maintenance.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { FormDataService } from '../../shared/services/formdata.service';\r\nimport { FormControlService } from '../../shared/dynamic-controls/form-controls/form-control.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { GlobalVars } from './../../globalvars';\r\nimport { Subject } from 'rxjs';\r\nimport { TableBuilderComponent } from '../../core/dynamic-form-components/table-builder/table-builder.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'base-form',\r\n templateUrl: './base-form.component.html',\r\n styleUrls: ['./base-form.component.scss'],\r\n providers: [FormDataService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class BaseFormComponent implements OnInit, OnChanges {\r\n\r\n @Input() entity: string;\r\n @Input() parent: string;\r\n @Input() ident: number;\r\n @Input() pIdent: number;\r\n @Input() entityFullName: string;\r\n saveSumbitEvent: Subject = new Subject();\r\n frmMaintenance: UntypedFormGroup;\r\n rows: any[] = [];\r\n showTable: boolean = false;\r\n unassignedClaims: boolean = false;\r\n settings: any;\r\n searchValues: any;\r\n childForms: any;\r\n dataColumns: any[] = [];\r\n tabsColumns: any[] = [];\r\n searchColumns: any[] = [];\r\n uniqueColumns: any[] = [];\r\n anySearchables: any[] = [];\r\n anyUniques: any[] = [];\r\n payLoad: any;\r\n gridPageSize: number = 1;\r\n gridDraggable: boolean = false;\r\n currentScreenMode: number = 0;\r\n rowsCount: number = 0;\r\n private _searchParameters: any;\r\n private _entityName: string = \"\";\r\n editRowIdent: number = 0;\r\n private _pIdent: number = 0;\r\n menmScreenModes = {\r\n Search: 0,\r\n Edit: 1,\r\n Add: 2\r\n }\r\n\r\n @ViewChild('appTableBuilder', { static: false }) appTableBuilder: TableBuilderComponent;\r\n\r\n ScreenMode: number = this.menmScreenModes.Search;\r\n mintRecordIdent: number = 0;\r\n mintCurrentRecordIndex: number = 0;\r\n\r\n constructor(private modShared: modSharedService, private svcMaintenanceService: MaintenanceService, public formData: FormDataService, private vcRef: ViewContainerRef, private globalVars: GlobalVars, private router: Router, private cdr: ChangeDetectorRef, private modalService: NgbModal, private svcAuth: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n\r\n if(location.href.includes(';'))\r\n this.entityFullName = location.href.split(';')[1].split('=')[1].replace(/([A-Z])/g, ' $1').trim();\r\n\r\n setTimeout(() => {\r\n\r\n\r\n this.searchColumns = [];\r\n this.uniqueColumns = [];\r\n this.dataColumns = [];\r\n this.initChildComponent();\r\n\r\n if (this._entityName) {\r\n this.svcMaintenanceService.GetAll(this._entityName)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.rows = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGetAll\");\r\n this.rowsCount = this.rows.length;\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n }, 500)\r\n\r\n }\r\n\r\n initChildComponent(entity?) {\r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n this.searchValues = {};\r\n\r\n var targetEntity = entity ? entity : this.entity;\r\n\r\n if (targetEntity == null) {\r\n targetEntity = \"\";\r\n }\r\n\r\n if (this.entity == \"AttorneyContact\") {\r\n\r\n let arResults: any;\r\n\r\n if (this.parent !== null) {\r\n\r\n this.svcMaintenanceService.Get(this.parent, this.pIdent)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGet\");\r\n (document.getElementById(\"attorneyFirmName\")).innerHTML = \"Firm Name: \" + arResults.Name1;\r\n });\r\n }\r\n\r\n }\r\n\r\n if (this.entity == \"VendorContact\") {\r\n\r\n let arResults: any;\r\n\r\n if (this.parent !== null) {\r\n this.svcMaintenanceService.Get(this.parent, this.pIdent)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGet\");\r\n (document.getElementById(\"vendorName\")).innerHTML = \"Vendor Name: \" + arResults.Name1;\r\n this.GetChildRows();\r\n });\r\n }\r\n }\r\n\r\n try {\r\n //If the entity comes in as a null value, quit because nothing else will work\r\n if (!targetEntity) return;\r\n\r\n this._entityName = targetEntity;\r\n this._pIdent = this.pIdent\r\n\r\n this.formData.getJSON(this._entityName).subscribe(data => {\r\n this.settings = data[0].settings;\r\n this.SetSettings(this.settings);\r\n if (data[1].form !== undefined)\r\n this.tabsColumns = data[1].form.tabs;\r\n\r\n //Check for any tabs in this form\r\n if (this.tabsColumns === undefined || this.tabsColumns.length == 0) {\r\n\r\n this.tabsColumns = [];\r\n\r\n //There are no tabs in this form, gather the search and unique columns\r\n this.searchColumns = data[1].form.filter(x => x.searchable);\r\n this.uniqueColumns = data[1].form.filter(x => x.unique);\r\n this.dataColumns = data[1].form;\r\n\r\n } else {\r\n\r\n //Tabs exists, parse through each tab's controls to gather search, unique, and dataColumsn columns\r\n this.tabsColumns.forEach((tab) => {\r\n\r\n //Gather the searchable controls\r\n this.anySearchables = (tab.controls.filter(x => x.searchable));\r\n\r\n if (this.anySearchables != undefined && this.anySearchables.length > 0) {\r\n\r\n this.anySearchables.forEach((searhableControl) => {\r\n this.searchColumns.push(searhableControl);\r\n });\r\n\r\n }\r\n\r\n //Gather the unique controls\r\n this.anyUniques = (tab.controls.filter(x => x.unique));\r\n\r\n if (this.anyUniques != undefined && this.anyUniques.length > 0) {\r\n\r\n this.anyUniques.forEach((uniqueControl) => {\r\n this.uniqueColumns.push(uniqueControl);\r\n });\r\n\r\n }\r\n\r\n //Sort\r\n tab.controls = this.SortArray(tab.controls);\r\n\r\n //Gather the data columns\r\n tab.controls.forEach((control) => {\r\n\r\n this.dataColumns.push(control);\r\n\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n //Sorting\r\n this.tabsColumns = this.SortArray(this.tabsColumns);\r\n this.searchColumns = this.SortArray(this.searchColumns);\r\n this.uniqueColumns = this.SortArray(this.uniqueColumns);\r\n this.dataColumns = this.SortArray(this.dataColumns);\r\n\r\n if (data.length > 2) {\r\n\r\n this.childForms = data[2].children;\r\n\r\n }\r\n else {\r\n this.childForms = [];\r\n }\r\n\r\n //Need to wait for the JSON to be parsed before resetting the child component\r\n setTimeout(() => {\r\n this.cdr.markForCheck();\r\n }, 500)\r\n\r\n });\r\n\r\n this.frmMaintenance = new UntypedFormGroup({\r\n\r\n 'SearchActiveOnly': new UntypedFormControl(true, [])\r\n\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.ident) {\r\n this.EditRecord(this.ident)\r\n }\r\n }, 500)\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n }\r\n\r\n ngOnChanges(e) {\r\n this.searchColumns = [];\r\n this.uniqueColumns = [];\r\n this.dataColumns = [];\r\n this.initChildComponent(e.currentValue);\r\n }\r\n\r\n SetSettings(settings: any) {\r\n\r\n try {\r\n\r\n this.gridPageSize = (!!settings.pageSize) ? settings.pageSize : this.globalVars.pageSize;\r\n this.gridDraggable = (!!settings.draggable) ? settings.draggable : this.globalVars.draggable;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SetSearchValues(payload: any) {\r\n\r\n try {\r\n\r\n this.searchValues = payload;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Search(searchValues) {\r\n var self = this;\r\n var payload = searchValues === undefined ? JSON.parse('{}') : searchValues;\r\n \r\n try {\r\n\r\n // Check for existence of a Parent record which must be passed back to\r\n // the dynamic back-end in order to filter child rows properly\r\n let pIdent: string = '';\r\n this.parent == null ? pIdent = null : pIdent = this.parent + \"Ident\";\r\n\r\n if (this.pIdent != null && this.parent != null) {\r\n\r\n payload[pIdent] = this.pIdent;\r\n\r\n }\r\n\r\n payload.Active = this.frmMaintenance && this.frmMaintenance.controls.SearchActiveOnly.value == true ? true : null;\r\n\r\n if (this._entityName && this._entityName != \"\") {\r\n this.svcMaintenanceService.Search(this._entityName, payload)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n self.showTable = true;\r\n if (rspResponse.Succeeded) {\r\n\r\n self.rows = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceSearch\");\r\n }\r\n else {\r\n self.rows = [];\r\n }\r\n\r\n if (this.pIdent == null && this.parent == null) {\r\n self.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n EditEnabled(): boolean {\r\n\r\n try {\r\n\r\n return this.ScreenMode === this.menmScreenModes.Edit;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AddEnabled(): boolean {\r\n\r\n try {\r\n\r\n return this.ScreenMode === this.menmScreenModes.Add;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Cancel() {\r\n\r\n let bolContinue: boolean = true;\r\n\r\n try {\r\n\r\n if (this.ScreenMode == this.menmScreenModes.Edit) {\r\n\r\n if (this.frmMaintenance.dirty) {\r\n\r\n // They made changes, make sure they want to exit\r\n bolContinue = confirm('You have made changes to this record, are you sure you want to cancel? Click OK to leave this record.');\r\n\r\n }\r\n\r\n if (bolContinue) {\r\n\r\n this.ClearControls();\r\n\r\n this.editRowIdent = 0;\r\n this.ident = null;\r\n\r\n }\r\n\r\n } else {\r\n\r\n this.ClearControls();\r\n\r\n this.editRowIdent = 0;\r\n this.ident = null;\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GlobalSave(saveContinue: boolean) {\r\n\r\n this.saveSumbitEvent.next(saveContinue);\r\n setTimeout(() => { this.Reset() }, 500);\r\n\r\n\r\n }\r\n\r\n DetermineCancelClick() {\r\n\r\n if (this.parent == null || this.parent == undefined) {\r\n\r\n this.Cancel();\r\n\r\n } else {\r\n\r\n if (this.ScreenMode == this.menmScreenModes.Search) {\r\n\r\n this.NavigateToParent(this.parent);\r\n\r\n } else {\r\n\r\n this.Cancel();\r\n\r\n }\r\n }\r\n }\r\n\r\n Reset() {\r\n\r\n try {\r\n\r\n this.searchColumns.forEach(x => {\r\n\r\n if (x.controlType === \"textbox\") {\r\n\r\n x.value = \"\";\r\n\r\n }\r\n else if (x.controlType === \"textarea\") {\r\n\r\n x.value = \"\";\r\n\r\n }\r\n else if (x.controlType === \"checkbox\") {\r\n\r\n x.value = true;\r\n\r\n }\r\n else if (x.controlType === \"select\") {\r\n\r\n x.value = \"\";\r\n\r\n } else if (x.controlType === \"xref-combo\") {\r\n\r\n x.value = [];\r\n\r\n }\r\n\r\n });\r\n\r\n this.tabsColumns.forEach(x => {\r\n\r\n x.controls.forEach(c => {\r\n\r\n if (c.controlType === \"textbox\") {\r\n\r\n c.value = \"\";\r\n\r\n } else if (c.controlType === \"checkbox\") {\r\n\r\n c.value = true;\r\n\r\n } else if (c.controlType === \"select\") {\r\n\r\n c.value = \"\";\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ClearControls() {\r\n\r\n let bolSearchActiveOnly: boolean;\r\n\r\n\r\n try {\r\n\r\n bolSearchActiveOnly = this.frmMaintenance && this.frmMaintenance.controls?this.frmMaintenance.controls.SearchActiveOnly.value:undefined;\r\n this.Reset();\r\n\r\n if (this.frmMaintenance) {\r\n this.frmMaintenance.reset();\r\n }\r\n\r\n this.mintRecordIdent = 0;\r\n this.mintCurrentRecordIndex = 0;\r\n\r\n // Reset initial values\r\n if (this.frmMaintenance) {\r\n\r\n this.frmMaintenance.setValue({\r\n\r\n SearchActiveOnly: bolSearchActiveOnly\r\n\r\n });\r\n\r\n }\r\n\r\n //refresh data\r\n if (this.pIdent == null || this.pIdent == 0) {\r\n \r\n this.Search(this.searchValues);\r\n\r\n } else {\r\n\r\n this.GetChildRows();\r\n\r\n }\r\n\r\n //Reset view to search and grid\r\n this.ScreenMode = this.menmScreenModes.Search;\r\n this.cdr.detectChanges();\r\n\r\n //call reset of form values in table builder\r\n if (this.appTableBuilder != undefined) {\r\n\r\n this.appTableBuilder.Reset();\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n }\r\n\r\n GetAll() {\r\n\r\n try {\r\n\r\n if (this._entityName) {\r\n this.svcMaintenanceService.GetAll(this._entityName)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.rows = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGetAll\");\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n this.dataColumns.forEach(x => {\r\n\r\n if (x.controlType === \"select\") {\r\n\r\n if (x.datasource.proc === \"uspGetAllActiveABCUsersForStationAssignment\") {\r\n\r\n this.svcMaintenanceService.GetABCUsersForStation().subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n resultOptions.forEach(y => {\r\n\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetChildRows() {\r\n\r\n var payload = JSON.parse('{}');\r\n let pIdent: string = this.parent + \"Ident\";\r\n\r\n try {\r\n\r\n if (this.pIdent != null && this.parent != null) {\r\n\r\n payload[pIdent] = this.pIdent;\r\n this.Search(payload);\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AddRecord() {\r\n\r\n this.editRowIdent = 0;\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n this.svcMaintenanceService.SetEditIdent(undefined);\r\n this.cdr.detectChanges();\r\n\r\n try {\r\n\r\n this.dataColumns.forEach(x => {\r\n \r\n if (x.controlType === \"textbox\") {\r\n\r\n x.value = \"\";\r\n\r\n } else if (x.controlType === \"checkbox\") {\r\n\r\n x.value = true;\r\n\r\n } else if (x.controlType === \"select\") {\r\n\r\n if (!x.options.filter(x => { return x.value == \"Please Select\" })) {\r\n x.options.unshift({\r\n\r\n \"key\": \"\", \"value\": \"Please Select\"\r\n\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n if (x.datasource.proc === \"uspGetAllActiveABCUsersForStationAssignment\") {\r\n\r\n this.svcMaintenanceService.GetABCUsersForStation().subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n resultOptions.forEach(y => {\r\n\r\n if (x.options && !x.options.filter(z => { return z.key == y[x.datasource.key] && z.value == y[x.datasource.value] })) {\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n }\r\n\r\n });\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n x.value = \"\";\r\n\r\n } else if (x.controlType === \"xref-combo\") {\r\n\r\n x.value = [];\r\n\r\n }\r\n\r\n });\r\n\r\n this.tabsColumns.forEach(x => {\r\n\r\n x.controls.forEach(c => {\r\n\r\n if (c.controlType === \"textbox\") {\r\n\r\n c.value = \"\";\r\n\r\n } else if (c.controlType === \"textarea\") {\r\n\r\n c.value = \"\";\r\n\r\n } else if (c.controlType === \"checkbox\") {\r\n\r\n c.value = true;\r\n\r\n } else if (c.controlType === \"select\") {\r\n\r\n c.value = \"\";\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n this.editRowIdent = 0;\r\n this.cdr.detectChanges();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n //this.ScreenMode = this.menmScreenModes.Add;\r\n\r\n }\r\n\r\n display(payload) {\r\n\r\n try {\r\n\r\n if (this.modShared.ValidateForm(payload.form, this.dataColumns)) {\r\n\r\n this.payLoad = JSON.stringify(payload.form.getRawValue()); // gives form value along with those fields that have been disabled.\r\n this.SaveRecord(payload.saveAndContinue);\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n EditRecord(itmIdent: number) {\r\n\r\n this.editRowIdent = itmIdent;\r\n let arResults: any;\r\n this.mintRecordIdent = itmIdent;\r\n let en = this._entityName;\r\n\r\n try {\r\n\r\n this.svcMaintenanceService.Get(en, this.mintRecordIdent)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGet\");\r\n\r\n if (arResults.IsClaimed) {\r\n this.unassignedClaims = arResults.IsClaimed;\r\n }\r\n else {\r\n this.unassignedClaims = false;\r\n }\r\n\r\n this.dataColumns.forEach(x => {\r\n\r\n Object.keys(arResults).forEach(key => {\r\n\r\n if (key.toLowerCase() === x.key.toLowerCase()) {\r\n\r\n x.value = Object.values(arResults)[Object.keys(arResults).indexOf(key)];\r\n\r\n }\r\n\r\n });\r\n\r\n if (x.controlType === \"select\") {\r\n\r\n if (x.datasource.proc === \"uspGetAllActiveABCUsersForStationAssignment\") {\r\n\r\n this.svcMaintenanceService.GetABCUsersForStation().subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n var resultOptions: any = rspResponse.Payload[0].Data;\r\n\r\n resultOptions.forEach(y => {\r\n\r\n x.options.push({\r\n \"key\": y[x.datasource.key], \"value\": y[x.datasource.value]\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n this.cdr.detectChanges();\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AddNewRecord(bolCloseAfterSave, record) {\r\n\r\n record.Ident = \"\";\r\n this.svcMaintenanceService.Add(this._entityName, record)\r\n .subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.editRowIdent = rspResponse.Payload[0].Data.Ident;\r\n\r\n if (this._entityName == \"Attorney\") {\r\n this.updateAttorneyOptions(this.editRowIdent);\r\n }\r\n\r\n if (this._entityName == \"Station\") {\r\n this.svcMaintenanceService.UpdateStationHistory(this.editRowIdent).subscribe();\r\n }\r\n\r\n if (bolCloseAfterSave) {\r\n\r\n this.ClearControls();\r\n this.Reset();\r\n this.ScreenMode = this.menmScreenModes.Search;\r\n this.cdr.detectChanges();\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n SaveRecord(bolCloseAfterSave: boolean) {\r\n\r\n var payload = JSON.parse(this.payLoad);\r\n let pIdent: string = this.parent + \"Ident\";\r\n let record = JSON.parse(this.payLoad);\r\n\r\n if (this.ScreenMode != this.menmScreenModes.Edit && this.entity == \"AttorneyContact\") {\r\n payload.Address1 = (document.getElementById(\"Address1\")).value;\r\n payload.Address2 = (document.getElementById(\"Address2\")).value;\r\n payload.Address3 = (document.getElementById(\"Address3\")).value;\r\n payload.City = (document.getElementById(\"City\")).value;\r\n payload.Zip = (document.getElementById(\"Zip\")).value;\r\n payload.Phone = (document.getElementById(\"Phone\")).value;\r\n payload.Fax = (document.getElementById(\"Fax\")).value;\r\n payload.Email = (document.getElementById(\"Email\")).value;\r\n }\r\n\r\n if (this._entityName == \"LawList\") {\r\n payload.DistributionPercentage = 0;\r\n record.DistributionPercentage = 0;\r\n }\r\n\r\n if (this.entity == \"VendorContact\" || this.entity == \"AttorneyContact\" || this.entity == \"LawListContact\") {\r\n\r\n var firstName = record.FirstName;\r\n var lastName = record.LastName;\r\n record.Name1 = (firstName + '' + lastName);\r\n\r\n }\r\n\r\n Object.keys(record).forEach(x => {\r\n let selectTypeEl = this.dataColumns.filter(y => { return y.key == x && y.controlType == \"select\" });\r\n if (selectTypeEl && selectTypeEl.length && record[x] == \"\") {\r\n record[x] = 0;\r\n }\r\n });\r\n\r\n try {\r\n\r\n if (record.RemitToCountryIdent == \"\" || record.RemitToCountryIdent == null) {\r\n record.RemitToCountryIdent = 0;\r\n }\r\n if (record.RemitToStateIdent == \"\" || record.RemitToStateIdent == null) {\r\n record.RemitToStateIdent = 0;\r\n }\r\n\r\n if (this.pIdent != null && this.parent != null) {\r\n\r\n payload[pIdent] = this.pIdent;\r\n this.payLoad = JSON.stringify(payload);\r\n record = JSON.parse(this.payLoad);\r\n\r\n }\r\n\r\n this.uniqueColumns.forEach(x => {\r\n\r\n Object.keys(record).forEach(function (key) {\r\n\r\n if (x.key === key) {\r\n\r\n var newkey = \"unique\" + key;\r\n record[newkey] = record[key];\r\n var newUniqueKeyLabel = \"uniqueLabel\" + key;\r\n record[newUniqueKeyLabel] = x.label;\r\n delete record[key];\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n if (this.editRowIdent === 0) {\r\n\r\n if (this._entityName) {\r\n this.svcMaintenanceService.GetAll(this._entityName)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.rows = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGetAll\");\r\n this.rowsCount = this.rows.length;\r\n\r\n if (record.Rank == \"\" || record.Rank == null) {\r\n record.Rank = this.rowsCount + 1;\r\n }\r\n\r\n this.AddNewRecord(bolCloseAfterSave, record);\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n } else {\r\n \r\n record.Ident = this.editRowIdent;\r\n\r\n if (this.entity == \"Attorney\") {\r\n this.svcMaintenanceService.UpdateStagingInvoicesAndDisbursement(record.Ident)\r\n .subscribe(\r\n );\r\n }\r\n\r\n if (this._entityName == \"Station\") {\r\n this.svcMaintenanceService.UpdateStationHistory(record.Ident).subscribe();\r\n }\r\n\r\n if (record.Rank != 0 && record.Active == false) {\r\n\r\n this.rows.forEach(element => {\r\n if (element.Rank > record.Rank) {\r\n element.Rank--;\r\n this.UpdateRow(element, bolCloseAfterSave);\r\n }\r\n });\r\n\r\n record.Rank = 0;\r\n\r\n if (this.entity == \"VendorContact\") {\r\n this.UpdateRankByVendorContactIdent(record.Ident, 0, this.svcAuth.GetUserIdent(), bolCloseAfterSave); \r\n }\r\n\r\n }\r\n else if (record.Rank == 0 && record.Active == true) {\r\n record.Rank = this.rows.length;\r\n\r\n if (this.entity == \"VendorContact\") {\r\n this.UpdateRankByVendorContactIdent(record.Ident, record.Rank, this.svcAuth.GetUserIdent(), bolCloseAfterSave);\r\n }\r\n\r\n }\r\n\r\n this.UpdateRow(record, bolCloseAfterSave);\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n UpdateRow(currentRecord, bolCloseAfterSave) {\r\n\r\n this.svcMaintenanceService.Update(this._entityName, currentRecord)\r\n .subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n if (bolCloseAfterSave) {\r\n\r\n this.ClearControls();\r\n this.Reset();\r\n this.ScreenMode = this.menmScreenModes.Search;\r\n this.cdr.detectChanges();\r\n\r\n }\r\n else {\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n UpdateRankByVendorContactIdent(RecordIdent, sortOrder, userIdent, bolCloseAfterSave) {\r\n\r\n try {\r\n\r\n this.svcMaintenanceService.UpdateRankByVendorContactIdent(RecordIdent, sortOrder, userIdent).subscribe((rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n if (bolCloseAfterSave) {\r\n\r\n this.ClearControls();\r\n this.Reset();\r\n this.ScreenMode = this.menmScreenModes.Search;\r\n this.cdr.detectChanges();\r\n\r\n }\r\n else {\r\n this.ScreenMode = this.menmScreenModes.Edit;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n NavigateToChild(entity: string) {\r\n\r\n try {\r\n\r\n setTimeout(() => {\r\n \r\n this.router.navigate(['/system/referenceTables', { entity: entity, parent: this.entity, pIdent: this.editRowIdent }]);\r\n\r\n }, 500);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n NavigateToParent(entity: string) {\r\n\r\n try {\r\n\r\n if (this.editRowIdent !== 0 && (this.pIdent === null || this.pIdent === 0)) {\r\n\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() =>\r\n this.router.navigate(['/system/referenceTables', { entity: entity, ident: this.editRowIdent }]));\r\n\r\n } else {\r\n\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() =>\r\n this.router.navigate(['/system/referenceTables', { entity: entity, ident: this.pIdent }]));\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n SortArray(array: any) {\r\n\r\n return array.sort((n1, n2) => {\r\n\r\n if (n1.order > n2.order) { return 1; }\r\n if (n1.order < n2.order) { return -1; }\r\n return 0;\r\n\r\n });\r\n\r\n }\r\n\r\n PopulateAttorneyContact() {\r\n\r\n let arResults: any;\r\n\r\n this.svcMaintenanceService.Get(this.parent, this.pIdent)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"MaintenanceGet\");\r\n\r\n this.dataColumns.forEach(element => {\r\n\r\n if (element.key == \"Address1\" || element.key == \"Address2\" || element.key == \"Address3\" || element.key == \"City\" || element.key == \"State\" || element.key == \"Country\" || element.key == \"Zip\" || element.key == \"Phone\" || element.key == \"Fax\" || element.key == \"Eamil\") {\r\n\r\n let currentKey = element.key;\r\n\r\n element.value = arResults[currentKey];\r\n\r\n }\r\n else {\r\n element.value = element.value;\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n UnassignClaims() {\r\n\r\n try {\r\n\r\n var stationIdent = this.editRowIdent;\r\n\r\n this.svcMaintenanceService.UnassignClaims(stationIdent)\r\n .subscribe(x => {\r\n this.unassignedClaims = true;\r\n this.cdr.detectChanges();\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n // Make an API call to upsert the values of the given item in the database.\r\n private updateAttorneyOptions(attorneyId) {\r\n\r\n let aOptions = this.svcMaintenanceService.GetSelectedStatesForNewAttorney();\r\n\r\n try {\r\n\r\n aOptions.forEach(option => {\r\n\r\n option[\"AddABCUserIdent\"] = this.svcAuth.GetUserIdent() || 0;\r\n option[\"AddDateTime\"] = new Date().toISOString();\r\n option['AttorneyIdent'] = attorneyId;\r\n\r\n return this.svcMaintenanceService.Upsert('AttorneyStateXref', option).subscribe(\r\n (rspResponse: ApiResponse) => {\r\n if (rspResponse.Succeeded) {\r\n return true;\r\n }\r\n });\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[disableControl]'\r\n})\r\nexport class DisableControlDirective {\r\n\r\n //MTP - Changing this as a result of the angular v8-v16 changes. 10/27/2023\r\n //@Input() set disableControl(condition: boolean) {\r\n // const action = condition ? 'disable' : 'enable';\r\n // this.ngControl.control[action]();\r\n // //this.ngControl.control.disable();\r\n //}\r\n\r\n //@Input('appDisable') set disableControl(condition: boolean) {\r\n // const action = condition ? 'disable' : 'enable';\r\n // setTimeout(() => {\r\n // this.ngControl.control[action]();\r\n // });\r\n //}\r\n\r\n @Input() disableControl;\r\n ngOnChanges(changes) {\r\n if (changes['disableControl']) {\r\n const action = this.disableControl ? 'disable' : 'enable';\r\n this.ngControl.control[action]();\r\n }\r\n }\r\n\r\n\r\n constructor(private ngControl: NgControl) {\r\n }\r\n\r\n}\r\n","import { Directive, HostListener, HostBinding } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[appDropdown]'\r\n})\r\n\r\nexport class DropdownDirective {\r\n\r\n @HostBinding('class.open') isOpen = false;\r\n\r\n @HostListener('click') toggleOpen() {\r\n\r\n this.isOpen = !this.isOpen;\r\n\r\n }\r\n\r\n}\r\n","/**\r\n * LocalStorage for storing string values \r\n */\r\nexport function LocalStorage(\r\n\r\n target: Object, // The prototype of the class\r\n decoratedPropertyName: string // The name of the property\r\n) {\r\n\r\n // get and set methods\r\n Object.defineProperty(target, decoratedPropertyName, {\r\n\r\n get: function () {\r\n return localStorage.getItem(decoratedPropertyName) || '';\r\n },\r\n\r\n set: function (newValue) {\r\n localStorage.setItem(decoratedPropertyName, newValue);\r\n }\r\n\r\n });\r\n\r\n}\r\n","import { Directive, Input, ElementRef } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[limit-to]',\r\n host: {\r\n '(keypress)': '_onKeypress($event)',\r\n '(paste)': '_onPaste($event)',\r\n '(cut)': '_onCut($event)',\r\n '(keyup)': '_onDelete($event)'\r\n }\r\n })\r\n export class MaxLengthDirective {\r\n constructor(private el: ElementRef, private control: NgControl){ }\r\n @Input('limit-to') limitTo; \r\n\r\n _onKeypress(e) {\r\n const limit = +this.limitTo == null || +this.limitTo == undefined ? -1 : +this.limitTo;\r\n\r\n if(limit > 0){\r\n\r\n let label = document.getElementById(this.el.nativeElement.id + '_maxLen');\r\n\r\n if (e.target.value.length === limit) {\r\n\r\n label.style[\"display\"] = \"block\";\r\n e.preventDefault();\r\n \r\n }else{\r\n\r\n label.style[\"display\"] = \"none\";\r\n\r\n }\r\n } \r\n }\r\n\r\n _onPaste(e){\r\n const limit = +this.limitTo == null || +this.limitTo == undefined ? -1 : +this.limitTo;\r\n\r\n if(limit > 0){\r\n\r\n let pastedEvent = e.clipboardData;\r\n let pastedData = pastedEvent.getData('text');\r\n let ctrlCurrentVal = this.el.nativeElement.value;\r\n let combinedLen = ctrlCurrentVal.length + pastedData.length;\r\n let label = document.getElementById(this.el.nativeElement.id + '_maxLen');\r\n\r\n if(combinedLen === limit || combinedLen > limit) {\r\n\r\n let lengthToGather = Math.abs(pastedData.length - (combinedLen - limit));\r\n if(lengthToGather == 0 && ctrlCurrentVal !== pastedData) lengthToGather = pastedData.length;\r\n let newValue = this.el.nativeElement.value + pastedData.substring(0, lengthToGather);\r\n this.el.nativeElement.value = newValue;\r\n label.style[\"display\"] = \"block\";\r\n e.preventDefault();\r\n\r\n }else{\r\n\r\n label.style[\"display\"] = \"none\";\r\n\r\n }\r\n }\r\n }\r\n\r\n _onDelete(e){\r\n if(e.key === 'Backspace' || e.key === 'Delete'){\r\n\r\n const limit = +this.limitTo == null || +this.limitTo == undefined ? -1 : +this.limitTo;\r\n\r\n if(limit > 0){\r\n\r\n let ctrlCurrentVal = this.el.nativeElement.value;\r\n let curLen = ctrlCurrentVal.length;\r\n let label = document.getElementById(this.el.nativeElement.id + '_maxLen');\r\n\r\n if(curLen <= limit) {\r\n\r\n label.style[\"display\"] = \"none\";\r\n\r\n }else{\r\n\r\n label.style[\"display\"] = \"block\";\r\n \r\n }\r\n } \r\n }\r\n }\r\n\r\n _onCut(e){\r\n const limit = +this.limitTo == null || +this.limitTo == undefined ? -1 : +this.limitTo;\r\n\r\n if(limit > 0){\r\n\r\n let ctrlCurrentVal = this.el.nativeElement.value;\r\n let curLen = ctrlCurrentVal.length;\r\n let label = document.getElementById(this.el.nativeElement.id + '_maxLen');\r\n\r\n if(curLen <= limit) {\r\n\r\n label.style[\"display\"] = \"none\";\r\n\r\n }else{\r\n\r\n label.style[\"display\"] = \"block\";\r\n \r\n }\r\n } \r\n }\r\n }","/**\r\n * SessionStorage for storing string values\r\n */\r\nexport function SessionStorage(\r\n\r\n target: Object, // The prototype of the class\r\n decoratedPropertyName: string // The name of the property\r\n ) {\r\n\r\n // get and set methods\r\n Object.defineProperty(target, decoratedPropertyName, {\r\n\r\n get: function () {\r\n return sessionStorage.getItem(decoratedPropertyName) || '';\r\n },\r\n\r\n set: function (newValue) {\r\n sessionStorage.setItem(decoratedPropertyName, newValue);\r\n }\r\n\r\n });\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { MaintenanceService } from '../../../services/maintenance.service';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { ApiResponse } from '../../../models/api-response.model';\r\n\r\n@Component({\r\n selector: 'left-right-combo-box',\r\n templateUrl: './left-right-combo-box.component.html',\r\n styleUrls: ['./left-right-combo-box.component.scss']\r\n})\r\nexport class LeftRightComboBoxComponent implements OnInit {\r\n\r\n @Input() leftActive: boolean = true; // if true, the left select box will be considered the active box.\r\n @Input() leftLabel: string = \"Active\";\r\n @Input() rightLabel: string = \"Not Active\";\r\n @Input() dataSource = {}; // Data source config\r\n\r\n @Output() leftChanged: EventEmitter = new EventEmitter();\r\n @Output() rightChanged: EventEmitter = new EventEmitter();\r\n\r\n // leftValue and rightValue are the actual output values of the field\r\n public leftValue: any[] = [];\r\n public rightValue: any[] = [];\r\n\r\n //leftDisplay and rightDisplay are the arrays of what items are actually shown in the boxes (includes filtering)\r\n public leftDisplay: any[] = [];\r\n public rightDisplay: any[] = [];\r\n\r\n // leftSelection and rightSelection represent the arrays of the selected items in each box\r\n public leftSelection: any[] = [];\r\n public rightSelection: any[] = [];\r\n\r\n // leftFilterModel and rightFilterModel are the filter terms for each box\r\n public leftFilterModel: string = \"\";\r\n public rightFilterModel: string = \"\";\r\n\r\n public selectedStatesForNewAttorney: any[] = [];\r\n\r\n constructor(\r\n private svcMaintenanceService: MaintenanceService,\r\n private svcAuth: AuthenticationService\r\n ) { }\r\n\r\n ngOnInit() {\r\n // Get the options to populate the boxes from the database based on the datasource config.\r\n // Show active items in one, and inactive items in another.\r\n this.selectedStatesForNewAttorney = [];\r\n\r\n setTimeout(() => {\r\n this.getOptions();\r\n }, 1000)\r\n \r\n }\r\n\r\n // Update the display arrays to reflect the current actual value arrays, then filter\r\n private updateDisplayValues() {\r\n this.leftDisplay = this.leftValue;\r\n this.rightDisplay = this.rightValue;\r\n this.leftSelection = [];\r\n this.rightSelection = [];\r\n this.leftFilter();\r\n this.rightFilter();\r\n }\r\n\r\n // Move the selected items from the left box to the right box\r\n public moveSelectionRight() {\r\n if (this.leftActive) {\r\n this.setSelectionActive(this.leftSelection, false);\r\n }\r\n else {\r\n this.setSelectionActive(this.leftSelection, true);\r\n }\r\n\r\n this.rightValue = this.rightValue.concat(this.leftSelection);\r\n this.leftValue = this.leftValue.filter(v => this.leftSelection.indexOf(v) < 0);\r\n this.updateDisplayValues();\r\n this.emitOutputValues();\r\n return false;\r\n }\r\n\r\n // Move all of the items from the left box to the right box\r\n public moveAllRight() {\r\n if (this.leftActive) {\r\n this.setSelectionActive(this.leftValue, false);\r\n }\r\n else {\r\n this.setSelectionActive(this.leftValue, true);\r\n }\r\n\r\n this.rightValue = this.rightValue.concat(this.leftValue);\r\n this.leftValue = [];\r\n this.updateDisplayValues();\r\n this.emitOutputValues();\r\n return false;\r\n }\r\n\r\n // Move the selected items from the right box to the left box\r\n public moveSelectionLeft() {\r\n if (this.leftActive) {\r\n this.setSelectionActive(this.rightSelection, true);\r\n }\r\n else {\r\n this.setSelectionActive(this.rightSelection, false);\r\n }\r\n\r\n this.leftValue = this.leftValue.concat(this.rightSelection);\r\n this.rightValue = this.rightValue.filter(v => this.rightSelection.indexOf(v) < 0);\r\n this.updateDisplayValues();\r\n this.emitOutputValues();\r\n return false;\r\n }\r\n\r\n // Move all of the items from the right box to the left box\r\n public moveAllLeft() {\r\n if (this.leftActive) {\r\n this.setSelectionActive(this.rightValue, true);\r\n }\r\n else {\r\n this.setSelectionActive(this.rightValue, false);\r\n }\r\n\r\n this.leftValue = this.leftValue.concat(this.rightValue);\r\n this.rightValue = [];\r\n this.updateDisplayValues();\r\n this.emitOutputValues();\r\n return false;\r\n }\r\n\r\n // Build the text to display in the box for an item. Is built via string interpolation to use values from the database columns\r\n public buildDisplay(item) {\r\n var display: string = this.dataSource[\"display\"];\r\n\r\n const keys = Object.keys(this.dataSource[\"bindings\"]);\r\n for (const key of keys) {\r\n var value = this.dataSource[\"bindings\"][key];\r\n display = display.replace(key, item[value]);\r\n }\r\n\r\n return display;\r\n }\r\n\r\n // Filter the left box based on the entered search term. Then sort alphabetically.\r\n public leftFilter() {\r\n var display = [];\r\n\r\n if (this.leftFilterModel == \"\") {\r\n display = this.leftValue || [];\r\n }\r\n else {\r\n display = this.leftValue.filter(v => this.buildDisplay(v).toLowerCase().includes(this.leftFilterModel.toLowerCase()));\r\n }\r\n\r\n this.leftDisplay = display.sort((a, b) => {\r\n a = this.buildDisplay(a);\r\n b = this.buildDisplay(b);\r\n if (a < b) return -1;\r\n else if (a > b) return 1;\r\n else if (a == b) return 0;\r\n });\r\n }\r\n\r\n // Filter the right box based on the entered search term. Then sort alphabetically.\r\n public rightFilter() {\r\n var display = [];\r\n\r\n if (this.rightFilterModel == \"\") {\r\n display = this.rightValue || [];\r\n }\r\n else {\r\n display = this.rightValue.filter(v => this.buildDisplay(v).toLowerCase().includes(this.rightFilterModel.toLowerCase()));\r\n }\r\n\r\n this.rightDisplay = display.sort((a, b) => {\r\n a = this.buildDisplay(a);\r\n b = this.buildDisplay(b);\r\n if (a < b) return -1;\r\n else if (a > b) return 1;\r\n else if (a == b) return 0;\r\n });\r\n }\r\n\r\n // Emit the current value for each box to the component's outputs\r\n private emitOutputValues() {\r\n this.leftChanged.emit(this.leftValue);\r\n this.rightChanged.emit(this.rightValue);\r\n }\r\n\r\n // Make an API call to retrieve the options to display in the table.\r\n private getOptions() {\r\n if (this.dataSource != null && this.dataSource != undefined) {\r\n\r\n // First get all of the source entities\r\n return this.svcMaintenanceService.Search(this.dataSource[\"sourceEntity\"], {}).subscribe(\r\n (rspResponse: ApiResponse) => {\r\n if (rspResponse.Succeeded) {\r\n var sourceData: any = rspResponse.Payload[0].Data;\r\n\r\n // Next get all of the xref entities\r\n var editIdent = this.svcMaintenanceService.GetEditIdent();\r\n var xrefIdent = this.dataSource[\"xrefIdents\"][\"xref\"];\r\n var searchParams = {};\r\n searchParams[xrefIdent] = editIdent;\r\n\r\n return this.svcMaintenanceService.Search(this.dataSource[\"xrefEntity\"], searchParams).subscribe(\r\n (xrefRspResponse: ApiResponse) => {\r\n\r\n var xrefData: any = xrefRspResponse.Payload[0].Data;\r\n var options = [];\r\n\r\n if (editIdent) {\r\n options = this.mapXrefToSource(sourceData, xrefData);\r\n }\r\n else {\r\n options = this.mapXrefToSource(sourceData, []);\r\n }\r\n //return options;\r\n if (this.leftActive == true) {\r\n this.leftValue = options.filter(i => i[\"Active\"] == true) || [];\r\n this.rightValue = options.filter(i => i[\"Active\"] == false) || [];\r\n }\r\n else {\r\n this.rightValue = options.filter(i => i[\"Active\"] == true) || [];\r\n this.leftValue = options.filter(i => i[\"Active\"] == false) || [];\r\n }\r\n\r\n this.updateDisplayValues();\r\n this.emitOutputValues(); // Emit right away so the control's value gets updated with the values from the database\r\n });\r\n }\r\n else {\r\n //return [];\r\n if (this.leftActive == true) {\r\n this.leftValue = [];\r\n this.rightValue = [];\r\n }\r\n else {\r\n this.rightValue = [];\r\n this.leftValue = [];\r\n }\r\n\r\n this.updateDisplayValues();\r\n this.emitOutputValues(); // Emit right away so the control's value gets updated with the values from the database\r\n }\r\n });\r\n }\r\n else {\r\n //return [];\r\n if (this.leftActive == true) {\r\n this.leftValue = [];\r\n this.rightValue = [];\r\n }\r\n else {\r\n this.rightValue = [];\r\n this.leftValue = [];\r\n }\r\n\r\n this.updateDisplayValues();\r\n this.emitOutputValues(); // Emit right away so the control's value gets updated with the values from the database\r\n }\r\n }\r\n\r\n private mapXrefToSource(sourceData, xrefData): any[] {\r\n var sourceIdent = this.dataSource[\"xrefIdents\"][\"source\"];\r\n var xrefIdent = this.dataSource[\"xrefIdents\"][\"xref\"];\r\n\r\n sourceData.forEach(sourceObj => {\r\n var xrefObj = xrefData.find(x => x[sourceIdent] == sourceObj[\"Ident\"]);\r\n\r\n if (xrefObj) {\r\n sourceObj[\"Active\"] = xrefObj[\"Active\"];\r\n sourceObj[sourceIdent] = xrefObj[sourceIdent];\r\n sourceObj[xrefIdent] = xrefObj[xrefIdent];\r\n sourceObj[\"Ident\"] = xrefObj[\"Ident\"];\r\n sourceObj[\"New\"] = false;\r\n }\r\n else {\r\n sourceObj[\"Active\"] = false;\r\n sourceObj[sourceIdent] = sourceObj[\"Ident\"];\r\n sourceObj[xrefIdent] = this.svcMaintenanceService.GetEditIdent();\r\n sourceObj[\"New\"] = true;\r\n delete sourceObj[\"Ident\"];\r\n }\r\n });\r\n\r\n return sourceData;\r\n }\r\n\r\n // Update the \"Active\" field for all items in the given selection to the given boolean\r\n private setSelectionActive(options, active) {\r\n options.forEach(option => {\r\n option[\"Active\"] = active;\r\n this.updateOption(option);\r\n });\r\n }\r\n\r\n // Make an API call to upsert the values of the given item in the database.\r\n private updateOption(option) {\r\n // Update audit details\r\n if (!this.svcMaintenanceService.GetEditIdent())\r\n {\r\n option[\"AddABCUserIdent\"] = this.svcAuth.GetUserIdent() || 0;\r\n option[\"AddDateTime\"] = new Date().toISOString();\r\n\r\n this.selectedStatesForNewAttorney.push(option);\r\n this.svcMaintenanceService.SetSelectedStatesForNewAttorney(this.selectedStatesForNewAttorney);\r\n }\r\n else\r\n {\r\n if (option['New'])\r\n {\r\n option[\"AddABCUserIdent\"] = this.svcAuth.GetUserIdent() || 0;\r\n option[\"AddDateTime\"] = new Date().toISOString();\r\n }\r\n else\r\n {\r\n option[\"EditABCUserIdent\"] = this.svcAuth.GetUserIdent() || 0;\r\n option[\"EditDateTime\"] = new Date().toISOString();\r\n }\r\n\r\n return this.svcMaintenanceService.Upsert(this.dataSource[\"xrefEntity\"], option).subscribe(\r\n (rspResponse: ApiResponse) => {\r\n if (rspResponse.Succeeded) {\r\n return true;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { FormControlBase } from '../form-controls/form-control-base';\r\nimport { modSharedService } from '../../services/modShared.service';\r\nimport { ABCMessage } from '../../models/abc-message.model';\r\nimport { InjectSetupWrapper } from '../../../../../node_modules/@angular/core/testing';\r\n\r\n@Component({\r\n selector: 'app-control',\r\n templateUrl: './dynamic-form-control.component.html',\r\n styles: [\r\n `.full-width {\r\n width: 50%\r\n }\r\n .side-margin {\r\n margin: 0 10px;\r\n }\r\n .padding {\r\n padding-bottom: 1em;\r\n }\r\n .style {\r\n width: 200px;\r\n display: block;\r\n height: 25px;\r\n color: #555;\r\n background-color: #fff;\r\n border: 1px solid #ccc;\r\n border-radius: 0px;\r\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r\n transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;\r\n }\r\n .upload {\r\n border: 1px solid #ccc;\r\n display: inline-block;\r\n padding: 6px 12px;\r\n cursor: pointer;\r\n margin-bottom: 15px;\r\n float: left;\r\n }\r\n .hiddenText{\r\n display : none\r\n }\r\n .control-row {\r\n margin-bottom: 20px;\r\n }\r\n `,\r\n ],\r\n})\r\n export class DynamicFormControlComponent {\r\n @Input() control: FormControlBase;\r\n @Input() form: UntypedFormGroup;\r\n @Input() tab: any;\r\n\r\n @Output() controlChanged: EventEmitter = new EventEmitter();\r\n\r\n constructor(public modShared: modSharedService) {}\r\n\r\n public onControlChange(value, control) {\r\n if (control.hasOwnProperty(\"onChange\")) {\r\n this.controlChanged.emit({\r\n control: control,\r\n value: value\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { FormControlBase, Validator } from './form-control-base';\r\nimport { modSharedService } from '../../services/modShared.service';\r\n\r\n@Injectable()\r\nexport class FormControlService {\r\n\r\n validators = {\r\n\r\n email: () => Validators.email,\r\n required: () => Validators.required,\r\n min: min => Validators.min(min),\r\n max: max => Validators.max(max),\r\n pattern: pattern => Validators.pattern(pattern),\r\n minLength: minLength => Validators.minLength(minLength),\r\n maxLength: maxLength => Validators.maxLength(maxLength),\r\n\r\n };\r\n\r\n constructor(public modShared: modSharedService) {}\r\n\r\n toFormGroup(controls: FormControlBase[]) {\r\n\r\n const group: any = {};\r\n\r\n try {\r\n\r\n controls.forEach(control => {\r\n\r\n const state = {\r\n\r\n value: control.value || '',\r\n disabled: control.disabled,\r\n\r\n };\r\n\r\n let validatorOpts: ValidatorFn[] | null;\r\n\r\n if (control.validators) {\r\n\r\n validatorOpts = this.getValidators(control.validators);\r\n\r\n }\r\n\r\n group[control.key] = new UntypedFormControl(state, validatorOpts);\r\n\r\n });\r\n\r\n return new UntypedFormGroup(group);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n getValidators(validators: Validator) {\r\n \r\n const validatorOpts = new Array();\r\n\r\n try {\r\n\r\n Object.keys(validators).forEach(key => {\r\n\r\n if (validators[key]) {\r\n\r\n validatorOpts.push(this.validators[key](validators[key]));\r\n\r\n }\r\n\r\n });\r\n\r\n return validatorOpts;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { modSharedService } from '../../services/modShared.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, AbstractControl, RequiredValidator } from '@angular/forms';\r\nimport { ABCMessage } from '../../models/abc-message.model';\r\n\r\n@Component({\r\n selector: 'app-printer-output',\r\n templateUrl: './printer-output.component.html',\r\n styleUrls: ['./printer-output.component.scss']\r\n})\r\nexport class PrinterOutputComponent implements OnInit {\r\n\r\n mfrmForm: UntypedFormGroup;\r\n\r\n // Properties\r\n marSelectedPrinter: any[] = [];\r\n\r\n // Result object\r\n mobjResult: any = {\r\n 'OutputToPrinter': false,\r\n 'OutputToFile': false,\r\n 'OutputItems': false,\r\n 'OutputPath': \"\",\r\n 'OutputNotes': \"\",\r\n 'CorrespondencePrinterIdent': 0\r\n }\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private modShared: modSharedService) { }\r\n\r\n Cancel() {\r\n\r\n try {\r\n\r\n // Dismiss the popup, mobjResult returns any work they did. \r\n this.activeModal.close(this.mobjResult);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n OutputToFile() {\r\n\r\n try {\r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n this.mobjResult.OutputItems = true;\r\n this.mobjResult.OutputPath = \"\";\r\n this.mobjResult.OutputNotes = \"\";\r\n this.mobjResult.OutputToPrinter = false;\r\n this.mobjResult.OutputToFile = true;\r\n this.mobjResult.CorrespondencePrinterIdent = 0;\r\n\r\n this.Cancel();\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n PrinterSelected() {\r\n\r\n try {\r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n // TODO: Verify they selected a printer.\r\n if (this.marSelectedPrinter.length == 1) {\r\n\r\n this.mobjResult.OutputItems = true;\r\n this.mobjResult.OutputPath = this.marSelectedPrinter[0].FileSavePath;\r\n this.mobjResult.OutputNotes = \"\";\r\n this.mobjResult.OutputToPrinter = true;\r\n this.mobjResult.OutputToFile = false;\r\n this.mobjResult.CorrespondencePrinterIdent = this.marSelectedPrinter[0].Ident;\r\n\r\n this.Cancel();\r\n\r\n } else {\r\n\r\n this.mobjResult.OutputItems = false;\r\n this.mobjResult.OutputPath = \"\";\r\n this.mobjResult.OutputNotes = \"\";\r\n this.mobjResult.OutputToPrinter = false;\r\n this.mobjResult.OutputToFile = false;\r\n this.mobjResult.CorrespondencePrinterIdent = 0;\r\n\r\n // TODO: Actual messaging, I think. Is this worth a round trip?\r\n this.modShared.AddMessage(new ABCMessage(0, \"You must select one printer in order to output.\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n PrinterSelectionChanged(arSelected: any[]) {\r\n\r\n try {\r\n\r\n this.marSelectedPrinter = arSelected;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForm = new UntypedFormGroup({\r\n\r\n 'CorrespondencePrinterIdent': new UntypedFormControl(0, [])\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","\r\nexport class ABCMessage {\r\n\r\n Ident: number;\r\n PublicDescription: string;\r\n ABCMessageSeverityIdent: number;\r\n MessageNumber: string;\r\n\r\n constructor(intIdent: number, strPublicDescription: string, intABCMessageSeverityIdent: number, strMessageNumber: string) {\r\n\r\n this.Ident = intIdent;\r\n this.PublicDescription = strPublicDescription;\r\n this.ABCMessageSeverityIdent = intABCMessageSeverityIdent;\r\n this.MessageNumber = strMessageNumber;\r\n\r\n }\r\n\r\n} \r\n","export class ABCDictionary {\r\n\r\n Key: string;\r\n Value: any;\r\n\r\n constructor(strKey: string, objValue: any) {\r\n\r\n this.Key = strKey;\r\n this.Value = objValue;\r\n\r\n }\r\n\r\n} \r\n","import { Injectable } from '@angular/core';\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n\r\n GetScreenInformationForAccountSearch(intClientIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/GetScreenInformationForAccountSearch', {\r\n\r\n ClientIdent: intClientIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SearchAccounts(intClientIdent: number, strDocumentNumber: string, strAccountNumber: string, strCustomerName: string, strClaimNumber: string,\r\n intEscalationCustomerResponseIdent: number, intCustomerResponseIdent: number, bolIncludeWorkEscalation: boolean) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/SearchAccounts', {\r\n\r\n ClientIdent: intClientIdent,\r\n DocumentNumber: strDocumentNumber,\r\n AccountNumber: strAccountNumber,\r\n CustomerName: strCustomerName,\r\n ClaimNumber: strClaimNumber,\r\n EscalationCustomerResponseIdent: intEscalationCustomerResponseIdent,\r\n CustomerResponseIdent: intCustomerResponseIdent,\r\n IncludeWorkEscalation: bolIncludeWorkEscalation,\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetABCUserInformation(intABCUserIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/GetABCUserInformation', {\r\n\r\n ABCUserIdent: intABCUserIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetAttorneyInformation(intAttorneyIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/GetAttorneyInformation', {\r\n\r\n AttorneyIdent: intAttorneyIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetAccountDetails(intAccountIdent: number, intClaimIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/GetAccountDetails', {\r\n\r\n AccountIdent: intAccountIdent,\r\n ClaimIdent: intClaimIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n AddActivity(intAccountIdent: number, strNotes: string, intFollowUpSettingIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/AddActivity', {\r\n\r\n AccountIdent: intAccountIdent,\r\n Notes: strNotes,\r\n FollowUpSettingIdent: intFollowUpSettingIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n ClearAttachmentsFromClaimSubmission(strUserFolderGUID: string, bolExcludeForwarding: boolean = false) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/ClearAttachmentsFromClaimSubmission', {\r\n\r\n UserFolderGUID: strUserFolderGUID,\r\n ExcludeForwarding: bolExcludeForwarding\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n AddClaimSubmission(frmForm: UntypedFormGroup, strUserGUID: string, arStatus: any[], arDocuments: any[]) {\r\n\r\n let objParameters: any;\r\n let strSelectedStatus: string = \"\"; \r\n let strSelectedDocuments: string = \"\";\r\n\r\n try {\r\n\r\n\r\n for (let itmItem of arStatus) {\r\n\r\n strSelectedStatus += itmItem.toString() + \",\";\r\n\r\n }\r\n\r\n for (let itmItem of arDocuments) {\r\n\r\n strSelectedDocuments += itmItem.toString() + \",\";\r\n\r\n }\r\n\r\n // Call the Services API\r\n objParameters = this.modShared.CreateParametersForSave(frmForm);\r\n objParameters.UserGuid = strUserGUID;\r\n objParameters.SelectedStatus = strSelectedStatus;\r\n objParameters.SelectedDocuments = strSelectedDocuments;\r\n\r\n return this.modShared.CreateHttpPostRequest('/Accounts/AddClaimSubmission', objParameters);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n AddAttachmentToClaimSubmission(filFileAttachment: string, strAttachmentFileName: string, strUserFolderGUID: string) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/AddAttachmentToClaimSubmission', {\r\n\r\n AttachmentFileName: strAttachmentFileName,\r\n FileAttachmentBytes: filFileAttachment,\r\n UserFolderGUID: strUserFolderGUID\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetClientAndDebtorInformation() {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/GetClientAndDebtorInformation', {\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n CompletePaymentPortalPayment(mnyPaymentAmount: number, strReceiptEmailAddress: string, strBillingFirstName: string,\r\n strBillingLastName: string, strBillingAddress1: string, strBillingCity: string, intBillingStateIdent: number, strBillingZipCode: string,\r\n strCardNumber: string, intExpirationMonth: number, intExpirationYear: number, strCardCCV: string, arDocumentsToPay: any[]) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Accounts/CompletePaymentPortalPayment', {\r\n\r\n PaymentAmount: mnyPaymentAmount,\r\n ReceiptEmailAddress: strReceiptEmailAddress,\r\n BillingFirstName: strBillingFirstName,\r\n BillingLastName: strBillingLastName,\r\n BillingAddress1: strBillingAddress1,\r\n BillingCity: strBillingCity,\r\n BillingStateIdent: intBillingStateIdent,\r\n BillingZipCode: strBillingZipCode,\r\n CardNumber: strCardNumber,\r\n ExpirationMonth: intExpirationMonth,\r\n ExpirationYear: intExpirationYear,\r\n CardCCV: strCardCCV,\r\n DocumentsToPay: arDocumentsToPay\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n\r\n private userIdent: number;\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n\r\n AuthenticateByPaymentPortalGUID(strLinkGuid: string) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Authentication/AuthenticateByPaymentPortalGUID', {\r\n\r\n LinkGuid: strLinkGuid\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n AuthenticateByPaymentPortalDetails(strCaptchaResponse: string, intClaimIdent: number, strAddress1: string,\r\n strCity: string, intCountryIdent: number, intStateIdent: number, strZip: string) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Authentication/AuthenticateByPaymentPortalDetails', {\r\n\r\n CaptchaResponse: strCaptchaResponse,\r\n ClaimIdent: intClaimIdent,\r\n Address1: strAddress1,\r\n City: strCity,\r\n CountryIdent: intCountryIdent,\r\n StateIdent: intStateIdent,\r\n Zip: strZip\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n LoginUser(strUsername: string, strPassword: string) {\r\n\r\n try {\r\n\r\n // Attempt to log into the system\r\n return this.modShared.CreateHttpPostRequest('/Authentication/Login', { username: strUsername, password: strPassword });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n } \r\n\r\n\r\n }\r\n\r\n // TODO: Clean up this service, it was older so we don't have code standards in place.\r\n SetUserIdent(ident: number) {\r\n this.userIdent = ident;\r\n localStorage.setItem(\"UserIdent\", this.userIdent.toString());\r\n }\r\n\r\n GetUserIdent() {\r\n if (this.userIdent == undefined) {\r\n return Number(localStorage.getItem(\"UserIdent\"));\r\n }\r\n else {\r\n return this.userIdent;\r\n }\r\n }\r\n\r\n GetPasswordRequirements() {\r\n\r\n try {\r\n\r\n // Get the password requirements from the server\r\n return this.modShared.CreateHttpPostRequest('/Authentication/GetPasswordRequirements', {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n \r\n VerifyABCUserLink(strGUID: string) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Authentication/VerifyABCUserLink', {\r\n\r\n SecureGUID: strGUID\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n \r\n }\r\n\r\n\r\n ResetPassword(strGUID: string, strNewPassword: string, strConfirmNewPassword: string) {\r\n\r\n try {\r\n\r\n\r\n // Update the user's password\r\n return this.modShared.CreateHttpPostRequest('/Authentication/ResetPassword', {\r\n SecureGUID: strGUID,\r\n NewPassword: strNewPassword,\r\n ConfirmNewPassword: strConfirmNewPassword\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ForgotPassword(strUsername: string, strEmailAddress: string) {\r\n\r\n try {\r\n\r\n //User forgot their password\r\n return this.modShared.CreateHttpPostRequest('/Authentication/ForgotPassword', {\r\n Username: strUsername,\r\n EmailAddress: strEmailAddress\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class ClientsService {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n\r\n SearchClientsByName(strName: string) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Clients/SearchClientsByName', {\r\n\r\n Name: strName\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetClientAndStructureByIdent(intClientIdent: number) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Clients/GetClientAndStructureByIdent', {\r\n\r\n ClientIdent: intClientIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n SearchClientByClientNumber(strClientNumber: string) {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/Clients/SearchClientByClientNumber', {\r\n\r\n ClientNumber: strClientNumber\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { modSharedService } from \"./modShared.service\";\r\nimport { FormControl, AbstractControl } from \"@angular/forms\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class CustomValidators {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n Numeric(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n let strValue: string = \"\";\r\n let dblNumber: number; \r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'Numeric': true };\r\n\r\n } else {\r\n\r\n strValue = ctlControl.value.toString();\r\n strValue = strValue.replace(\",\", \"\");\r\n strValue = strValue.replace(\"$\", \"\");\r\n\r\n dblNumber = Number(strValue);\r\n\r\n if (isNaN(dblNumber)) {\r\n\r\n // Non-blank and not a number.\r\n return { 'Numeric': true };\r\n\r\n }\r\n\r\n }\r\n\r\n return null;\r\n \r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n NumericGreaterThanZero(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n let strValue: string = \"\";\r\n let dblNumber: number;\r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'NumericGreaterThanZero': true };\r\n\r\n } else {\r\n\r\n strValue = ctlControl.value.toString();\r\n strValue = strValue.replace(\",\", \"\");\r\n strValue = strValue.replace(\"$\", \"\");\r\n\r\n dblNumber = Number(strValue);\r\n\r\n if (strValue.length !== 0) {\r\n\r\n if (isNaN(dblNumber)) {\r\n\r\n return { 'NumericGreaterThanZero': true };\r\n\r\n } else {\r\n\r\n if (dblNumber <= 0) {\r\n\r\n return { 'NumericGreaterThanZero': true };\r\n\r\n }\r\n\r\n }\r\n\r\n } else {\r\n\r\n return { 'NumericGreaterThanZero': true };\r\n\r\n }\r\n\r\n }\r\n\r\n return null;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n NumericOrEmptyGreaterThanOrEqualToZero(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n let strValue: string = \"\";\r\n let dblNumber: number;\r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'NumericOrEmptyGreaterThanOrEqualToZero': true };\r\n\r\n } else {\r\n\r\n strValue = ctlControl.value.toString();\r\n strValue = strValue.replace(\",\", \"\");\r\n strValue = strValue.replace(\"$\", \"\");\r\n\r\n dblNumber = Number(strValue);\r\n\r\n if (strValue.length !== 0) {\r\n\r\n if (isNaN(dblNumber)) {\r\n\r\n return { 'NumericOrEmptyGreaterThanOrEqualToZero': true };\r\n\r\n } else {\r\n\r\n // it's a number, make sure it's greater than or equal to zero\r\n if (dblNumber < 0) {\r\n\r\n return { 'NumericOrEmptyGreaterThanOrEqualToZero': true };\r\n\r\n } // dblNumber < 0\r\n\r\n } // else IsNaN \r\n\r\n } // strValue.Length !== 0\r\n\r\n } // else: not Defined\r\n\r\n return null;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n NumericOrEmpty(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n let strValue: string = \"\";\r\n let dblNumber: number; \r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'NumericOrEmpty': true };\r\n\r\n } else {\r\n\r\n strValue = ctlControl.value.toString();\r\n strValue = strValue.replace(\",\", \"\");\r\n strValue = strValue.replace(\"$\", \"\");\r\n\r\n dblNumber = Number(strValue);\r\n\r\n if (strValue.length !== 0) {\r\n\r\n if (isNaN(dblNumber)) {\r\n\r\n return { 'NumericOrEmpty': true };\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n return null;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n CheckboxRequired(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'CheckboxRequired': true };\r\n\r\n } else {\r\n\r\n // We have a value, make sure it's not 0\r\n if (ctlControl.value == false) {\r\n\r\n return { 'CheckboxRequired': true };\r\n\r\n }\r\n\r\n }\r\n\r\n return null;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n DropdownRequired(ctlControl: AbstractControl): { [key: string]: boolean } | null {\r\n\r\n try {\r\n\r\n if (ctlControl.value == undefined) {\r\n\r\n // Undefined is bad, raise an error\r\n return { 'DropdownRequired': true };\r\n\r\n } else {\r\n\r\n // We have a value, make sure it's not 0\r\n if (ctlControl.value == 0) {\r\n\r\n return { 'DropdownRequired': true };\r\n\r\n }\r\n\r\n }\r\n\r\n return null;\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Input, MultipleChoice, Checkbox, TextArea, Upload, Telephone, Email, CustomButton } from \"../dynamic-controls/form-controls/form-controls\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class FormDataService {\r\n\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n jsonFolder: string = \"../../../assets/entities/\";\r\n ext: string = \".json\";\r\n\r\n public getJSON(fileName): any {\r\n\r\n return this.http.get(this.jsonFolder + fileName + this.ext);\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\n\r\n@Injectable()\r\nexport class MaintenanceService {\r\n\r\n private editIdent: any = undefined;\r\n private selectedStatesForNewAttorney: any = undefined;\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n GetEditIdent() {\r\n return this.editIdent;\r\n }\r\n\r\n SetEditIdent(value: any) {\r\n this.editIdent = value;\r\n }\r\n\r\n Search(entityName: string, entityObject: any) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/Search/' + entityName, entityObject);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetSelectedStatesForNewAttorney() {\r\n return this.selectedStatesForNewAttorney;\r\n }\r\n\r\n SetSelectedStatesForNewAttorney(value: any) {\r\n this.selectedStatesForNewAttorney = value;\r\n }\r\n\r\n GetSearchableLookupValueByTableIdent(intRecordIdent: number, strTableName: string, strColumnName: string) {\r\n\r\n try {\r\n\r\n // Pull back the searchable lookup\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/GetSearchableLookupValueByTableIdent', {\r\n\r\n RecordIdent: intRecordIdent,\r\n TableName: strTableName,\r\n ColumnName: strColumnName\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n } \r\n\r\n SearchableLookupByName1(strName1: string,\r\n strTableName: string,\r\n strOverrideProcedure: string,\r\n slAdditionalParameters: ABCDictionary[],\r\n intMaxRecords: number = 100) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/GetSearchableLookupByName1', {\r\n\r\n Name1: strName1,\r\n TableName: strTableName,\r\n OverrideProcedure: strOverrideProcedure,\r\n MaxRecords: intMaxRecords,\r\n AdditionalParameters: slAdditionalParameters\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Get(entityName: string, entityId: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpGetRequest('/Maintenance/' + entityName + '/' + entityId);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetAllActiveCountry() {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/GetAllActiveCountry', {\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetAllByList(arTablesToRetrieve: string[], bolSkipLoading: boolean = false) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/GetAllByList', {\r\n\r\n TablesToRetrieve: arTablesToRetrieve\r\n\r\n }, bolSkipLoading, false);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetAll(entityName: string) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpGetRequest('/Maintenance/' + entityName);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Add(entityName: string, entityObject: any) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/' + entityName, entityObject);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Update(entityName: string, entityObject: any) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPutRequest('/Maintenance/' + entityName, entityObject);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Upsert(entityName: string, entityObject: any) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/Upsert/' + entityName, entityObject);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n Delete(entityName: string, entityId: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpDeleteRequest('/Maintenance/' + entityName + '/' + entityId);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SearchABCUserType(strName1: string, bolActiveOnly: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/SearchABCUserTypeByDetails', {\r\n\r\n Name1: strName1,\r\n ActiveOnly: bolActiveOnly\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetABCUserTypeByIdent(intIdent: number) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/GetABCUserTypeByIdent', {\r\n Ident: intIdent\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SaveABCUserType(intIdent: number, strName: string, strDesc1: string, bolActive: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/SaveABCUserType', {\r\n Ident: intIdent,\r\n Name1: strName,\r\n Desc1: strDesc1,\r\n Active: bolActive\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UpdateStagingInvoicesAndDisbursement(intAttorneyIdent: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPutRequest('/Maintenance/' + intAttorneyIdent, {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UnassignClaims(intStationIdent: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/UnassignClaims/' + intStationIdent, {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetABCUsersForStation() {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpGetRequest('/Maintenance/GetABCUsersForStation');\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UpdateStationHistory(intStationIdent: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPutRequest('/Maintenance/' + intStationIdent, {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UpdateRankByVendorContactIdent(intVendorContactIdent: number, intSortOrder: number, intUserIdent: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/' + intVendorContactIdent + '/' + intSortOrder + '/' + intUserIdent, {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SearchManageUserDefinedFields(intUDFTableType: number, bolActiveOnly: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/SearchManageUserDefinedFields', {\r\n\r\n UDFTableType: intUDFTableType,\r\n ActiveOnly: bolActiveOnly\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n EditUDF(intIdent: number, bolLockRecord: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/EditUDF', {\r\n Ident: intIdent,\r\n LockRecord: bolLockRecord\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SaveUDF(intIdent: number, intUDFTableTypeIdent: number, strFieldLabel: string, bolActive: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/SaveUDF', {\r\n Ident: intIdent,\r\n UDFTableTypeIdent: intUDFTableTypeIdent,\r\n FieldLabel: strFieldLabel,\r\n Active: bolActive\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ChangeUDFSortOrder(intUDFIdent: number, intNewRank: number) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/ChangeUDFSortOrder', {\r\n\r\n UDFIdent: intUDFIdent,\r\n NewRank: intNewRank\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n UnlockUDF(intUDFIdent: number) {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Maintenance/UnlockUDF', {\r\n\r\n UDFIdent: intUDFIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { modSharedService } from \"./modShared.service\";\r\n\r\n@Injectable()\r\nexport class ManageUsersService {\r\n\r\n mintRecordIdent: number = 0; \r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n ResetPassword(strCurrentPassword: string, strNewPassword: string, strConfirmNewPassword: string) {\r\n\r\n try {\r\n\r\n\r\n // Update the user's password\r\n return this.modShared.CreateHttpPostRequest('/ManageUsers/ResetPassword', {\r\n CurrentPassword: strCurrentPassword,\r\n NewPassword: strNewPassword,\r\n ConfirmNewPassword: strConfirmNewPassword\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n \r\n }\r\n\r\n }\r\n\r\n\r\n GetPasswordRequirements() {\r\n\r\n try {\r\n\r\n // Get the password requirements from the server\r\n return this.modShared.CreateHttpPostRequest('/ManageUsers/GetPasswordRequirements', {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n SendResetLink(intABCUserIdent: number, bolForNewUser: boolean) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/ManageUsers/SendResetLink', {\r\n\r\n ABCUserIdent: intABCUserIdent,\r\n ForNewUser: bolForNewUser\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetABCUserRoles(intABCUserIdent: number) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/ManageUsers/GetABCUserRoles', {\r\n\r\n ABCUserIdent: intABCUserIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetWebUserDetails() {\r\n\r\n try {\r\n\r\n // Call the Services API\r\n return this.modShared.CreateHttpPostRequest('/ManageUsers/GetWebUserDetails', {\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable()\r\nexport class MessagingService {\r\n\r\n constructor() { }\r\n\r\n \r\n\r\n\r\n}\r\n","import { throwError as observableThrowError, Observable, Subject } from 'rxjs';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpResponse } from \"@angular/common/http\";\r\nimport { map, catchError } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\nimport { UntypedFormGroup, Form } from \"@angular/forms\";\r\nimport 'rxjs';\r\n\r\nimport { ApiResponse } from \"../models/api-response.model\";\r\nimport { LocalStorage } from '../directives/local-storage.function';\r\nimport { SessionStorage } from \"../directives/session-storage.function\";\r\nimport { ABCMessage } from \"../models/abc-message.model\";\r\nimport { UntypedFormControl } from \"@angular/forms\";\r\nimport { saveAs } from 'file-saver';\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\nimport { MessagingService } from './messaging.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport * as $ from \"jquery\";\r\n\r\n@Injectable()\r\nexport class modSharedService {\r\n\r\n // Subscriptions & Events\r\n MessagesAdded = new Subject();\r\n MessagesCleared = new Subject();\r\n EscalationsSet = new Subject(); \r\n SearchAccount = new Subject();\r\n\r\n mbolLoading = false;\r\n\r\n @LocalStorage\r\n mstrApplicationName: string = \"ABC-Collect Client Portal\";\r\n\r\n @LocalStorage\r\n mstrApplicationLogo: string = \"/assets/images/abc_logo.gif\";\r\n\r\n @LocalStorage\r\n mstrApplicationNameLogo: string = \"/assets/images/logo.gif\";\r\n\r\n @LocalStorage\r\n mstrheaderBorder: string = \"/assets/images/border.gif\";\r\n\r\n @LocalStorage\r\n // mstrBaseAPIUrl: string = \"http://clientportaldev:5002\";\r\n //mstrBaseAPIUrl: string = \"http://CoreABCCollectPortalStaging/API\";\r\n mstrBaseAPIUrl: string = environment.apiUrl;\r\n\r\n @SessionStorage\r\n mstrAuthToken: string;\r\n\r\n @SessionStorage\r\n mstrUsername: string;\r\n\r\n @SessionStorage\r\n mbolRestrictAccess: string = 'false'; //was unable to get bools to eval after return. TODO: Make bool\r\n\r\n @SessionStorage\r\n marUserRoles: string;\r\n\r\n @SessionStorage\r\n marUserPermissions: string;\r\n\r\n @SessionStorage\r\n mstrClientFocusName: string;\r\n\r\n @SessionStorage\r\n mstrClientFocusNumber: string;\r\n\r\n @SessionStorage\r\n mintClientFocusIdent: number;\r\n\r\n @SessionStorage\r\n marEscalations: string;\r\n\r\n\r\n // NOTE: If you're copying regExs from ABCC/SC, you need to double slash all the slashed from the VB code\r\n marValidationRegEx = [\r\n { key: 'onlyContainLetters', expectedPattern: '^[a-zA-Z ]*$' },\r\n { key: 'validPhone', expectedPattern: '^((\\\\+\\\\d{1,3}(-| )?\\\\(?\\\\d\\\\)?(-| )?\\\\d{1,5})|(\\\\(?\\\\d{2,6}\\\\)?))(-| )?(\\\\d{3,4})(-| )?(\\\\d{4})(( x| ext| ext )\\\\d{1,5}){0,1}$' },\r\n { key: 'validTime', expectedPattern: '^([1][012]|\\\\d):[0-5]\\\\d(:\\\\d+)*[ ]?[aAPp][Mm]$' },\r\n { key: 'onlyAlphaNumeric', expectedPattern: '^[a-zA-Z0-9]+$' },\r\n { key: 'validZipRange', expectedPattern: '^\\\\d{3}-\\\\d{3}$' },\r\n { key: 'validAttorneyZip', expectedPattern: '^\\\\d{3}$' },\r\n { key: 'validEmail', expectedPattern: '^[\\\\w-]+(?:\\\\.[\\\\w-]+)*@(?:[\\\\w-]+\\\\.)+[a-zA-Z]{2,7}$' },\r\n ]\r\n\r\n\r\n // Validation Text\r\n marValidationErrors = [\r\n { key: 'required', regExName: '', value: 'This field is required.' },\r\n { key: 'email', regExName: '', value: 'This field must be a valid email address.' },\r\n { key: 'pattern', regExName: 'onlyContainLetters', value: 'This field must only include characters.' },\r\n { key: 'minlength', regExName: '', value: 'This field minimum length is not matched.' },\r\n { key: 'maxlength', regExName: '', value: 'This field maximum length is not matched.' },\r\n { key: 'pattern', regExName: 'validPhone', value: 'This field must contain a valid phone number.' },\r\n { key: 'DropdownRequired', regExName: '', value: 'This field is required.' },\r\n { key: 'CheckboxRequired', regExName: '', value: 'You must check this box to continue.' },\r\n { key: 'NumericOrEmpty', regExName: '', value: 'This field must be numeric.' },\r\n { key: 'NumericGreaterThanZero', regExName: '', value: 'This field must be numeric and greater than 0.' },\r\n { key: 'Numeric', regExName: '', value: 'This field must be numeric.' },\r\n { key: 'pattern', regExName: 'validTime', value: 'This must be in a valid format of HH:MM AM/PM' },\r\n { key: 'NumericOrEmptyGreaterThanOrEqualToZero', regExName: '', value: 'This field must be numeric and greater than or equal to zero.' },\r\n { key: 'pattern', regExName: 'onlyAlphaNumeric', value: 'This field can only contain numbers and letters.' },\r\n { key: 'pattern', regExName: 'validZipRange', value: 'Invalid Range. Must be in the format: ###-### or use a 3 digit zip.' },\r\n { key: 'pattern', regExName: 'validAttorneyZip', value: 'Must be a three digit zip.' }\r\n\r\n ]\r\n\r\n\r\n SetLoading(bolLoading: boolean) {\r\n\r\n try {\r\n\r\n setTimeout(() => {\r\n\r\n this.mbolLoading = bolLoading;\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n constructor(private rtRouter: Router, private http: HttpClient, private svcMessagingService: MessagingService) {\r\n }\r\n\r\n isAuthenticated(): boolean {\r\n\r\n try {\r\n\r\n return this.mstrAuthToken !== \"\";\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SaveSearchParameters(frmForm: UntypedFormGroup): any {\r\n\r\n let objSave: any = null;\r\n\r\n try {\r\n\r\n objSave = {};\r\n\r\n Object.keys(frmForm.controls).forEach((strName) => {\r\n\r\n if (strName.includes(\"ForSearch\")) {\r\n\r\n objSave[strName] = frmForm.controls[strName].value;\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return objSave;\r\n\r\n }\r\n\r\n SetSearchParametersEnabled(frmForm: UntypedFormGroup, bolEnabled: Boolean) {\r\n\r\n try {\r\n\r\n Object.keys(frmForm.controls).forEach((strName) => {\r\n\r\n if (strName.includes(\"ForSearch\")) {\r\n\r\n if (bolEnabled) {\r\n\r\n frmForm.controls[strName].enable();\r\n\r\n } else {\r\n\r\n frmForm.controls[strName].enable();\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n CreateParametersForSave(frmForm: UntypedFormGroup): any {\r\n\r\n let objSave: any = null;\r\n\r\n try {\r\n\r\n objSave = {};\r\n\r\n Object.keys(frmForm.controls).forEach((strName) => {\r\n\r\n objSave[strName] = frmForm.controls[strName].value;\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return objSave;\r\n\r\n }\r\n\r\n PopulateFormFromItem(frmForm: UntypedFormGroup, itmRecord: any) {\r\n\r\n try {\r\n\r\n Object.keys(frmForm.controls).forEach((strName) => {\r\n\r\n if (itmRecord[strName] !== undefined) {\r\n\r\n frmForm.controls[strName].setValue(itmRecord[strName]);\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetFormControlName(ctlControl: UntypedFormControl): string {\r\n\r\n let strControlName: string = \"\"\r\n\r\n try {\r\n\r\n Object.keys(ctlControl.parent.controls).forEach((name) => {\r\n\r\n if (ctlControl === ctlControl.parent.controls[name]) {\r\n\r\n strControlName = name;\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return strControlName;\r\n\r\n }\r\n\r\n utf8ArrayToString(aBytes) {\r\n var sView = \"\";\r\n\r\n for (var nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nPart = aBytes[nIdx];\r\n\r\n sView += String.fromCharCode(\r\n nPart > 251 && nPart < 254 && nIdx + 5 < nLen ? /* six bytes */\r\n /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */\r\n (nPart - 252) * 1073741824 + (aBytes[++nIdx] - 128 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 247 && nPart < 252 && nIdx + 4 < nLen ? /* five bytes */\r\n (nPart - 248 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 239 && nPart < 248 && nIdx + 3 < nLen ? /* four bytes */\r\n (nPart - 240 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 223 && nPart < 240 && nIdx + 2 < nLen ? /* three bytes */\r\n (nPart - 224 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 191 && nPart < 224 && nIdx + 1 < nLen ? /* two bytes */\r\n (nPart - 192 << 6) + aBytes[++nIdx] - 128\r\n : /* nPart < 127 ? */ /* one byte */\r\n nPart\r\n );\r\n }\r\n\r\n return sView;\r\n\r\n }\r\n\r\n CreateHttpPostRequest(strAPIToCall: string, objData: any, bolSkipLoading: boolean = false, bolClearMessages: boolean = true): Observable {\r\n\r\n try {\r\n\r\n let hdrHeader: HttpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'X-Token': this.mstrAuthToken\r\n });\r\n\r\n // Clear out any messages\r\n // TODO: Do we want to do this? I like having it clear automatically, but we may want more control\r\n // See note above on why this is a setTimeout()\r\n if (bolClearMessages) {\r\n\r\n setTimeout(() => {\r\n\r\n this.MessagesCleared.next();\r\n\r\n });\r\n\r\n }\r\n\r\n if (!bolSkipLoading) {\r\n\r\n //this.mbolLoading = true;\r\n this.SetLoading(true);\r\n\r\n }\r\n\r\n // Create the post request\r\n let obvObserve = this.http.post(this.mstrBaseAPIUrl + strAPIToCall, objData, { responseType: 'arraybuffer', headers: hdrHeader, withCredentials: true, observe: 'response' })\r\n .pipe(\r\n map((httpResponse: HttpResponse) => {\r\n let strFilename: string;\r\n let objBlob: any;\r\n let intRandom: number;\r\n\r\n if (httpResponse.headers.get(\"content-type\").indexOf(\"application/json\") >= 0) {\r\n\r\n // This is a normal JSON object, treat it normally.\r\n let apiResponse: ApiResponse = JSON.parse(this.utf8ArrayToString(new Uint8Array(httpResponse.body)));\r\n\r\n // Check and save any messages\r\n if (apiResponse.Messages.length != 0 && apiResponse.Messages[0].PublicDescription != \"No Results\") {\r\n\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next(apiResponse.Messages);\r\n\r\n });\r\n\r\n }\r\n\r\n // Save your Auth Token\r\n if (apiResponse.Token !== '') {\r\n\r\n // Server sent back a token, save it in shared.\r\n this.mstrAuthToken = apiResponse.Token;\r\n\r\n }\r\n\r\n if (this.ExtractDataFromPayload(apiResponse, \"LoadReportViewer\")) {\r\n\r\n intRandom = Math.random() * 1000000;\r\n\r\n window.open(\"/#/reporting/ReportViewer?Ref=\" + intRandom.toString(), \"Report\", \"scrollbars=1,menubar=0,status=0,titlebar=0,toolbar=0\");\r\n\r\n localStorage.setItem(\"ReportData\", this.ExtractDataFromPayload(apiResponse, \"ReportData\").toString());\r\n localStorage.setItem(\"ReportRawXML\", this.ExtractDataFromPayload(apiResponse, \"ReportRawXML\").toString());\r\n localStorage.setItem(\"ExcelXSLTFile\", this.ExtractDataFromPayload(apiResponse, \"ExcelXSLTFile\").toString());\r\n localStorage.setItem(\"PDFXSLTFile\", this.ExtractDataFromPayload(apiResponse, \"PDFXSLTFile\").toString());\r\n localStorage.setItem(\"ReportFileName\", this.ExtractDataFromPayload(apiResponse, \"ReportFileName\").toString());\r\n localStorage.setItem(\"LogoPath\", this.ExtractDataFromPayload(apiResponse, \"LogoPath\").toString());\r\n\r\n }\r\n\r\n //this.mbolLoading = false;\r\n this.SetLoading(false);\r\n\r\n return apiResponse;\r\n\r\n } else {\r\n\r\n // This is a blob type\r\n objBlob = new Blob([httpResponse.body], { type: httpResponse.headers.get(\"content-type\") });\r\n\r\n if (httpResponse.headers.get(\"Content-Disposition\").indexOf(\"filename=\") >= 0) {\r\n\r\n strFilename = httpResponse.headers.get(\"Content-Disposition\").substr(httpResponse.headers.get(\"Content-Disposition\").indexOf(\"filename=\") + 9);\r\n\r\n } else {\r\n\r\n strFilename = \"NoFile\";\r\n\r\n }\r\n\r\n // this.mbolLoading = false;\r\n if (!bolSkipLoading) {\r\n\r\n this.SetLoading(false);\r\n\r\n }\r\n\r\n //TODO: Get this working again\r\n saveAs(objBlob, strFilename);\r\n\r\n }\r\n\r\n }),\r\n catchError(this.HandleHTTPError)\r\n )\r\n\r\n return obvObserve;\r\n\r\n }\r\n catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n }\r\n\r\n CreateHttpGetRequest(strAPIToCall: string): Observable {\r\n\r\n try {\r\n\r\n let hdrHeader: HttpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'X-Token': this.mstrAuthToken\r\n });\r\n\r\n // Clear out any messages\r\n // TODO: Do we want to do this? I like having it clear automatically, but we may want more control\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesCleared.next();\r\n\r\n });\r\n\r\n // Create the post request\r\n return this.http.get(this.mstrBaseAPIUrl + strAPIToCall, { headers: hdrHeader, withCredentials: true, observe: 'response' })\r\n .pipe(\r\n map((httpResponse: HttpResponse) => {\r\n let apiResponse: ApiResponse = httpResponse.body;\r\n\r\n // Check and save any messages\r\n if (apiResponse.Messages.length != 0) {\r\n\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next(apiResponse.Messages);\r\n\r\n });\r\n\r\n }\r\n\r\n // Save your Auth Token\r\n if (apiResponse.Token !== '') {\r\n\r\n // Server sent back a token, save it in shared.\r\n this.mstrAuthToken = apiResponse.Token;\r\n\r\n }\r\n\r\n return apiResponse;\r\n }),\r\n catchError(this.HandleHTTPError)\r\n );\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n CreateHttpPutRequest(strAPIToCall: string, objData: any): Observable {\r\n\r\n try {\r\n\r\n let hdrHeader: HttpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'X-Token': this.mstrAuthToken\r\n });\r\n\r\n // Clear out any messages\r\n // TODO: Do we want to do this? I like having it clear automatically, but we may want more control\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesCleared.next();\r\n\r\n });\r\n\r\n // Create the post request\r\n return this.http.put(this.mstrBaseAPIUrl + strAPIToCall, objData, { headers: hdrHeader, withCredentials: true, observe: 'response' })\r\n .pipe(\r\n map((httpResponse: HttpResponse) => {\r\n let apiResponse: ApiResponse = httpResponse.body;\r\n\r\n // Check and save any messages\r\n if (apiResponse.Messages.length != 0) {\r\n\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next(apiResponse.Messages);\r\n\r\n });\r\n\r\n }\r\n\r\n // Save your Auth Token\r\n if (apiResponse.Token !== '') {\r\n\r\n // Server sent back a token, save it in shared.\r\n this.mstrAuthToken = apiResponse.Token;\r\n\r\n }\r\n\r\n return apiResponse;\r\n }),\r\n catchError(this.HandleHTTPError)\r\n );\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n CreateHttpDeleteRequest(strAPIToCall: string): Observable {\r\n\r\n try {\r\n\r\n let hdrHeader: HttpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'X-Token': this.mstrAuthToken\r\n });\r\n\r\n // Clear out any messages\r\n // TODO: Do we want to do this? I like having it clear automatically, but we may want more control\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesCleared.next();\r\n\r\n });\r\n\r\n // Create the post request\r\n return this.http.delete(this.mstrBaseAPIUrl + strAPIToCall, { headers: hdrHeader, withCredentials: true, observe: 'response' })\r\n .pipe(\r\n map((httpResponse: HttpResponse) => {\r\n let apiResponse: ApiResponse = httpResponse.body;\r\n\r\n // Check and save any messages\r\n if (apiResponse.Messages.length != 0) {\r\n\r\n // See note above on why this is a setTimeout()\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next(apiResponse.Messages);\r\n\r\n });\r\n\r\n }\r\n\r\n // Save your Auth Token\r\n if (apiResponse.Token !== '') {\r\n\r\n // Server sent back a token, save it in shared.\r\n this.mstrAuthToken = apiResponse.Token;\r\n\r\n }\r\n\r\n return apiResponse;\r\n\r\n }),\r\n catchError(this.HandleHTTPError)\r\n );\r\n }\r\n\r\n catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n HandleHTTPError = (errError: any) => {\r\n\r\n let apiResponse: ApiResponse;\r\n\r\n try {\r\n\r\n if (errError.status === 401\r\n || errError.status === 403) {\r\n\r\n if (document.documentURI.toString().indexOf(\"/PaymentPortal\") > 0) {\r\n\r\n this.mstrAuthToken = '';\r\n this.rtRouter.navigate(['/PaymentPortal/']);\r\n\r\n } else {\r\n\r\n // Their token is no longer valid, clear it out (if it exists) and redirect\r\n this.mstrAuthToken = '';\r\n this.rtRouter.navigate(['/']);\r\n\r\n }\r\n\r\n }\r\n\r\n if (errError.headers.get(\"content-type\") !== null\r\n && errError.headers.get(\"content-type\").indexOf(\"application/json\") >= 0) {\r\n\r\n //Grab the response from the server. \r\n //apiResponse = errError.json();\r\n apiResponse = JSON.parse(this.utf8ArrayToString(new Uint8Array(errError.error)));\r\n\r\n // Check and save any messages\r\n if (apiResponse.Messages.length != 0 && apiResponse.Messages[0].PublicDescription != \"No Results\") {\r\n\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next(apiResponse.Messages);\r\n\r\n });\r\n\r\n }\r\n\r\n } else {\r\n\r\n if (errError.headers.get(\"content-type\") == null) {\r\n\r\n // Still want to log this as a general http error\r\n this.LogClientError(errError.status.toString() + \" - \" + errError.statusText);\r\n\r\n }\r\n\r\n }\r\n\r\n // this.mbolLoading = false;\r\n this.SetLoading(false);\r\n\r\n console.log('Internal! ==> ' + errError.status);\r\n\r\n if (errError['_body'] != undefined) {\r\n\r\n let errMsg = JSON.parse(errError['_body']);\r\n\r\n if (errMsg && errMsg.Messages) {\r\n this.showErrorMessages(errMsg.Messages)\r\n }\r\n\r\n } \r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n } finally {\r\n\r\n return observableThrowError(errError);\r\n\r\n }\r\n\r\n }\r\n\r\n LogClientError(objError: any) {\r\n\r\n let msgMessage: ABCMessage;\r\n\r\n try {\r\n\r\n console.log(objError);\r\n\r\n //TODO: Log this error to the database\r\n //Call messaging service, pass in exception object\r\n //this.LogFrontendExceptionToDatabase(objError)\r\n // .subscribe(\r\n\r\n // (rspResponse: ApiResponse) => {\r\n\r\n // if (rspResponse.Succeeded) {\r\n\r\n // // For now, just add a generic critical message\r\n // msgMessage = new ABCMessage(1, 'Uncaptured Client: ' + objError, 1, '1001');\r\n\r\n // this.AddMessage(msgMessage);\r\n\r\n // }\r\n\r\n // });\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n // Not really anything you can do here? \r\n\r\n }\r\n\r\n }\r\n\r\n GetRegExPatternByName(strRegExName: string) {\r\n\r\n let objRegEx: any = null;\r\n let strRegExPattern: string = \"\";\r\n\r\n try {\r\n\r\n objRegEx = this.marValidationRegEx.find(itmRegEx => itmRegEx.key == strRegExName)\r\n\r\n if (objRegEx != null) {\r\n\r\n strRegExPattern = objRegEx.expectedPattern;\r\n\r\n }\r\n\r\n return strRegExPattern;\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetRegExNameByPattern(strRegExPattern: string) {\r\n\r\n let objRegEx: any = null;\r\n let strRegExName: string = \"\";\r\n\r\n try {\r\n\r\n objRegEx = this.marValidationRegEx.find(itmRegEx => itmRegEx.expectedPattern == strRegExPattern)\r\n\r\n if (objRegEx != null) {\r\n\r\n strRegExName = objRegEx.key;\r\n\r\n }\r\n\r\n return strRegExName;\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetErrorMessage(strErrorKey: string, strExpectedPattern: string) {\r\n\r\n let strRegExPatternName: string = \"\";\r\n\r\n try {\r\n\r\n strRegExPatternName = this.GetRegExNameByPattern(strExpectedPattern);\r\n\r\n return this.marValidationErrors.find(itmValidation => itmValidation.key == strErrorKey\r\n && itmValidation.regExName == strRegExPatternName).value;\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ExtractDataFromPayload(apiResponse: ApiResponse, strDataTable: string): any[] {\r\n\r\n let arResults: any[];\r\n let objPayload: any;\r\n\r\n\r\n try {\r\n\r\n if (apiResponse.Payload !== null) {\r\n\r\n objPayload = apiResponse.Payload.find(x => x.ItemName == strDataTable);\r\n\r\n if (objPayload != undefined) {\r\n\r\n arResults = objPayload.Data;\r\n\r\n }\r\n\r\n }\r\n\r\n return arResults;\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ExtractDropdownFromPayload(rspResponse: ApiResponse, strDataTable: string): any[] {\r\n\r\n let arResults: any[];\r\n\r\n try {\r\n\r\n //TODO: I feel like this is something that should be handled in the core.\r\n\r\n // Pull it from the payload\r\n arResults = this.ExtractDataFromPayload(rspResponse, strDataTable);\r\n\r\n // Check if a zero record exists\r\n if (arResults.find(itmRecord => itmRecord.Ident == 0) == null) {\r\n\r\n // Nope, add it\r\n arResults.push({ Ident: 0, Name1: \"(Please Select)\", FormattedName1: \"(Please Select)\", Abbreviation: \"\" });\r\n\r\n }\r\n\r\n // Sort by Name1\r\n arResults.sort((a, b) => a.Name1 > b.Name1 ? 1 : -1);\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return arResults;\r\n\r\n }\r\n\r\n CheckUserInPermission(intABCPermissionIdent): boolean {\r\n\r\n let bolPassed: boolean = false;\r\n let arPermissions: any[] = [];\r\n let itmPermission: any;\r\n\r\n try {\r\n\r\n arPermissions = JSON.parse(this.marUserPermissions);\r\n\r\n itmPermission = arPermissions.find(x => x.Ident == intABCPermissionIdent);\r\n\r\n if (itmPermission != undefined) {\r\n\r\n bolPassed = true;\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return bolPassed;\r\n }\r\n\r\n\r\n ExtractValueFromPayload(rspResponse: ApiResponse, strVariableName: string): any {\r\n\r\n let objResults: any;\r\n let valResult: any = undefined;\r\n\r\n try {\r\n\r\n objResults = rspResponse.Payload.find(x => x.ItemName == strVariableName);\r\n\r\n if (objResults !== undefined) {\r\n\r\n valResult = objResults.Data;\r\n\r\n }\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return valResult;\r\n\r\n }\r\n\r\n GetABCMessageSeverityPriority(intABCMessageSeverityIdent: number): number {\r\n\r\n let intPriority: number;\r\n\r\n try {\r\n\r\n switch (intABCMessageSeverityIdent) {\r\n\r\n case modSharedService.enmABCMessageSeverity.Severe: {\r\n\r\n intPriority = 7;\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.SaveFailedMessages: {\r\n\r\n intPriority = 6;\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.FailedValidation: {\r\n\r\n intPriority = 5;\r\n break;\r\n\r\n }\r\n\r\n\r\n case modSharedService.enmABCMessageSeverity.Moderate: {\r\n\r\n intPriority = 4;\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.Low: {\r\n\r\n intPriority = 3;\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.Information: {\r\n\r\n intPriority = 2;\r\n break;\r\n\r\n }\r\n\r\n case modSharedService.enmABCMessageSeverity.SaveSuccess: {\r\n\r\n intPriority = 1;\r\n break;\r\n\r\n }\r\n\r\n default: {\r\n\r\n intPriority = 0;\r\n\r\n }\r\n\r\n }\r\n\r\n return intPriority;\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n public AddMessage(msgMessage: ABCMessage) {\r\n\r\n let elMessages: HTMLElement; \r\n\r\n try {\r\n\r\n setTimeout(() => {\r\n\r\n this.MessagesAdded.next([msgMessage]);\r\n\r\n });\r\n\r\n setTimeout(() => {\r\n\r\n elMessages = document.getElementById(\"spnMessageDispay\");\r\n\r\n if (elMessages != null) {\r\n\r\n elMessages.scrollIntoView();\r\n\r\n } else {\r\n\r\n console.log(\"Null Message Control!\");\r\n\r\n }\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ConvertColumnName(strColumnName: string): string {\r\n\r\n let strResult: string = \"\";\r\n\r\n try {\r\n\r\n // Convert camel case to Sentance Case\r\n strResult = strColumnName.replace(/([A-Z])/g, \" $1\");\r\n\r\n // Remove out numbers (Name1, etc)\r\n strResult = strResult.replace(/([0-9])/g, \"\");\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult;\r\n\r\n }\r\n\r\n showErrorMessages(messages: any[]) {\r\n\r\n try {\r\n\r\n this.MessagesCleared.next();\r\n\r\n messages.forEach(x => {\r\n this.AddMessage(x);\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ValidateForm(frmForm: UntypedFormGroup, dataColumns, bolClearMessages: boolean = true) {\r\n\r\n let ctlControl: UntypedFormControl;\r\n let strControlLabel: string = \"\";\r\n let strExpectedPattern: string = \"\";\r\n let strCurrentControl: string = \"\";\r\n\r\n try {\r\n\r\n // Because things are happening multi-threaded you could be changing the .Selected value (which drives the checkmark) before the screen has a chance\r\n // to update. This causes angular to raise a \"hey, you might be breaking something\" error and stops the update. The SetTimeout forces this to happen on\r\n // the next available update. It's not pretty but it's necessary and should only be used in VERY extreme cases.\r\n if (bolClearMessages) {\r\n\r\n setTimeout(() => {\r\n\r\n this.MessagesCleared.next();\r\n\r\n });\r\n\r\n }\r\n\r\n let messageLabel = '';\r\n\r\n Object.keys(frmForm.controls).forEach(kyKey => {\r\n\r\n ctlControl = (frmForm.get(kyKey));\r\n\r\n if (ctlControl.enabled && !ctlControl.valid) {\r\n\r\n // Need to assign this to a variable because you lose scope when you go into your second\r\n // nested anonymous function.\r\n strCurrentControl = kyKey;\r\n\r\n Object.entries(ctlControl.errors).forEach(([strKey, objVal]) => {\r\n\r\n if (document.getElementsByName(\"lbl\" + strCurrentControl).length !== 0) {\r\n\r\n strControlLabel = document.getElementsByName(\"lbl\" + strCurrentControl)[0].innerText;\r\n\r\n // Style the label\r\n document.getElementsByName(\"lbl\" + strCurrentControl)[0].parentElement.classList.add(\"error\");\r\n document.getElementsByName(\"lbl\" + strCurrentControl)[0].classList.add(\"error\");\r\n\r\n } else {\r\n\r\n if (dataColumns && dataColumns.length) {\r\n\r\n let control = dataColumns.filter(x => x.key == kyKey);\r\n\r\n if (control && control.length) {\r\n\r\n strControlLabel = control[0].label;\r\n\r\n } else {\r\n\r\n strControlLabel = kyKey;\r\n\r\n }\r\n\r\n } else {\r\n\r\n strControlLabel = kyKey;\r\n\r\n }\r\n\r\n }\r\n\r\n if (objVal.requiredPattern != null) {\r\n\r\n strExpectedPattern = objVal.requiredPattern;\r\n\r\n } else {\r\n\r\n strExpectedPattern = \"\";\r\n\r\n }\r\n\r\n this.AddMessage(new ABCMessage(0, strControlLabel + ': ' + this.GetErrorMessage(strKey, strExpectedPattern), 1, ''));\r\n\r\n });\r\n\r\n } else {\r\n\r\n strCurrentControl = kyKey;\r\n\r\n if (document.getElementsByName(\"lbl\" + strCurrentControl).length !== 0) {\r\n\r\n document.getElementsByName(\"lbl\" + strCurrentControl)[0].classList.remove(\"error\");\r\n document.getElementsByName(\"lbl\" + strCurrentControl)[0].parentElement.classList.remove(\"error\");\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n return frmForm.valid;\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n } // ValidateForm\r\n\r\n UpdateDictionaryValue(slParameters: ABCDictionary[], strKey: string, objValue: any) {\r\n\r\n let adItem: ABCDictionary;\r\n\r\n try {\r\n\r\n adItem = slParameters.find(x => x.Key == strKey);\r\n\r\n if (adItem !== null) {\r\n\r\n // Found the item, update the value\r\n adItem.Value = objValue;\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetDictionaryValue(slParameters: ABCDictionary[], strKey: string): any {\r\n\r\n let adItem: ABCDictionary;\r\n\r\n try {\r\n\r\n adItem = slParameters.find(x => x.Key == strKey);\r\n\r\n if (adItem !== null) {\r\n\r\n // Found the item, update the value\r\n return adItem.Value;\r\n\r\n } else {\r\n\r\n return null;\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ConvertDateStringToTime(datDate: Date): string {\r\n\r\n let strResult: string = \"\";\r\n let intHours: number = 0;\r\n\r\n try {\r\n\r\n intHours = datDate.getHours();\r\n\r\n if (intHours > 12) {\r\n\r\n strResult = (intHours - 12).toString() + \":\" + datDate.getMinutes().toString().padStart(2, \"0\") + \" PM\";\r\n\r\n } else {\r\n\r\n strResult = intHours.toString() + \":\" + datDate.getMinutes().toString().padStart(2, \"0\") + \" AM\";\r\n\r\n }\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n return strResult;\r\n\r\n }\r\n\r\n GetMessageByNumber(strNumber: string, arReplacements: ABCDictionary[]) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.CreateHttpPostRequest('/Messaging/GetMessageByNumber', {\r\n MessageNumber: strNumber,\r\n ReplacementText: arReplacements\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n LogFrontendExceptionToDatabase(ObjError: any) {\r\n\r\n try {\r\n\r\n //let Info: Array\r\n let arErrorInfo: string[];\r\n\r\n arErrorInfo = [ObjError.message.toString(), ObjError.stack.toString()]\r\n\r\n //Defaulting this to \"\" lets it through to the API, possible json issue?\r\n //strError = \"Testing\";\r\n\r\n return this.CreateHttpPostRequest('/Messaging/LogFrontendException', {\r\n ErrorInfo: arErrorInfo\r\n });\r\n\r\n } catch (ex) {\r\n\r\n // I don't think there's anything we can do here, I think this causes infinite loops.\r\n //this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n SetEscalations(arEscalation: any[]) {\r\n\r\n try {\r\n\r\n this.marEscalations = JSON.stringify(arEscalation);\r\n this.EscalationsSet.next();\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n \r\n } \r\n\r\n SetModalDraggable() {\r\n\r\n try {\r\n\r\n $(document).ready(function () {\r\n\r\n let modalContent: any = $('.modal-content');\r\n let modalHeader = $('.modal-header');\r\n\r\n modalHeader.addClass('cursor-all-scroll');\r\n\r\n modalContent.draggable({\r\n handle: '.modal-header'\r\n });\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n } \r\n SearchAccounts(intEscalationCustomerResponse: number) {\r\n\r\n try {\r\n\r\n this.SearchAccount.next(intEscalationCustomerResponse);\r\n\r\n } catch (ex) {\r\n\r\n this.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\nexport namespace modSharedService {\r\n\r\n export const gstrMinDate: string = \"1900-01-01T00:00:00\";\r\n export const gstrMaxDate: string = \"2079-06-06T00:00:00\";\r\n export const gintMinBucketStartDay = -9999;\r\n export const gintMaxBucketStartDay = 9999;\r\n export const gstrClaimSubmissionEmailAddress = \"webclaims@abc-amega.com\";\r\n\r\n export enum enmDisbursementType {\r\n Cash = 2,\r\n ACH = 3,\r\n Wire = 4,\r\n Net = 5\r\n }\r\n\r\n export enum enmStagingInvoiceStatus {\r\n Active = 1,\r\n Cancelled = 2\r\n }\r\n\r\n export enum enmPaymentStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n Cancelled = 3,\r\n Confirmed = 4\r\n }\r\n\r\n export enum enmPaymentPlanScheduleType {\r\n\r\n Weekly = 1,\r\n BiWeekly = 2,\r\n Monthly = 3,\r\n Quarterly = 4\r\n\r\n }\r\n\r\n export enum enmPaymentPlanType {\r\n\r\n FullPayment = 1,\r\n SettlementPlan = 2\r\n\r\n }\r\n\r\n export enum enmPaymentSource {\r\n\r\n Attorney = 1,\r\n Client = 2,\r\n Debtor = 3\r\n\r\n }\r\n\r\n export enum enmInvoiceStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n Confirmed = 3,\r\n Hold = 4,\r\n Cancelled = 5,\r\n }\r\n\r\n export enum enmStagingDisbursementStatus {\r\n Active = 1,\r\n Hold = 2,\r\n ManualHold = 3,\r\n Posted = 4,\r\n Confirmed = 5,\r\n Cancelled = 6,\r\n Net = 7\r\n }\r\n\r\n export enum enmStagingManualEntryBatchStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n Cancelled = 3\r\n }\r\n\r\n export enum enmStagingInvoicePaymentStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n Confirmed = 3\r\n }\r\n\r\n export enum enmStagingManualEntryStatus {\r\n Active = 1,\r\n Hold = 2,\r\n ManualHold = 3,\r\n Posted = 4,\r\n Confirmed = 5,\r\n Cancelled = 6\r\n }\r\n\r\n // Enumerations\r\n export enum enmABCMessageSeverity {\r\n Severe = 1,\r\n Moderate = 2,\r\n Low = 3,\r\n Information = 4,\r\n SaveFailedMessages = 5,\r\n SaveSuccess = 6,\r\n FailedValidation = 9\r\n }\r\n\r\n export enum enmCollectionType {\r\n\r\n OnAccount = 2,\r\n PaidInFull = 3,\r\n MerchandiseReturn = 4,\r\n FindersFee = 5,\r\n SettledinFull = 6\r\n\r\n }\r\n\r\n export enum enmStagingDisbursementBatchStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n Cancelled = 3\r\n }\r\n\r\n export enum enmCountry {\r\n\r\n PleaseSelect = 0,\r\n USA = 1,\r\n Canada = 2,\r\n Unknown = 7,\r\n PuertoRico = 201\r\n\r\n }\r\n\r\n export enum enmClientReceivable {\r\n\r\n USD = 12,\r\n CAD = 13\r\n\r\n }\r\n\r\n export enum enmCurrencyType {\r\n\r\n USDollars = 15,\r\n CanadianDollars = 1\r\n\r\n }\r\n\r\n export enum enmCashAccounts {\r\n\r\n RegularTrustAccountingUSD = 1,\r\n CanadaCanadianDollar = 2,\r\n CanadaUSDollar = 3,\r\n NorthCarolina = 4,\r\n Washington = 5,\r\n Yen = 6,\r\n PoundsSterling = 7,\r\n Euro = 8,\r\n OperatingCash = 47,\r\n ShanghaiCash = 48\r\n\r\n }\r\n\r\n export enum enmAccountingForwardingStatus {\r\n InProgress = 1,\r\n Completed = 2,\r\n RemovedUncollectable = 3,\r\n RemovedError = 4\r\n }\r\n\r\n export enum enmAccountingEntryTypeSource {\r\n Attorney = 1,\r\n Vendor = 2\r\n }\r\n\r\n export enum enmBookAccount {\r\n RegCash = 1,\r\n NorthCarolina = 4,\r\n Washington = 5,\r\n PennsylvaniaSalesTas = 9,\r\n TexasSalesTax = 10,\r\n CanadianCash = 2\r\n }\r\n\r\n export enum enmBookAccountType {\r\n Cash = 1,\r\n SalesTax = 2,\r\n DueClient = 3,\r\n ClientReceivable = 4,\r\n AdvanceCosts = 5,\r\n AdvanceSuitFees = 6,\r\n AttorneyReserve = 7,\r\n AttorneyCosts = 8,\r\n AttorneySuitFee = 9,\r\n AttorneyHandlingFee = 10,\r\n Costs = 11,\r\n CommissionsPersonal = 12,\r\n CommissionsAttorney = 13,\r\n AttorneyFeeCharges = 14,\r\n BankChargesInHouse = 15,\r\n SHAccountIncomeCosts = 16,\r\n BankChagesAttorney = 17,\r\n MiscNotUsed = 18\r\n }\r\n\r\n export enum enmStagingInvoiceBatchStatus {\r\n Unposted = 1,\r\n Posted = 2,\r\n }\r\n\r\n export enum enmStagingInvoicePaymentBatchType {\r\n Attorney = 1,\r\n Client = 2,\r\n }\r\n\r\n export enum enmStoredProcedureType {\r\n\r\n Multiple = 1,\r\n Single = 2,\r\n ControlLoad = 3,\r\n ControlSearch = 4\r\n\r\n }\r\n\r\n export enum enmDisbursementBatchRemittanceStatus {\r\n\r\n Posted = 1,\r\n Printed = 2,\r\n Voided = 3\r\n\r\n }\r\n\r\n export enum enmLockableResource {\r\n Account = 1,\r\n Correspondence = 2,\r\n Client = 3,\r\n ABCUser = 4,\r\n Queue = 5,\r\n ClientTruee = 6,\r\n ClientRate = 7,\r\n StagingDisbursementBatch = 8,\r\n DisbursementBatch = 9,\r\n CheckControl = 10,\r\n StagingDisbursement = 11,\r\n StagingInvoiceBatch = 12,\r\n InvoiceBatch = 13,\r\n StagingInvoice = 14,\r\n StagingPaymentBatch = 15,\r\n PaymentBatch = 16,\r\n StagingManualEntryBatch = 17,\r\n StagingInvoicePaymentBatch = 18,\r\n LawList = 19,\r\n UDF = 20,\r\n Attorney = 21,\r\n AttorneyRate = 22,\r\n Escalation = 23,\r\n Import = 24\r\n }\r\n\r\n export enum enmQueueType {\r\n Escalation = 1,\r\n Correspondence = 2,\r\n Account = 3\r\n }\r\n\r\n export enum enmQueueRuleType {\r\n Build = 1,\r\n Filter = 2,\r\n Assignment = 3\r\n }\r\n\r\n export enum enmInvoiceType {\r\n\r\n Single = 1,\r\n Summary = 2\r\n\r\n }\r\n\r\n export enum enmClientInvoicingType {\r\n\r\n Single = 2,\r\n Summary = 3\r\n\r\n }\r\n\r\n export enum enmClientInvoiceScheduleType {\r\n\r\n Monthly = 2,\r\n BiMonthly = 3,\r\n Weekly = 4,\r\n EndOfMonth = 5\r\n\r\n }\r\n\r\n export enum enmABCPermission {\r\n\r\n ManageUsersAdd = 10001,\r\n ManageUsersEdit = 10002,\r\n ManageUsersView = 10003,\r\n ManageClientsAddRoot = 10004,\r\n ManageClientsAddSub = 10005,\r\n ManageClientsEdit = 10006,\r\n ManageClientsView = 10007,\r\n ManageReportsAdmin = 10008,\r\n ManageAccountsEmailAttachments = 10009,\r\n AccountsAdd = 10010,\r\n AccountsEdit = 10011,\r\n AccountsView = 10012,\r\n AccountsEditStatus = 10013,\r\n AccountsEditStructure = 10014,\r\n AccountsEditQueues = 10015,\r\n AccountsSendEmail = 10016,\r\n AccountsManageAccount = 10017,\r\n AccountsEditUDF = 10018,\r\n AccountsEditDocument = 10019,\r\n AccountsEditEscalation = 10020,\r\n AccountsReopenDoc = 10021,\r\n ManageQueues = 10022,\r\n ForceLogout = 10023,\r\n ManageMaintenanceView = 10024,\r\n ManageMaintenanceEdit = 10025,\r\n ManageDunning = 10026,\r\n ManageImport = 10027,\r\n ManageUDFView = 10029,\r\n ManageUDFEdit = 10030,\r\n CorrespondenceWork = 10031,\r\n CorrespondenceView = 10032,\r\n ManageLawListView = 10033,\r\n ManageLawListEdit = 10034,\r\n ManageStationsView = 10035,\r\n ManageStationsEdit = 10036,\r\n ManageAttorneyView = 10037,\r\n ManageAttorneyEdit = 10038,\r\n ManageAttorneyGlobalRates = 10039,\r\n AccountsEditClaim = 10040,\r\n ManageClientsEditBankInfo = 10041,\r\n AccountingMovePayment = 10044,\r\n AccountingBackoutPayment = 10045,\r\n ClaimEditClaimStatus = 10046,\r\n AccountingDisbursementSearch = 10047,\r\n AccountingInvoicePayments = 10048,\r\n AccountingPostedDisbursementBatches = 10049,\r\n AccountingPostedInvoices = 10050,\r\n AccountingPostedPaymentBatches = 10051,\r\n AccountingUnpostedDisbursementBatches = 10052,\r\n AccountingUnpostedInvoices = 10053,\r\n AccountingUnpostedManualBatches = 10054,\r\n AccountingUnpostedPaymentBatches = 10055,\r\n AttorneyViewAttorneyInformation = 10056,\r\n AttorneyAddEditAttorney = 10057,\r\n ManageClientsAddEditGlobalRates = 10058,\r\n ClaimForwardClaim = 10059,\r\n ClaimForwardCosts = 10060,\r\n ClaimPayAVendor = 10061,\r\n ClaimApplyPayDirects = 10062,\r\n ClaimApplyPayments = 10063,\r\n AccountsAddClaim = 10064,\r\n ClaimAdjustBalance = 10065,\r\n ManageReports = 10066,\r\n ManageVendorsEdit = 10067,\r\n ManageVendorsView = 10068,\r\n ManageAccounting = 10069,\r\n ManageQueuesEdit = 10070,\r\n ClaimsEditExpenses = 10071,\r\n ClaimsEditRates = 10072,\r\n ClaimsForwardClaimByEmail = 10073,\r\n AccountsUpdateCustomerResponses = 10074,\r\n ClaimWorkClaim = 10075,\r\n AccountsAddNewAccount = 10076,\r\n ClaimRemoveForwarding = 10077,\r\n UnpostedPaymentBatchesViewOnly = 10079,\r\n DebtorEditDebtorNumber = 10080,\r\n ClaimEditStation = 10081,\r\n ClaimEditProceedDate = 10082,\r\n AccountsWorkStructuredAccounts = 10083,\r\n ManageAutomatedReports = 10084,\r\n ManualPaymentPortalPayment = 10085,\r\n ForwardBeyondThreshold = 10086,\r\n ClientEditSalesRepFields = 10087,\r\n ClaimSubmissionFromPortal = 10088,\r\n ClickABCStaffAccess = 10043,\r\n ClickABCClientAccess = 10042\r\n }\r\n\r\n export enum enmClaimStatus {\r\n Starting = 0,\r\n Open = 1,\r\n Closed = 2,\r\n AttorneyAmicable = 3,\r\n AttorneySuit = 4,\r\n Judgement = 5,\r\n FFD = 6\r\n }\r\n\r\n export enum enmQueuePred {\r\n\r\n None = 0,\r\n Account_Build_AgeOfInvoice = 1,\r\n Account_Build_AccountBalance = 2,\r\n Account_Build_Client = 3,\r\n Account_Build_DueDate = 4,\r\n Account_Build_State = 5,\r\n Account_Build_Country = 6,\r\n Account_Build_AccountName = 16,\r\n Account_Build_PlaceDate = 17,\r\n Account_Build_BalanceinQueue = 18,\r\n Account_Build_AccountNameContains = 19,\r\n Account_Build_DocumentTerms = 20,\r\n Account_Build_ClientCountry = 29,\r\n Account_Build_OriginalPlacementAmount = 30,\r\n Account_Build_AgeAtPlacement = 32,\r\n Correspondence_Build_AccountQueue = 7,\r\n Correspondence_Build_CorrespondenceMedium = 10,\r\n Correspondence_Build_Client = 33,\r\n Escalation_Build_AccountQueue = 8,\r\n Escalation_Build_Response = 9,\r\n Account_Filter_FollowupDate = 11,\r\n Account_Filter_DueDate = 12,\r\n Account_Filter_BusinessHours = 13,\r\n Account_Filter_AccountBalance = 14,\r\n Account_Filter_ReommendRoll = 15,\r\n Account_Filter_AgeofInvoice = 21,\r\n Account_Filter_Escalation = 22,\r\n Account_Filter_PastDueBalance = 23,\r\n Account_Build_CreditRating = 24,\r\n Account_Assignment_ClaimType = 25,\r\n Account_Assignment_ClaimPlacementAmount = 26,\r\n Account_Assignment_AccountCountry = 27,\r\n Account_Assignment_ForeignAccounts = 28,\r\n Account_Assignment_Client = 31\r\n\r\n }\r\n\r\n export enum enmEquipmentFeeValueType {\r\n\r\n PercentageOfValue = 1,\r\n DollarAmount = 2,\r\n FlatPercentage = 3\r\n\r\n }\r\n\r\n export enum enmFindersFeeValueType {\r\n\r\n PercentageOfFee = 1,\r\n DollarAmount = 2,\r\n FlatPercentage = 3\r\n\r\n }\r\n\r\n export enum enmClientRateType {\r\n\r\n Amicable = 2,\r\n Suit = 3,\r\n InHouse = 4\r\n\r\n }\r\n\r\n export enum enmAttorneyRateType {\r\n\r\n Amicable = 1,\r\n Suit = 2\r\n\r\n }\r\n\r\n export enum enmAttorneyExperienceType {\r\n\r\n SpecialInstructions = 1,\r\n Experience = 2\r\n\r\n }\r\n\r\n export enum enmAttorneyForwardingRateType {\r\n\r\n Attorney = 1,\r\n SplitRate = 2,\r\n HourlyRate = 3\r\n\r\n }\r\n\r\n export enum enmAttorneyRateItemType {\r\n\r\n AgeAtPlacement = 1,\r\n DollarsCollected = 2\r\n\r\n }\r\n\r\n export enum enmClientRateItemType {\r\n\r\n AgeAtPlacement = 2,\r\n DollarsPlaced = 3,\r\n DollarsCollected = 4,\r\n ProceedToCollected = 5\r\n\r\n }\r\n\r\n export enum enmAttorneyRateValueType {\r\n\r\n Percentage = 1,\r\n DollarAmount = 2\r\n\r\n }\r\n\r\n export enum enmClientRateValueType {\r\n\r\n Percentage = 2,\r\n DollarAmount = 3\r\n\r\n }\r\n\r\n export enum enmRateCapType {\r\n\r\n HardCap = 1,\r\n PercentageOfPlacement = 2\r\n\r\n }\r\n\r\n export enum enmStagingInvoicePaymentBatchStatus {\r\n\r\n Unposted = 1,\r\n Posted = 2\r\n\r\n }\r\n\r\n export enum enmImportType {\r\n\r\n ClientAccountFeed = 1,\r\n ClientExtranetActivities = 2,\r\n ClientRollToCollections = 3,\r\n OCAReturnFromCollections = 4,\r\n RenumberAccounts = 5,\r\n AccountAssignment = 6,\r\n OpenAccountFeed = 7,\r\n CloseAccountFeed = 8,\r\n ClientAccountDeltaFeed = 9,\r\n ClientResponseFeed = 10,\r\n StationAssignment = 11,\r\n PayDirectImport = 12,\r\n ClientAccountActivity = 13\r\n\r\n } \r\n\r\n export enum enmReports {\r\n\r\n CustomSelection = 1,\r\n ClaimDetail = 2,\r\n DailyStatistics = 3,\r\n MonthlyPerformance = 4,\r\n ClientSummaryMonthly = 5,\r\n ClientSummaryPlacement = 6\r\n\r\n }\r\n\r\n export enum enmReportFormat {\r\n\r\n Screen = 1,\r\n Excel = 2,\r\n PDF = 3,\r\n PDF_Compressed = 4,\r\n Excel_Compressed = 5,\r\n Screen_Compressed = 6,\r\n WordDocument = 7\r\n\r\n }\r\n\r\n export enum enmAccountQueueType {\r\n\r\n Automatic = 1,\r\n Dunning = 2,\r\n Manual = 3\r\n\r\n }\r\n\r\n export enum enmDocumentStatus {\r\n Open = 1,\r\n Closed = 2\r\n }\r\n\r\n export enum enmAccountStatus {\r\n Active = 1,\r\n Closed = 2,\r\n OCAPlacement = 3,\r\n HoldInAbeyance = 4,\r\n Blocked = 5,\r\n ProjectClosed = 6\r\n }\r\n\r\n export enum enmAccountContactStatusType {\r\n Disabled = 1,\r\n Enabled = 2,\r\n PhoneDisc = 7\r\n }\r\n\r\n export enum enmAccountContactSourceType {\r\n Internal = 4,\r\n Client = 5\r\n }\r\n\r\n\r\n export enum enmDocumentType {\r\n Invoice = 1,\r\n CreditMemo = 2,\r\n DebitMemo = 3,\r\n Payment = 4,\r\n UnappliedCredit = 8,\r\n Contract = 9,\r\n NegativeABCAdj = 12,\r\n NegativeCurrencyAdj = 14\r\n }\r\n\r\n export enum enmCustomerResponseType {\r\n\r\n PaymentRelated = 1,\r\n Escalation = 2,\r\n Documentation = 3,\r\n InProgress = 4,\r\n Miscellaneous = 5,\r\n ABCManagementReview = 10,\r\n Judgement = 12\r\n\r\n }\r\n\r\n export enum enmUDFTableType {\r\n Account = 2,\r\n Document = 3,\r\n DocumentDetail = 4\r\n }\r\n\r\n export enum enmClaimSubmissionType {\r\n New = 1\r\n }\r\n\r\n export enum enmClaimSubmissionFormType {\r\n Domestic = 1,\r\n International = 2\r\n }\r\n\r\n export enum enmCustomerResponse {\r\n ToBeActivated = 277\r\n }\r\n\r\n export enum enmCurrencyType {\r\n USD = 15,\r\n CAD = 1\r\n }\r\n\r\n export enum enmEscalationStatus {\r\n Open = 1,\r\n Closed = 2\r\n }\r\n\r\n export enum enmImportStatus {\r\n\r\n InStaging = 5,\r\n TestsPassed = 6,\r\n TestsFailed = 7,\r\n CommittedToProduction = 8,\r\n OnHold = 9,\r\n Reject = 10,\r\n CommitFailed = 11,\r\n ReportFailed = 12,\r\n ReportSucceeded = 13,\r\n Scheduled = 14,\r\n Running = 15,\r\n RunPending = 16\r\n\r\n }\r\n\r\n export enum enmFollowUpSetting {\r\n\r\n Current = 1,\r\n Immediately = 2\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\n\r\n\r\n@Injectable()\r\nexport class RecordLockingService {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n UnlockRecord(intTableToUnlock: number, intRecordIdent: number) {\r\n \r\n try {\r\n\r\n // Unlock the individual record\r\n return this.modShared.CreateHttpPostRequest('/Locking/UnlockBatch', {\r\n\r\n RecordsToUnlock: intRecordIdent.toString(),\r\n TableToUnlock: intTableToUnlock\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n \r\n UnlockRecordBatch(intTableToUnlock: number, arItems: any[]) {\r\n\r\n let strRecords: string = \"\";\r\n\r\n try {\r\n\r\n for (let itmItem of arItems) {\r\n\r\n strRecords += itmItem.Ident.toString() + \",\";\r\n\r\n }\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Locking/UnlockBatch', {\r\n\r\n RecordsToUnlock: strRecords,\r\n TableToUnlock: intTableToUnlock\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n LockRecord(intTableToLock: number, intRecordIdent: number, bolClearMessages: boolean = true) {\r\n \r\n try {\r\n \r\n // Lock an individual record\r\n return this.modShared.CreateHttpPostRequest('/Locking/LockBatch', {\r\n\r\n RecordsToLock: intRecordIdent.toString(),\r\n TableToLock: intTableToLock\r\n\r\n }, false, bolClearMessages);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n \r\n LockRecordBatch(intTableToLock: number, arItems: any[]) {\r\n\r\n let strRecords: string = \"\"; \r\n\r\n try {\r\n\r\n for (let itmItem of arItems) {\r\n\r\n strRecords += itmItem.Ident.toString() + \",\";\r\n\r\n } \r\n \r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Locking/LockBatch', {\r\n\r\n RecordsToLock: strRecords,\r\n TableToLock: intTableToLock\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n \r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport { modSharedService } from \"./modShared.service\";\r\n\r\n@Injectable()\r\nexport class ReferenceTablesService {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n GetAllMaintenanceTableTypes() {\r\n\r\n try {\r\n \r\n return this.modShared.CreateHttpPostRequest('/ReferenceTables/GetMaintenanceTableTypes', {});\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport { modSharedService } from \"./modShared.service\";\r\nimport { ABCDictionary } from \"../models/abc.dictionary.model\";\r\n\r\n@Injectable()\r\nexport class ReportingService {\r\n\r\n constructor(private modShared: modSharedService) { }\r\n\r\n GetTotalPaymentsForWeek() {\r\n\r\n try {\r\n\r\n // Get the total payments for the week\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GetTotalPaymentsForWeek', {}, true);\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n \r\n GenerateReport(intReportIdent: number, intReportFormatIdent: number, strFilename: string,\r\n strLogoPath: string, intStoredProcedureTypeIdent: number,\r\n intReportReportFormatXRefIdent: number, arTableNames: string[],\r\n slParameters: ABCDictionary[], strReportName: string = \"\", intPDFType: number = 0) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GenerateReport', {\r\n\r\n ReportIdent: intReportIdent,\r\n ReportFormatIdent: intReportFormatIdent,\r\n Filename: strFilename,\r\n LogoPath: strLogoPath,\r\n StoredProcedureTypeIdent: intStoredProcedureTypeIdent,\r\n ReportReportFormatXRefIdent: intReportReportFormatXRefIdent,\r\n TableNames: arTableNames,\r\n Parameters: slParameters,\r\n ReportName: strReportName,\r\n PDFType: intPDFType\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n GetReportReportFormatXRefByReportIdent(intReportIdent: number) {\r\n\r\n try {\r\n \r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GetAllActiveReportFormatByReportIdent', {\r\n\r\n ReportIdent: intReportIdent\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GetTotalActivitiesForWeek() {\r\n\r\n try {\r\n\r\n // Get the total activities for the week\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GetTotalActivitiesForWeek', {}, true);\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n GenerateRawReport(intReportFormatIdent: number, strXMLSource: string, strXSLTFilePath: string, strReportFileName: string, intPDFType: number, strLogoPath: string) {\r\n\r\n try {\r\n\r\n // Search the ABC User Type table\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GenerateRawReport', {\r\n\r\n ReportFormatIdent: intReportFormatIdent,\r\n XMLSource: strXMLSource,\r\n XSLTFilePath: strXSLTFilePath,\r\n ReportFileName: strReportFileName,\r\n PDFType: intPDFType,\r\n LogoPath: strLogoPath\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n GetAllActiveReportTypesAndReports() {\r\n\r\n try {\r\n\r\n return this.modShared.CreateHttpPostRequest('/Reporting/GetAllActiveReportTypesAndReports', {});\r\n\r\n }\r\n catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n// Custom Directives\r\nimport { DropdownDirective } from \"./directives/dropdown.directive\";\r\nimport { MaxLengthDirective } from \"./directives/maxlength.directive\";\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\n\r\n@NgModule({\r\n\r\n declarations: [\r\n DropdownDirective,\r\n MaxLengthDirective\r\n ],\r\n exports: [\r\n DropdownDirective,\r\n MaxLengthDirective,\r\n CommonModule,\r\n PanelMenuModule\r\n ],\r\n imports: [ \r\n NgbModalModule,\r\n NgxDatatableModule\r\n ]\r\n})\r\nexport class SharedModule {\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { ManageUsersService } from '../../shared/services/manageUsers.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n mfrmChangePassword: UntypedFormGroup;\r\n\r\n // Password requirments, used on screen and within component\r\n mintMinNumberPasswordRequirementsVariable: number;\r\n mintPasswordMinLengthVariable: number;\r\n mintPasswordNonAlphaVariable: number;\r\n mintPasswordNumberVariable: number;\r\n mintPasswordUpperCaseVariable: number;\r\n mintABCUserHistoryIntervalVariable: number;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcManageUsersService: ManageUsersService,\r\n private rtRouter: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n let arResults: any[];\r\n\r\n this.mfrmChangePassword = new UntypedFormGroup({\r\n\r\n 'CurrentPassword': new UntypedFormControl('', [Validators.required]),\r\n 'NewPassword': new UntypedFormControl('', [Validators.required]),\r\n 'ConfirmNewPassword': new UntypedFormControl('', [Validators.required])\r\n\r\n });\r\n\r\n // Get the password Requirments\r\n this.svcManageUsersService.GetPasswordRequirements()\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"PasswordRequirements\");\r\n\r\n this.mintMinNumberPasswordRequirementsVariable = arResults[0].MinNumberPasswordRequirementsVariable;\r\n this.mintPasswordMinLengthVariable = arResults[0].PasswordMinLengthVariable;\r\n this.mintPasswordNonAlphaVariable = arResults[0].PasswordNonAlphaVariable;\r\n this.mintPasswordNumberVariable = arResults[0].PasswordNumberVariable;\r\n this.mintPasswordUpperCaseVariable = arResults[0].PasswordUpperCaseVariable;\r\n this.mintABCUserHistoryIntervalVariable = arResults[0].ABCUserHistoryIntervalVariable;\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n \r\n }\r\n\r\n ClearFormControls() {\r\n\r\n try {\r\n\r\n // Reset initial values\r\n this.mfrmChangePassword.setValue({\r\n CurrentPassword: '',\r\n NewPassword: '',\r\n ConfirmNewPassword: ''\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ClearControls() {\r\n\r\n try {\r\n\r\n this.mfrmChangePassword.reset();\r\n\r\n this.ClearFormControls(); \r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n Cancel() {\r\n\r\n try {\r\n\r\n this.ClearControls();\r\n\r\n this.rtRouter.navigate(['/dashboard']);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ChangePassword() {\r\n\r\n let strCurrentPassword: string = \"\";\r\n let strNewPassword: string = \"\";\r\n let strConfirmNewPassword: string = \"\";\r\n\r\n try {\r\n\r\n strCurrentPassword = this.mfrmChangePassword.controls.CurrentPassword.value;\r\n strNewPassword = this.mfrmChangePassword.controls.NewPassword.value;\r\n strConfirmNewPassword = this.mfrmChangePassword.controls.ConfirmNewPassword.value;\r\n \r\n if (this.modShared.ValidateForm(this.mfrmChangePassword, [])) {\r\n\r\n if (strNewPassword !== strConfirmNewPassword) {\r\n\r\n // TODO: Do we want to dynamically pull a message here? I don't think so, avoid\r\n // the round trip.\r\n this.modShared.AddMessage(new ABCMessage(0, \"New Password and Confirm New Password must match\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n } else { \r\n\r\n // Try to update\r\n this.svcManageUsersService.ResetPassword(strCurrentPassword, strNewPassword, strConfirmNewPassword)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n //Password updated, removing restriction on access.\r\n this.modShared.mbolRestrictAccess = 'false';\r\n this.rtRouter.navigate(['/']);\r\n \r\n }\r\n\r\n this.ClearFormControls();\r\n\r\n });\r\n \r\n } // Else: New = Confirm\r\n\r\n } // this.modShared.ValidateForm\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n \r\n } \r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormGroup, Validators, UntypedFormControl } from '@angular/forms';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss']\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n mfrmForgotPassword: UntypedFormGroup;\r\n\r\n constructor(private modShared: modSharedService,\r\n private svcAuthenticationService: AuthenticationService,\r\n private rtRouter: Router,\r\n private rtLocation: ActivatedRoute) {\r\n\r\n try {\r\n\r\n } catch (ex) {\r\n\r\n modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n this.mfrmForgotPassword = new UntypedFormGroup({\r\n\r\n 'UserName': new UntypedFormControl('', [Validators.required]),\r\n 'EmailAddress': new UntypedFormControl('', [Validators.required])\r\n\r\n });\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n Cancel() {\r\n\r\n try {\r\n\r\n //this.ClearControls();\r\n\r\n this.rtRouter.navigate(['/']);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ForgotPassword() {\r\n\r\n let strUsername: string = \"\";\r\n let strEmail: string = \"\";\r\n \r\n try {\r\n\r\n \r\n\r\n \r\n this.svcAuthenticationService.ForgotPassword(this.mfrmForgotPassword.controls.UserName.value, this.mfrmForgotPassword.controls.EmailAddress.value)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.rtRouter.navigate(['/']);\r\n\r\n }\r\n\r\n \r\n\r\n });\r\n\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n } \r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { modSharedService } from '../../shared/services/modShared.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormGroup, Validators, UntypedFormControl } from '@angular/forms';\r\nimport { AuthenticationService } from '../../shared/services/authentication.service';\r\nimport { ApiResponse } from '../../shared/models/api-response.model';\r\nimport { ABCMessage } from '../../shared/models/abc-message.model';\r\n\r\n@Component({\r\n selector: 'app-secure-reset',\r\n templateUrl: './secure-reset.component.html',\r\n styleUrls: ['./secure-reset.component.scss']\r\n})\r\nexport class SecureResetComponent implements OnInit {\r\n\r\n mfrmChangePassword: UntypedFormGroup;\r\n\r\n // Password requirments, used on screen and within component\r\n mintMinNumberPasswordRequirementsVariable: number;\r\n mintPasswordMinLengthVariable: number;\r\n mintPasswordNonAlphaVariable: number;\r\n mintPasswordNumberVariable: number;\r\n mintPasswordUpperCaseVariable: number;\r\n mintABCUserHistoryIntervalVariable: number;\r\n mstrSecureGUID: string;\r\n mbolValidURL: boolean = false; \r\n\r\n constructor(private modShared: modSharedService,\r\n private svcAuthenticationService: AuthenticationService,\r\n private rtRouter: Router,\r\n private rtLocation: ActivatedRoute) {\r\n\r\n try {\r\n\r\n this.rtLocation.queryParams.subscribe(params => {\r\n\r\n this.mstrSecureGUID = params['guid'];\r\n\r\n // Verify that this link is valid, otherwise we're a no-go\r\n this.svcAuthenticationService.VerifyABCUserLink(this.mstrSecureGUID)\r\n .subscribe(\r\n\r\n (rspResponse: ApiResponse) => {\r\n\r\n this.mbolValidURL = rspResponse.Succeeded;\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n // Successful.\r\n\r\n\r\n } // Succeeded\r\n \r\n });\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n\r\n let arResults: any[];\r\n\r\n this.mfrmChangePassword = new UntypedFormGroup({\r\n\r\n 'NewPassword': new UntypedFormControl('', [Validators.required]),\r\n 'ConfirmNewPassword': new UntypedFormControl('', [Validators.required])\r\n\r\n });\r\n\r\n // Get the password Requirments\r\n // This and the rest of this component need to use Authentication because they are not authenticated yet.\r\n this.svcAuthenticationService.GetPasswordRequirements()\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n arResults = this.modShared.ExtractDataFromPayload(rspResponse, \"PasswordRequirements\");\r\n\r\n this.mintMinNumberPasswordRequirementsVariable = arResults[0].MinNumberPasswordRequirementsVariable;\r\n this.mintPasswordMinLengthVariable = arResults[0].PasswordMinLengthVariable;\r\n this.mintPasswordNonAlphaVariable = arResults[0].PasswordNonAlphaVariable;\r\n this.mintPasswordNumberVariable = arResults[0].PasswordNumberVariable;\r\n this.mintPasswordUpperCaseVariable = arResults[0].PasswordUpperCaseVariable;\r\n this.mintABCUserHistoryIntervalVariable = arResults[0].ABCUserHistoryIntervalVariable;\r\n\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n ClearFormControls() {\r\n\r\n try {\r\n\r\n // Reset initial values\r\n this.mfrmChangePassword.setValue({\r\n NewPassword: '',\r\n ConfirmNewPassword: ''\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ClearControls() {\r\n\r\n try {\r\n\r\n this.mfrmChangePassword.reset();\r\n\r\n this.ClearFormControls();\r\n\r\n this.modShared.MessagesCleared.next();\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n Cancel() {\r\n\r\n try {\r\n\r\n this.ClearControls();\r\n\r\n this.rtRouter.navigate(['/']);\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n ChangePassword() {\r\n\r\n let strNewPassword: string = \"\";\r\n let strConfirmNewPassword: string = \"\";\r\n \r\n try {\r\n\r\n strNewPassword = this.mfrmChangePassword.controls.NewPassword.value;\r\n strConfirmNewPassword = this.mfrmChangePassword.controls.ConfirmNewPassword.value;\r\n\r\n if (this.modShared.ValidateForm(this.mfrmChangePassword, [])) {\r\n\r\n if (strNewPassword !== strConfirmNewPassword) {\r\n\r\n // TODO: Do we want to dynamically pull a message here? I don't think so, avoid\r\n // the round trip.\r\n this.modShared.AddMessage(new ABCMessage(0, \"New Password and Confirm New Password must match\", modSharedService.enmABCMessageSeverity.Severe, \"\"));\r\n\r\n } else {\r\n\r\n // Try to update\r\n this.svcAuthenticationService.ResetPassword(this.mstrSecureGUID, strNewPassword, strConfirmNewPassword)\r\n .subscribe(\r\n (rspResponse: ApiResponse) => {\r\n\r\n if (rspResponse.Succeeded) {\r\n\r\n this.rtRouter.navigate(['/']);\r\n\r\n }\r\n\r\n this.ClearFormControls();\r\n\r\n });\r\n\r\n } // Else: New = Confirm\r\n\r\n } // this.modShared.ValidateForm\r\n\r\n\r\n } catch (ex) {\r\n\r\n this.modShared.LogClientError(ex)\r\n\r\n }\r\n\r\n } \r\n\r\n\r\n}\r\n","import {\r\n Directive,\r\n OnChanges,\r\n AfterViewInit,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n Input,\r\n OnDestroy,\r\n ElementRef,\r\n SimpleChange\r\n} from \"@angular/core\";\r\nimport { dragula, DragulaService, Group } from \"ng2-dragula\";\r\n\r\n@Directive({ selector: \"ngx-datatable[dragulaName]\" })\r\nexport class DragulaExtendedDirective\r\n implements OnChanges, OnInit, AfterViewInit, OnDestroy {\r\n @Input() public dragulaName: string;\r\n @Input() public dragulaModel: any;\r\n @Input() public classSelector: string = \"null\";\r\n @Output() public directiveDrop: EventEmitter = new EventEmitter();\r\n @Output() public directiveDrag: EventEmitter = new EventEmitter();\r\n\r\n protected container: any;\r\n private drake: any;\r\n private options: any;\r\n private el: ElementRef;\r\n private dragulaService: DragulaService;\r\n subscriptionDrag: any = null;\r\n subscriptionDrop: any = null;\r\n\r\n public constructor(el: ElementRef, dragulaService: DragulaService) {\r\n this.el = el;\r\n this.dragulaService = dragulaService;\r\n }\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {\r\n if (this.el) {\r\n let container = this.el;\r\n\r\n // Check for the row's parent node: datatable-scroller\r\n // This is what you want to bind Dragula to, in order to drag sort\r\n if (container.nativeElement.querySelector(\"datatable-scroller\")) {\r\n let rowParent = container.nativeElement.querySelector(\r\n \"datatable-scroller\"\r\n );\r\n\r\n /* ADDED */\r\n rowParent.style.cursor = \"grab\";\r\n\r\n // Check if this Dragula already exists\r\n if (!this.dragulaService.find(this.dragulaName)) {\r\n // Must assign the new rowParent as the container you want to pass to Dragula\r\n this.container = rowParent;\r\n this.initializeDragula();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clear this Dragula always\r\n // comment out if you want to keep it\r\n if (this.dragulaService.find(this.dragulaName)) {\r\n this.dragulaService.destroy(this.dragulaName);\r\n }\r\n\r\n // Clear DRAG and DROP subscription to prevent duplicates\r\n if (this.subscriptionDrag) {\r\n this.subscriptionDrag.unsubscribe();\r\n this.subscriptionDrag = null;\r\n }\r\n if (this.subscriptionDrop) {\r\n this.subscriptionDrop.unsubscribe();\r\n this.subscriptionDrop = null;\r\n }\r\n }\r\n\r\n protected initializeDragula() {\r\n // Create new Dragula container\r\n let bag = this.dragulaService.find(this.dragulaName);\r\n if (bag) {\r\n this.drake = bag.drake;\r\n this.checkModel();\r\n this.drake.containers.push(this.container);\r\n } else {\r\n // Check if classSelector was specified\r\n // *true:\r\n // - the classSelector string will be used to match the class of the element clicked\r\n // - the element with the matching class name will be used to drag the row\r\n // *false:\r\n // - no class selector will be used\r\n // - the whole row will default back to being draggable\r\n if (this.classSelector != \"null\") {\r\n let classSelector = this.classSelector;\r\n let options = {\r\n moves: function(el, container, handle) {\r\n return handle.className === classSelector;\r\n }\r\n };\r\n this.drake = dragula([this.container], options);\r\n } else {\r\n this.drake = dragula([this.container]);\r\n }\r\n this.checkModel();\r\n this.dragulaService.add(new Group(this.dragulaName, this.drake, {}));\r\n }\r\n\r\n // Set DRAG and DROP subscriptions and callbacks\r\n this.subscriptionDrag = this.dragulaService.drag(this.dragulaName).subscribe(value => { \r\n this.drag(value);\r\n });\r\n this.subscriptionDrop = this.dragulaService.drop(this.dragulaName).subscribe(value => {\r\n //value.splice(2, 1); //added\r\n // const [name, el, target, source] = value;\r\n this.onDropModel(value);\r\n });\r\n }\r\n\r\n private checkModel() {\r\n if (this.dragulaModel) {\r\n if (this.drake.models) {\r\n this.drake.models.push(this.dragulaModel);\r\n } else {\r\n this.drake.models = [this.dragulaModel];\r\n }\r\n }\r\n }\r\n\r\n private drag(args) {\r\n let [e, el] = args;\r\n }\r\n\r\n private onDropModel(args) {\r\n //args.splice(2, 1); //added\r\n let [el, target, source] = args;\r\n\r\n // Added emitter on any DROP action\r\n this.directiveDrop.emit(this.dragulaModel);\r\n }\r\n\r\n public ngOnChanges(changes: { dragulaModel?: SimpleChange }): void {\r\n // Must update model on any changes\r\n // Otherwise it will fall out of sync with the 'dragulaModel'\r\n if (changes && changes.dragulaModel) {\r\n if (this.drake) {\r\n if (this.drake.models) {\r\n let modelIndex = this.drake.models.indexOf(\r\n changes.dragulaModel.previousValue\r\n );\r\n this.drake.models.splice(\r\n modelIndex,\r\n 1,\r\n changes.dragulaModel.currentValue\r\n );\r\n } else {\r\n this.drake.models = [changes.dragulaModel.currentValue];\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n apiUrl: 'https://abc-collect.com/CoreAPI',\r\n refTableUrl: 'http://abc-collect.com/#/system/referenceTables;entity=',\r\n recaptcha: {\r\n siteKey: '6LftNQ4UAAAAAKVRqpB06Ekzb8U_fGbkbLny0a-a',\r\n },\r\n hasPaymentPortal: true\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n .tab-pane {\n padding-top: 20px;\n }\n .tab-container {\n width: 100%;\n }\n .control-container {\n width: 100%;\n }\n `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/dynamic-form-components/form-builder/form-builder.component.ts\"],\"names\":[],\"mappings\":\";IACI;MACE,iBAAiB;IACnB;IACA;MACE,WAAW;IACb;IACA;MACE,WAAW;IACb\",\"sourcesContent\":[\"\\n .tab-pane {\\n padding-top: 20px;\\n }\\n .tab-container {\\n width: 100%;\\n }\\n .control-container {\\n width: 100%;\\n }\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.full-width {\n width: 50%\n }\n .side-margin {\n margin: 0 10px;\n }\n .padding {\n padding-bottom: 1em;\n }\n .style {\n width: 200px;\n display: block;\n height: 25px;\n color: #555;\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 0px;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\n transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\n }\n .upload {\n border: 1px solid #ccc;\n display: inline-block;\n padding: 6px 12px;\n cursor: pointer;\n margin-bottom: 15px;\n float: left;\n }\n .hiddenText{\n display : none\n }\n .control-row {\n margin-bottom: 20px;\n }\n `, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/shared/dynamic-controls/dynamic-form-control/dynamic-form-control.component.ts\"],\"names\":[],\"mappings\":\"AAAA;QACQ;MACF;MACA;QACE,cAAc;MAChB;MACA;QACE,mBAAmB;MACrB;MACA;QACE,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,WAAW;QACX,sBAAsB;QACtB,sBAAsB;QACtB,kBAAkB;QAClB,4CAA4C;QAC5C,qEAAyG;MAC3G;MACA;QACE,sBAAsB;QACtB,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,WAAW;MACb;MACA;MACA;MACA;MACA;QACE,mBAAmB;MACrB\",\"sourcesContent\":[\".full-width {\\n width: 50%\\n }\\n .side-margin {\\n margin: 0 10px;\\n }\\n .padding {\\n padding-bottom: 1em;\\n }\\n .style {\\n width: 200px;\\n display: block;\\n height: 25px;\\n color: #555;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 0px;\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\\n transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;\\n }\\n .upload {\\n border: 1px solid #ccc;\\n display: inline-block;\\n padding: 6px 12px;\\n cursor: pointer;\\n margin-bottom: 15px;\\n float: left;\\n }\\n .hiddenText{\\n display : none\\n }\\n .control-row {\\n margin-bottom: 20px;\\n }\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.attorney-radio-group {\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0px 0;\r\n align-items: flex-start;\r\n}\r\n\r\n.attorney-radio-button {\r\n margin: 0px;\r\n}\r\n\r\n:host ::ng-deep .mat-radio-outer-circle {\r\n height: 10px;\r\n width: 10px;\r\n}\r\n\r\n:host ::ng-deep .mat-radio-container {\r\n height: 12px;\r\n width: 12px;\r\n}\r\n\r\n:host ::ng-deep .mat-radio-outer-circle {\r\n height: 12px;\r\n width: 12px;\r\n}\r\n\r\n:host ::ng-deep .mat-radio-inner-circle {\r\n height: 12px;\r\n width: 12px;\r\n}\r\n\r\n:host ::ng-deep .mat-radio-button .mat-radio-ripple {\r\n height: 24px; /*double of your required circle radius*/\r\n width: 24px; /*double of your required circle radius*/\r\n left: calc(50% - 12px); /*'10px'-same as your required circle radius*/\r\n top: calc(50% - 12px); /*'10px'-same as your required circle radius*/\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/claim-submission/claim-submission.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,uBAAuB;AACzB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,YAAY,EAAE,wCAAwC;EACtD,WAAW,EAAE,wCAAwC;EACrD,sBAAsB,EAAE,6CAA6C;EACrE,qBAAqB,EAAE,6CAA6C;AACtE\",\"sourcesContent\":[\".attorney-radio-group {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin: 0px 0;\\r\\n align-items: flex-start;\\r\\n}\\r\\n\\r\\n.attorney-radio-button {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mat-radio-outer-circle {\\r\\n height: 10px;\\r\\n width: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mat-radio-container {\\r\\n height: 12px;\\r\\n width: 12px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mat-radio-outer-circle {\\r\\n height: 12px;\\r\\n width: 12px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mat-radio-inner-circle {\\r\\n height: 12px;\\r\\n width: 12px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mat-radio-button .mat-radio-ripple {\\r\\n height: 24px; /*double of your required circle radius*/\\r\\n width: 24px; /*double of your required circle radius*/\\r\\n left: calc(50% - 12px); /*'10px'-same as your required circle radius*/\\r\\n top: calc(50% - 12px); /*'10px'-same as your required circle radius*/\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.hiddenText {\r\n display: none\r\n}\r\n\r\n.full-width {\r\n width: 50%\r\n}\r\n\r\n.side-margin {\r\n margin: 0 10px;\r\n}\r\n\r\n.padding {\r\n padding-bottom: 1em;\r\n}\r\n\r\n.style {\r\n width: 50%;\r\n display: block;\r\n height: 34px;\r\n color: #555;\r\n background-color: #fff;\r\n border: 1px solid #ccc;\r\n border-radius: 4px;\r\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\r\n transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;\r\n}\r\n\r\n.upload {\r\n border: 1px solid #ccc;\r\n display: inline-block;\r\n padding: 6px 12px;\r\n cursor: pointer;\r\n margin-bottom: 15px;\r\n float: left;\r\n}\r\n\r\n.ngx-datatable.bootstrap {\r\n box-shadow: none;\r\n font-size: 13px;\r\n}\r\n\r\n .ngx-datatable.bootstrap .datatable-header {\r\n height: unset !important;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-header .datatable-header-cell {\r\n vertical-align: bottom;\r\n padding: 0rem 0.75rem;\r\n border-bottom: 1px solid #d1d4d7;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label {\r\n line-height: 35px;\r\n font-family: Verdana, Arial, Helvetica, sans-serif;\r\n font-size: 11px;\r\n font-weight: bold;\r\n color: black;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body {\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row {\r\n vertical-align: top;\r\n border-top: 1px solid #d1d4d7;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row.datatable-row-even {\r\n /*background-color: rgba(0, 0, 0, 0.05); /* Commented out instead of removed in case this is desired in the future... */ \r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell {\r\n text-align: left;\r\n vertical-align: top;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell-label {\r\n line-height: 160%;\r\n font-family: Verdana, Arial, Helvetica, sans-serif;\r\n font-size: 11px;\r\n color: black;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row.active {\r\n background-color: #1483ff;\r\n color: #FFF;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer {\r\n background: #424242;\r\n color: #ededed;\r\n margin-top: 10px;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .page-count {\r\n line-height: 50px;\r\n height: 50px;\r\n padding: 0 1.2rem;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager {\r\n margin: 0 10px;\r\n vertical-align: top;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li {\r\n margin: 10px 0px;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled).active a,\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a {\r\n background-color: #545454;\r\n font-weight: bold;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager a {\r\n height: 22px;\r\n min-width: 24px;\r\n line-height: 22px;\r\n padding: 0;\r\n border-radius: 3px;\r\n margin: 0 3px;\r\n text-align: center;\r\n vertical-align: top;\r\n text-decoration: none;\r\n vertical-align: bottom;\r\n color: white;\r\n background: #003b5c;\r\n }\r\n\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip,\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,\r\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev {\r\n font-size: 18px;\r\n line-height: 27px;\r\n padding: 0 3px;\r\n }\r\n\r\n[data-icon]:before {\r\n font-family: \"data-table\" !important;\r\n content: attr(data-icon);\r\n font-style: normal !important;\r\n font-weight: normal !important;\r\n font-variant: normal !important;\r\n text-transform: none !important;\r\n speak: none;\r\n line-height: 1;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n[class^=\"datatable-icon-\"]:before,\r\n[class*=\" datatable-icon-\"]:before {\r\n height: 22px;\r\n min-width: 24px;\r\n line-height: 22px;\r\n padding: 0;\r\n border-radius: 3px;\r\n margin: 0 3px;\r\n text-align: center;\r\n vertical-align: top;\r\n text-decoration: none;\r\n color: #000000;\r\n}\r\n\r\n.datatable-icon-filter:before {\r\n content: \"\\\\62\";\r\n}\r\n\r\n.datatable-icon-collapse:before {\r\n content: \"\\\\61\";\r\n}\r\n\r\n.datatable-icon-expand:before {\r\n content: \"\\\\63\";\r\n}\r\n\r\n.datatable-icon-close:before {\r\n content: \"\\\\64\";\r\n}\r\n\r\n.datatable-icon-up:before {\r\n content: \"\\\\65\";\r\n}\r\n\r\n.datatable-icon-down:before {\r\n content: \"\\\\66\";\r\n}\r\n\r\n.datatable-icon-sort:before {\r\n content: \"\\\\67\";\r\n}\r\n\r\n.datatable-icon-done:before {\r\n content: \"\\\\68\";\r\n}\r\n\r\n.datatable-icon-done-all:before {\r\n content: \"\\\\69\";\r\n}\r\n\r\n.datatable-icon-search:before {\r\n content: \"\\\\6a\";\r\n}\r\n\r\n.datatable-icon-pin:before {\r\n content: \"\\\\6b\";\r\n}\r\n\r\n.datatable-icon-add:before {\r\n content: \"\\\\6d\";\r\n}\r\n\r\n.datatable-icon-left:before {\r\n content: \"\\\\<\";\r\n}\r\n\r\n.datatable-icon-right:before {\r\n content: \"\\\\>\";\r\n}\r\n\r\n.datatable-icon-skip:before {\r\n content: \"\\\\>>\";\r\n}\r\n\r\n.datatable-icon-prev:before {\r\n content: \"\\\\<<\";\r\n}\r\n\r\n.table-panel {\r\n padding-top: 20px;\r\n margin-bottom: 0px;\r\n padding-bottom: 20px;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/dynamic-form-components/table-builder/table-builder.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE;AACF;;AAEA;EACE;AACF;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,UAAU;EACV,cAAc;EACd,YAAY;EACZ,WAAW;EACX,sBAAsB;EACtB,sBAAsB;EACtB,kBAAkB;EAClB,4CAA4C;EAC5C,qEAAyG;AAC3G;;AAEA;EACE,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,eAAe;EACf,mBAAmB;EACnB,WAAW;AACb;;AAEA;EACE,gBAAgB;EAChB,eAAe;AACjB;;EAEE;IACE,wBAAwB;EAC1B;;IAEE;MACE,sBAAsB;MACtB,qBAAqB;MACrB,gCAAgC;IAClC;;MAEE;QACE,iBAAiB;QACjB,kDAAkD;QAClD,eAAe;QACf,iBAAiB;QACjB,YAAY;MACd;;EAEJ;EACA;;IAEE;MACE,mBAAmB;MACnB,6BAA6B;IAC/B;;MAEE;QACE,uHAAuH;MACzH;;MAEA;QACE,gBAAgB;QAChB,mBAAmB;MACrB;;MAEA;QACE,iBAAiB;QACjB,kDAAkD;QAClD,eAAe;QACf,YAAY;MACd;;MAEA;QACE,yBAAyB;QACzB,WAAW;MACb;;EAEJ;IACE,mBAAmB;IACnB,cAAc;IACd,gBAAgB;EAClB;;IAEE;MACE,iBAAiB;MACjB,YAAY;MACZ,iBAAiB;IACnB;;IAEA;MACE,cAAc;MACd,mBAAmB;IACrB;;MAEE;QACE,gBAAgB;MAClB;;QAEE;;UAEE,yBAAyB;UACzB,iBAAiB;QACnB;;MAEF;QACE,YAAY;QACZ,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,kBAAkB;QAClB,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,qBAAqB;QACrB,sBAAsB;QACtB,YAAY;QACZ,mBAAmB;MACrB;;MAEA;;;;QAIE,eAAe;QACf,iBAAiB;QACjB,cAAc;MAChB;;AAEN;EACE,oCAAoC;EACpC,wBAAwB;EACxB,6BAA6B;EAC7B,8BAA8B;EAC9B,+BAA+B;EAC/B,+BAA+B;EAC/B,WAAW;EACX,cAAc;EACd,mCAAmC;EACnC,kCAAkC;AACpC;;AAEA;;EAEE,YAAY;EACZ,eAAe;EACf,iBAAiB;EACjB,UAAU;EACV,kBAAkB;EAClB,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,oBAAoB;AACtB\",\"sourcesContent\":[\".hiddenText {\\r\\n display: none\\r\\n}\\r\\n\\r\\n.full-width {\\r\\n width: 50%\\r\\n}\\r\\n\\r\\n.side-margin {\\r\\n margin: 0 10px;\\r\\n}\\r\\n\\r\\n.padding {\\r\\n padding-bottom: 1em;\\r\\n}\\r\\n\\r\\n.style {\\r\\n width: 50%;\\r\\n display: block;\\r\\n height: 34px;\\r\\n color: #555;\\r\\n background-color: #fff;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075);\\r\\n transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;\\r\\n}\\r\\n\\r\\n.upload {\\r\\n border: 1px solid #ccc;\\r\\n display: inline-block;\\r\\n padding: 6px 12px;\\r\\n cursor: pointer;\\r\\n margin-bottom: 15px;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.ngx-datatable.bootstrap {\\r\\n box-shadow: none;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-header {\\r\\n height: unset !important;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-header .datatable-header-cell {\\r\\n vertical-align: bottom;\\r\\n padding: 0rem 0.75rem;\\r\\n border-bottom: 1px solid #d1d4d7;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label {\\r\\n line-height: 35px;\\r\\n font-family: Verdana, Arial, Helvetica, sans-serif;\\r\\n font-size: 11px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body {\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row {\\r\\n vertical-align: top;\\r\\n border-top: 1px solid #d1d4d7;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row.datatable-row-even {\\r\\n /*background-color: rgba(0, 0, 0, 0.05); /* Commented out instead of removed in case this is desired in the future... */ \\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell {\\r\\n text-align: left;\\r\\n vertical-align: top;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell-label {\\r\\n line-height: 160%;\\r\\n font-family: Verdana, Arial, Helvetica, sans-serif;\\r\\n font-size: 11px;\\r\\n color: black;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-body .datatable-body-row.active {\\r\\n background-color: #1483ff;\\r\\n color: #FFF;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer {\\r\\n background: #424242;\\r\\n color: #ededed;\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .page-count {\\r\\n line-height: 50px;\\r\\n height: 50px;\\r\\n padding: 0 1.2rem;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager {\\r\\n margin: 0 10px;\\r\\n vertical-align: top;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li {\\r\\n margin: 10px 0px;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled).active a,\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a {\\r\\n background-color: #545454;\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager a {\\r\\n height: 22px;\\r\\n min-width: 24px;\\r\\n line-height: 22px;\\r\\n padding: 0;\\r\\n border-radius: 3px;\\r\\n margin: 0 3px;\\r\\n text-align: center;\\r\\n vertical-align: top;\\r\\n text-decoration: none;\\r\\n vertical-align: bottom;\\r\\n color: white;\\r\\n background: #003b5c;\\r\\n }\\r\\n\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip,\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,\\r\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev {\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n padding: 0 3px;\\r\\n }\\r\\n\\r\\n[data-icon]:before {\\r\\n font-family: \\\"data-table\\\" !important;\\r\\n content: attr(data-icon);\\r\\n font-style: normal !important;\\r\\n font-weight: normal !important;\\r\\n font-variant: normal !important;\\r\\n text-transform: none !important;\\r\\n speak: none;\\r\\n line-height: 1;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n}\\r\\n\\r\\n[class^=\\\"datatable-icon-\\\"]:before,\\r\\n[class*=\\\" datatable-icon-\\\"]:before {\\r\\n height: 22px;\\r\\n min-width: 24px;\\r\\n line-height: 22px;\\r\\n padding: 0;\\r\\n border-radius: 3px;\\r\\n margin: 0 3px;\\r\\n text-align: center;\\r\\n vertical-align: top;\\r\\n text-decoration: none;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.datatable-icon-filter:before {\\r\\n content: \\\"\\\\62\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-collapse:before {\\r\\n content: \\\"\\\\61\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-expand:before {\\r\\n content: \\\"\\\\63\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-close:before {\\r\\n content: \\\"\\\\64\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-up:before {\\r\\n content: \\\"\\\\65\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-down:before {\\r\\n content: \\\"\\\\66\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-sort:before {\\r\\n content: \\\"\\\\67\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-done:before {\\r\\n content: \\\"\\\\68\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-done-all:before {\\r\\n content: \\\"\\\\69\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-search:before {\\r\\n content: \\\"\\\\6a\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-pin:before {\\r\\n content: \\\"\\\\6b\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-add:before {\\r\\n content: \\\"\\\\6d\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-left:before {\\r\\n content: \\\"\\\\<\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-right:before {\\r\\n content: \\\"\\\\>\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-skip:before {\\r\\n content: \\\"\\\\>>\\\";\\r\\n}\\r\\n\\r\\n.datatable-icon-prev:before {\\r\\n content: \\\"\\\\<<\\\";\\r\\n}\\r\\n\\r\\n.table-panel {\\r\\n padding-top: 20px;\\r\\n margin-bottom: 0px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ref-table-heading {\r\n background: #69b3e7;\r\n color: black;\r\n /* margin: 6px 0 0px; */\r\n font-size: 20px;\r\n}\r\n\r\n.ref-table-navbar {\r\n background: #69b3e7;\r\n color: #fff;\r\n min-height: 40px;\r\n height: 40px;\r\n margin-bottom: 0px;\r\n}\r\n\r\n::ng-deep .navbar {\r\n padding: 0rem 0.5rem;\r\n}\r\n\r\n.client-tree-invisible {\r\n display: none;\r\n}\r\n\r\n.client-tree ul,\r\n.client-tree li {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n list-style-type: none;\r\n}\r\n\r\n.client-split {\r\n height: 600px;\r\n white-space: nowrap;\r\n}\r\n\r\ncode {\r\n color: #bb7a00;\r\n}\r\n\r\n.vl {\r\n border-left: 1px solid grey;\r\n width: 2px;\r\n}\r\n\r\n.selectedClient {\r\n background-color: #dc6a3f;\r\n font-weight: bold;\r\n}\r\n\r\n::ng-deep .mat-tab-body {\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n}\r\n\r\n.small-mat-icon {\r\n font-size: 12px;\r\n height: auto;\r\n width: auto;\r\n}\r\n\r\n.Tree-Button {\r\n font-size: 12px;\r\n border: 5px;\r\n}\r\n\r\n::ng-deep .mat-tab-label .TabError {\r\n color: red;\r\n font-weight: bold;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/dashboard/change-client-focus/change-client-focus.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,mBAAmB;EACnB,YAAY;EACZ,uBAAuB;EACvB,eAAe;AACjB;;AAEA;EACE,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,YAAY;EACZ,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,aAAa;AACf;;AAEA;;EAEE,aAAa;EACb,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,2BAA2B;EAC3B,UAAU;AACZ;;AAEA;EACE,yBAAyB;EACzB,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;EACjB,oBAAoB;AACtB;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,eAAe;EACf,WAAW;AACb;;AAEA;EACE,UAAU;EACV,iBAAiB;AACnB\",\"sourcesContent\":[\".ref-table-heading {\\r\\n background: #69b3e7;\\r\\n color: black;\\r\\n /* margin: 6px 0 0px; */\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.ref-table-navbar {\\r\\n background: #69b3e7;\\r\\n color: #fff;\\r\\n min-height: 40px;\\r\\n height: 40px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n::ng-deep .navbar {\\r\\n padding: 0rem 0.5rem;\\r\\n}\\r\\n\\r\\n.client-tree-invisible {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.client-tree ul,\\r\\n.client-tree li {\\r\\n margin-top: 0;\\r\\n margin-bottom: 0;\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\n.client-split {\\r\\n height: 600px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\ncode {\\r\\n color: #bb7a00;\\r\\n}\\r\\n\\r\\n.vl {\\r\\n border-left: 1px solid grey;\\r\\n width: 2px;\\r\\n}\\r\\n\\r\\n.selectedClient {\\r\\n background-color: #dc6a3f;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-body {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.small-mat-icon {\\r\\n font-size: 12px;\\r\\n height: auto;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.Tree-Button {\\r\\n font-size: 12px;\\r\\n border: 5px;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-label .TabError {\\r\\n color: red;\\r\\n font-weight: bold;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/deep/.mat-tab-label, /deep/.mat-tab-label-active {\r\n padding: 6px !important;\r\n margin: 1px !important;\r\n}\r\n\r\n/deep/.mat-tab-body-wrapper {\r\n padding: 8px !important;\r\n margin: 2px !important;\r\n}\r\n\r\n\r\n::ng-deep .mat-tab-body {\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n}\r\n\r\n.small-mat-icon {\r\n font-size: 12px;\r\n height: auto;\r\n width: auto;\r\n}\r\n\r\n::ng-deep .mat-tab-label .TabError {\r\n color: red;\r\n font-weight: bold;\r\n}\r\n\r\n.AccountFieldset {\r\n height:350px;\r\n} \r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/manage/accounts/accounts.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,uBAAuB;EACvB,sBAAsB;AACxB;;AAEA;EACE,uBAAuB;EACvB,sBAAsB;AACxB;;;AAGA;EACE,iBAAiB;EACjB,oBAAoB;AACtB;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,UAAU;EACV,iBAAiB;AACnB;;AAEA;IACI,YAAY;AAChB\",\"sourcesContent\":[\"/deep/.mat-tab-label, /deep/.mat-tab-label-active {\\r\\n padding: 6px !important;\\r\\n margin: 1px !important;\\r\\n}\\r\\n\\r\\n/deep/.mat-tab-body-wrapper {\\r\\n padding: 8px !important;\\r\\n margin: 2px !important;\\r\\n}\\r\\n\\r\\n\\r\\n::ng-deep .mat-tab-body {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.small-mat-icon {\\r\\n font-size: 12px;\\r\\n height: auto;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-label .TabError {\\r\\n color: red;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.AccountFieldset {\\r\\n height:350px;\\r\\n} \\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.alert {\n padding: 0.75rem;\n}\n.alert > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n font-family: Verdana, Arial, Helvetica, sans-serif;\n font-size: 11px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/abc-message-display/abc-message-display.component.scss\",\"webpack://./../../../../ABC%20Core/Client%20Portal/Website/Web/src/app/core/abc-message-display/abc-message-display.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,gBAAA;ACCF;ADCE;EACE,gBAAA;EACA,UAAA;EACA,SAAA;EACA,kDAAA;EACA,eAAA;ACCJ\",\"sourcesContent\":[\".alert {\\r\\n padding: .75rem;\\r\\n\\r\\n > ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n font-family: Verdana, Arial, Helvetica, sans-serif;\\r\\n font-size: 11px;\\r\\n }\\r\\n}\\r\\n\",\".alert {\\n padding: 0.75rem;\\n}\\n.alert > ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n font-family: Verdana, Arial, Helvetica, sans-serif;\\n font-size: 11px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `::ng-deep .navbar-nav > li > .dropdown-menu {\n background: #dc6a3f !important;\n background-color: #dc6a3f !important;\n color: #fff !important;\n}\n\n::ng-deep .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active {\n color: #000 !important;\n text-decoration: none;\n background-color: #fff;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/header/header.component.scss\",\"webpack://./../../../../ABC%20Core/Client%20Portal/Website/Web/src/app/core/header/header.component.scss\",\"webpack://./src/theme/abcCollectVariables.scss\"],\"names\":[],\"mappings\":\"AAEA;EACE,8BAAA;EACA,oCAAA;EACA,sBAAA;ACDF;;ADIA;EACE,sBAAA;EACA,qBAAA;EACA,sBEVmB;ADSrB\",\"sourcesContent\":[\"@import '../../../theme/abcCollectVariables.scss';\\r\\n\\r\\n::ng-deep .navbar-nav > li > .dropdown-menu {\\r\\n background: $primary-color !important;\\r\\n background-color: $primary-color !important;\\r\\n color: $primary-text-color !important;\\r\\n}\\r\\n\\r\\n::ng-deep .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active {\\r\\n color: $secondary-text-color !important;\\r\\n text-decoration: none;\\r\\n background-color: $primary-text-color;\\r\\n}\",\"::ng-deep .navbar-nav > li > .dropdown-menu {\\n background: #dc6a3f !important;\\n background-color: #dc6a3f !important;\\n color: #fff !important;\\n}\\n\\n::ng-deep .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active {\\n color: #000 !important;\\n text-decoration: none;\\n background-color: #fff;\\n}\",\"$primary-color :#dc6a3f;\\r\\n$primary-text-color: #fff;\\r\\n$secondary-color :#69b3e7;\\r\\n$secondary-text-color: #000;\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.card-header {\n padding: 0 0.75rem;\n}\n.card-header h1 {\n margin: 7px 0;\n}\n\n.card-body {\n background-color: #f5f5f5;\n}\n\n.appNamelogo-height {\n height: 100px;\n}\n\n.width100 {\n width: 100%;\n}\n\n.appLogo {\n height: 40px;\n width: 130px;\n float: right;\n}\n\n.logoDiv {\n margin-top: -25px;\n}\n\n.login-footer {\n text-align: right;\n line-height: 1;\n}\n.login-footer p {\n margin: 5px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/login/login.component.scss\",\"webpack://./../../../../ABC%20Core/Client%20Portal/Website/Web/src/app/login/login.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAA;ACCF;ADCE;EACE,aAAA;ACCJ;;ADGA;EACE,yBAAA;ACAF;;ADGA;EACE,aAAA;ACAF;;ADGA;EACE,WAAA;ACAF;;ADGA;EACE,YAAA;EACA,YAAA;EACA,YAAA;ACAF;;ADGA;EACE,iBAAA;ACAF;;ADGA;EACE,iBAAA;EACA,cAAA;ACAF;ADEE;EACE,WAAA;ACAJ\",\"sourcesContent\":[\".card-header {\\r\\n padding: 0 0.75rem;\\r\\n\\r\\n h1 {\\r\\n margin: 7px 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.card-body {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.appNamelogo-height {\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.width100 {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.appLogo {\\r\\n height: 40px;\\r\\n width: 130px;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.logoDiv {\\r\\n margin-top: -25px;\\r\\n}\\r\\n\\r\\n.login-footer {\\r\\n text-align: right;\\r\\n line-height: 1;\\r\\n\\r\\n p {\\r\\n margin: 5px;\\r\\n }\\r\\n}\\r\\n\",\".card-header {\\n padding: 0 0.75rem;\\n}\\n.card-header h1 {\\n margin: 7px 0;\\n}\\n\\n.card-body {\\n background-color: #f5f5f5;\\n}\\n\\n.appNamelogo-height {\\n height: 100px;\\n}\\n\\n.width100 {\\n width: 100%;\\n}\\n\\n.appLogo {\\n height: 40px;\\n width: 130px;\\n float: right;\\n}\\n\\n.logoDiv {\\n margin-top: -25px;\\n}\\n\\n.login-footer {\\n text-align: right;\\n line-height: 1;\\n}\\n.login-footer p {\\n margin: 5px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://abccollect/css/custom.css?ver=2.0);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* TODO: This is not how we should be pulling the CSS, leaving in until we are done with styling. */`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/reports/report-viewer/report-viewer.component.scss\"],\"names\":[],\"mappings\":\"AAAA,mGAAA\",\"sourcesContent\":[\"/* TODO: This is not how we should be pulling the CSS, leaving in until we are done with styling. */\\r\\n@import url(\\\"https://abccollect/css/custom.css?ver=2.0\\\");\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dropdown-item:hover {\n color: #fff !important;\n text-decoration: none;\n background-color: rgb(0, 59, 92) !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/shared/base-form/base-form.component.scss\",\"webpack://./../../../../ABC%20Core/Client%20Portal/Website/Web/src/app/shared/base-form/base-form.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,sBAAA;EACA,qBAAA;EACA,2CAAA;ACCJ\",\"sourcesContent\":[\".dropdown-item:hover {\\r\\n color: #fff !important;\\r\\n text-decoration: none;\\r\\n background-color: rgb(0, 59, 92) !important;\\r\\n}\",\".dropdown-item:hover {\\n color: #fff !important;\\n text-decoration: none;\\n background-color: rgb(0, 59, 92) !important;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 35528,\n\t\"./af.js\": 35528,\n\t\"./ar\": 1036,\n\t\"./ar-dz\": 17579,\n\t\"./ar-dz.js\": 17579,\n\t\"./ar-kw\": 69588,\n\t\"./ar-kw.js\": 69588,\n\t\"./ar-ly\": 11650,\n\t\"./ar-ly.js\": 11650,\n\t\"./ar-ma\": 93258,\n\t\"./ar-ma.js\": 93258,\n\t\"./ar-sa\": 54085,\n\t\"./ar-sa.js\": 54085,\n\t\"./ar-tn\": 90287,\n\t\"./ar-tn.js\": 90287,\n\t\"./ar.js\": 1036,\n\t\"./az\": 89757,\n\t\"./az.js\": 89757,\n\t\"./be\": 59620,\n\t\"./be.js\": 59620,\n\t\"./bg\": 31139,\n\t\"./bg.js\": 31139,\n\t\"./bm\": 4042,\n\t\"./bm.js\": 4042,\n\t\"./bn\": 19641,\n\t\"./bn-bd\": 19126,\n\t\"./bn-bd.js\": 19126,\n\t\"./bn.js\": 19641,\n\t\"./bo\": 494,\n\t\"./bo.js\": 494,\n\t\"./br\": 20934,\n\t\"./br.js\": 20934,\n\t\"./bs\": 26274,\n\t\"./bs.js\": 26274,\n\t\"./ca\": 45831,\n\t\"./ca.js\": 45831,\n\t\"./cs\": 92354,\n\t\"./cs.js\": 92354,\n\t\"./cv\": 79692,\n\t\"./cv.js\": 79692,\n\t\"./cy\": 58774,\n\t\"./cy.js\": 58774,\n\t\"./da\": 38955,\n\t\"./da.js\": 38955,\n\t\"./de\": 21557,\n\t\"./de-at\": 24954,\n\t\"./de-at.js\": 24954,\n\t\"./de-ch\": 81881,\n\t\"./de-ch.js\": 81881,\n\t\"./de.js\": 21557,\n\t\"./dv\": 16475,\n\t\"./dv.js\": 16475,\n\t\"./el\": 38877,\n\t\"./el.js\": 38877,\n\t\"./en-au\": 70454,\n\t\"./en-au.js\": 70454,\n\t\"./en-ca\": 67356,\n\t\"./en-ca.js\": 67356,\n\t\"./en-gb\": 10456,\n\t\"./en-gb.js\": 10456,\n\t\"./en-ie\": 28789,\n\t\"./en-ie.js\": 28789,\n\t\"./en-il\": 85471,\n\t\"./en-il.js\": 85471,\n\t\"./en-in\": 39664,\n\t\"./en-in.js\": 39664,\n\t\"./en-nz\": 97672,\n\t\"./en-nz.js\": 97672,\n\t\"./en-sg\": 80805,\n\t\"./en-sg.js\": 80805,\n\t\"./eo\": 87390,\n\t\"./eo.js\": 87390,\n\t\"./es\": 1564,\n\t\"./es-do\": 51473,\n\t\"./es-do.js\": 51473,\n\t\"./es-mx\": 92089,\n\t\"./es-mx.js\": 92089,\n\t\"./es-us\": 84156,\n\t\"./es-us.js\": 84156,\n\t\"./es.js\": 1564,\n\t\"./et\": 6513,\n\t\"./et.js\": 6513,\n\t\"./eu\": 7856,\n\t\"./eu.js\": 7856,\n\t\"./fa\": 2378,\n\t\"./fa.js\": 2378,\n\t\"./fi\": 22687,\n\t\"./fi.js\": 22687,\n\t\"./fil\": 80032,\n\t\"./fil.js\": 80032,\n\t\"./fo\": 46845,\n\t\"./fo.js\": 46845,\n\t\"./fr\": 8875,\n\t\"./fr-ca\": 56425,\n\t\"./fr-ca.js\": 56425,\n\t\"./fr-ch\": 41746,\n\t\"./fr-ch.js\": 41746,\n\t\"./fr.js\": 8875,\n\t\"./fy\": 67037,\n\t\"./fy.js\": 67037,\n\t\"./ga\": 11217,\n\t\"./ga.js\": 11217,\n\t\"./gd\": 37010,\n\t\"./gd.js\": 37010,\n\t\"./gl\": 51931,\n\t\"./gl.js\": 51931,\n\t\"./gom-deva\": 64488,\n\t\"./gom-deva.js\": 64488,\n\t\"./gom-latn\": 8032,\n\t\"./gom-latn.js\": 8032,\n\t\"./gu\": 34984,\n\t\"./gu.js\": 34984,\n\t\"./he\": 69090,\n\t\"./he.js\": 69090,\n\t\"./hi\": 42085,\n\t\"./hi.js\": 42085,\n\t\"./hr\": 38787,\n\t\"./hr.js\": 38787,\n\t\"./hu\": 2901,\n\t\"./hu.js\": 2901,\n\t\"./hy-am\": 59819,\n\t\"./hy-am.js\": 59819,\n\t\"./id\": 44074,\n\t\"./id.js\": 44074,\n\t\"./is\": 70715,\n\t\"./is.js\": 70715,\n\t\"./it\": 31746,\n\t\"./it-ch\": 77040,\n\t\"./it-ch.js\": 77040,\n\t\"./it.js\": 31746,\n\t\"./ja\": 3180,\n\t\"./ja.js\": 3180,\n\t\"./jv\": 34346,\n\t\"./jv.js\": 34346,\n\t\"./ka\": 65538,\n\t\"./ka.js\": 65538,\n\t\"./kk\": 79772,\n\t\"./kk.js\": 79772,\n\t\"./km\": 87905,\n\t\"./km.js\": 87905,\n\t\"./kn\": 79125,\n\t\"./kn.js\": 79125,\n\t\"./ko\": 69140,\n\t\"./ko.js\": 69140,\n\t\"./ku\": 2354,\n\t\"./ku.js\": 2354,\n\t\"./ky\": 63768,\n\t\"./ky.js\": 63768,\n\t\"./lb\": 14016,\n\t\"./lb.js\": 14016,\n\t\"./lo\": 83169,\n\t\"./lo.js\": 83169,\n\t\"./lt\": 62353,\n\t\"./lt.js\": 62353,\n\t\"./lv\": 83243,\n\t\"./lv.js\": 83243,\n\t\"./me\": 52338,\n\t\"./me.js\": 52338,\n\t\"./mi\": 35555,\n\t\"./mi.js\": 35555,\n\t\"./mk\": 85794,\n\t\"./mk.js\": 85794,\n\t\"./ml\": 53151,\n\t\"./ml.js\": 53151,\n\t\"./mn\": 46458,\n\t\"./mn.js\": 46458,\n\t\"./mr\": 69165,\n\t\"./mr.js\": 69165,\n\t\"./ms\": 8680,\n\t\"./ms-my\": 87477,\n\t\"./ms-my.js\": 87477,\n\t\"./ms.js\": 8680,\n\t\"./mt\": 79684,\n\t\"./mt.js\": 79684,\n\t\"./my\": 40285,\n\t\"./my.js\": 40285,\n\t\"./nb\": 45922,\n\t\"./nb.js\": 45922,\n\t\"./ne\": 29040,\n\t\"./ne.js\": 29040,\n\t\"./nl\": 5066,\n\t\"./nl-be\": 74460,\n\t\"./nl-be.js\": 74460,\n\t\"./nl.js\": 5066,\n\t\"./nn\": 53693,\n\t\"./nn.js\": 53693,\n\t\"./oc-lnc\": 88676,\n\t\"./oc-lnc.js\": 88676,\n\t\"./pa-in\": 92341,\n\t\"./pa-in.js\": 92341,\n\t\"./pl\": 57416,\n\t\"./pl.js\": 57416,\n\t\"./pt\": 84344,\n\t\"./pt-br\": 30113,\n\t\"./pt-br.js\": 30113,\n\t\"./pt.js\": 84344,\n\t\"./ro\": 72643,\n\t\"./ro.js\": 72643,\n\t\"./ru\": 61305,\n\t\"./ru.js\": 61305,\n\t\"./sd\": 96095,\n\t\"./sd.js\": 96095,\n\t\"./se\": 74486,\n\t\"./se.js\": 74486,\n\t\"./si\": 58742,\n\t\"./si.js\": 58742,\n\t\"./sk\": 96722,\n\t\"./sk.js\": 96722,\n\t\"./sl\": 3345,\n\t\"./sl.js\": 3345,\n\t\"./sq\": 52416,\n\t\"./sq.js\": 52416,\n\t\"./sr\": 39450,\n\t\"./sr-cyrl\": 50501,\n\t\"./sr-cyrl.js\": 50501,\n\t\"./sr.js\": 39450,\n\t\"./ss\": 32222,\n\t\"./ss.js\": 32222,\n\t\"./sv\": 9454,\n\t\"./sv.js\": 9454,\n\t\"./sw\": 19638,\n\t\"./sw.js\": 19638,\n\t\"./ta\": 96494,\n\t\"./ta.js\": 96494,\n\t\"./te\": 94435,\n\t\"./te.js\": 94435,\n\t\"./tet\": 25003,\n\t\"./tet.js\": 25003,\n\t\"./tg\": 13706,\n\t\"./tg.js\": 13706,\n\t\"./th\": 16025,\n\t\"./th.js\": 16025,\n\t\"./tk\": 59780,\n\t\"./tk.js\": 59780,\n\t\"./tl-ph\": 22068,\n\t\"./tl-ph.js\": 22068,\n\t\"./tlh\": 39167,\n\t\"./tlh.js\": 39167,\n\t\"./tr\": 32494,\n\t\"./tr.js\": 32494,\n\t\"./tzl\": 58707,\n\t\"./tzl.js\": 58707,\n\t\"./tzm\": 91296,\n\t\"./tzm-latn\": 34532,\n\t\"./tzm-latn.js\": 34532,\n\t\"./tzm.js\": 91296,\n\t\"./ug-cn\": 12086,\n\t\"./ug-cn.js\": 12086,\n\t\"./uk\": 85069,\n\t\"./uk.js\": 85069,\n\t\"./ur\": 29304,\n\t\"./ur.js\": 29304,\n\t\"./uz\": 95115,\n\t\"./uz-latn\": 97609,\n\t\"./uz-latn.js\": 97609,\n\t\"./uz.js\": 95115,\n\t\"./vi\": 34802,\n\t\"./vi.js\": 34802,\n\t\"./x-pseudo\": 65605,\n\t\"./x-pseudo.js\": 65605,\n\t\"./yo\": 88456,\n\t\"./yo.js\": 88456,\n\t\"./zh-cn\": 23272,\n\t\"./zh-cn.js\": 23272,\n\t\"./zh-hk\": 9402,\n\t\"./zh-hk.js\": 9402,\n\t\"./zh-mo\": 48101,\n\t\"./zh-mo.js\": 48101,\n\t\"./zh-tw\": 40262,\n\t\"./zh-tw.js\": 40262\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["Component","PaymentPortalFooterComponent","__decorate","selector","template","__NG_CLI_RESOURCE__0","PaymentPortalHeaderComponent","NgbActiveModal","modSharedService","UntypedFormGroup","AccountService","FileNumberHelpComponent","constructor","activeModal","modShared","svcAccountService","ngOnInit","SetModalDraggable","mfrmForm","ex","LogClientError","Cancel","objResult","RecordSaved","close","MessagesCleared","next","_","UntypedFormControl","Validators","MaintenanceService","CustomValidators","NgbModal","ActivatedRoute","Router","ABCMessage","AuthenticationService","environment","PaymentPortalLoginComponent","svcMaintenanceService","svcModalService","valCustomValidators","svcAuth","rtRouter","arRoute","menmScreenModes","AuthByDetails","AuthByGUID","marCountry","marAllState","marState","mbolCaptchaResolved","mstrCaptchaResponse","ScreenMode","mbolHasPaymentPortal","hasPaymentPortal","bolHasPaymentPortal","navigate","queryParams","subscribe","arParameters","undefined","AuthenticateByPaymentPortalGUID","rspResponse","Succeeded","ExtractValueFromPayload","console","log","arTablesToRetrieve","dtStartDate","Date","required","Numeric","enmCountry","USA","push","GetAllByList","ExtractDropdownFromPayload","get","valueChanges","intCountryIdent","slice","filter","itmState","CountryIdent","Ident","find","controls","StateIdent","value","patchValue","GetAllActiveCountry","ExtractDataFromPayload","checkCaptcha","strCaptchaResponse","length","Login","ValidateForm","AuthenticateByPaymentPortalDetails","ClaimIdent","Address1","City","Zip","AddMessage","enmABCMessageSeverity","Severe","CheckScreenMode","intScreenMode","bolResult","LoadABCFnHelp","rfModal","open","size","result","then","reason","setTimeout","modal","document","getElementsByClassName","classList","add","CCVHelpComponent","DecimalPipe","PaymentPortalPaymentComponent","svcAccounts","mobjDecimalPipe","CannotProcessAtThisTime","Documents","Confirmation","Payment","Receipt","marAccount","marDocuments","marDocumentsToPay","marYears","mstrClientName1","mstrClientAddress1","mstrClientCity","mstrClientZip","mstrClientStateName1","mstrABCFn","mstrAccountName1","mstrAccountNumber","mstrAccountAddress1","mstrAccountCity","mstrAccountStateName1","mstrAccountZip","mmnyTotalPaymentAmount","mbolHasStagingPayment","mmnyMinPaymentPortalThreshold","mmnyMaxPaymentPortalThreshold","itmYear","DropdownRequired","NumericGreaterThanZero","GetClientAndDebtorInformation","ClientName1","ClientAddress1","ClientCity","ClientStateName1","ClientZip","AccountName1","AccountNumber","AccountAddress1","AccountCity","AccountStateName1","AccountZip","HasStagingPayment","BillingAddress1","BillingCity","BillingStateIdent","AccountStateIdent","BillingZipCode","MinPaymentPortalThreshold","MaxPaymentPortalThreshold","FilterState","BillingCountryIdent","intCounter","Object","Value","getFullYear","PayDocInFull","itmDocument","PaymentAmount","FormatWithDecimal","Balance","PayAllInvoices","dblAmount","strResult","Number","toString","replace","transform","CompletePayment","elMessages","confirm","CompletePaymentPortalPayment","EmailConfirmation","BillingFirstName","BillingLastName","CardNumber","ExpirationMonth","ExpirationYear","CardCCV","ProgressStep","window","sessionStorage","clear","VerifyDocuments","bolContinue","bolValidDocumentFound","arMessages","msgValidation","mnyTotalBalance","bolAllDocsPaidInFull","bolExpensesPaid","isNaN","DocumentNumber","parseFloat","toFixed","DocumentIdent","intStepDirection","LoadCCVHelp","NgModule","RouterModule","PreloadAllModules","LoginComponent","DashboardComponent","ChangePasswordComponent","SecureResetComponent","ForgotPasswordComponent","ReportViewerComponent","AccountsComponent","ClaimSubmissionComponent","ReportsComponent","ClaimDetailComponent","ClientSummaryComponent","DailyStatisticsComponent","MonthlyPerformanceComponent","appRoutes","path","component","children","AppRoutingModule","imports","forRoot","preloadingStrategy","useHash","onSameUrlNavigation","exports","AppComponent","title","BrowserModule","HttpClientModule","FormsModule","ReactiveFormsModule","BrowserAnimationsModule","NgxDatatableModule","NgbModule","GlobalVars","RECAPTCHA_SETTINGS","RecaptchaModule","MatLegacyInputModule","MatInputModule","MatDatepickerModule","MatNativeDateModule","MatLegacyTabsModule","MatTabsModule","MatLegacyCardModule","MatCardModule","MatLegacyRadioModule","MatRadioModule","SharedModule","HeaderComponent","ReportingService","ABCMessageDisplayComponent","DynamicComponent","ReferenceTablesService","MessagingService","DisableControlDirective","LeftRightComboBoxComponent","RecordLockingService","SearchableLookupComponent","PrinterSelectionComponent","PrinterOutputComponent","DynamicFormControlComponent","FormControlService","FormBuilderComponent","TableBuilderComponent","BaseFormComponent","Ng2GoogleChartsModule","CommonModule","DatePipe","PanelMenuModule","TabViewModule","MenuModule","PasswordModule","InputTextModule","DragulaModule","DragulaService","DragulaExtendedDirective","MatTreeModule","MatIconModule","MatLegacyButtonModule","MatButtonModule","AngularSplitModule","ChangeClientFocusComponent","ManageUsersService","ClientsService","AttorneyInformationComponent","CollectorInformationComponent","AddActivityComponent","AppModule","declarations","providers","provide","useValue","siteKey","recaptcha","bootstrap","NavigationEnd","ngOnDestroy","OnNavigation","unsubscribe","svcClientsService","Search","Edit","menmSubmissionType","Domestic","Foreign","marClientState","marDebtorState","marClaimSubmissionLegalStatus","marTriState","marClaimSubmissionTerm","marClaimSubmissionDocumentType","marClaimSubmissionStatus","marFilesAttached","mfilFileAttachmentData","mstrAttachmentFileName","mstrUserFolderGUID","mstrAttachmentFileUploadBytes","mitmClient","getCurrentNavigation","extras","state","ClaimSubmissionType","mintSubmissionType","events","e","disabled","x","sort","a","b","ClientStateIdent","DebtorStateIdent","GetClientAndStructureByIdent","mintClientFocusIdent","PopulateClientFields","enmClaimSubmissionFormType","Currency","BillExchTriStateIdent","clearValidators","ClearClaim","dirty","ClearControls","ClientNo","ClientNumber","ClientEmail","Email","ClientName","PublicName1","ClientAddress2","Address2","ClientAddress3","Address3","ClientCountryIdent","ClientPhone","Phone","ClientFax","Fax","ClientIdent","GetClaimSubmissionEmail","gstrClaimSubmissionEmailAddress","EditEnabled","objSave","SaveSearchParameters","reset","setValue","ClientContact","DebtorName","DebtorOwner","DebtorContact","DebtorAddress1","DebtorAddress2","DebtorAddress3","DebtorCity","DebtorZip","DebtorCountryIdent","DebtorPhone","DebtorFax","CustomerNo","DebtorEmail","DebtorBank","BankPhone","ClaimSubmissionLegalStatusIdent","DebtAmt","OldestInv","LastPay","ClaimSubmissionTermIdent","RecGoodsTriStateIdent","BillLadingTriStateIdent","ProtestTriStateIdent","BankDemandTriStateIdent","Status","Other","Mail","Comments","FileAttachmentUpload","ClaimSubmissionTypeIdent","ClientTerritory","Referral","FinalDemandTriStateIdent","FileAttachment","PopulateFormFromItem","IsDomesticSubmission","FileSelected","arFiles","rdrReader","FileReader","name","onload","readerEvt","arrayBuffer","target","split","bind","readAsDataURL","UploadFileAttachment","AddAttachmentToClaimSubmission","ClearAttachments","ClearAttachmentsFromClaimSubmission","SubmitClaim","cmdSubmitClaim","AddClaimSubmission","SaveSuccess","focus","ChangeDetectorRef","cdr","marMessages","OnMessagesAdded","MessagesAdded","detectChanges","OnMessagesCleared","DetermineErrorStyle","intMaxABCMessageSeverity","intMaxABCMessageSeverityPriority","intCurrentMessagePriority","objClass","msgMessage","GetABCMessageSeverityPriority","ABCMessageSeverityIdent","SaveFailedMessages","FailedValidation","Low","Moderate","Information","Input","Output","EventEmitter","formControl","tabs","formSubmit","formReset","initialData","columns","nextEvent","masterFormEvents","saveContinue","Save","selectedTab","SetLabels","SetDynamicValues","form","toFormGroup","emit","saveAndContinue","forEach","label","dynamicDataSourceControls","control","datasource","proc","GetABCUsersForStation","resultOptions","Payload","Data","options","y","key","GetAll","entity","handleControlChange","event","actions","onChange","hasOwnProperty","updateSelectDependents","updateSelects","updateValidationDependents","updateValidations","changedControl","newValue","dependentSelects","updateConfig","controlKey","columnName","newKey","dependentValidations","selectedValue","setValidators","minLength","maxLength","updateValueAndValidity","RemitData","element","replacementText","element1","startsWith","shortenedKey","element2","idx","indexOf","ViewChild","ViewContainerRef","ViewEncapsulation","IterableDiffers","ChangeDetectionStrategy","DatatableComponent","SelectionType","FormDataService","iterableDiffers","formData","router","vcRef","activatedRoute","dragulaService","mintRecordIdent","mintCurrentRecordIndex","editRowIdent","_entityName","rows","dataColumns","formChange","self","keys","includes","Rank","iconsCss","sortAscending","sortDescending","pagerLeftArrow","pagerRightArrow","pagerPrevious","pagerNext","searchValues","sv","Active","svKeys","formKeys","keyExists","changes","ngAfterViewInit","editTemplate","showInGrid","toUpperCase","width","entityName","ngOnChanges","Reset","EditRecord","SetEditIdent","SetColumnLabels","AdjustRank","btnClicked","currentRow","storedValue","RecalibrateRows","SaveInlineRank","rowData","entityParam","snapshot","params","Update","onDrop","mydatatable","sorts","prop","dir","args","static","encapsulation","None","changeDetection","OnPush","marEscalations","mstrUsername","mbolRestrictAccess","url","OnEscalationsSet","EscalationsSet","JSON","parse","SearchByEscalation","intCustomerResponseIdent","SearchAccount","data","EscalationCustomerResponseIdent","ClientFocus","mstrClientFocusNumber","mstrClientFocusName","HasClientFocus","ChangeFocus","itmClient","backdrop","SetEscalations","SetLoading","NavigateToEntity","navigateByUrl","skipLocationChange","onLogout","mstrAuthToken","svcMaintenance","OnPrinterSelectionChanged","marPrinters","ChangeChecked","itmItem","intIndex","Selected","ABCDictionary","mstrTableName","mstrOverrideProcedure","mintMaxRecords","marAdditionalParameters","mstrDisplayColumn","marResults","marColumns","mbolDisabled","mfrmSearch","mfrmScreenLocked","bolLocked","LockScreen","mfrmFormControl","GetSearchableLookupValueByTableIdent","Name1","strControl","disable","enable","SelectRecord","Name","intParentRecordIdent","slAdditionalParameters","strControlName","ctlControl","GetFormControlName","SearchableLookupByName1","objColumn","entries","strKey","objVal","ColumnID","ColumnName","ConvertColumnName","MatTreeNestedDataSource","NestedTreeControl","mtrTree","node","Children","mobjClientStructure","mclRootClient","mbolDisplayTree","marSearchResults","hasChild","clClient","strClientNameOrNumber","arClientTree","ClientNameOrNumber","SearchClientsByName","SearchClientByClientNumber","dataNodes","mndCurrentNode","ExpandNode","intClientIdent","ndNodeToExpand","getDescendants","expand","ParentClientIdent","SelectClient","bolFromTree","LeftBound","RightBound","svcManageUsersService","svcDatePipe","CheckUserInPermission","enmABCPermission","ClickABCStaffAccess","ClickABCClientAccess","IsAuthorized","OpenClientFocus","GetWebUserDetails","ClientFocusIdent","Injectable","pageSize","siteURL","draggable","Title","svcTitleService","mbolAuthorized","marUserRoles","marUserPermissions","setTitle","mstrApplicationName","dismissAll","onSignin","frmLoginForm","LoginUser","txtUsername","txtPassword","item","SetUserIdent","stringify","ForgotPassword","parent","ident","pIdent","svcLockingService","svcReporting","marCustomerResponseForSearch","marEscalationCustomerResponseForSearch","marActivity","mintClaimIdent","mitmAccount","mitmPrimaryContact","mintAttorneyIdent","mstrAttorneyName","mstrAttorneyCaseNumber","mstrCurrency","mstrCollectorName","mintCollectorABCUserIdent","mstrCollectorPhone","mbolFireSearch","mintEscalationCustomerResponseIdent","GetScreenInformationForAccountSearch","EscalationCustomerResponseIdentForSearch","OnAccountSearchForEscalation","intEscalationCustomerResponseIdent","SearchAccounts","DocumentNumberForSearch","AccountNumberForSearch","CustomerNameForSearch","ClaimNumberForSearch","CustomerResponseIdentForSearch","FormatAddress","DisplayAddress","trim","StateName","GetAccountDetails","itmAttorney","itmCollector","AttorneyCaseNumber","CollectorName","itmAccount","FileNumber","FormatDateAndTime","strDate","datNewDate","toLocaleDateString","toLocaleTimeString","ShowCollectorInfo","intABCUserIdent","componentInstance","mintABCUserIdent","ShowAttorneyInfo","IncludeWorkedEscalation","FormatDate","AddActivity","mintAccountIdent","PrintCurrencyType","CurrencyTypeName","marFollowUpSetting","enmFollowUpSetting","Immediately","Current","Notes","FollowUpSettingIdent","mitmAttorney","GetAttorneyInformation","CityStateCountry","mitmABCUser","GetABCUserInformation","svcReportingService","globalVars","getReportTypes","GetAllActiveReportTypesAndReports","res","reportTypes","items","d","ReportTypeName","r","obj","category","active","err","openAndCloseMenu","menuCollapsed","mintReportIdent","enmReports","ClaimDetail","marReportReportFormatXRef","marBookCode","GetReportReportFormatXRefByReportIdent","RunReport","intReportIdent","intReportFormatIdent","strFilename","strLogoPath","intStoredProcedureTypeIdent","intReportReportFormatXRefIdent","arTableNames","slParameters","strReportName","ReportReportFormatXRefIdent","enmStoredProcedureType","Single","GenerateReport","ClientSummaryPlacement","marDateParamValue","menmReportType","Placement","Calendar","mintReportIdentMonthly","ClientSummaryMonthly","mintReportIdentPlacement","intReportTypeIdent","GetReportFormats","PopulateDateDropdown","ReportTypeIdent","DateParamIdent","getMonth","getDate","DateParamValue","datCurrentDate","strDateString","setMonth","toLocaleString","month","DateText","DateValue","DailyStatistics","dtGetDate","dtEndDate","StartDate","EndDate","GetUserIdent","MonthlyPerformance","rtRoute","mstrData","mstrReportRawXML","mstrExcelXSLTFile","mstrPDFXSLTFile","mstrReportFileName","mstrPDFType","mstrLogoPath","localStorage","getItem","ExportReportToExcel","GenerateRawReport","enmReportFormat","Excel","parseInt","ExportReportToPDF","PDF","Subject","modalService","saveSumbitEvent","showTable","unassignedClaims","tabsColumns","searchColumns","uniqueColumns","anySearchables","anyUniques","gridPageSize","gridDraggable","currentScreenMode","rowsCount","_pIdent","Add","location","href","entityFullName","initChildComponent","targetEntity","arResults","Get","getElementById","innerHTML","GetChildRows","getJSON","settings","SetSettings","searchable","unique","tab","searhableControl","uniqueControl","SortArray","childForms","markForCheck","frmMaintenance","currentValue","SetSearchValues","payload","SearchActiveOnly","AddEnabled","GlobalSave","DetermineCancelClick","NavigateToParent","controlType","c","bolSearchActiveOnly","appTableBuilder","AddRecord","unshift","z","display","payLoad","getRawValue","SaveRecord","itmIdent","en","IsClaimed","toLowerCase","values","AddNewRecord","bolCloseAfterSave","record","updateAttorneyOptions","UpdateStationHistory","DistributionPercentage","firstName","FirstName","lastName","LastName","selectTypeEl","RemitToCountryIdent","RemitToStateIdent","newkey","newUniqueKeyLabel","UpdateStagingInvoicesAndDisbursement","UpdateRow","UpdateRankByVendorContactIdent","currentRecord","RecordIdent","sortOrder","userIdent","NavigateToChild","array","n1","n2","order","PopulateAttorneyContact","currentKey","UnassignClaims","stationIdent","attorneyId","aOptions","GetSelectedStatesForNewAttorney","option","toISOString","Upsert","Directive","NgControl","action","disableControl","ngControl","HostListener","HostBinding","DropdownDirective","isOpen","toggleOpen","LocalStorage","decoratedPropertyName","defineProperty","set","setItem","ElementRef","MaxLengthDirective","el","_onKeypress","limit","limitTo","nativeElement","id","style","preventDefault","_onPaste","pastedEvent","clipboardData","pastedData","getData","ctrlCurrentVal","combinedLen","lengthToGather","Math","abs","substring","_onDelete","curLen","_onCut","host","SessionStorage","leftActive","leftLabel","rightLabel","dataSource","leftChanged","rightChanged","leftValue","rightValue","leftDisplay","rightDisplay","leftSelection","rightSelection","leftFilterModel","rightFilterModel","selectedStatesForNewAttorney","getOptions","updateDisplayValues","leftFilter","rightFilter","moveSelectionRight","setSelectionActive","concat","v","emitOutputValues","moveAllRight","moveSelectionLeft","moveAllLeft","buildDisplay","sourceData","editIdent","GetEditIdent","xrefIdent","searchParams","xrefRspResponse","xrefData","mapXrefToSource","i","sourceIdent","sourceObj","xrefObj","updateOption","SetSelectedStatesForNewAttorney","controlChanged","onControlChange","validators","email","min","max","pattern","group","validatorOpts","getValidators","Array","marSelectedPrinter","mobjResult","OutputToFile","OutputItems","OutputPath","OutputNotes","OutputToPrinter","CorrespondencePrinterIdent","PrinterSelected","FileSavePath","PrinterSelectionChanged","arSelected","intIdent","strPublicDescription","intABCMessageSeverityIdent","strMessageNumber","PublicDescription","MessageNumber","objValue","Key","CreateHttpPostRequest","strDocumentNumber","strAccountNumber","strCustomerName","strClaimNumber","bolIncludeWorkEscalation","CustomerName","ClaimNumber","CustomerResponseIdent","IncludeWorkEscalation","ABCUserIdent","intAttorneyIdent","AttorneyIdent","intAccountIdent","intClaimIdent","AccountIdent","strNotes","intFollowUpSettingIdent","strUserFolderGUID","bolExcludeForwarding","UserFolderGUID","ExcludeForwarding","frmForm","strUserGUID","arStatus","arDocuments","objParameters","strSelectedStatus","strSelectedDocuments","CreateParametersForSave","UserGuid","SelectedStatus","SelectedDocuments","filFileAttachment","strAttachmentFileName","AttachmentFileName","FileAttachmentBytes","mnyPaymentAmount","strReceiptEmailAddress","strBillingFirstName","strBillingLastName","strBillingAddress1","strBillingCity","intBillingStateIdent","strBillingZipCode","strCardNumber","intExpirationMonth","intExpirationYear","strCardCCV","arDocumentsToPay","ReceiptEmailAddress","DocumentsToPay","strLinkGuid","LinkGuid","strAddress1","strCity","intStateIdent","strZip","CaptchaResponse","strUsername","strPassword","username","password","GetPasswordRequirements","VerifyABCUserLink","strGUID","SecureGUID","ResetPassword","strNewPassword","strConfirmNewPassword","NewPassword","ConfirmNewPassword","strEmailAddress","Username","EmailAddress","strName","strClientNumber","strValue","dblNumber","NumericOrEmptyGreaterThanOrEqualToZero","NumericOrEmpty","CheckboxRequired","HttpClient","http","jsonFolder","ext","fileName","entityObject","intRecordIdent","strTableName","strColumnName","TableName","strName1","strOverrideProcedure","intMaxRecords","OverrideProcedure","MaxRecords","AdditionalParameters","entityId","CreateHttpGetRequest","bolSkipLoading","TablesToRetrieve","CreateHttpPutRequest","Delete","CreateHttpDeleteRequest","SearchABCUserType","bolActiveOnly","ActiveOnly","GetABCUserTypeByIdent","SaveABCUserType","strDesc1","bolActive","Desc1","intStationIdent","intVendorContactIdent","intSortOrder","intUserIdent","SearchManageUserDefinedFields","intUDFTableType","UDFTableType","EditUDF","bolLockRecord","LockRecord","SaveUDF","intUDFTableTypeIdent","strFieldLabel","UDFTableTypeIdent","FieldLabel","ChangeUDFSortOrder","intUDFIdent","intNewRank","UDFIdent","NewRank","UnlockUDF","strCurrentPassword","CurrentPassword","SendResetLink","bolForNewUser","ForNewUser","GetABCUserRoles","throwError","observableThrowError","HttpHeaders","map","catchError","saveAs","$","modSharedService_1","bolLoading","mbolLoading","svcMessagingService","mstrApplicationLogo","mstrApplicationNameLogo","mstrheaderBorder","mstrBaseAPIUrl","apiUrl","marValidationRegEx","expectedPattern","marValidationErrors","regExName","HandleHTTPError","errError","apiResponse","status","documentURI","headers","utf8ArrayToString","Uint8Array","error","Messages","statusText","errMsg","showErrorMessages","isAuthenticated","SetSearchParametersEnabled","bolEnabled","itmRecord","aBytes","sView","nPart","nLen","nIdx","String","fromCharCode","strAPIToCall","objData","bolClearMessages","hdrHeader","obvObserve","post","responseType","withCredentials","observe","pipe","httpResponse","objBlob","intRandom","body","Token","random","Blob","type","substr","put","delete","objError","GetRegExPatternByName","strRegExName","objRegEx","strRegExPattern","itmRegEx","GetRegExNameByPattern","GetErrorMessage","strErrorKey","strExpectedPattern","strRegExPatternName","itmValidation","strDataTable","objPayload","ItemName","FormattedName1","Abbreviation","intABCPermissionIdent","bolPassed","arPermissions","itmPermission","strVariableName","objResults","valResult","intPriority","scrollIntoView","messages","strControlLabel","strCurrentControl","messageLabel","kyKey","enabled","valid","errors","getElementsByName","innerText","parentElement","requiredPattern","remove","UpdateDictionaryValue","adItem","GetDictionaryValue","ConvertDateStringToTime","datDate","intHours","getHours","getMinutes","padStart","GetMessageByNumber","strNumber","arReplacements","ReplacementText","LogFrontendExceptionToDatabase","ObjError","arErrorInfo","message","stack","ErrorInfo","arEscalation","ready","modalContent","modalHeader","addClass","handle","intEscalationCustomerResponse","gstrMinDate","gstrMaxDate","gintMinBucketStartDay","gintMaxBucketStartDay","enmDisbursementType","enmStagingInvoiceStatus","enmPaymentStatus","enmPaymentPlanScheduleType","enmPaymentPlanType","enmPaymentSource","enmInvoiceStatus","enmStagingDisbursementStatus","enmStagingManualEntryBatchStatus","enmStagingInvoicePaymentStatus","enmStagingManualEntryStatus","enmCollectionType","enmStagingDisbursementBatchStatus","enmClientReceivable","enmCurrencyType","enmCashAccounts","enmAccountingForwardingStatus","enmAccountingEntryTypeSource","enmBookAccount","enmBookAccountType","enmStagingInvoiceBatchStatus","enmStagingInvoicePaymentBatchType","enmDisbursementBatchRemittanceStatus","enmLockableResource","enmQueueType","enmQueueRuleType","enmInvoiceType","enmClientInvoicingType","enmClientInvoiceScheduleType","enmClaimStatus","enmQueuePred","enmEquipmentFeeValueType","enmFindersFeeValueType","enmClientRateType","enmAttorneyRateType","enmAttorneyExperienceType","enmAttorneyForwardingRateType","enmAttorneyRateItemType","enmClientRateItemType","enmAttorneyRateValueType","enmClientRateValueType","enmRateCapType","enmStagingInvoicePaymentBatchStatus","enmImportType","enmAccountQueueType","enmDocumentStatus","enmAccountStatus","enmAccountContactStatusType","enmAccountContactSourceType","enmDocumentType","enmCustomerResponseType","enmUDFTableType","enmClaimSubmissionType","enmCustomerResponse","enmEscalationStatus","enmImportStatus","UnlockRecord","intTableToUnlock","RecordsToUnlock","TableToUnlock","UnlockRecordBatch","arItems","strRecords","intTableToLock","RecordsToLock","TableToLock","LockRecordBatch","GetAllMaintenanceTableTypes","GetTotalPaymentsForWeek","intPDFType","ReportIdent","ReportFormatIdent","Filename","LogoPath","StoredProcedureTypeIdent","TableNames","Parameters","ReportName","PDFType","GetTotalActivitiesForWeek","strXMLSource","strXSLTFilePath","strReportFileName","XMLSource","XSLTFilePath","ReportFileName","NgbModalModule","mfrmChangePassword","mintMinNumberPasswordRequirementsVariable","MinNumberPasswordRequirementsVariable","mintPasswordMinLengthVariable","PasswordMinLengthVariable","mintPasswordNonAlphaVariable","PasswordNonAlphaVariable","mintPasswordNumberVariable","PasswordNumberVariable","mintPasswordUpperCaseVariable","PasswordUpperCaseVariable","mintABCUserHistoryIntervalVariable","ABCUserHistoryIntervalVariable","ClearFormControls","ChangePassword","svcAuthenticationService","rtLocation","mfrmForgotPassword","strEmail","UserName","mbolValidURL","mstrSecureGUID","dragula","Group","classSelector","directiveDrop","directiveDrag","subscriptionDrag","subscriptionDrop","container","querySelector","rowParent","cursor","dragulaName","initializeDragula","destroy","bag","drake","checkModel","containers","moves","className","drag","drop","onDropModel","dragulaModel","models","source","modelIndex","previousValue","splice","production","refTableUrl","enableProdMode","platformBrowserDynamic","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[97]}