@csmart/ngc-smart-victim 0.1.7 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- package/csmart-ngc-smart-victim.d.ts +1 -15
- package/esm2020/csmart-ngc-smart-victim.mjs +5 -0
- package/esm2020/lib/caseNote/caseNote.component.mjs +185 -0
- package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -0
- package/esm2020/lib/common-dialog/common-dialog.module.mjs +38 -0
- package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -0
- package/esm2020/lib/contact/contact.component.mjs +140 -0
- package/esm2020/lib/intake.service.mjs +57 -0
- package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +115 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
- package/esm2020/lib/shared/app.shared.module.mjs +213 -0
- package/esm2020/lib/shared/directives/phone-mask.directive.mjs +114 -0
- package/esm2020/lib/shared/validators/date.validator.mjs +59 -0
- package/esm2020/lib/shared/validators/index.mjs +2 -0
- package/esm2020/lib/smart-victim-delete-confirm.component.mjs +53 -0
- package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +958 -0
- package/esm2020/lib/smart-victim.component.mjs +310 -0
- package/esm2020/lib/smart-victim.model.mjs +132 -0
- package/esm2020/lib/smart-victim.module.mjs +138 -0
- package/esm2020/lib/smart-victim.service.mjs +347 -0
- package/esm2020/lib/victim-routing.module.mjs +42 -0
- package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -0
- package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -0
- package/esm2020/public-api.mjs +12 -0
- package/fesm2015/csmart-ngc-smart-victim.mjs +3221 -0
- package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs +3210 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -0
- package/lib/caseNote/caseNote.component.d.ts +6 -2
- package/lib/common-dialog/common-dialog.component.d.ts +4 -1
- package/lib/common-dialog/common-dialog.module.d.ts +6 -0
- package/lib/common-dialog/common-dialog.service.d.ts +4 -1
- package/lib/contact/contact.component.d.ts +4 -1
- package/lib/intake.service.d.ts +3 -0
- package/lib/safetyPlan/serviceProvider.component.d.ts +4 -1
- package/lib/safetyPlan/victimSafetyPlan.component.d.ts +7 -2
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +7 -2
- package/lib/shared/app.shared.module.d.ts +30 -0
- package/lib/shared/directives/phone-mask.directive.d.ts +5 -2
- package/lib/smart-victim-delete-confirm.component.d.ts +3 -0
- package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +9 -4
- package/lib/smart-victim.component.d.ts +8 -3
- package/lib/smart-victim.module.d.ts +47 -0
- package/lib/smart-victim.service.d.ts +3 -0
- package/lib/victim-routing.module.d.ts +5 -0
- package/lib/victimSearch/victimSearchForm.component.d.ts +3 -0
- package/package.json +28 -18
- package/public-api.d.ts +4 -0
- package/bundles/csmart-ngc-smart-victim.umd.js +0 -6434
- package/bundles/csmart-ngc-smart-victim.umd.js.map +0 -1
- package/bundles/csmart-ngc-smart-victim.umd.min.js +0 -16
- package/bundles/csmart-ngc-smart-victim.umd.min.js.map +0 -1
- package/csmart-ngc-smart-victim.metadata.json +0 -1
- package/esm2015/csmart-ngc-smart-victim.js +0 -25
- package/esm2015/lib/caseNote/caseNote.component.js +0 -349
- package/esm2015/lib/common-dialog/common-dialog.component.js +0 -46
- package/esm2015/lib/common-dialog/common-dialog.module.js +0 -32
- package/esm2015/lib/common-dialog/common-dialog.service.js +0 -63
- package/esm2015/lib/contact/contact.component.js +0 -232
- package/esm2015/lib/intake.service.js +0 -183
- package/esm2015/lib/safetyPlan/serviceProvider.component.js +0 -130
- package/esm2015/lib/safetyPlan/victimSafetyPlan.component.js +0 -257
- package/esm2015/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -556
- package/esm2015/lib/shared/app.shared.module.js +0 -81
- package/esm2015/lib/shared/directives/phone-mask.directive.js +0 -168
- package/esm2015/lib/shared/validators/date.validator.js +0 -108
- package/esm2015/lib/shared/validators/index.js +0 -7
- package/esm2015/lib/smart-victim-delete-confirm.component.js +0 -61
- package/esm2015/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1410
- package/esm2015/lib/smart-victim.component.js +0 -476
- package/esm2015/lib/smart-victim.model.js +0 -631
- package/esm2015/lib/smart-victim.module.js +0 -84
- package/esm2015/lib/smart-victim.service.js +0 -792
- package/esm2015/lib/victim-routing.module.js +0 -40
- package/esm2015/lib/victimSearch/VictimSearchFilter.js +0 -20
- package/esm2015/lib/victimSearch/victimSearchForm.component.js +0 -59
- package/esm2015/public-api.js +0 -13
- package/esm5/csmart-ngc-smart-victim.js +0 -25
- package/esm5/lib/caseNote/caseNote.component.js +0 -372
- package/esm5/lib/common-dialog/common-dialog.component.js +0 -48
- package/esm5/lib/common-dialog/common-dialog.module.js +0 -36
- package/esm5/lib/common-dialog/common-dialog.service.js +0 -75
- package/esm5/lib/contact/contact.component.js +0 -285
- package/esm5/lib/intake.service.js +0 -194
- package/esm5/lib/safetyPlan/serviceProvider.component.js +0 -99
- package/esm5/lib/safetyPlan/victimSafetyPlan.component.js +0 -306
- package/esm5/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -628
- package/esm5/lib/shared/app.shared.module.js +0 -85
- package/esm5/lib/shared/directives/phone-mask.directive.js +0 -184
- package/esm5/lib/shared/validators/date.validator.js +0 -108
- package/esm5/lib/shared/validators/index.js +0 -7
- package/esm5/lib/smart-victim-delete-confirm.component.js +0 -51
- package/esm5/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1502
- package/esm5/lib/smart-victim.component.js +0 -528
- package/esm5/lib/smart-victim.model.js +0 -541
- package/esm5/lib/smart-victim.module.js +0 -84
- package/esm5/lib/smart-victim.service.js +0 -1063
- package/esm5/lib/victim-routing.module.js +0 -44
- package/esm5/lib/victimSearch/VictimSearchFilter.js +0 -24
- package/esm5/lib/victimSearch/victimSearchForm.component.js +0 -70
- package/esm5/public-api.js +0 -13
- package/fesm2015/csmart-ngc-smart-victim.js +0 -5690
- package/fesm2015/csmart-ngc-smart-victim.js.map +0 -1
- package/fesm5/csmart-ngc-smart-victim.js +0 -6211
- package/fesm5/csmart-ngc-smart-victim.js.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"csmart-ngc-smart-victim.js","sources":["ng://@csmart/ngc-smart-victim/lib/smart-victim.model.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.service.ts","ng://@csmart/ngc-smart-victim/lib/intake.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-detail/smart-victim-detail.component.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-delete-confirm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/app.shared.module.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.module.ts","ng://@csmart/ngc-smart-victim/lib/shared/validators/date.validator.ts","ng://@csmart/ngc-smart-victim/lib/caseNote/caseNote.component.ts","ng://@csmart/ngc-smart-victim/lib/contact/contact.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlan.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/serviceProvider.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlanDetail.component.ts","ng://@csmart/ngc-smart-victim/lib/victim-routing.module.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/VictimSearchFilter.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/victimSearchForm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/directives/phone-mask.directive.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const SMART_OFFENDER_SERVICE_URL = new InjectionToken<string>('smart offender service url');\r\nexport const SMART_LOOKUP_SERVICE_URL = new InjectionToken<string>('smart lookup service url');\r\nexport const SMART_VICTIM_SERVICE_URL = new InjectionToken<string>('smart victim service url');\r\nexport const SMART_WARRANT_URL = new InjectionToken<string>('smart warrant web url');\r\n\r\n\r\nexport interface ElementsVictim {\r\n victimId: string;\r\n victimType: string;\r\n victimProvider: string;\r\n victimPolicyHolder: string;\r\n startDate: string;\r\n endDate: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}\r\n\r\n\r\n\r\nexport class VictimAdvocate {\r\n constructor(public victimAdvocateId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n\r\n \r\n) { }\r\n}\r\n\r\n\r\nexport class VictimWeaponUse {\r\n constructor(\r\n // public victimWeaponUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public weaponTypeId: string,\r\n\r\n public otherWeapon: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimDrugUse {\r\n constructor(\r\n //public victimDrugUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public drugTypeId: string,\r\n\r\n public otherDrug: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\n\r\n\r\n\r\nexport class VictimSupport {\r\n constructor(\r\n // public victimSupportId: number,\r\n\r\n public victimId: number,\r\n\r\n public victimSupportTypeId: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimGuardian {\r\n constructor(public victimGuardianId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public birthDate: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n \r\n \r\n\r\n ) { }\r\n}\r\n\r\nexport interface CaseNote {\r\n victimId: number;\r\n victimCaseNoteId: number;\r\n caseNoteDate: Date;\r\n contactTypeId: string;\r\n contactType: string;\r\n victimContactPurposeId: string;\r\n victimContactPurpose: string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimFirstName: string;\r\n victimLastName: string;\r\n \r\n}\r\n\r\nexport interface Contact {\r\n victimId: number;\r\n victimContactId: number;\r\n contactDate: Date;\r\n victimContactMethodId: string;\r\n contactMethod: string;\r\n contactedBy: number;\r\n contactedByName: string;\r\n nextContactDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n\r\n \r\n}\r\n\r\n\r\nexport interface VictimSafetyPlan {\r\n victimId: number;\r\n fullName: string;\r\n victimServiceId: number;\r\n goal:string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimServiceStatusId: string;\r\n status: string;\r\n startDate: Date;\r\n vVictimServiceDetails: VictimServiceDetail[];\r\n victimName: String;\r\n \r\n \r\n}\r\n\r\nexport interface VictimServiceDetail{\r\n victimServiceId: number;\r\n victimServiceDetailId: number;\r\n victimServiceTypeId: string;\r\n victimProgramProviderId: string;\r\n victimProgramProvider: string;\r\n modifiedBy: number;\r\n\r\n\r\n}\r\nexport interface VictimServiceStatusHistory{\r\n\r\n victimServiceStatusHistoryId: number;\r\n victimServiceId: string;\r\n victimServiceStatusId: string;\r\n startDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n}\r\n\r\n\r\nexport interface VictimServiceTypeProgramProviderModel {\r\n victimServiceTypeProgramProviderId: number; \r\n victimServiceType: string;\r\n victimProgramProviderId: string;\r\n victimServiceTypeId:string;\r\n victimProgramProvider: string;\r\n }\r\n \r\n export interface ProviderListCollectionModel{\r\n groupId:string;\r\n isDisplay:boolean;\r\n collection:VictimServiceTypeProgramProviderModel[];\r\n }\r\n\r\n\r\n\r\n export interface ProvidersDialogData {\r\n //iepAction: IepAction;\r\n serviceType;\r\n serviceTypeId;\r\n providerCollections: [];\r\n }\r\n\r\n\r\n export class Victim {\r\n constructor(\r\n public victimId: number,\r\n public offenderId: number,\r\n public underSupervisionFlag: string,\r\n public victimOffenderRelationshipTypeId: string,\r\n public lastName: string,\r\n public firstName: string,\r\n public middleName: string,\r\n public prefixId: string | null,\r\n public suffixId: string | null,\r\n public birthDate: string,\r\n public genderCode: string,\r\n public homePhone: string,\r\n public workPhone: string,\r\n public cellPhone: string,\r\n public email: string,\r\n public addressId: number,\r\n public minorFlag: boolean,\r\n public victimAdvocateFlag: string,\r\n\r\n public guardianFirstName: string,\r\n public guardianLastName: string,\r\n public guardianPrefixId: string,\r\n public guardianSuffixId: string,\r\n public guardianNoPhoneFlag: boolean,\r\n public guardianHomePhone: string,\r\n public guardianWorkPhone: string,\r\n public guardianCellPhone: string,\r\n public guardianEmail: string,\r\n public guardianAddressId: number,\r\n public guardianBirthDate: string,\r\n\r\n public advocateFirstName: string,\r\n public advocateLastName: string,\r\n public advocatePrefixId: string,\r\n public advocateSuffixId: string,\r\n public advocateNoPhoneFlag: boolean,\r\n public advocateHomePhone: string,\r\n public advocateWorkPhone: string,\r\n public advocateCellPhone: string,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string,\r\n public commonChildrenFlag: boolean,\r\n public commonChildrenNumber: number,\r\n public cpoExpirationFlag: boolean,\r\n public cpoExpirationDate: string,\r\n public supportInPlaceFlag: boolean,\r\n public weaponInvolvedFlag: boolean,\r\n public drugUseFlag: boolean,\r\n public alcoholUseFlag: boolean,\r\n public accessRisk: string,\r\n public modifiedBy: number,\r\n public relationship: string,\r\n \r\n public vVictimAdvocate: VictimAdvocate,\r\n public vVictimGuardian: VictimGuardian,\r\n \r\n public victimSupports: VictimSupport[],\r\n public victimWeaponUses: VictimWeaponUse[],\r\n public victimDrugUses: VictimDrugUse[],\r\n\r\n public allowCsosaContactFlag: boolean\r\n ) { }\r\n}\r\n\r\n","import { HttpClient,HttpResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SMART_LOOKUP_SERVICE_URL, SMART_OFFENDER_SERVICE_URL,SMART_VICTIM_SERVICE_URL,\r\n VictimListFilter,VictimDrugUse,Victim,VictimSafetyPlan,\r\n CaseNote,Contact,VictimServiceDetail,VictimServiceStatusHistory,VictimAdvocate,VictimGuardian} from './smart-victim.model';\r\nimport { Observable, throwError as observableThrowError} from 'rxjs';\r\nimport { map,catchError, filter } from 'rxjs/operators';\r\nimport { Apollo } from 'apollo-angular';\r\n\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json' });\r\nconst options = { headers: headers };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgcSmartVictimService {\r\n private serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string,\r\n @Inject(SMART_LOOKUP_SERVICE_URL) private smartLookupServiceUrl: string,\r\n @Inject(SMART_VICTIM_SERVICE_URL) private smartVictimServiceUrl: string,\r\n private apollo: Apollo\r\n\r\n ) { }\r\n\r\n // getVictimInsurances(offenderId: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();\r\n // }\r\n\r\n // getVictimInsurance(id: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // } \r\n\r\n // postVictimInsurance(val: any) {\r\n // return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();\r\n // }\r\n\r\n // putVictimInsurance(id: any, val: any) {\r\n // return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();\r\n // }\r\n\r\n // deleteVictimInsurance(id: any) {\r\n // return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // }\r\n \r\n // getVictimInsuranceTypes() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();\r\n // }\r\n\r\n // getVictimInsurancePolicyHolders() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();\r\n // }\r\n\r\n// getVictimInsuranceSwitchReasons() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProviders() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProvider(id) {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();\r\n// }\r\n\r\n// postProviderInformation(val: any) {\r\n// return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();\r\n// }\r\n\r\n\r\n\r\nprivate handleError(error: any) {\r\n console.error(error);\r\n return observableThrowError(error.json().error || 'Server error');\r\n}\r\n\r\ngetDrugsTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetDocketList(offenderId: number) {\r\n const queryString = `\r\n {\r\n findDockets(input: { where: { offenderId:${offenderId} } }) {\r\n totalCount\r\n message\r\n data {\r\n docketId\r\n docketNumber\r\n \r\n }\r\n }\r\n }`;\r\n\r\n return this.http.post<any>(this.serviceApiUrl, { query: queryString }).pipe(\r\n map(({ data }) => {\r\n console.log('dockets for this offender:', data.findDockets.data);\r\n return data.findDockets.data;\r\n }));\r\n\r\n\r\n}\r\n\r\ngetSupportTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetPrefixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetSuffixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetRelationshipTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetGenders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetWeaponTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetFlagOptionYesNoUnknowns() {\r\n return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n}\r\n\r\ngetContactTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactMethods() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactBys(){\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n\r\n }\r\n\r\ngetVictimContactPurposes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getVictimServiceTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getVictimServiceStatus() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getvVictimServiceTypeProgramProviders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\ngetVictim(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe\r\n (\r\n map(res => { \r\n console.log('victim return data');\r\n console.log(res); \r\n return res;\r\n\r\n })\r\n );\r\n}\r\n\r\ngetVictimAdvocate(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\ngetVictimGuardian(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\npostVictims(val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl+ 'Victims', tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictims(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimAdvocate(id: any, val: VictimAdvocate) {\r\n let body: string;\r\n body = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n\r\n\r\n\r\n\r\n}\r\n\r\npostVictimAdvocate(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimGuardian(id: any, val: any) {\r\n console.log('update victim guardian');\r\n console.log(val);\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimGuardian(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ngetVictimDrugUse(val: any): Observable<VictimDrugUse[]>{\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe\r\n (\r\n map((res: VictimDrugUse[]) => { \r\n return res;})\r\n );\r\n}\r\n\r\nputVictimDrugUse(id: any, val: VictimDrugUse[]) {\r\n const tempVal = JSON.stringify(val);\r\n\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimDrugUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\nputVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ndeleteVictims(val: any) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n// //==============Victim Serive===================================\r\n\r\ngetVictims(offenderId: number): Observable <Victim[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)\r\n .pipe(map((res: Victim[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimsByFilter(filter: VictimListFilter): Observable<Victim[]>{\r\n return this.http\r\n .post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })\r\n .pipe(map((res: Victim[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimListByFilter(filter: VictimListFilter) \r\n{\r\n console.log('filer in service');\r\n console.log(filter);\r\n\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)\r\n .pipe();\r\n\r\n}\r\n\r\n\r\ngetCasetNotes(victimId: number): Observable <CaseNote[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)\r\n .pipe(map((res: CaseNote[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n\r\n}\r\naddCaseNote(caseNote: CaseNote) {\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);\r\n \r\n }\r\n\r\n \r\nupdateCaseNote(caseNote: CaseNote){\r\n\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options)\r\n\r\n ;\r\n }\r\n\r\ndeleteCaseNote(id: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);\r\n }\r\n\r\n getContacts(victimId: number): Observable <Contact[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)\r\n .pipe(map((res: Contact[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n addContact(contact: Contact) {\r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);\r\n \r\n }\r\n \r\n \r\n updateContact(contact: Contact){\r\n \r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options)\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\ngetSafetyPlans(victimId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n }\r\n\r\ngetVictimServices(victimServiceId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n\r\ngetVictimServiceDetail(victimServiceId: number): Observable <VictimServiceDetail[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)\r\n .pipe(map((res: VictimServiceDetail[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n\r\n}\r\naddSafetyPlan(victimSafetyPlan: VictimSafetyPlan) {\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServices/', body, options)\r\n .pipe();\r\n \r\n }\r\nupdateSafetyPlan(victimSafetyPlan: VictimSafetyPlan){\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options)\r\n\r\n ;\r\n }\r\naddVictimServiceStatus(victimServiceStatusHistory: VictimServiceStatusHistory){\r\n let body: string;\r\n body = JSON.stringify(victimServiceStatusHistory);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);\r\n\r\n }\r\n\r\ngetServiceStatusHistories(victimServiceId: number){\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)\r\n .pipe(\r\n map((res: VictimServiceStatusHistory[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError)\r\n );\r\n}\r\n\r\ndeleteSafetyPlan(victimServiceId: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);\r\n\r\n }\r\naddPlanProvider(victimServiceDetail:VictimServiceDetail){\r\n let body: string;\r\n body = JSON.stringify(victimServiceDetail);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)\r\n .pipe();\r\n\r\n }\r\n\r\ndeleteProvider(victimProgramProviderId: string, staffId: number){\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);\r\n\r\n}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { Injectable,Inject } from '@angular/core';\r\nimport { SMART_OFFENDER_SERVICE_URL} from './smart-victim.model';\r\n\r\n\r\nconst headers = new Headers({ 'Content-Type': 'application/json' });\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IntakeServicesComponent {\r\n //serviceData = environment.smartOffenderServiceUrl;\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string, \r\n ) {}\r\n getIntakeByOffender(offenderId: any): Observable<Intake> {\r\n return this.http\r\n .get<Intake>(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)\r\n .pipe();\r\n }\r\n\r\n updateIntakeSteps(\r\n offenderId: number,\r\n intakeStepStatus: IntakeStepStatusModel,\r\n ) {\r\n return this.http.put(\r\n this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId,\r\n intakeStepStatus,\r\n );\r\n }\r\n}\r\n\r\nexport interface Intake {\r\n intakeId: number;\r\n offenderId: number;\r\n intakeOffenderReportStatusId?: any;\r\n startDate: string;\r\n endDate?: any;\r\n assignmentId?: any;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatus {\r\n intakeStepStatusId: number;\r\n intakeId: number;\r\n intakeStepId: string;\r\n completedDate: Date;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatusModel\r\n{\r\n offenderId: number;\r\n intakeStepId: string;\r\n modifiedBy: number;\r\n}\r\n\r\nexport class IntakeStep{\r\n public static PhysicalInformation = \"PHYSIN\";\r\n public static Photo = \"PHOTOS\";\r\n public static HousingInformation = \"HOUSE\";\r\n public static DocketInformation = \"DOCKET\";\r\n public static Alias = \"ALIAS\";\r\n public static IntakeBasicInformation = \"INTKBI\";\r\n public static ContactInformation = \"CONTCT\";\r\n public static DeceasedInformation = \"DEATH\";\r\n public static DriversLicense = \"DRVLIC\";\r\n public static EmploymentInformation = \"EMPLOY\";\r\n public static GangAffiliation = \"GANG\";\r\n public static HealthInsurance = \"HLTHINS\";\r\n public static Identification = \"IDNTFCTN\";\r\n public static InternetIdentifier = \"INTERNETID\";\r\n public static MilitaryService = \"MLTSVC\";\r\n public static School = \"SCHOOL\";\r\n public static SelectiveService = \"SLCTVSVC\";\r\n public static Vehicle = \"VEHICLE\";\r\n public static VictimInformation = \"VICTIM\";\r\n public static WarrantInformation = \"WARRNT\";\r\n public static RunningRecord = \"RUNREC\";\r\n public static Signature = \"SIGN\";\r\n}","import { DOCUMENT, DatePipe } from '@angular/common';\r\nimport { Component, OnInit, OnChanges, ViewChild, Input, Output, AfterViewInit, Inject} from '@angular/core';\r\nimport { ActivatedRoute,Router } from '@angular/router';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { MatPaginator, MatSort,MatSnackBar } from '@angular/material';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material';\r\nimport {\r\n SelectedOffender,\r\n LoginStaff,\r\n SmartAccessControlConfig,\r\n AccessType,\r\n} from \"@csmart/ngc-smart-core\";\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { ElementsVictim, VictimListFilter, Victim, SMART_WARRANT_URL } from './smart-victim.model';\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\n//import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\n\r\nimport {\r\n IntakeStepStatusModel,\r\n IntakeStep,\r\n IntakeServicesComponent,\r\n} from './intake.service';\r\n@Component({\r\n selector: \"csmart-victim\",\r\n templateUrl: \"./smart-victim.component.html\",\r\n styleUrls: [\"./smart-victim.component.css\"],\r\n})\r\nexport class NgcSmartVictimComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input() offenderId: number;\r\n @Input() staffId: number;\r\n @Input() staffRole: string;\r\n @Input() showCaseNote: string;\r\n @Input() showSafetyPlan: string;\r\n //@Input() showAdd: string;\r\n @Input() showAdd: boolean;\r\n @Input() showEdit: string;\r\n @Input() showRelationshipColumn: boolean;\r\n @Input() showOffenderNameColumn: boolean;\r\n @Input() showOffenderPhoneColumn: boolean;\r\n @Input() showSearchForm: boolean;\r\n @Input() accessByModule: string;\r\n @Input() intakeFlag: string;\r\n @Input() appModuleId = '';\r\n @Input() activatedRoute: ActivatedRoute = null;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n // @ViewChild(SmartVictimDetailComponent) child;\r\n\r\n displayedColumns: string[];\r\n victims: Victim[] = [];\r\n victimDetail = <Victim>{};\r\n showDetail = false;\r\n victimListFilter: VictimListFilter = new VictimListFilter();\r\n victimListDataSource = new MatTableDataSource();\r\n doSpin: boolean = false;\r\n showListFlag: boolean = false;\r\n msg: string = \"\";\r\n isIntake = false;\r\n\r\n updateAccessControlConfig: SmartAccessControlConfig;\r\n createAccessControlConfig: SmartAccessControlConfig;\r\n deleteAccessControlConfig: SmartAccessControlConfig;\r\n constructor(\r\n private dialog: MatDialog,\r\n private victimService: NgcSmartVictimService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private snackBar: MatSnackBar,\r\n private intakeService: IntakeServicesComponent,\r\n @Inject(SMART_WARRANT_URL) private smartWarrantUrl: string,\r\n @Inject(DOCUMENT) private document: any\r\n ) {}\r\n\r\n // private onChange(filter: VictimListFilter) {\r\n // console.log('filter in onchange');\r\n // console.log(filter);\r\n // this.getVictimList(filter);\r\n // }\r\n\r\n applyFilter(filterValue: string) {\r\n this.victimListDataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n addRecord() {\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.victimDetail = null;\r\n this.showListFlag = false;\r\n }\r\n\r\n editVictimDetail(record) {\r\n console.log(\"victim edit record\");\r\n console.log(record);\r\n console.log(record.victimId);\r\n this.victimDetail = record;\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.showListFlag = false;\r\n }\r\n\r\n save(detail: Victim) {\r\n this.showDetail = false;\r\n this.showAdd = true;\r\n this.showListFlag = true;\r\n }\r\n\r\n cancel() {\r\n this.showDetail = false;\r\n this.victimDetail = <Victim>{};\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.victimListDataSource.paginator = this.paginator;\r\n this.victimListDataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateAccessControlConfig = {\r\n accessType: AccessType.UPDATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.createAccessControlConfig = {\r\n accessType: AccessType.CREATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.deleteAccessControlConfig = {\r\n accessType: AccessType.DELETE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n var myPath = this.router.url.slice(-10);\r\n\r\n console.log(\"smart-victim ngOnInit\");\r\n console.log(this.intakeFlag);\r\n console.log(myPath);\r\n\r\n if (this.intakeFlag || myPath == \"victimHome\") {\r\n this.isIntake = true;\r\n }\r\n\r\n this.displayedColumns = [\"lastName\", \"firstName\"];\r\n\r\n if (\r\n this.showRelationshipColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"relationship\");\r\n }\r\n if (this.showOffenderNameColumn == true) {\r\n this.displayedColumns.push(\"offenderName\");\r\n }\r\n\r\n if (\r\n this.showOffenderPhoneColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"homePhone\");\r\n }\r\n\r\n this.displayedColumns.push(\"victimId\");\r\n\r\n if (this.showSearchForm == true) {\r\n this.showListFlag = false;\r\n }\r\n\r\n console.log(\"this.showSearchForm\");\r\n console.log(this.showSearchForm);\r\n console.log(\"myPath\");\r\n console.log(myPath);\r\n\r\n if (\r\n this.showSearchForm == false ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n var myOffenderId;\r\n if (this.offenderId) {\r\n myOffenderId = this.offenderId;\r\n } else {\r\n console.log(\"back from previous page\");\r\n this.showAdd = true;\r\n this.showRelationshipColumn = true;\r\n //this.displayedColumns.push(\"relationship\");\r\n this.showOffenderPhoneColumn = true;\r\n // this.displayedColumns.push(\"homePhone\");\r\n this.accessByModule = \"true\";\r\n this.showEdit = \"true\";\r\n this.showCaseNote = \"true\";\r\n this.showSafetyPlan = \"true\";\r\n\r\n myOffenderId = data.selectedOffender.offenderId;\r\n }\r\n\r\n const victimListFilter: VictimListFilter = {\r\n offenderId: myOffenderId,\r\n lastName: null,\r\n firstName: null,\r\n pdid: null,\r\n birthDate: null,\r\n };\r\n\r\n console.log(\"victimListFilter in smar-victim componenet\");\r\n console.log(victimListFilter);\r\n\r\n this.victimService\r\n .getVictimListByFilter(victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n\r\n this.victims = data;\r\n\r\n data.forEach((d) => {\r\n if (d.homePhone == null || d.homePhone == \"\") {\r\n d.homePhone = d.cellPhone;\r\n }\r\n if (d.homePhone == null || d.homePhone == \"\") {\r\n d.homePhone = d.workPhone;\r\n }\r\n });\r\n console.log(\"victim data at line 179\");\r\n console.log(this.victims);\r\n console.log(\"showListFlag\");\r\n console.log(this.showListFlag);\r\n this.showListFlag = true;\r\n if (data.length == 0) {\r\n this.msg = \"No Record Found!\";\r\n }\r\n });\r\n } else {\r\n console.log(\"find filter\");\r\n console.log(this.victimListFilter);\r\n\r\n if (this.showListFlag === true) {\r\n if (this.victimListFilter != null) {\r\n this.victimService\r\n .getVictimListByFilter(this.victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n this.victims = data;\r\n console.log(\"victim data at line 201\");\r\n console.log(data);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n formatPhoneNumber(phoneNumberString) {\r\n if (!phoneNumberString) return \"\";\r\n var cleaned = (\"\" + phoneNumberString).replace(/\\D/g, \"\");\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return \"(\" + match[1] + \") \" + match[2] + \"-\" + match[3];\r\n }\r\n return \"\";\r\n }\r\n\r\n saveIntake() {\r\n if (!this.isIntake) {\r\n return;\r\n }\r\n const intakeStep = <IntakeStepStatusModel>{\r\n intakeStepId: IntakeStep.VictimInformation,\r\n offenderId: this.offenderId,\r\n modifiedBy: this.staffId,\r\n };\r\n this.intakeService\r\n .updateIntakeSteps(this.offenderId, intakeStep)\r\n .subscribe((res) => {\r\n console.log(\"save intake step.\");\r\n this.snackBar.open(\"Status Saved.\", \"\", {\r\n duration: 3000,\r\n });\r\n //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });\r\n\r\n this.document.location.href = `${this.smartWarrantUrl}/warrant`;\r\n });\r\n }\r\n\r\n goToCaseNote(victimId: number) {\r\n this.router.navigate([\"casenote\", victimId]);\r\n }\r\n\r\n goToSaftyPlan(victimId: number) {\r\n this.router.navigate([\"saftyPlan\", victimId]);\r\n }\r\n\r\n getVictimList(filter: VictimListFilter) {\r\n this.victimListFilter = filter;\r\n console.log(\"this.victimListFilter inside getVictimList\");\r\n console.log(this.victimListFilter);\r\n this.doSpin = true;\r\n this.victimService.getVictimListByFilter(filter).subscribe(\r\n (data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n\r\n this.doSpin = !this.doSpin;\r\n\r\n if (data.length > 0) {\r\n this.showListFlag = true;\r\n } else {\r\n this.msg = \"No record found!\";\r\n }\r\n },\r\n (err) => {\r\n this.doSpin = !this.doSpin;\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {MatDialog, MatDialogRef} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-common-dialog',\r\n templateUrl: './common-dialog.component.html',\r\n styleUrls: ['./common-dialog.component.css']\r\n})\r\nexport class CommonDialogComponent implements OnInit {\r\npublic title: string;\r\npublic message: string;\r\npublic cmdYesTitle: string =\"Yes\";\r\npublic cmdNoTitle: string = \"No\";\r\n\r\n constructor(public commondialogRef: MatDialogRef<CommonDialogComponent>) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CommonDialogService {\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(title: string, message: string, cmdYesTitle: string, cmdNoTitle: string): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdYesTitle;\r\n dialogRef.componentInstance.cmdNoTitle = cmdNoTitle;\r\n return dialogRef.afterClosed();\r\n }\r\n\r\n public warning(title: string, message: string, cmdOkTitle: string, ): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdOkTitle;\r\n \r\n return dialogRef.afterClosed();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl,Validators,ValidatorFn } from '@angular/forms';\r\nimport { MatDialog,MatSnackBar,MatRadioChange, MatInput, MatSelect, MatRadioGroup } from '@angular/material';\r\nimport { Victim,VictimDrugUse, Contact, VictimAdvocate,VictimGuardian,VictimWeaponUse,VictimSupport } from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { DatePipe, formatDate, Location} from '@angular/common';\r\nimport { map } from 'rxjs/operators';\r\nimport { coerceBooleanProperty}from'@angular/cdk/coercion';\r\nimport { Moment } from 'moment';\r\nimport { truncate } from 'fs';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { AddressValidators, SmartAddressComponent } from '@csmart/ngc-smart-address';\r\n\r\nexport interface BooleanFn {\r\n (): boolean;\r\n}\r\nexport interface StringFn {\r\n (): string;\r\n}\r\n\r\nexport function conditionalValidator(predicate: BooleanFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()) {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n\r\nexport function stringConditionalValidator(predicate: StringFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()=='YS') {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n@Component({\r\n selector: 'csmart-victim-detail',\r\n templateUrl: './smart-victim-detail.component.html',\r\n styleUrls: ['./smart-victim-detail.component.css'],\r\n providers: [CommonDialogService]\r\n})\r\nexport class SmartVictimDetailComponent implements OnInit, OnChanges {\r\n @Input() victimDetail = <Victim>{};\r\n @Input() staffId: number;\r\n @Input() offenderId: number;\r\n @Input() isIntake: boolean;\r\n\r\n @Output() onSave = new EventEmitter();\r\n @Output() onCancel = new EventEmitter();\r\n \r\n\r\n victimId: number;\r\n victimForm: FormGroup;\r\n\r\n drugs: any;\r\n victimSupportTypes: any;\r\n prefixes: any;\r\n //victim: Victim = <Victim>{};\r\n suffixes: any;\r\n relationshipTypes: any;\r\n genders: any;\r\n docketlist: any;\r\n weaponTypes: any;\r\n flagOption: any;\r\n selectedWeaponTypes: any;\r\n selectedVictimSupportTypes: any;\r\n selectedDrugs: any;\r\n id: any;\r\n hidden: boolean=true;\r\n private sub: any;\r\n victimAdvocate: VictimAdvocate = <VictimAdvocate>{};\r\n victimGuardian: VictimGuardian = <VictimGuardian>{}; \r\n victimWeaponUse: VictimWeaponUse;\r\n victimSupport: VictimSupport;\r\n victimDrugUse: VictimDrugUse;\r\n result: any;\r\n editMode: any;\r\n guardianTabFlag: boolean = false;\r\n advocateTabFlag: boolean = false;\r\n commonChildrenDivFlag: boolean = false;\r\n cpoExpirationDivFlag : boolean = false;\r\n supportInPlaceDivFlag: boolean = false;\r\n weaponInvolvedDivFlag: boolean = false;\r\n drugUseDivFlag: boolean = false;\r\n showDelete: boolean = false;\r\n addressId: number = 0;\r\n advocateAddressId: number = 0;\r\n guardianAddressId: number = 0;\r\n datePipe = new DatePipe('en-US');\r\n emailPattern = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\r\n phoneNumber = \"\\\\d{10}\";\r\n editVictim: Victim = <Victim>{};\r\n victimAge: number;\r\n otherWeaponFlag: boolean = false;\r\n otherDrugFlag: boolean = false;\r\n\r\n contactDataSource= new MatTableDataSource();\r\n contactList: Contact[];\r\n guardianPhoneExistFlag: boolean = false;\r\n advocatePhoneExistFlag: boolean = false;\r\n phoneValidationFlag: boolean = false;\r\n guaridanNoPhoneChkFlag: boolean = true;\r\n advocateNoPhoneChkFlag: boolean = true;\r\n\r\n addressValidators: AddressValidators = {\r\n street: [],\r\n street2: [],\r\n city: [],\r\n stateCode: [],\r\n zipCode: [],\r\n psaCode: [],\r\n };\r\n\r\n constructor(\r\n private location: Location,\r\n private formBuilder: FormBuilder, \r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private commonDialogService: CommonDialogService,\r\n private victimService: NgcSmartVictimService) {\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n \r\n this.victimForm = this.formBuilder.group({\r\n underSupervisionFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n victimOffenderRelationshipTypeId:new FormControl('', Validators.compose([ Validators.required])),\r\n lastName: new FormControl('', Validators.compose([ Validators.required])),\r\n firstName: new FormControl('', Validators.compose([ Validators.required])),\r\n middleName: new FormControl('', ),\r\n prefixId: new FormControl('', ),\r\n suffixId: new FormControl('', ),\r\n genderCode:new FormControl('', ),\r\n birthDate: new FormControl('', ),\r\n homePhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n cellPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n workPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n email:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n minorFlag:new FormControl('', Validators.compose([ Validators.required])),\r\n victimAdvocateFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n guardianLastName:new FormControl('', ),\r\n guardianFirstName: new FormControl('',),\r\n guardianPrefixId:new FormControl('', ),\r\n guardianSuffixId: new FormControl('', ), \r\n //guardianGender:new FormControl('', ),\r\n guardianBirthDate: new FormControl('', ),\r\n guardianNoPhoneFlag:new FormControl(true),\r\n\r\n guardianHomePhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianCellPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianWorkPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n \r\n \r\n guardianEmail:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n advocateNoPhoneFlag: new FormControl(true),\r\n \r\n\r\n advocateWorkPhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateHomePhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateCellPhone: new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n \r\n\r\n advocateSuffixId:new FormControl('', ),\r\n advocatePrefixId: new FormControl('', ),\r\n advocateFirstName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required, 'illuminatiError')),\r\n advocateLastName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required,'illuminatiError')),\r\n advocateEmail: new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n emergencyContact: new FormControl('', ),\r\n emergencyContactPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n emergencyChildren: new FormControl('', ),\r\n emergencyCpo: new FormControl('', ),\r\n emergencyDrug:new FormControl('', ),\r\n emergencySupport: new FormControl('', ),\r\n emergencyWeapon: new FormControl('', ),\r\n drug: new FormControl('', ),\r\n weapon: new FormControl('', ),\r\n support: new FormControl('', ),\r\n commonChildrenFlag: new FormControl('', ),\r\n commonChildrenNumber:new FormControl('', ),\r\n cpoExpirationFlag: new FormControl('', ),\r\n cpoExpirationDate: new FormControl('', ),\r\n accessRisk:new FormControl('', ),\r\n drugUseFlag:new FormControl('', ),\r\n supportInPlaceFlag: new FormControl('', ),\r\n weaponInvolvedFlag: new FormControl('', ),\r\n otherWeapon: new FormControl('', ),\r\n otherDrug: new FormControl('', ),\r\n alcoholUseFlag:new FormControl('', ),\r\n victimSupports:new FormControl('', ),\r\n victimWeaponUses:new FormControl('', ),\r\n victimDrugUses:new FormControl('', ),\r\n allowCsosaContactFlag: new FormControl('', ),\r\n \r\n \r\n});\r\n\r\n this.victimForm.markAsPristine();\r\n\t\tthis.victimForm.markAsUntouched();\r\n\r\n }\r\n\r\n private _getVictim() {\r\n if (this.victimId === 0) { \r\n \r\n return; \r\n };\r\n\t\tif (this.editMode == true) {\r\n console.log('find victim id inside getVictim');\r\n console.log(this.victimId);\r\n\r\n if (this.victimId === undefined) {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n });\r\n }\r\n\r\n this.victimService.getVictim(this.victimId)\r\n .subscribe((victim: Victim) => {\r\n console.log('victim data 1');\r\n console.log(victim);\r\n this.editVictim = <Victim>victim;\r\n \r\n var supportsData =[];\r\n this.editVictim.victimSupports.forEach( t=>{supportsData.push(t.victimSupportTypeId); } )\r\n const victimSupportsControl = this.victimForm.get('victimSupports');\r\n victimSupportsControl.setValue(supportsData);\r\n\r\n\r\n var weaponUsesData =[];\r\n var otherWeapon = \"\";\r\n this.editVictim.victimWeaponUses.forEach( t=>{\r\n weaponUsesData.push(t.weaponTypeId); \r\n if (t.weaponTypeId == \"OTHER\"){\r\n otherWeapon = t.otherWeapon;\r\n this.otherWeaponFlag = true;\r\n }\r\n \r\n } )\r\n\r\n\r\n const victimWeaponUsesControl = this.victimForm.get('victimWeaponUses');\r\n victimWeaponUsesControl.setValue(weaponUsesData);\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValue(otherWeapon);\r\n\r\n\r\n //this.weaponUsesData = this.editVictim.victimWeaponUses;\r\n \r\n var drugUseData =[];\r\n var otherDrug = \"\";\r\n\r\n console.log('load this.editVictim.victimDrugUses');\r\n console.log(this.editVictim.victimDrugUses);\r\n this.editVictim.victimDrugUses.forEach( t=>{\r\n \r\n if (t.drugTypeId === null){\r\n otherDrug = t.otherDrug;\r\n this.otherDrugFlag = true;\r\n t.drugTypeId ='OTHER';\r\n\r\n }\r\n drugUseData.push(t.drugTypeId);\r\n \r\n } )\r\n\r\n console.log('this.editVictim.victimDrugUses after push');\r\n console.log(drugUseData);\r\n\r\n\r\n\r\n const victimDrugUsesControl = this.victimForm.get('victimDrugUses');\r\n victimDrugUsesControl.setValue(drugUseData);\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValue(otherDrug);\r\n\r\n\r\n\r\n //contact\r\n this.victimService.getContacts(this.victimId).subscribe(\r\n contactList => {\r\n console.log('contactList');\r\n console.log(contactList);\r\n this.contactList = contactList; \r\n this.contactDataSource.data = this.contactList;\r\n }\r\n );\r\n\r\n //no phone field\r\n\r\n if ( this.editVictim.guardianNoPhoneFlag === false ){\r\n this.victimForm.patchValue({guardianNoPhoneFlag: false});\r\n }\r\n if ( this.editVictim.advocateNoPhoneFlag === false ){\r\n this.victimForm.patchValue({advocateNoPhoneFlag: false});\r\n }\r\n\r\n }, error => {\r\n this.snackBar.open(\"Error occured while retriving Victim Information. Please try again.\");\r\n });\r\n return;\r\n\t\t} else {\r\n //new\r\n\r\n }\r\n }\r\n \r\n ngOnChanges() {\r\n \r\n }\r\n\r\n onAddressChange(addressId) { \r\n this.victimForm.patchValue({addressId: addressId})\r\n this.addressId = addressId;\r\n }\r\n onGuardianAddressChange(MyGuardianAddressId) { \r\n this.victimForm.patchValue({guardianAddressId: MyGuardianAddressId})\r\n this.guardianAddressId = MyGuardianAddressId;\r\n }\r\n onAdvocateAddressChange(MyAdvocateAddressId) { \r\n this.victimForm.patchValue({advocateAddressId: MyAdvocateAddressId})\r\n this.advocateAddressId = MyAdvocateAddressId;\r\n }\r\n cancel() {\r\n this.victimForm.reset();\r\n}\r\n\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n console.log('show offenderId');\r\n console.log(this.offenderId);\r\n console.log('show staffId');\r\n console.log(this.staffId);\r\n console.log('show isIntake');\r\n console.log(this.isIntake);\r\n //this.victimDetail.guardianNoPhoneFlag = true;\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n //this.victimForm.get('guardianNoPhoneFlag').setValue(true);\r\n\r\n //required field\r\n const requiredImplementation = {get:function():boolean{if(this._required){return this._required;}\r\n if(this.ngControl&&this.ngControl.control&&this.ngControl.control.validator\r\n ){const emptyValueControl=Object.assign({},\r\n this.ngControl.control);(emptyValueControl as any).value=null;\r\n return('required'in(this.ngControl.control.validator(emptyValueControl)||{}));}\r\n return false;},set:function(value:boolean){this._required=coerceBooleanProperty(value);},};\r\n Object.defineProperty(MatInput.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatSelect.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatRadioGroup.prototype,'required',requiredImplementation,);\r\n //required field end\r\n\r\n \r\n\r\n if (this.victimDetail!=null) {\r\n // edit record\r\n this.editMode = true; \r\n this.showDelete= true; \r\n this.victimId = this.victimDetail.victimId;\r\n \r\n this.guardianTabFlag = this.victimDetail.minorFlag;\r\n\r\n \r\n if (this.victimDetail.victimAdvocateFlag=='YS'){\r\n this.advocateTabFlag = true;\r\n }\r\n\r\n if (this.otherWeaponFlag == true){\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n this.cpoExpirationDivFlag =this.victimDetail.cpoExpirationFlag;\r\n this.commonChildrenDivFlag = this.victimDetail.commonChildrenFlag;\r\n this.supportInPlaceDivFlag= this.victimDetail.supportInPlaceFlag;\r\n this.weaponInvolvedDivFlag= this.victimDetail.weaponInvolvedFlag;\r\n this.drugUseDivFlag= this.victimDetail.drugUseFlag;\r\n this.addressId = this.victimDetail.addressId;\r\n this.guardianAddressId = this.victimDetail.guardianAddressId;\r\n this.advocateAddressId = this.victimDetail.advocateAddressId;\r\n\r\n this._getVictim();\r\n\r\n } else {\r\n //add new record\r\n this.victimForm.patchValue({guardianNoPhoneFlag: true});\r\n this.victimForm.patchValue({advocateNoPhoneFlag: true});\r\n \r\n }\r\n\r\n this.victimService.getFlagOptionYesNoUnknowns().subscribe(\r\n (items: any) => {\r\n this.flagOption = items;\r\n }\r\n );\r\n this.victimService.getGenders().subscribe(\r\n (items: any) => {\r\n this.genders = items;\r\n }\r\n );\r\n this.victimService.getPrefixes().subscribe(\r\n (items: any) => {\r\n this.prefixes = items;\r\n }\r\n );\r\n this.victimService.getSuffixes().subscribe(\r\n (items: any) => {\r\n this.suffixes = items;\r\n }\r\n );\r\n this.victimService.getRelationshipTypes().subscribe(\r\n (items: any) => {\r\n this.relationshipTypes = items.filter( (y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' ));\r\n }\r\n );\r\n this.victimService.getSupportTypes().subscribe(\r\n (items: any) => {\r\n this.victimSupportTypes = items;\r\n }\r\n );\r\n this.victimService.getWeaponTypes().subscribe(\r\n (items: any) => {\r\n this.weaponTypes = items;\r\n }\r\n );\r\n this.victimService.getDrugsTypes().subscribe(\r\n (items: any) => {\r\n console.log('drug lookup items');\r\n console.log(items);\r\n this.drugs = items;\r\n this.drugs.push({drugTypeId: 'OTHER', name: 'Other'});\r\n console.log(this.drugs);\r\n }\r\n );\r\n // this.victimService.getDocketList(this.offenderId).subscribe(\r\n // (items: any) => {\r\n // this.docketlist = items;\r\n // }\r\n\r\n // );\r\n\r\n this.victimForm.get('minorFlag').valueChanges\r\n .subscribe(value => {\r\n // this.victimForm.get('guardianFirstName').updateValueAndValidity();\r\n // this.victimForm.get('guardianLastName').updateValueAndValidity();\r\n this.victimForm.get('guardianWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('guardianHomePhone').updateValueAndValidity();\r\n this.victimForm.get('guardianCellPhone').updateValueAndValidity();\r\n \r\n });\r\n\r\n\r\n this.victimForm.get('victimAdvocateFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('advocateFirstName').updateValueAndValidity();\r\n this.victimForm.get('advocateLastName').updateValueAndValidity();\r\n this.victimForm.get('advocateWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('advocateHomePhone').updateValueAndValidity();\r\n this.victimForm.get('advocateCellPhone').updateValueAndValidity();\r\n \r\n });\r\n\r\n }\r\n\r\n back(){\r\n\r\n //this.onSave.emit(this.victimDetail);\r\n this.router.navigate(['victimList']);\r\n \r\n }\r\n\r\n deleteVictim() {\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this Victim?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this.victimService.deleteVictims(this.victimDetail.victimId)\r\n .subscribe(result => {\r\n this.snackBar.open('Delete Successfully!', '', {\r\n duration: 3000, });}\r\n \r\n );\r\n // this.router.navigate(['victim']);\r\n this.onSave.emit(this.victimDetail);\r\n }\r\n });\r\n\r\n }\r\n\r\n radioMinorChange($event: MatRadioChange){\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n //const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n \r\n if ($event.value === true) {\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n \r\n \r\n }\r\n else{\r\n this.guardianTabFlag = false;\r\n // guardianLastNameControl.clearValidators();\r\n // guardianFirstNameControl.clearValidators();\r\n \r\n \r\n }\r\n\r\n\t\t//guardianLastNameControl.updateValueAndValidity();\r\n // guardianFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioAdvocateChange($event: MatRadioChange){\r\n\r\n const advocateLastNameControl = this.victimForm.get('advocateLastName');\r\n const advocateFirstNameControl = this.victimForm.get('advocateFirstName');\r\n // const advocateNoPhoneControl = this.victimForm.get('advocateNoPhoneFlag');\r\n \r\n \r\n\r\n if ($event.value === \"YS\") {\r\n this.advocateTabFlag = true;\r\n advocateLastNameControl.setValidators(Validators.required);\r\n advocateFirstNameControl.setValidators(Validators.required);\r\n \r\n \r\n }\r\n else{\r\n this.advocateTabFlag = false;\r\n \r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\r\n\r\n }\r\n\r\n advocateLastNameControl.updateValueAndValidity();\r\n advocateFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioCicChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.commonChildrenDivFlag = true;\r\n // requrie field\r\n this.setValidators('commonChildren');\r\n }\r\n else{\r\n this.commonChildrenDivFlag = false;\r\n }\r\n }\r\n\r\n setValidators(type) {\r\n if(type == 'commonChildren'){\r\n this.victimForm.get('commonChildrenNumber').clearValidators();\r\n this.victimForm.get('commonChildrenNumber').setValidators(Validators.required);\r\n }\r\n else if (type == 'cpo'){\r\n this.victimForm.get('cpoExpirationDate').clearValidators();\r\n this.victimForm.get('cpoExpirationDate').setValidators(Validators.required);\r\n\r\n }\r\n }\r\n radioSupportChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.supportInPlaceDivFlag = true;\r\n }\r\n else{\r\n this.supportInPlaceDivFlag = false;\r\n }\r\n }\r\n radioWeaponChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.weaponInvolvedDivFlag = true;\r\n }\r\n else{\r\n this.weaponInvolvedDivFlag = false;\r\n }\r\n }\r\n radioDrugChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.drugUseDivFlag = true;\r\n }\r\n else{\r\n this.drugUseDivFlag = false;\r\n }\r\n }\r\n\r\n radioCpoChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.cpoExpirationDivFlag = true;\r\n this.setValidators('cpo');\r\n }\r\n else{\r\n this.cpoExpirationDivFlag = false;\r\n }\r\n }\r\n\r\n handleDOBChange($event ){\r\n var ageDifMs = Date.now() - $event.value;\r\n var ageDate = new Date(ageDifMs); \r\n if( Math.abs(ageDate.getUTCFullYear() - 1970) <= 18){\r\n \r\n this.snackBar.open('Victim is a Minor. This information is a sensitive and should not be disclosed to any unauthorized parties. Contact the legal guardian.', '', {\r\n duration: 6000,});\r\n const minorControl = this.victimForm.get('minorFlag');\r\n minorControl.setValue(true);\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n // const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n \r\n\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n\r\n \r\n \r\n }\r\n\r\n }\r\n checkOtherWeapon(WeaponUse){\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n if (WeaponUse.includes(\"OTHER\")){\r\n this.otherWeaponFlag = true;\r\n otherWeaponControl.setValidators(Validators.required)\r\n\r\n }else{\r\n this.otherWeaponFlag = false;\r\n otherWeaponControl.clearValidators();\r\n }\r\n otherWeaponControl.updateValueAndValidity();\r\n }\r\n\r\n checkOtherDrug(DrugUse){\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n if (DrugUse.includes(\"OTHER\")){\r\n this.otherDrugFlag = true;\r\n otherDrugControl.setValidators(Validators.required)\r\n \r\n\r\n }else{\r\n this.otherDrugFlag = false;\r\n otherDrugControl.clearValidators();\r\n \r\n\r\n }\r\n otherDrugControl.updateValueAndValidity();\r\n }\r\n \r\n //#region \"save victim\"\r\n saveVictim() {\r\n //var myPath = this.router.url.slice(-10)\r\n\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.guardianHomePhone){\r\n if (this.victimForm.value.guardianHomePhone !== null){\r\n if (this.victimForm.value.guardianHomePhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.guardianWorkPhone !== undefined){\r\n if (this.victimForm.value.guardianWorkPhone !== null){\r\n if (this.victimForm.value.guardianWorkPhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n if (this.victimForm.value.guardianCellPhone !== null){\r\n if (this.victimForm.value.guardianCellhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n \r\n console.log('this.victimForm.value.guardianNoPhoneFlag');\r\n console.log(this.victimForm.value.guardianNoPhoneFlag);\r\n console.log('this.guardianPhoneExistFlag');\r\n console.log(this.guardianPhoneExistFlag);\r\n \r\n\r\n if (this.guardianPhoneExistFlag === false && this.victimForm.value.guardianNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the guardian phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n console.log('this.phoneValidationFlag');\r\n console.log(this.phoneValidationFlag);\r\n\r\n//advocate phone logic\r\nif (!this.victimForm.value.advocateNoPhoneFlag)\r\n{\r\n if (this.victimForm.value.advocateHomePhone){\r\n if (this.victimForm.value.advocateHomePhone !== null){\r\n if (this.victimForm.value.advocateHomePhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.advocateWorkPhone !== undefined){\r\n if (this.victimForm.value.advocateWorkPhone !== null){\r\n if (this.victimForm.value.advocateWorkPhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n if (this.victimForm.value.advocateCellPhone !== null){\r\n if (this.victimForm.value.advocateCellhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n console.log('this.victimForm.value.advocateNoPhoneFlag');\r\n console.log(this.victimForm.value.advocateNoPhoneFlag);\r\n console.log('this.advocatePhoneExistFlag');\r\n console.log(this.advocatePhoneExistFlag);\r\n\r\n if(this.advocatePhoneExistFlag === false && this.victimForm.value.advocateNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the advocate phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n\r\n\r\n console.log('this.phoneValidationFlag 1');\r\n console.log(this.phoneValidationFlag);\r\n if ( this.phoneValidationFlag === false){\r\n\r\n\r\n if (this.victimDetail === null){\r\n //insert new victim\r\n \r\n var myVictimSupports = [];\r\n if (this.victimForm.value.victimSupports){\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimForm.value.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n myVictimSupports.push(victimSupport);\r\n });\r\n }\r\n\r\n var myVictimDrugUses = [];\r\n console.log('this.victimForm.value.victimDrugUses during save');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n if (this.victimForm.value.victimDrugUses){\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n\r\n if (element ===\"OTHER\" || element === \"\" || element === null){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null; \r\n }\r\n \r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimForm.value.victimId;\r\n myVictimDrugUses.push(victimDrugUse);\r\n });\r\n }\r\n\r\n console.log('this.victimForm.value.victimDrugUses during save 1');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n\r\n\r\n\r\n var myVictimWeaponUses = [];\r\n\r\n if (this.victimForm.value.victimWeaponUses){\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimForm.value.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon = this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null; \r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n myVictimWeaponUses.push(victimWeaponUse);\r\n });\r\n }\r\n\r\n const newVictim = {\r\n victimId: 0,\r\n offenderId: this.offenderId,\r\n victimOffenderRelationshipTypeId:this.victimForm.value.victimOffenderRelationshipTypeId,\r\n lastName: this.victimForm.value.lastName,\r\n firstName: this.victimForm.value.firstName,\r\n middleName: this.victimForm.value.middleName ? this.victimForm.value.middleName : null,\r\n prefixId:this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null ,\r\n suffixId:this.victimForm.value.suffixId ? this.victimForm.value.suffixId: null,\r\n birthDate:this.victimForm.value.birthDate? this.victimForm.value.birthDate : null,\r\n genderCode: this.victimForm.value.genderCode? this.victimForm.value.genderCode: null,\r\n underSupervisionFlag: this.victimForm.value.underSupervisionFlag,\r\n minorFlag: this.victimForm.value.minorFlag,\r\n victimAdvocateFlag: this.victimForm.value.victimAdvocateFlag,\r\n homePhone: this.victimForm.value.homePhone ? this.victimForm.value.homePhone : null,\r\n workPhone: this.victimForm.value.workPhone ? this.victimForm.value.workPhone : null,\r\n cellPhone: this.victimForm.value.cellPhone ? this.victimForm.value.cellPhone: null,\r\n email: this.victimForm.value.email ? this.victimForm.value.email: null,\r\n addressId: this.victimForm.value.addressId ? this.victimForm.value.addressId: 1,\r\n emergencyContact: this.victimForm.value.emergencyContact ? this.victimForm.value.emergencyContact : null,\r\n emergencyContactPhone: this.victimForm.value.emergencyContactPhone ? this.victimForm.value.emergencyContactPhone: null ,\r\n commonChildrenFlag: this.victimForm.value.commonChildrenFlag,\r\n commonChildrenNumber: this.victimForm.value.commonChildrenNumber,\r\n cpoExpirationFlag: this.victimForm.value.cpoExpirationFlag,\r\n cpoExpirationDate: this.victimForm.value.cpoExpirationDate ? this.datePipe.transform(this.victimForm.value.startDate, 'short') : null,\r\n supportInPlaceFlag: this.victimForm.value.supportInPlaceFlag,\r\n weaponInvolvedFlag: this.victimForm.value.weaponInvolvedFlag,\r\n drugUseFlag: this.victimForm.value.drugUseFlag,\r\n alcoholUseFlag: this.victimForm.value.alcoholUseFlag,\r\n accessRisk:this.victimForm.value.accessRisk,\r\n modifiedBy:this.staffId,\r\n vVictimAdvocate: null,\r\n vVictimGuardian: null,\r\n victimDrugUses: myVictimDrugUses,\r\n victimSupports: myVictimSupports,\r\n victimWeaponUses: myVictimWeaponUses,\r\n\r\n advocateFirstName: null,\r\n advocateLastName: null,\r\n advocateEmail: null,\r\n advocatePrefixId: null,\r\n advocateSuffixId: null,\r\n advocateNoPhoneFlag: null,\r\n advocateHomePhone: null,\r\n advocateWorkPhone: null,\r\n advocateCellPhone: null,\r\n advocateAddressId: null,\r\n guardianFirstName: null,\r\n guardianLastName: null,\r\n guardianEmail: null,\r\n guardianPrefixId: null,\r\n guardianSuffixId: null,\r\n guardianNoPhoneFlag: null,\r\n guardianHomePhone: null,\r\n guardianWorkPhone: null,\r\n guardianCellPhone: null,\r\n guardianAddressId: null,\r\n guardianBirthDate: null,\r\n relationship: null,\r\n allowCsosaContactFlag: null\r\n \r\n\r\n }\r\n\r\n if (this.addressId == 0){\r\n newVictim.addressId = null;\r\n } else {\r\n newVictim.addressId = this.addressId;\r\n }\r\n \r\n newVictim.advocateAddressId = this.advocateAddressId;\r\n newVictim.guardianAddressId = this.guardianAddressId;\r\n console.log('newVictim');\r\n console.log(newVictim);\r\n this.victimService.postVictims(newVictim).subscribe(\r\n (items: any) => {\r\n \r\n const id = items ? items.victimId : '';\r\n\r\n if (this.victimForm.value.victimAdvocateFlag == \"YS\"){\r\n console.log('add advocate');\r\n const victimAdvocate: VictimAdvocate = {\r\n victimAdvocateId: id,\r\n lastName: this.victimForm.value.advocateLastName,\r\n firstName: this.victimForm.value.advocateFirstName,\r\n prefixId: this.victimForm.value.advocatePrefixId,\r\n suffixId: this.victimForm.value.advocateSuffixId,\r\n addressId: this.advocateAddressId ? this.advocateAddressId: null,\r\n noPhoneFlag: this.victimForm.value.advocateNoPhoneFlag ? this.victimForm.value.advocateNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.advocateHomePhone,\r\n workPhone: this.victimForm.value.advocateWorkPhone,\r\n cellPhone: this.victimForm.value.advocateCellPhone,\r\n email: this.victimForm.value.advocateEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n \r\n if (this.victimForm.value.minorFlag == true){\r\n \r\n const victimGuardian: VictimGuardian = {\r\n victimGuardianId: id,\r\n lastName: this.victimForm.value.guardianLastName,\r\n firstName: this.victimForm.value.guardianFirstName,\r\n prefixId: this.victimForm.value.guardianPrefixId, \r\n suffixId: this.victimForm.value.guardianSuffixId,\r\n birthDate: this.victimForm.value.guardianBirthDate,\r\n addressId: this.guardianAddressId? this.guardianAddressId: null,\r\n noPhoneFlag: this.victimForm.value.guardianNoPhoneFlag? this.victimForm.value.guardianNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.guardianHomePhone,\r\n workPhone: this.victimForm.value.guardianWorkPhone,\r\n cellPhone: this.victimForm.value.guardianCellPhone,\r\n email: this.victimForm.value.guardianEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n \r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\r\n });\r\n\r\n //insert new\r\n if (this.isIntake===true){\r\n this.router.navigate(['victimHome']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['victimList']);\r\n }\r\n //this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n );\r\n\r\n }\r\n else {\r\n //update victim\r\n\r\n \r\n this.victimDetail.underSupervisionFlag = this.victimForm.value.underSupervisionFlag;\r\n this.victimDetail.victimOffenderRelationshipTypeId = this.victimForm.value.victimOffenderRelationshipTypeId;\r\n this.victimDetail.lastName = this.victimForm.value.lastName;\r\n this.victimDetail.firstName = this.victimForm.value.firstName;\r\n this.victimDetail.middleName = this.victimForm.value.middleName;\r\n this.victimDetail.prefixId = this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null;\r\n this.victimDetail.suffixId = this.victimForm.value.suffixId ? this.victimForm.value.suffixId : null;\r\n this.victimDetail.birthDate = this.victimForm.value.birthDate;\r\n this.victimDetail.genderCode = this.victimForm.value.genderCode;\r\n this.victimDetail.minorFlag = this.victimForm.value.minorFlag;\r\n this.victimDetail.homePhone = this.victimForm.value.homePhone? this.victimForm.value.homePhone: null;\r\n this.victimDetail.workPhone = this.victimForm.value.workPhone? this.victimForm.value.workPhone: null;\r\n this.victimDetail.cellPhone = this.victimForm.value.cellPhone? this.victimForm.value.cellPhone: null;\r\n this.victimDetail.email = this.victimForm.value.email;\r\n this.victimDetail.victimAdvocateFlag = this.victimForm.value.victimAdvocateFlag;\r\n this.victimDetail.emergencyContact = this.victimForm.value.emergencyContact;\r\n this.victimDetail.emergencyContactPhone = this.victimForm.value.emergencyContactPhone? this.victimForm.value.emergencyContactPhone: null;\r\n this.victimDetail.commonChildrenFlag = this.victimForm.value.commonChildrenFlag;\r\n this.victimDetail.commonChildrenNumber = this.victimForm.value.commonChildrenNumber;\r\n this.victimDetail.cpoExpirationDate = this.victimForm.value.cpoExpirationDate;\r\n this.victimDetail.cpoExpirationFlag = this.victimForm.value.cpoExpirationFlag;\r\n this.victimDetail.supportInPlaceFlag = this.victimForm.value.supportInPlaceFlag;\r\n this.victimDetail.weaponInvolvedFlag = this.victimForm.value.weaponInvolvedFlag;\r\n this.victimDetail.drugUseFlag = this.victimForm.value.drugUseFlag;\r\n this.victimDetail.alcoholUseFlag = this.victimForm.value.alcoholUseFlag;\r\n this.victimDetail.accessRisk = this.victimForm.value.accessRisk;\r\n this.victimDetail.addressId = this.addressId;\r\n this.victimDetail.allowCsosaContactFlag = this.victimForm.value.allowCsosaContactFlag;\r\n \r\n \r\n this.victimDetail.victimSupports = [];\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimDetail.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n this.victimDetail.victimSupports.push(victimSupport);\r\n });\r\n\r\n\r\n this.victimDetail.victimDrugUses = [];\r\n\r\n console.log('this.victimForm.value.victimDrugUses calculate')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n console.log('this.victimForm.value.victimDrugUses before')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n if (element === \"OTHER\" || element === \"\" ){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimDetail.victimId;\r\n this.victimDetail.victimDrugUses.push(victimDrugUse);\r\n console.log('this.victimForm.value.victimDrugUses after')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n });\r\n\r\n\r\n\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\r\n\r\n\r\n console.log('adjust this.victimForm.value.victimDrugUses ')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n this.victimDetail.victimWeaponUses = [];\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimDetail.victimId;\r\n victimWeaponUse.weaponTypeId= element; \r\n\r\n console.log('weapon element');\r\n console.log(element);\r\n console.log(this.victimForm.value.otherWeapon);\r\n console.log(this.victimForm.value.victimWeaponUses);\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon=this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n this.victimDetail.victimWeaponUses.push(victimWeaponUse);\r\n \r\n });\r\n\r\n \r\n console.log('this.victimDetail before emit');\r\n console.log(this.victimDetail);\r\n\r\n this.victimService.putVictims(this.victimDetail.victimId,this.victimDetail).subscribe(\r\n (items: any) => {\r\n this.snackBar.open('Update Successfully!', '', {\r\n duration: 3000,\r\n });\r\n \r\n //Advocate section\r\n\r\n this.victimAdvocate.victimAdvocateId = this.victimDetail.victimId;\r\n this.victimAdvocate.lastName= this.victimForm.value.advocateLastName;\r\n this.victimAdvocate.firstName= this.victimForm.value.advocateFirstName;\r\n this.victimAdvocate.prefixId= this.victimForm.value.advocatePrefixId ? this.victimForm.value.advocatePrefixId : null;\r\n this.victimAdvocate.suffixId= this.victimForm.value.advocateSuffixId ? this.victimForm.value.advocateSuffixId : null;\r\n this.victimAdvocate.addressId= this.advocateAddressId ? this.advocateAddressId : null;\r\n this.victimAdvocate.noPhoneFlag= this.victimForm.value.advocateNoPhoneFlag? true: false;\r\n this.victimAdvocate.homePhone= this.victimForm.value.advocateHomePhone ? this.victimForm.value.advocateHomePhone : null;\r\n this.victimAdvocate.workPhone= this.victimForm.value.advocateWorkPhone ? this.victimForm.value.advocateWorkPhone : null;\r\n this.victimAdvocate.cellPhone= this.victimForm.value.advocateCellPhone ? this.victimForm.value.advocateCellPhone : null;\r\n this.victimAdvocate.email= this.victimForm.value.advocateEmail ? this.victimForm.value.advocateEmail : null;\r\n this.victimAdvocate.modifiedBy= this.staffId;\r\n \r\n console.log('work on advocate part');\r\n if (this.victimDetail.victimAdvocateFlag=='YS')\r\n {\r\n console.log('work on advocate flag is YS ');\r\n if(this.victimDetail.advocateFirstName != null){\r\n console.log('check advocate fisrt name ');\r\n console.log(this.victimDetail.advocateFirstName);\r\n this.victimService.putVictimAdvocate(this.victimDetail.victimId,this.victimAdvocate).subscribe(\r\n resp=>{} );\r\n }\r\n else\r\n {\r\n console.log('add advocate');\r\n console.log(this.victimAdvocate);\r\n this.victimService.postVictimAdvocate(this.victimDetail.victimId, this.victimAdvocate).subscribe();\r\n }\r\n\r\n\r\n }\r\n \r\n \r\n // guardian section\r\n this.victimGuardian.victimGuardianId = this.victimDetail.victimId;\r\n this.victimGuardian.lastName = this.victimForm.value.guardianLastName;\r\n this.victimGuardian.firstName = this.victimForm.value.guardianFirstName;\r\n this.victimGuardian.prefixId = this.victimForm.value.guardianPrefixId ? this.victimForm.value.guardianPrefixId : null;\r\n this.victimGuardian.suffixId = this.victimForm.value.guardianSuffixId ? this.victimForm.value.guardianSuffixId : null;\r\n this.victimGuardian.addressId = this.guardianAddressId ? this.guardianAddressId : null;\r\n this.victimGuardian.noPhoneFlag = this.victimForm.value.guardianNoPhoneFlag? true: false;\r\n this.victimGuardian.homePhone = this.victimForm.value.guardianHomePhone ? this.victimForm.value.guardianHomePhone : null;\r\n this.victimGuardian.workPhone = this.victimForm.value.guardianWorkPhone ? this.victimForm.value.guardianWorkPhone : null;\r\n this.victimGuardian.cellPhone = this.victimForm.value.guardianCellPhone ? this.victimForm.value.guardianCellPhone : null;\r\n this.victimGuardian.email = this.victimForm.value.guardianEmail ? this.victimForm.value.guardianEmail : null;\r\n this.victimGuardian.modifiedBy = this.staffId;\r\n \r\n if (this.victimDetail.minorFlag == true)\r\n {\r\n if(this.victimDetail.guardianFirstName != null )\r\n this.victimService.putVictimGuardian(this.victimDetail.victimId,this.victimGuardian).subscribe(\r\n resp=>{\r\n }\r\n );\r\n else\r\n {\r\n console.log('add gurdian');\r\n console.log(this.victimGuardian);\r\n this.victimService.postVictimGuardian(this.victimDetail.victimId, this.victimGuardian).subscribe();\r\n }\r\n\r\n }\r\n \r\n \r\n }\r\n \r\n );\r\n \r\n }\r\n }//end of this.phoneValidationFlag = false\r\n console.log('this.victimDetail');\r\n console.log(this.victimDetail);\r\n this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n\r\n //#endregion \"save victim\"\r\n addContact(){\r\n\r\n this.router.navigate(['victimContact',this.victimId]);\r\n }\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n \r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'csmart-victim-delete-confirm',\r\n template: `\r\n <h1 mat-dialog-title>Delete Confirmation</h1>\r\n <div mat-dialog-content>\r\n <p>Are you sure you want to delete this item?</p>\r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-flat-button color=\"primary\" (click)=\"onNoClick()\">No</button>\r\n <button mat-flat-button color=\"warn\" [mat-dialog-close]='\"YES\"' cdkFocusInitial>Yes</button>\r\n </div>\r\n `,\r\n styles: [`\r\n .actions{\r\n display: flex;\r\n justify-content: space-between; \r\n }\r\n `]\r\n})\r\nexport class SmartVictimDeleteConfirmComponent implements OnInit {\r\n\r\n constructor( public dialogRef: MatDialogRef<SmartVictimDeleteConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n//import {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\n\r\nimport {\r\n MatButtonModule, MatCardModule, MatCheckboxModule, MatToolbarModule, MatSelectModule, MatDatepickerModule,\r\n MatProgressSpinnerModule, MatGridListModule, MatTableModule, MatSidenavModule, MatRadioModule, MatPaginatorModule,\r\n // tslint:disable-next-line:whitespace\r\n MatNativeDateModule, MatSliderModule, MatDialogModule, MatChipsModule,MatSortModule,\r\n MatTabsModule, MatRippleModule, MatListModule, MatInputModule, MatFormFieldModule, MatStepperModule, MatExpansionModule,\r\n \r\n \r\n} from '@angular/material';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\n\r\n\r\n\r\n\r\n@NgModule(\r\n {\r\n \r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n\r\n\r\n ],\r\n exports: [\r\n \r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n \r\n \r\n ],\r\n entryComponents: [\r\n // SpinnerComponent,\r\n ],\r\n\r\n\r\n }\r\n)\r\nexport class SharedModule { }\r\n","import { CommonDialogService } from './common-dialog.service';\r\n//import { MaterialModule } from '@angular/material';\r\nimport { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../shared/app.shared.module';\r\n\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\n\r\n@NgModule({\r\n imports: [\r\n // MaterialModule.forRoot(),\r\n SharedModule\r\n ],\r\n exports: [\r\n CommonDialogComponent,\r\n ],\r\n declarations: [\r\n CommonDialogComponent,\r\n ],\r\n providers: [\r\n CommonDialogComponent,\r\n ],\r\n entryComponents: [\r\n CommonDialogComponent,\r\n ],\r\n})\r\nexport class CommonDialogModule { }\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\n\r\nexport function dateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'future Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date > new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function passDateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'Pass Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date < new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function dateLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('date1');\r\n console.log(date1);\r\n console.log('date2');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 > date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function greaterLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('end date');\r\n console.log(date1);\r\n console.log('ver date');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 < date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators} from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar,MatTableDataSource } from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CaseNote} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\n\r\n\r\n\r\n@Component({\r\n \r\n templateUrl: './caseNote.component.html',\r\n styleUrls: ['./caseNote.component.css'],\r\n providers: [CommonDialogService]\r\n\r\n})\r\nexport class CaseNoteComponent implements OnInit,AfterViewInit {\r\n\r\n // @Input() isIntake: boolean;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n \r\n hiddenDetailFlag:boolean;\r\n caseNoteList: CaseNote[];\r\n caseNote: CaseNote;\r\n editCaseNote: CaseNote = <CaseNote>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n caseNoteDataSource= new MatTableDataSource();\r\n addDisableFlag: boolean;\r\n hiddenAddNewFlag: boolean;\r\n caseNoteForm: FormGroup;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.initForm();\r\n }\r\n private initForm() {\r\n this.caseNoteForm = this.formBuilder.group({\r\n caseNoteDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()])),\r\n contactType: new FormControl('',Validators.required),\r\n contactPurpose: new FormControl('',Validators.required),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n\r\n this.caseNoteForm.markAsPristine();\r\n this.caseNoteForm.markAsUntouched();\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n\r\n this.addDisableFlag= false;\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getContactTypes().subscribe(\r\n (items: any) => {\r\n this.contactTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimContactPurposes().subscribe(\r\n (items: any) => {\r\n this.contactPurposes = items;\r\n }\r\n );\r\n\r\n \r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n console.log('caseNoteList');\r\n console.log(caseNoteList);\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n\r\n\r\n \r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // (itms: any) => {\r\n // const ELEMENT_DATA: Element[] = itms;\r\n // this.caseNoteDataSource.data = ELEMENT_DATA;\r\n // })\r\n }\r\n onEditCaseNote(victimCaseNoteId: number){\r\n \r\n this.hiddenDetailFlag =false;\r\n this.hiddenAddNewFlag = true;\r\n\r\n this.addDisableFlag = true;\r\n this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n onDeleteCaseNote(victimCaseNoteId: number){\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n });\r\n }\r\n onAddNew(){\r\n\r\n this.hiddenDetailFlag = false;\r\n this.editCaseNote.victimCaseNoteId = 0;\r\n\r\n const caseNoteDateControl = this.caseNoteForm.get('caseNoteDate');\r\n caseNoteDateControl.setValue(null);\r\n caseNoteDateControl.setErrors(null);\r\n caseNoteDateControl.markAsPristine();\r\n caseNoteDateControl.markAsPristine();\r\n\r\n\r\n const contactTypeControl = this.caseNoteForm.get('contactType');\r\n contactTypeControl.setValue(null);\r\n contactTypeControl.setErrors(null);\r\n contactTypeControl.markAsPristine();\r\n contactTypeControl.markAsUntouched();\r\n\r\n\r\n const contactPurposeControl = this.caseNoteForm.get('contactPurpose');\r\n contactPurposeControl.setValue(null);\r\n contactPurposeControl.setErrors(null);\r\n contactPurposeControl.markAsPristine();\r\n contactPurposeControl.markAsUntouched();\r\n\r\n\r\n const commentControl = this.caseNoteForm.get('comment');\r\n commentControl.setValue(null);\r\n commentControl.setErrors(null);\r\n commentControl.markAsPristine();\r\n commentControl.markAsUntouched();\r\n \r\n }\r\n back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n \r\n saveCaseNote(){\r\n\r\n if (this.editCaseNote.victimCaseNoteId === undefined || this.editCaseNote.victimCaseNoteId === 0) {\r\n\r\n const castNote: CaseNote = {\r\n victimId:this.victimId,\r\n victimCaseNoteId: 0,\r\n caseNoteDate: this.editCaseNote.caseNoteDate,\r\n contactTypeId: this.editCaseNote.contactTypeId,\r\n contactType: null,\r\n victimContactPurposeId: this.editCaseNote.victimContactPurposeId,\r\n victimContactPurpose: null,\r\n comment: this.editCaseNote.comment,\r\n modifiedBy: this.staffId,\r\n victimFirstName: null,\r\n victimLastName: null\r\n\r\n };\r\n this._victimServicesComponent.addCaseNote(castNote).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } else {\r\n this._victimServicesComponent.updateCaseNote(this.editCaseNote).subscribe(\r\n result => {\r\n this.snackBar.open('Update Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n this.addDisableFlag = false;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } \r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators } from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar} from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contact} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\nimport { dateValidator,passDateValidator,dateLessThan } from '../shared/validators';\r\n\r\n@Component({\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css'],\r\n})\r\nexport class ContactComponent implements OnInit,AfterViewInit {\r\n\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n contact: Contact;\r\n editContact: Contact = <Contact>{};\r\n errorMessage: string;\r\n contactMethods: any[];\r\n contactBy: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n hiddenAddNewFlag: boolean;\r\n contactForm: FormGroup;\r\n private sub: any;\r\n staff: any = {};\r\n\r\n constructor(\r\n\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n //private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.contactForm = new FormGroup({\r\n //contactDate: new FormControl(),\r\n contactDate:new FormControl('', Validators.compose([\r\n dateValidator()\t ])),\r\n\r\n contactMethod: new FormControl(),\r\n contactBy: new FormControl(),\r\n comment: new FormControl(),\r\n nextContactDate: new FormControl()\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n \r\n this.staff = [\r\n {\r\n staffId: this.loginStaff.staffId,\r\n fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,\r\n },\r\n ];\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n \r\n });\r\n\r\n\r\n this._victimServicesComponent.getContactMethods().subscribe(\r\n (items: any) => {\r\n this.contactMethods = items;\r\n console.log('this.contactMethods');\r\n console.log(this.contactMethods);\r\n }\r\n );\r\n\r\n // this._victimServicesComponent.getContactBys().subscribe(\r\n // (items: any) => {\r\n // this.contactBy= items;\r\n // }\r\n // );\r\n\r\n \r\n // this._victimServicesComponent.getContacts(this.victimId).subscribe(\r\n // caseNoteList => {\r\n \r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n \r\n }\r\n onEditContact(victimContactId: number){\r\n \r\n // this.hiddenDetailFlag =false;\r\n // this.hiddenAddNewFlag = true;\r\n\r\n // this.addDisableFlag = true;\r\n // this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n // onDeleteCaseNote(victimCaseNoteId: number){\r\n // this.commonDialogService\r\n // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n // .subscribe(res => {this.result = res;\r\n // if (this.result) {\r\n // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n // .subscribe(result => {\r\n // this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // caseNoteList => {\r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n // }\r\n // );\r\n // }\r\n\r\n // });\r\n // }\r\n onAddNew(){\r\n \r\n // this.editCas.caseNoteDate = null;\r\n // this.editCaseNote.contactTypeId = null;\r\n // this.editCaseNote.victimContactPurposeId = null;\r\n // this.editCaseNote.comment = null;\r\n }\r\n back(){\r\n\r\n \r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n \r\n saveContact(){\r\n\r\n const contact: Contact = {\r\n victimId:this.victimId,\r\n victimContactId: 0,\r\n contactDate: this.editContact.contactDate,\r\n victimContactMethodId: this.editContact.victimContactMethodId,\r\n contactMethod: null,\r\n contactedByName: null,\r\n contactedBy: this.editContact.contactedBy,\r\n comment: this.editContact.comment,\r\n nextContactDate: this.editContact.nextContactDate,\r\n modifiedBy: this.staffId,\r\n \r\n };\r\n this._victimServicesComponent.addContact(contact).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,VictimServiceStatusHistory } from '../smart-victim.model';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatTableDataSource,MatSnackBar } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n//import { VictimSafetyPlanDetailComponent } from './victimSafetyPlanDetail.component';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlan.component.html',\r\n providers: [CommonDialogService]\r\n})\r\n\r\nexport class VictimSafetyPlanComponent implements OnInit,AfterViewInit {\r\n //selectedOffender: SelectedOffender;\r\n loginStaff: LoginStaff;\r\n offenderId: number;\r\n\r\n\r\n hiddenDetailFlag:boolean;\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n victimServiceStatusHistories: VictimServiceStatusHistory[];\r\n queryString: string;\r\n victimServiceDetail: VictimServiceDetail[];\r\n myVictimServiceId: number;\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n safetyPlanDataSource = new MatTableDataSource();\r\n \r\n constructor(\r\n \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n private http: HttpClient,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n \r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n\r\n });\r\n\r\n this.hiddenAddNewFlag = false;\r\n this.victimName= this.victimName;\r\n \r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\r\n console.log('this.victimSafetyPlans');\r\n console.log(this.victimSafetyPlans);\r\n\r\n \r\n }\r\n );\r\n\r\n \r\n // this.myVictimServiceId =1;\r\n // this._victimServicesComponent.getVictimServiceDetail(this.myVictimServiceId).subscribe(\r\n // victimServiceDetail => {\r\n // this.victimServiceDetail = victimServiceDetail;\r\n // console.log('service detail');\r\n // console.log(this.victimServiceDetail); \r\n // }\r\n // );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(1).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories; \r\n }\r\n );\r\n }\r\n \r\n//---------------graphQL--------------------------------------\r\n// getVictimServiceTypeProgramProviders(): Observable<VictimServiceTypeProgramProviderModel[]> {\r\n// const queryString = `\r\n// {\r\n// findVictimServiceTypeProgramProviders {\r\n// data {\r\n// victimServiceTypeProgramProviderId\r\n// victimServiceType\r\n// victimProgramProvider\r\n// }\r\n// }\r\n// }`;\r\n\r\n \r\n// return this.http.post<any>(environment.smartApiUrl, { query: queryString })\r\n// .map(result => {\r\n// return result.data.findVictimServiceTypeProgramProviders.data;\r\n// });\r\n// }\r\n\r\n goToSafetyPlanDetail(victimServiceId: number){\r\n \r\n this.router.navigate(['saftyPlanDetail', victimServiceId, this.victimId ]); \r\n\r\n }\r\n onAddNew(){\r\n this.hiddenDetailFlag = false;\r\n\r\n }\r\n onDeleteSafetyPlan(victimServiceId: number){\r\n\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this safety plan?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n\r\n this._victimServicesComponent.deleteSafetyPlan(victimServiceId,this.staffId)\r\n .subscribe(result => {\r\n\r\n this.snackBar.open('delete safety plan Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\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 back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-service-provider',\r\n template: `\r\n <h1 mat-dialog-title> {{data.serviceType}}</h1>\r\n <div mat-dialog-content class=\"main\" [formGroup]=\"spForm\">\r\n <mat-form-field>\r\n <mat-label>service provider</mat-label>\r\n \r\n <mat-select formControlName=\"voteeProviderId\">\r\n <mat-option\r\n *ngFor=\"let providerOption of programProviders\"\r\n [value]=\"providerOption.victimProgramProviderId\">{{ providerOption.victimProgramProvider }}\r\n </mat-option>\r\n </mat-select>\r\n \r\n </mat-form-field>\r\n \r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"spForm.value\" >\r\n Save Change\r\n </button>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .main {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .actions{\r\n display: flex;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class SeriveProviderComponent implements OnInit {\r\n spForm: FormGroup;\r\n programProviders:[];\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public dialogRef: MatDialogRef<SeriveProviderComponent>,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n @Inject(MAT_DIALOG_DATA) public data: ProvidersDialogData,\r\n ) {\r\n\r\n\r\n this.spForm = this.formBuilder.group({\r\n voteeProviderId: [''],\r\n \r\n });\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n console.log('data.providerCollections')\r\n console.log(this.data);\r\n console.log(this.data.serviceTypeId);\r\n\r\n this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe(\r\n (items: any) => {\r\n this.programProviders = items.filter( (y) => (y.victimServiceTypeId === this.data.serviceTypeId));\r\n console.log('this.programProviders');\r\n console.log(this.programProviders);\r\n }\r\n );\r\n\r\n this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {\r\n console.log('voteeProviderId in service provider component.')\r\n console.log(voteeProviderId)\r\n \r\n \r\n })\r\n }\r\n}\r\n","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,\r\n VictimServiceStatusHistory,VictimServiceTypeProgramProviderModel,\r\n ProviderListCollectionModel } from '../smart-victim.model';\r\nimport { MatSnackBar,MatTableDataSource,MatDialog } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\nimport { typeSourceSpan } from '@angular/compiler';\r\nimport { SeriveProviderComponent} from '../safetyPlan/serviceProvider.component'\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlanDetail.component.html',\r\n providers: [CommonDialogService],\r\n styleUrls: ['./victimSafetyPlan.component.css']\r\n \r\n})\r\n\r\nexport class VictimSafetyPlanDetailComponent implements OnInit {\r\n\r\n\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n providerList: VictimServiceTypeProgramProviderModel[];\r\n providerListCollection:ProviderListCollectionModel[]=[];\r\n victimServiceDetail: VictimServiceDetail[];\r\n indx:any;\r\n serviceCheck = [];\r\n victimName: string;\r\n isDisplay: boolean;\r\n staffId: number;\r\n victimId: number;\r\n victimServiceId: number;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n private sub: any;\r\n result: any;\r\n victimServiceStatusHistoriesDataSource= new MatTableDataSource();\r\n providerId: string;\r\n selected: string;\r\n\r\n\r\n spForm: FormGroup;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private http: HttpClient,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private commonDialogService: CommonDialogService,\r\n private formBuilder: FormBuilder,\r\n \r\n ) {\r\n\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n\r\n\t\r\n\t\t\tthis.spForm = this.formBuilder.group({\r\n serviceGoal: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatus: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatusDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()\t\t ])),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n this.spForm.markAsPristine();\r\n this.spForm.markAsUntouched();\r\n \r\n }\r\n \r\n ngOnInit() {\r\n\r\n \r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimServiceId = params['victimServiceId'];\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n \r\n this.hiddenAddNewFlag = false;\r\n this.isDisplay = false;\r\n \r\n \r\n\r\n this._victimServicesComponent.getVictimServiceTypes().subscribe(\r\n (items: any) => {\r\n this.victimServiceTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimServiceStatus().subscribe(\r\n (items: any) => {\r\n this.victimServiceStatus = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n \r\n \r\n //---------------graphQL--------------------------------------\r\n // this.getVictimServiceTypeProgramProviders().subscribe(result => {\r\n // this.providerList = result;\r\n // });\r\n // console.log('this.victimServiceId');\r\n // console.log(this.victimServiceId);\r\n \r\n if (this.victimServiceId!=0){\r\n this._victimServicesComponent.getVictimServices(this.victimServiceId).subscribe(\r\n victimSafetyPlans => {\r\n console.log('victimSafetyPlans');\r\n console.log(victimSafetyPlans);\r\n\r\n this.editSafetyPlan = victimSafetyPlans[0];\r\n this.victimId = victimSafetyPlans[0].victimId;\r\n \r\n console.log('this.editSafetyPlan');\r\n console.log(this.editSafetyPlan);\r\n // console.log('this.editSafetyPlan.goal');\r\n // console.log(this.editSafetyPlan.goal);\r\n // console.log('this.editSafetyPlan[0].goal');\r\n // console.log(this.editSafetyPlan[0].goal);\r\n\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(this.victimServiceId).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories;\r\n this.victimServiceStatusHistoriesDataSource.data = victimServiceStatusHistories;\r\n }\r\n );\r\n\r\n }\r\n\r\n this.loadProvider();\r\n \r\n }\r\n //pass in id\r\nisInArray(providerListCollectionKey:string, serviceTypeName: string, event){\r\n\r\n console.log('providerListCollectionKey');\r\n console.log(providerListCollectionKey);\r\n\r\n\r\n console.log('serviceTypeName');\r\n console.log(serviceTypeName);\r\n\r\n console.log('event.source.value');\r\n console.log(event.checked);\r\n\r\n if (event.checked == true){\r\n\r\n for(let j=0;j<this.providerListCollection.length;j++){\r\n if(providerListCollectionKey==this.providerListCollection[j].groupId){\r\n this.providerListCollection[j].isDisplay=!this.providerListCollection[j].isDisplay;\r\n\r\n \r\n\r\n const dialogRef = this.dialog.open(SeriveProviderComponent, {\r\n width: '500px',\r\n data: <ProvidersDialogData>{\r\n \r\n serviceType:serviceTypeName,\r\n serviceTypeId: providerListCollectionKey,\r\n providerCollections: [...this.providerListCollection],\r\n },\r\n panelClass: 'formFieldWidth480',\r\n });\r\n\r\n\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n if (result) {\r\n console.log('The dialog was closed, inside result');\r\n this.savePlanProvider(providerListCollectionKey,result.voteeProviderId);\r\n \r\n }\r\n \r\n \r\n });\r\n \r\n // return;\r\n }\r\n }\r\n\r\n }//if event.checked == true\r\n //this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]); \r\n \r\n }\r\n\r\nloadProvider(){ \r\n\r\n this.providerListCollection=[];\r\n this._victimServicesComponent.getvVictimServiceTypeProgramProviders()\r\n .subscribe(\r\n (providerList:VictimServiceTypeProgramProviderModel[] )=>{ \r\n if(providerList){\r\n \r\n let providers = Object.create(null);\r\n for(let i=0;i<providerList.length;i++){\r\n \r\n if (!providers[providerList[i].victimServiceTypeId]) {\r\n providers[providerList[i].victimServiceTypeId] = [];\r\n \r\n if ( this.editSafetyPlan.vVictimServiceDetails != null ){\r\n for (let j=0; j<this.editSafetyPlan.vVictimServiceDetails.length; j++){\r\n if ( providerList[i].victimServiceTypeId == this.editSafetyPlan.vVictimServiceDetails[j].victimServiceId.toString() ){\r\n this.isDisplay = true;\r\n }\r\n }\r\n }\r\n this.providerListCollection.push({ groupId: providerList[i].victimServiceTypeId,isDisplay:this.isDisplay, collection: providers[providerList[i].victimServiceTypeId] });\r\n }\r\n\r\n providers[providerList[i].victimServiceTypeId].push(providerList[i]);\r\n \r\n }\r\n \r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n//---------------graphQL--------------------------------------\r\n// getVictimServiceTypeProgramProviders(): Observable<VictimServiceTypeProgramProviderModel[]> {\r\n// const queryString = `\r\n// {\r\n// findVictimServiceTypeProgramProviders {\r\n// data {\r\n// victimServiceTypeProgramProviderId\r\n// victimServiceType\r\n// victimProgramProvider\r\n// }\r\n// }\r\n// }`;\r\n \r\n// return this.http.post<any>(environment.smartApiUrl, { query: queryString })\r\n// .map(result => {\r\n// return result.data.findVictimServiceTypeProgramProviders.data;\r\n// });\r\n// }\r\n\r\n evaluateSelection(victimServiceTypeId: string) {\r\n if (this.editSafetyPlan.vVictimServiceDetails) {\r\n return this.editSafetyPlan.vVictimServiceDetails.findIndex(r => r.victimServiceTypeId === victimServiceTypeId) >= 0;\r\n }\r\n }\r\n\r\n\r\nsavePlanProvider(victimServiceTypeId: string,victimProgramProviderId: string){\r\n\r\n console.log('savePlanProvider');\r\n console.log(victimServiceTypeId);\r\n console.log(victimProgramProviderId);\r\n\r\n if (victimProgramProviderId === \"\" || victimProgramProviderId=== null || victimProgramProviderId === undefined){\r\n \r\n this.snackBar.open('Please pick a program on the drop down list !', '', { duration: 120,});\r\n // alert('Please pick a program on the drop down list !');\r\n\r\n }else\r\n {\r\n \r\n if ( this.victimServiceId == 0){\r\n //insert\r\n console.log('insert new plan');\r\n const safetyPlan: VictimSafetyPlan = {\r\n victimId:this.victimId,\r\n fullName: null,\r\n victimServiceId: 0,\r\n goal:this.editSafetyPlan.goal,\r\n comment: this.editSafetyPlan.comment,\r\n modifiedBy:this.staffId,\r\n victimServiceStatusId: null,\r\n status: null,\r\n startDate: null,\r\n vVictimServiceDetails: null,\r\n victimName: null\r\n};\r\nthis._victimServicesComponent.addSafetyPlan(safetyPlan).subscribe(\r\n (itms:any)=>{\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test add safety plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe(\r\n \r\n () =>{\r\n console.log('check itms.victimServiceId iniside add victim serive status');\r\n console.log(itms.victimServiceId);\r\n\r\n const victimServiceDetail: VictimServiceDetail = {\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceDetailId: 0,\r\n victimServiceTypeId: victimServiceTypeId,\r\n victimProgramProviderId: victimProgramProviderId,\r\n modifiedBy: this.staffId,\r\n victimProgramProvider: null\r\n };\r\n \r\n console.log('add plan provider here at insert');\r\n \r\n this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe(\r\n\r\n () =>{\r\n \r\n this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId ]); \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 else//update\r\n {\r\n const victimServiceDetail: VictimServiceDetail = {\r\n victimServiceId: this.victimServiceId,\r\n victimServiceDetailId: 0,\r\n victimServiceTypeId: victimServiceTypeId,\r\n victimProgramProviderId: victimProgramProviderId,\r\n modifiedBy: this.staffId,\r\n victimProgramProvider: null\r\n };\r\n console.log('add plan provider here at update');\r\n this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe(\r\n\r\n () =>{\r\n \r\n this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]); \r\n\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n deleteProvider(victimProgramProviderId: string){\r\n\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this provider?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this._victimServicesComponent.deleteProvider(victimProgramProviderId, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('delete provider Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n location.reload();\r\n \r\n }\r\n );\r\n \r\n }\r\n\r\n });\r\n \r\n // location.reload();\r\n\r\n }\r\nsaveSafetyPlan() {\r\n\r\n if (this.editSafetyPlan.victimServiceId === undefined ) {\r\n\r\n const safetyPlan: VictimSafetyPlan = {\r\n victimId: this.victimId,\r\n fullName: null,\r\n victimServiceId: 0,\r\n goal:this.editSafetyPlan.goal,\r\n comment: this.editSafetyPlan.comment,\r\n modifiedBy:this.staffId,\r\n victimServiceStatusId: null,\r\n status: null,\r\n startDate: null,\r\n vVictimServiceDetails: null,\r\n victimName: null\r\n };\r\n this._victimServicesComponent.addSafetyPlan(safetyPlan).subscribe(\r\n (itms:any)=>{\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test add safety Plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe(\r\n resp=>{\r\n this.snackBar.open('Insert status successfully!', '', {\r\n duration: 3000,\r\n });\r\n \r\n }\r\n );\r\n\r\n \r\n this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId ]); \r\n }\r\n\r\n\r\n );\r\n } else {\r\n // this.editSafetyPlan.modifiedBy=this.loginStaff.staffId;\r\n this.editSafetyPlan.modifiedBy =this.staffId;\r\n this._victimServicesComponent.updateSafetyPlan(this.editSafetyPlan).subscribe(\r\n resp=>{\r\n // this.snackBar.open('update Successfully!', '', {\r\n // duration: 3000,\r\n // });\r\n\r\n\r\n\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: this.editSafetyPlan.victimServiceId.toString(),\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test update safety Plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe();\r\n\r\n \r\n this.router.navigate(['saftyPlanDetail', this.editSafetyPlan.victimServiceId, this.victimId ]); \r\n \r\n }\r\n );\r\n } \r\n }\r\n\r\n back(){\r\n console.log('this.victimId');\r\n console.log(this.victimId);\r\n this.router.navigate(['saftyPlan', this.victimId]); \r\n }\r\n \r\n\r\n}\r\n\r\n","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService} from '@csmart/ngc-smart-core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { NgcSmartVictimComponent} from './smart-victim.component'\r\n\r\nconst routes: Routes = [\r\n \r\n {path: 'casenote/:victimId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'victimList', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimContact/:victimId', component: ContactComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'smart-error', component: SmartErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VictimRoutingModule {\r\n}\r\n","export class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}","import { Component, OnInit, ViewEncapsulation,\r\n Output, EventEmitter } from '@angular/core';\r\n \r\nimport { VictimListFilter } from './VictimSearchFilter';\r\n \r\n @Component({\r\n selector: 'app-victim-search-form',\r\n templateUrl: './victimSearchForm.component.html',\r\n styleUrls: ['../smart-victim.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\n export class VictimSearchFormComponent implements OnInit {\r\n \r\n @Output() onSearch:EventEmitter<Object>=new EventEmitter<Object>();\r\n change: EventEmitter<VictimListFilter> = new EventEmitter<VictimListFilter>();\r\n \r\n filter: VictimListFilter = new VictimListFilter();\r\n \r\n constructor() { }\r\n \r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n // var element = <HTMLInputElement> document.getElementById(\"victimSearchButton\");\r\n // element.disabled = true;\r\n // setTimeout(function() {\r\n // element.disabled = false;\r\n // }, 10000);\r\n\r\n }\r\n onChange() {\r\n console.log('this.filter in serach form.');\r\n console.log(this.filter);\r\n\r\n this.onSearch.emit(this.filter);\r\n \r\n }\r\n }\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n } from '@angular/core';\r\n import {\r\n FormGroup,\r\n FormBuilder,\r\n AbstractControl,\r\n Validators,\r\n FormControl,\r\n } from '@angular/forms';\r\n // import { Subscription } from 'rxjs/Subscription';\r\n @Directive({\r\n selector: \"[phoneMask]\",\r\n })\r\n export class PhoneMaskDirective implements OnInit, OnDestroy {\r\n private _phoneControl: AbstractControl;\r\n private _preValue: string;\r\n @Input(\"phoneControl\")\r\n public set phoneControl(control: AbstractControl) {\r\n this._phoneControl = control;\r\n }\r\n @Input(\"preValue\")\r\n public set preValue(value: string) {\r\n this._preValue = value;\r\n this.formatPhoneNumber(value);\r\n }\r\n // private sub:ISubscription;\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n ngOnDestroy() {\r\n // this.sub.unsubscribe();\r\n }\r\n formatPhoneNumber(data) {\r\n if (!this._preValue) {\r\n this._preValue = \"\";\r\n data = \"\";\r\n }\r\n let preInputValue: string = this._preValue;\r\n var lastChar: string = preInputValue.substr(preInputValue.length - 1);\r\n var newVal = data.replace(/\\D/g, \"\");\r\n let start = this.renderer.selectRootElement(\"#tel\").selectionStart;\r\n let end = this.renderer.selectRootElement(\"#tel\").selectionEnd;\r\n if (data.length < preInputValue.length) {\r\n if (preInputValue.length < start) {\r\n if (lastChar == \")\") {\r\n newVal = newVal.substr(0, newVal.length - 1);\r\n }\r\n }\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n var removedD = data.charAt(start);\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1)\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n if (preInputValue.length >= start) {\r\n if (removedD == \"(\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \")\") {\r\n start = start + 2;\r\n end = end + 2;\r\n }\r\n if (removedD == \"-\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \" \") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \"\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer\r\n .selectRootElement(\"#tel\")\r\n .setSelectionRange(start + 2, end + 2); // +2 because of wanting standard typing\r\n }\r\n }\r\n }\r\n }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatRadioModule,\r\n MatCardModule, MatSlideToggleModule,MatSliderModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatPaginatorModule, MatSortModule, MatGridListModule, MatExpansionModule,\r\n} from '@angular/material';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { SmartAddressModule } from '@csmart/ngc-smart-address';\r\nimport { NgcSmartVictimComponent } from './smart-victim.component';\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\nimport { CommonDialogModule } from './common-dialog/common-dialog.module';\r\nimport { VictimRoutingModule } from './victim-routing.module';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { VictimSearchFormComponent } from './victimSearch/victimSearchForm.component';\r\nimport { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular';\r\nimport { HttpLinkModule, HttpLink } from 'apollo-angular-link-http';\r\nimport { InMemoryCache } from 'apollo-cache-inmemory';\r\n//import { SharedModule } from './shared/app.shared.module';\r\n import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';\r\n import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\nimport { NgcSmartCoreModule } from '@csmart/ngc-smart-core';\r\n\r\n\r\n\r\nconst COMPONENTS = [\r\n NgcSmartVictimComponent,\r\n SmartVictimDetailComponent,\r\n SmartVictimDeleteConfirmComponent,\r\n PhoneMaskDirective\r\n \r\n];\r\n\r\nconst ENTRY_COMPONENTS = [\r\n SmartVictimDeleteConfirmComponent,\r\n \r\n];\r\n\r\nconst BASE_MODULES = [\r\n CommonModule,\r\n ReactiveFormsModule\r\n];\r\n\r\nconst CORE_MODULES = [NgcSmartCoreModule, SmartAddressModule];\r\n\r\nconst MATERIAL_MODULES = [\r\n MatButtonModule, MatCheckboxModule,MatRadioModule,MatSliderModule,\r\n MatCardModule, MatSlideToggleModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule, MatExpansionModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,MatPaginatorModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS,\r\n CaseNoteComponent,\r\n ContactComponent,\r\n VictimSafetyPlanComponent,\r\n VictimSafetyPlanDetailComponent,\r\n VictimSearchFormComponent,\r\n SeriveProviderComponent\r\n ],\r\n imports: [\r\n ...BASE_MODULES,\r\n ...MATERIAL_MODULES,\r\n ...CORE_MODULES,\r\n CommonDialogModule,\r\n FormsModule,\r\n VictimRoutingModule,\r\n ApolloModule,\r\n //SharedModule\r\n \r\n \r\n ],\r\n exports: [...COMPONENTS, ApolloModule],\r\n entryComponents: [...ENTRY_COMPONENTS, SeriveProviderComponent],\r\n providers: [ NgcSmartVictimService ]\r\n})\r\nexport class NgcSmartVictimModule { }\r\n"],"names":["observableThrowError","headers","MatDialogRef","MatTableDataSource","MAT_DIALOG_DATA","VictimListFilter","MatIconModule"],"mappings":"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"}
|