@csmart/ngc-smart-victim 1.18.9 → 1.18.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/esm2022/csmart-ngc-smart-victim.mjs +5 -0
  2. package/esm2022/lib/caseNote/caseNote.component.mjs +194 -0
  3. package/esm2022/lib/common-dialog/common-dialog.component.mjs +23 -0
  4. package/esm2022/lib/common-dialog/common-dialog.module.mjs +34 -0
  5. package/esm2022/lib/common-dialog/common-dialog.service.mjs +33 -0
  6. package/esm2022/lib/contact/contact.component.mjs +140 -0
  7. package/esm2022/lib/email.services.mjs +42 -0
  8. package/esm2022/lib/intake.service.mjs +57 -0
  9. package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +99 -0
  10. package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
  11. package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
  12. package/esm2022/lib/shared/app.shared.module.mjs +215 -0
  13. package/esm2022/lib/shared/validators/date.validator.mjs +59 -0
  14. package/esm2022/lib/shared/validators/index.mjs +2 -0
  15. package/esm2022/lib/smart-victim-delete-confirm.component.mjs +44 -0
  16. package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +1155 -0
  17. package/esm2022/lib/smart-victim.component.mjs +317 -0
  18. package/esm2022/lib/smart-victim.model.mjs +142 -0
  19. package/esm2022/lib/smart-victim.module.mjs +128 -0
  20. package/esm2022/lib/smart-victim.service.mjs +370 -0
  21. package/esm2022/lib/victim-routing.module.mjs +41 -0
  22. package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +3 -0
  23. package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +38 -0
  24. package/esm2022/public-api.mjs +11 -0
  25. package/fesm2022/csmart-ngc-smart-victim.mjs +3342 -0
  26. package/fesm2022/csmart-ngc-smart-victim.mjs.map +1 -0
  27. package/index.d.ts +5 -0
  28. package/lib/caseNote/caseNote.component.d.ts +51 -0
  29. package/lib/common-dialog/common-dialog.component.d.ts +14 -0
  30. package/lib/common-dialog/common-dialog.module.d.ts +8 -0
  31. package/lib/common-dialog/common-dialog.service.d.ts +11 -0
  32. package/lib/contact/contact.component.d.ts +40 -0
  33. package/lib/email.services.d.ts +11 -0
  34. package/lib/intake.service.d.ts +57 -0
  35. package/lib/safetyPlan/serviceProvider.component.d.ts +19 -0
  36. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -0
  37. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -0
  38. package/lib/shared/app.shared.module.d.ts +33 -0
  39. package/lib/shared/validators/date.validator.d.ts +9 -0
  40. package/lib/shared/validators/index.d.ts +1 -0
  41. package/lib/smart-victim-delete-confirm.component.d.ts +12 -0
  42. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -0
  43. package/lib/smart-victim.component.d.ts +69 -0
  44. package/lib/smart-victim.model.d.ts +211 -0
  45. package/lib/smart-victim.module.d.ts +49 -0
  46. package/lib/smart-victim.service.d.ts +71 -0
  47. package/lib/victim-routing.module.d.ts +7 -0
  48. package/{src/lib/victimSearch/VictimSearchFilter.ts → lib/victimSearch/VictimSearchFilter.d.ts} +7 -9
  49. package/lib/victimSearch/victimSearchForm.component.d.ts +14 -0
  50. package/package.json +21 -6
  51. package/{src/public-api.ts → public-api.d.ts} +7 -12
  52. package/karma.conf.js +0 -32
  53. package/ng-package.json +0 -7
  54. package/src/lib/caseNote/caseNote.component.css +0 -22
  55. package/src/lib/caseNote/caseNote.component.html +0 -188
  56. package/src/lib/caseNote/caseNote.component.ts +0 -265
  57. package/src/lib/common-dialog/common-dialog.component.css +0 -10
  58. package/src/lib/common-dialog/common-dialog.component.html +0 -23
  59. package/src/lib/common-dialog/common-dialog.component.spec.ts +0 -25
  60. package/src/lib/common-dialog/common-dialog.component.ts +0 -21
  61. package/src/lib/common-dialog/common-dialog.module.ts +0 -22
  62. package/src/lib/common-dialog/common-dialog.service.ts +0 -35
  63. package/src/lib/contact/contact.component.css +0 -22
  64. package/src/lib/contact/contact.component.html +0 -124
  65. package/src/lib/contact/contact.component.ts +0 -176
  66. package/src/lib/email-notification.service.ts +0 -42
  67. package/src/lib/email.services.ts +0 -51
  68. package/src/lib/http.service.ts +0 -34
  69. package/src/lib/intake.service.ts +0 -82
  70. package/src/lib/loader.service.ts +0 -11
  71. package/src/lib/safetyPlan/serviceProvider.component.ts +0 -94
  72. package/src/lib/safetyPlan/victimSafetyPlan.component.css +0 -27
  73. package/src/lib/safetyPlan/victimSafetyPlan.component.html +0 -85
  74. package/src/lib/safetyPlan/victimSafetyPlan.component.ts +0 -178
  75. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.html +0 -234
  76. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.ts +0 -492
  77. package/src/lib/shared/app.shared.module.ts +0 -111
  78. package/src/lib/shared/validators/date.validator.ts +0 -73
  79. package/src/lib/shared/validators/index.ts +0 -1
  80. package/src/lib/smart-victim-delete-confirm.component.ts +0 -35
  81. package/src/lib/smart-victim-detail/smart-victim-detail.component.css +0 -43
  82. package/src/lib/smart-victim-detail/smart-victim-detail.component.html +0 -869
  83. package/src/lib/smart-victim-detail/smart-victim-detail.component.spec.ts +0 -25
  84. package/src/lib/smart-victim-detail/smart-victim-detail.component.ts +0 -1387
  85. package/src/lib/smart-victim.component.css +0 -245
  86. package/src/lib/smart-victim.component.html +0 -132
  87. package/src/lib/smart-victim.component.spec.ts +0 -25
  88. package/src/lib/smart-victim.component.ts +0 -333
  89. package/src/lib/smart-victim.model.ts +0 -301
  90. package/src/lib/smart-victim.module.ts +0 -110
  91. package/src/lib/smart-victim.service.spec.ts +0 -12
  92. package/src/lib/smart-victim.service.ts +0 -557
  93. package/src/lib/victim-routing.module.ts +0 -35
  94. package/src/lib/victimSearch/victimSearchForm.component.html +0 -35
  95. package/src/lib/victimSearch/victimSearchForm.component.ts +0 -41
  96. package/src/test.ts +0 -16
  97. package/tsconfig.lib.json +0 -36
  98. package/tsconfig.spec.json +0 -17
  99. package/tslint.json +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csmart-ngc-smart-victim.mjs","sources":["../../../projects/ngc-smart-victim/src/lib/smart-victim.model.ts","../../../projects/ngc-smart-victim/src/lib/smart-victim.service.ts","../../../projects/ngc-smart-victim/src/lib/intake.service.ts","../../../projects/ngc-smart-victim/src/lib/common-dialog/common-dialog.component.ts","../../../projects/ngc-smart-victim/src/lib/common-dialog/common-dialog.component.html","../../../projects/ngc-smart-victim/src/lib/common-dialog/common-dialog.service.ts","../../../projects/ngc-smart-victim/src/lib/smart-victim-detail/smart-victim-detail.component.ts","../../../projects/ngc-smart-victim/src/lib/smart-victim-detail/smart-victim-detail.component.html","../../../projects/ngc-smart-victim/src/lib/victimSearch/VictimSearchFilter.ts","../../../projects/ngc-smart-victim/src/lib/victimSearch/victimSearchForm.component.ts","../../../projects/ngc-smart-victim/src/lib/victimSearch/victimSearchForm.component.html","../../../projects/ngc-smart-victim/src/lib/smart-victim.component.ts","../../../projects/ngc-smart-victim/src/lib/smart-victim.component.html","../../../projects/ngc-smart-victim/src/lib/smart-victim-delete-confirm.component.ts","../../../projects/ngc-smart-victim/src/lib/shared/app.shared.module.ts","../../../projects/ngc-smart-victim/src/lib/common-dialog/common-dialog.module.ts","../../../projects/ngc-smart-victim/src/lib/shared/validators/date.validator.ts","../../../projects/ngc-smart-victim/src/lib/email.services.ts","../../../projects/ngc-smart-victim/src/lib/caseNote/caseNote.component.ts","../../../projects/ngc-smart-victim/src/lib/caseNote/caseNote.component.html","../../../projects/ngc-smart-victim/src/lib/contact/contact.component.ts","../../../projects/ngc-smart-victim/src/lib/contact/contact.component.html","../../../projects/ngc-smart-victim/src/lib/safetyPlan/victimSafetyPlan.component.ts","../../../projects/ngc-smart-victim/src/lib/safetyPlan/victimSafetyPlan.component.html","../../../projects/ngc-smart-victim/src/lib/safetyPlan/serviceProvider.component.ts","../../../projects/ngc-smart-victim/src/lib/safetyPlan/victimSafetyPlanDetail.component.ts","../../../projects/ngc-smart-victim/src/lib/safetyPlan/victimSafetyPlanDetail.component.html","../../../projects/ngc-smart-victim/src/lib/victim-routing.module.ts","../../../projects/ngc-smart-victim/src/lib/smart-victim.module.ts","../../../projects/ngc-smart-victim/src/public-api.ts","../../../projects/ngc-smart-victim/src/csmart-ngc-smart-victim.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\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 VictimRelationship {\r\n constructor(\r\n public victimId: number,\r\n\r\n public victimOffenderRelationshipTypeId: 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 | null,\r\n public workPhone: string | null,\r\n public cellPhone: string | null,\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 | null,\r\n public guardianWorkPhone: string | null,\r\n public guardianCellPhone: string | null,\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 | null,\r\n public advocateWorkPhone: string | null,\r\n public advocateCellPhone: string | null,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string | null,\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 victimRelationships: VictimRelationship[],\r\n\r\n public allowCsosaContactFlag: boolean,\r\n public liveWithOffenderFlag: 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\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 \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\ngetCurrentHousing(offenderId: number) {\r\n\r\n return this.http\r\n .get(this.smartOffenderServiceUrl + 'Housings/current/' + offenderId)\r\n .pipe();\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\n/*\r\nputVictimRelationship(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimRelationships/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimRelationship(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimRelationships/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n*/\r\n\r\ndeleteVictims(val: any, staffId: number) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val + '?staffId='+ staffId, options).pipe\r\n (\r\n map(res => { return res;})\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\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\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 { Component, OnInit } from '@angular/core';\r\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\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","\r\n\r\n <mat-card class=\"example-card\">\r\n <mat-card-content>\r\n <p>{{ title }}</p>\r\n <p>{{ message }}</p>\r\n <br>\r\n\r\n <div class=\"inner\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\"\r\n (click)=\"commondialogRef.close(true)\">{{cmdYesTitle}}</button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"cmdYesTitle!=='Ok'\" class=\"inner\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\"\r\n (click)=\"commondialogRef.close()\">{{cmdNoTitle}}</button>\r\n\r\n </div>\r\n\r\n\r\n </mat-card-content>\r\n </mat-card>\r\n","import { Observable } from 'rxjs';\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\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, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, UntypedFormControl,Validators,ValidatorFn } from '@angular/forms';\r\nimport { MatRadioChange, MatRadioGroup } from '@angular/material/radio';\r\nimport { Victim,VictimDrugUse, Contact, VictimAdvocate,VictimGuardian,VictimWeaponUse,VictimSupport,VictimRelationship } 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 { coerceBooleanProperty}from'@angular/cdk/coercion';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { AddressValidators, SmartAddressComponent } from '@csmart/ngc-smart-address';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { MatSelect } from '@angular/material/select';\r\n\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Inject,\r\n} from '@angular/core';\r\n\r\nimport {\r\n UntypedFormArray,\r\n AbstractControl,\r\n FormGroupDirective,\r\n NgForm,\r\n} from '@angular/forms';\r\n\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nimport {\r\n XdmService,\r\n SelectedOffender,\r\n SmartAuthService,\r\n LoginStaff,\r\n SmartAccessControlConfig,\r\n AccessType,\r\n} from '@csmart/ngc-smart-core';\r\n\r\nimport { map, withLatestFrom } from 'rxjs/operators';\r\nimport { SmartDeleteConfirmComponent } from '@csmart/smart-ui';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\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 @ViewChild(\"addressComponent\") addressComponent: SmartAddressComponent;\r\n\r\n\r\n victimId: number;\r\n victimForm: UntypedFormGroup;\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 homePhoneControl = new UntypedFormControl();\r\n cellPhoneControl = new UntypedFormControl();\r\n workPhoneControl = new UntypedFormControl();\r\n guardianHomePhoneControl = new UntypedFormControl();\r\n guardianCellPhoneControl = new UntypedFormControl();\r\n guardianWorkPhoneControl = new UntypedFormControl();\r\n advocateHomePhoneControl = new UntypedFormControl();\r\n advocateCellPhoneControl = new UntypedFormControl();\r\n advocateWorkPhoneControl = new UntypedFormControl();\r\n emergencyContactPhoneControl = new UntypedFormControl();\r\n\r\n constructor(\r\n private location: Location,\r\n private formBuilder: UntypedFormBuilder,\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 private changeDetectorRefs: ChangeDetectorRef,\r\n\r\n ) {\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 UntypedFormControl('', Validators.compose([ Validators.required])),\r\n victimRelationships:new UntypedFormControl('', Validators.compose([ Validators.required])),\r\n lastName: new UntypedFormControl('', Validators.compose([ Validators.required])),\r\n firstName: new UntypedFormControl('', Validators.compose([ Validators.required])),\r\n middleName: new UntypedFormControl('', ),\r\n prefixId: new UntypedFormControl('', ),\r\n suffixId: new UntypedFormControl('', ),\r\n genderCode:new UntypedFormControl('', ),\r\n birthDate: new UntypedFormControl('', ),\r\n homePhone: new UntypedFormControl('', ),\r\n cellPhone: new UntypedFormControl('', ),\r\n workPhone: new UntypedFormControl('', ),\r\n email:new UntypedFormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n minorFlag:new UntypedFormControl('', Validators.compose([ Validators.required])),\r\n victimAdvocateFlag: new UntypedFormControl('', Validators.compose([ Validators.required])),\r\n guardianLastName:new UntypedFormControl('', stringConditionalValidator(() => this.victimForm.get('minorFlag').value, Validators.required, 'illuminatiError') ),\r\n guardianFirstName: new UntypedFormControl('', stringConditionalValidator(() => this.victimForm.get('minorFlag').value, Validators.required, 'illuminatiError')),\r\n guardianPrefixId:new UntypedFormControl('', ),\r\n guardianSuffixId: new UntypedFormControl('', ),\r\n //guardianGender:new FormControl('', ),\r\n guardianBirthDate: new UntypedFormControl('', ),\r\n guardianNoPhoneFlag:new UntypedFormControl(true),\r\n\r\n guardianHomePhone:new UntypedFormControl('',),\r\n guardianCellPhone:new UntypedFormControl('',),\r\n guardianWorkPhone:new UntypedFormControl('',),\r\n\r\n\r\n guardianEmail:new UntypedFormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n advocateNoPhoneFlag: new UntypedFormControl(true),\r\n\r\n\r\n advocateWorkPhone:new UntypedFormControl('',),\r\n advocateHomePhone:new UntypedFormControl('',),\r\n advocateCellPhone: new UntypedFormControl('',),\r\n\r\n\r\n advocateSuffixId:new UntypedFormControl('', ),\r\n advocatePrefixId: new UntypedFormControl('', ),\r\n advocateFirstName: new UntypedFormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required, 'illuminatiError')),\r\n advocateLastName: new UntypedFormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required,'illuminatiError')),\r\n advocateEmail: new UntypedFormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n emergencyContact: new UntypedFormControl('', ),\r\n emergencyContactPhone:new UntypedFormControl('',),\r\n emergencyChildren: new UntypedFormControl('', ),\r\n emergencyCpo: new UntypedFormControl('', ),\r\n emergencyDrug:new UntypedFormControl('', ),\r\n emergencySupport: new UntypedFormControl('', ),\r\n emergencyWeapon: new UntypedFormControl('', ),\r\n drug: new UntypedFormControl('', ),\r\n weapon: new UntypedFormControl('', ),\r\n support: new UntypedFormControl('', ),\r\n commonChildrenFlag: new UntypedFormControl('', ),\r\n commonChildrenNumber:new UntypedFormControl('', ),\r\n cpoExpirationFlag: new UntypedFormControl('', ),\r\n cpoExpirationDate: new UntypedFormControl('', ),\r\n accessRisk:new UntypedFormControl('', ),\r\n drugUseFlag:new UntypedFormControl('', ),\r\n supportInPlaceFlag: new UntypedFormControl('', ),\r\n weaponInvolvedFlag: new UntypedFormControl('', ),\r\n otherWeapon: new UntypedFormControl('', ),\r\n otherDrug: new UntypedFormControl('', ),\r\n alcoholUseFlag:new UntypedFormControl('', ),\r\n victimSupports:new UntypedFormControl('', ),\r\n victimWeaponUses:new UntypedFormControl('', ),\r\n victimDrugUses:new UntypedFormControl('', ),\r\n allowCsosaContactFlag: new UntypedFormControl('', ),\r\n liveWithOffenderFlag: new UntypedFormControl('', ),\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 relationshipsData =[];\r\n this.editVictim.victimRelationships.forEach( t=>{relationshipsData.push(t.victimOffenderRelationshipTypeId); } )\r\n const victimOffenderRelationshipControl = this.victimForm.get('victimRelations');\r\n victimOffenderRelationshipControl.setValue(relationshipsData);\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 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 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 if (drugUseData){\r\n const victimDrugUsesControl = this.victimForm.get('victimDrugUses');\r\n victimDrugUsesControl.setValue(drugUseData);\r\n\r\n }\r\n\r\n if (otherDrug){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValue(otherDrug);\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 this.homePhoneControl.setValue(\r\n !this.editVictim.homePhone ? \"\" : this.editVictim.homePhone\r\n );\r\n\r\n this.cellPhoneControl.setValue(\r\n !this.editVictim.cellPhone ? \"\" : this.editVictim.cellPhone\r\n );\r\n\r\n this.workPhoneControl.setValue(\r\n !this.editVictim.workPhone ? \"\" : this.editVictim.workPhone\r\n );\r\n\r\n this.guardianHomePhoneControl.setValue(\r\n !this.editVictim.guardianHomePhone ? \"\" : this.editVictim.guardianHomePhone\r\n );\r\n\r\n this.guardianCellPhoneControl.setValue(\r\n !this.editVictim.guardianCellPhone ? \"\" : this.editVictim.guardianCellPhone\r\n );\r\n\r\n this.guardianWorkPhoneControl.setValue(\r\n !this.editVictim.guardianWorkPhone ? \"\" : this.editVictim.guardianWorkPhone\r\n );\r\n\r\n\r\n this.advocateHomePhoneControl.setValue(\r\n !this.editVictim.advocateHomePhone ? \"\" : this.editVictim.advocateHomePhone\r\n );\r\n\r\n this.advocateCellPhoneControl.setValue(\r\n !this.editVictim.advocateCellPhone ? \"\" : this.editVictim.advocateCellPhone\r\n );\r\n\r\n this.advocateWorkPhoneControl.setValue(\r\n !this.editVictim.advocateWorkPhone ? \"\" : this.editVictim.advocateWorkPhone\r\n );\r\n\r\n this.emergencyContactPhoneControl .setValue(\r\n !this.editVictim.emergencyContactPhone ? \"\" : this.editVictim.emergencyContactPhone\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 onClear() {\r\n if (this.addressComponent) this.addressComponent.reset();\r\n }\r\n\r\n showAddress(value){\r\n\r\n if (value.checked){\r\n\r\n this.victimService.getCurrentHousing(this.offenderId).subscribe(\r\n (item: any) => {\r\n this.addressId = item.housing.addressId;\r\n this.victimForm.patchValue({addressId: this.addressId})\r\n })\r\n }\r\n else{\r\n this.addressComponent.reset();\r\n this.editVictim.allowCsosaContactFlag = false;\r\n this.addressId = null;\r\n }\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 ngOnInit() {\r\n this.homePhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.homePhone= newValue;\r\n });\r\n\r\n this.cellPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.cellPhone= newValue;\r\n });\r\n\r\n\r\n this.workPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.workPhone= newValue;\r\n });\r\n\r\n\r\n this.guardianHomePhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.guardianHomePhone= newValue;\r\n });\r\n\r\n\r\n this.guardianCellPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.guardianCellPhone= newValue;\r\n });\r\n\r\n this.guardianWorkPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.guardianWorkPhone= newValue;\r\n });\r\n\r\n this.advocateHomePhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.advocateHomePhone= newValue;\r\n });\r\n\r\n this.advocateCellPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.advocateCellPhone= newValue;\r\n });\r\n\r\n this.advocateWorkPhoneControl.valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.advocateWorkPhone= newValue;\r\n });\r\n\r\n this.emergencyContactPhoneControl .valueChanges.subscribe((hpn: string) => {\r\n const newValue = hpn.replace(/\\D/g, '');\r\n this.editVictim.emergencyContactPhone= newValue;\r\n });\r\n\r\n // this.offenderId = 219151;\r\n // this.staffId = 2929;\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\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 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 this.guardianTabFlag = this.victimDetail.minorFlag;\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 if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\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 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 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 \r\n this.relationshipTypes = items.filter( (y) => ((y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' ) \r\n && y.relationship !== 'AY'\r\n && y.relationship !== 'VT'\r\n && y.relationship !== 'CME'\r\n && y.relationship !== 'HH'\r\n && y.relationship !== 'NC'\r\n && y.relationship !== 'CL'\r\n && y.relationship !== 'OP'\r\n\r\n ));\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 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 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 back(){\r\n //this.onSave.emit(this.victimDetail);\r\n this.router.navigate(['victimList']);\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, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('Delete Successfully!', '', {\r\n duration: 3000, });\r\n \r\n \r\n }\r\n );\r\n \r\n // this.onSave.emit(this.victimDetail);\r\n // this.router.navigate(['victim']);\r\n setTimeout(()=>{\r\n window.location.reload();\r\n },1500);\r\n \r\n\r\n }\r\n });\r\n }\r\n\r\n radioMinorChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.guardianTabFlag = true;\r\n }\r\n else{\r\n this.guardianTabFlag = false;\r\n }\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\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 else{\r\n this.advocateTabFlag = false;\r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\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 this.guardianTabFlag = true;\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\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.guardianHomePhoneControl.value){\r\n if (this.guardianHomePhoneControl.value !== null){\r\n if (this.guardianHomePhoneControl.value !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.guardianWorkPhoneControl.value !== undefined){\r\n if (this.guardianWorkPhoneControl.value !== null){\r\n if (this.guardianWorkPhoneControl.value !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.guardianCellPhoneControl.value){\r\n if (this.guardianCellPhoneControl.value!== null){\r\n if (this.guardianCellPhoneControl.value !== \"\"){\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 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\n if (!this.victimForm.value.advocateNoPhoneFlag)\r\n {\r\n if (this.advocateHomePhoneControl.value){\r\n if (this.advocateHomePhoneControl.value !== null){\r\n if (this.advocateHomePhoneControl.value !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.advocateWorkPhoneControl.value !== undefined){\r\n if (this.advocateWorkPhoneControl.value !== null){\r\n if (this.advocateWorkPhoneControl.value !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.advocateCellPhoneControl.value){\r\n if (this.advocateCellPhoneControl.value !== null){\r\n if (this.advocateCellPhoneControl.value !== \"\"){\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 if (this.homePhoneControl.value){\r\n this.victimForm.value.homePhone = this.homePhoneControl.value.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.homePhone = null;\r\n }\r\n\r\n if (this.cellPhoneControl.value){\r\n this.victimForm.value.cellPhone = this.cellPhoneControl.value.replace(/[()\\s-]/g, '') ;\r\n }\r\n else{\r\n this.victimForm.value.cellPhone = null;\r\n }\r\n\r\n if (this.workPhoneControl.value){\r\n this.victimForm.value.workPhone = this.workPhoneControl.value.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.workPhone= null;\r\n }\r\n\r\n if (this.guardianHomePhoneControl.value){\r\n this.victimForm.value.guardianHomePhone = this.guardianHomePhoneControl.value.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.guardianHomePhone = null;\r\n }\r\n\r\n if (this.guardianCellPhoneControl.value){\r\n this.victimForm.value.guardianCellPhone = this.guardianCellPhoneControl.value.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.guardianCellPhone = null;\r\n }\r\n\r\n if (this.guardianWorkPhoneControl.value){\r\n this.victimForm.value.guardianWorkPhone = this.guardianWorkPhoneControl.value.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.guardianWorkPhone = null;\r\n }\r\n\r\n\r\n if (this.advocateHomePhoneControl.value){\r\n this.victimForm.value.advocateHomePhone = this.advocateHomePhoneControl.value.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateHomePhone = null;\r\n }\r\n\r\n if (this.advocateCellPhoneControl.value){\r\n this.victimForm.value.advocateCellPhone = this.advocateCellPhoneControl.value.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateCellPhone = null;\r\n }\r\n\r\n if (this.advocateWorkPhoneControl.value){\r\n this.victimForm.value.advocateWorkPhone = this.advocateWorkPhoneControl.value.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateWorkPhone = null;\r\n }\r\n\r\n \r\n if (this.emergencyContactPhoneControl.value){\r\n this.victimForm.value.emergencyContactPhone = this.emergencyContactPhoneControl.value.replace(/[()\\s-]/g, '')\r\n }else{\r\n this.victimForm.value.emergencyContactPhone = null;\r\n }\r\n//data process\r\n\r\n console.log('this.phoneValidationFlag 1');\r\n console.log(this.phoneValidationFlag);\r\n if ( this.phoneValidationFlag === false){\r\n if (this.victimDetail === null){\r\n\r\n //insert new victim\r\n\r\n\r\n var myVictimRelationships = [];\r\n\r\n console.log('this.victimForm.value.victimRelationships'+this.victimForm.value.victimRelationships)\r\n if (this.victimForm.value.victimRelationships){\r\n console.log('this.victimForm.value.victimRelationships 1'+this.victimForm.value.victimRelationships)\r\n \r\n this.victimForm.value.victimRelationships.forEach(element => {\r\n const victimRelationship= <VictimRelationship>{};\r\n victimRelationship.victimId= this.victimForm.value.victimId;\r\n victimRelationship.victimOffenderRelationshipTypeId= element;\r\n victimRelationship.modifiedBy= this.staffId;\r\n myVictimRelationships.push(victimRelationship);\r\n console.log('this.victimForm.value.victimRelationships 2'+this.victimForm.value.victimId)\r\n console.log('this.victimForm.value.victimRelationships 3'+this.staffId)\r\n console.log('this.victimForm.value.victimRelationships 4'+element)\r\n \r\n });\r\n }\r\n \r\n console.log('myVictimRelationships'+myVictimRelationships)\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\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 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 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:\r\n // 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\r\n ? this.victimForm.value.middleName\r\n : null,\r\n prefixId: this.victimForm.value.prefixId\r\n ? this.victimForm.value.prefixId\r\n : null,\r\n suffixId: this.victimForm.value.suffixId\r\n ? this.victimForm.value.suffixId\r\n : null,\r\n birthDate: this.victimForm.value.birthDate\r\n ? this.victimForm.value.birthDate\r\n : null,\r\n genderCode: this.victimForm.value.genderCode\r\n ? this.victimForm.value.genderCode\r\n : null,\r\n underSupervisionFlag: this.victimForm.value.underSupervisionFlag,\r\n minorFlag: this.victimForm.value.minorFlag,\r\n victimAdvocateFlag: this.victimForm.value.victimAdvocateFlag,\r\n\r\n homePhone: this.victimForm.value.homePhone,\r\n workPhone: this.victimForm.value.workPhone,\r\n cellPhone: this.victimForm.value.cellPhone,\r\n email: this.victimForm.value.email ? this.victimForm.value.email : null,\r\n addressId: this.victimForm.value.addressId\r\n ? this.victimForm.value.addressId\r\n : 1,\r\n emergencyContact: this.victimForm.value.emergencyContact\r\n ? this.victimForm.value.emergencyContact\r\n : null,\r\n emergencyContactPhone: this.victimForm.value.emergencyContactPhone,\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\r\n ? this.datePipe.transform(this.victimForm.value.cpoExpirationDate, \"short\")\r\n : 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 victimOffenderRelationships: myVictimRelationships,\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 //relationship: this.victimForm.value.victimOffenderRelationshipTypeId? this.victimForm.value.victimOffenderRelationshipTypeId : null,\r\n allowCsosaContactFlag: this.victimForm.value.allowCsosaContactFlag\r\n ? this.victimForm.value.allowCsosaContactFlag\r\n : null,\r\n liveWithOffenderFlag: this.victimForm.value.liveWithOffenderFlag\r\n ? this.victimForm.value.liveWithOffenderFlag\r\n : null,\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\r\n\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\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 this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n\r\n if (this.victimForm.value.minorFlag == true){\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 this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\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 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;\r\n this.victimDetail.workPhone = this.victimForm.value.workPhone;\r\n this.victimDetail.cellPhone = this.victimForm.value.cellPhone;\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;\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 this.victimDetail.liveWithOffenderFlag = this.victimForm.value.liveWithOffenderFlag;\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.victimRelationships = [];\r\n this.victimForm.value.victimRelationships.forEach(element => {\r\n const victimRelationship= <VictimRelationship>{};\r\n victimRelationship.victimId= this.victimDetail.victimId;\r\n victimRelationship.victimOffenderRelationshipTypeId= element;\r\n victimRelationship.modifiedBy= this.staffId;\r\n this.victimDetail.victimRelationships.push(victimRelationship);\r\n });\r\n\r\n\r\n this.victimDetail.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\r\n });\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\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 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 console.log('this.victimDetail before emit');\r\n console.log(this.victimDetail);\r\n\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 //Advocate section\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;\r\n this.victimAdvocate.workPhone= this.victimForm.value.advocateWorkPhone;\r\n this.victimAdvocate.cellPhone= this.victimForm.value.advocateCellPhone;\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 // 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;\r\n this.victimGuardian.workPhone = this.victimForm.value.guardianWorkPhone;\r\n this.victimGuardian.cellPhone = this.victimForm.value.guardianCellPhone;\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 }//end of this.phoneValidationFlag = false\r\n\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 //#endregion \"save victim\"\r\n addContact(){\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 update() {\r\n // this.task.update(task => {\r\n // if (index === undefined) {\r\n // task.completed = completed;\r\n // task.subtasks?.forEach(t => (t.completed = completed));\r\n // } else {\r\n // task.subtasks![index].completed = completed;\r\n // task.completed = task.subtasks?.every(t => t.completed) ?? true;\r\n // }\r\n // return {...task};\r\n // });\r\n }\r\n\r\n\r\n}\r\n","<mat-card>\r\n <mat-card-content>\r\n\r\n <div [formGroup]=\"victimForm\">\r\n\r\n <mat-tab-group dynamicHeight mat-stretch-tabs>\r\n <mat-tab label=\"Victim Detail\" >\r\n <div class='container'>\r\n\r\n <mat-form-field>\r\n <mat-label>Is victim a minor?<font color=\"red\">* </font></mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"minorFlag\" (change)=\"radioMinorChange($event)\" [(ngModel)]=\"editVictim.minorFlag\" >\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('minorFlag').errors\r\n && (victimForm.get('minorFlag').dirty || victimForm.get('minorFlag').touched)\">\r\n <mat-error>If victim a minor field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Does the Victim have a Victim Advocate or Social Worker with <br>whom CSOSA should maintain contact?<font color=\"red\">* </font></mat-label>\r\n <br>\r\n <br>\r\n <mat-radio-group class = \"tp-radio-group\" formControlName=\"victimAdvocateFlag\" (change)=\"radioAdvocateChange($event)\" [(ngModel)]=\"editVictim.victimAdvocateFlag\">\r\n <mat-radio-button color=\"primary\" *ngFor=\"let item of flagOption\" [value]=\"item.flagOptionYesNoUnknownId\">{{item.name}} </mat-radio-button>&nbsp;\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimAdvocateFlag').errors\r\n && (victimForm.get('victimAdvocateFlag').dirty || victimForm.get('victimAdvocateFlag').touched)\">\r\n <mat-error>If victim has advocate field is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Currently Under Supervision:</mat-label>\r\n <mat-select formControlName=\"underSupervisionFlag\" name=\"supervision\" [(ngModel)]=\"editVictim.underSupervisionFlag\" >\r\n <mat-option *ngFor=\"let item of flagOption\" [value]=\"item.flagOptionYesNoUnknownId\" >\r\n {{item.name}}</mat-option>\r\n </mat-select>\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('underSupervisionFlag').errors\r\n && (victimForm.get('underSupervisionFlag').dirty || victimForm.get('underSupervisionFlag').touched)\">\r\n <mat-error>under supervision field is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n\r\n <mat-form-field>\r\n <mat-label>Relationship to Offender:</mat-label>\r\n \r\n <mat-select #relationShipSel multiple formControlName=\"victimRelationships\" [(ngModel)]=\"editVictim.victimOffenderRelationshipTypeId\" >\r\n <div (mouseleave)=\"relationShipSel.close()\">\r\n <mat-option color=\"primary\" *ngFor=\"let item of relationshipTypes\" [value]=\"item.relationshipTypeId\">\r\n {{item.name}}\r\n </mat-option>\r\n </div>\r\n </mat-select>\r\n\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimRelationships').errors\r\n && (victimForm.get('victimRelationships').dirty || victimForm.get('victimRelationships').touched)\">\r\n <mat-error>relationship is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Last Name:</mat-label>\r\n <input matInput formControlName=\"lastName\" [(ngModel)]=\"editVictim.lastName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('lastName').errors\r\n && (victimForm.get('lastName').dirty || victimForm.get('lastName').touched)\">\r\n <mat-error>victim last name is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim First Name: </mat-label>\r\n <input matInput formControlName=\"firstName\" [(ngModel)]=\"editVictim.firstName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('firstName').errors\r\n && (victimForm.get('firstName').dirty || victimForm.get('firstName').touched)\">\r\n <mat-error>victim first name is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Middle Name:</mat-label>\r\n <input matInput formControlName=\"middleName\" [(ngModel)]=\"editVictim.middleName\">\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Prefix:</mat-label>\r\n <mat-select formControlName=\"prefixId\" [(ngModel)]=\"editVictim.prefixId\">\r\n <mat-option *ngFor=\"let item of prefixes\" [value]=\"item.prefixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Suffix:</mat-label>\r\n <mat-select formControlName=\"suffixId\" [(ngModel)]=\"editVictim.suffixId\">\r\n <mat-option *ngFor=\"let item of suffixes\" [value]=\"item.suffixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Gender:</mat-label>\r\n <mat-select formControlName=\"genderCode\" [(ngModel)]=\"editVictim.genderCode\">\r\n <mat-option *ngFor=\"let item of genders\" [value]=\"item.genderCode\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Date of Birth:</mat-label>\r\n <input matInput\r\n [matDatepicker]=\"victimBirthRef\"\r\n formControlName=\"birthDate\"\r\n [(ngModel)]=\"editVictim.birthDate\"\r\n (click)=\"victimBirthRef.open()\"\r\n (dateChange)=\"handleDOBChange($event)\"\r\n >\r\n <mat-datepicker-toggle [for]=\"victimBirthRef\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #victimBirthRef></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim Home Phone:</mat-label>\r\n <input\r\n id=\"tel\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.homePhone\"\r\n [phoneControl]=\"homePhoneControl\"\r\n [formControl]=\"homePhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('homePhone').errors\r\n && (victimForm.get('homePhone').dirty || victimForm.get('homePhone').touched)\">\r\n <mat-error><strong>Home phone number format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Victim Cell Phone:</mat-label>\r\n <input\r\n id=\"tel1\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.cellPhone\"\r\n [phoneControl]=\"cellPhoneControl\"\r\n [formControl]=\"cellPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('cellPhone').errors\r\n && (victimForm.get('cellPhone').dirty || victimForm.get('cellPhone').touched)\">\r\n <mat-error><strong>Cell phone number format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n\r\n <mat-form-field >\r\n <mat-label>Victim Work Phone:</mat-label>\r\n <input\r\n id=\"tel2\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.workPhone\"\r\n [phoneControl]=\"workPhoneControl\"\r\n [formControl]=\"workPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('workPhone').errors\r\n && (victimForm.get('workPhone').dirty || victimForm.get('workPhone').touched)\">\r\n <mat-error><strong>Work phone number format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Victim Email:</mat-label>\r\n <input matInput formControlName=\"email\" [(ngModel)]=\"editVictim.email\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('email').errors\r\n && (victimForm.get('email').dirty || victimForm.get('email').touched)\">\r\n <mat-error><strong>victim email format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <div></div>\r\n <app-smart-address\r\n [modifiedBy]=\"staffId\"\r\n [id]=\"addressId\"\r\n [outline]=\"true\"\r\n [showPsa]=\"true\"\r\n [addressValidators]=\"addressValidators\"\r\n [readonly]=\"false\"\r\n (addressIdChange)=\"onAddressChange($event)\"\r\n #addressComponent >\r\n\r\n </app-smart-address>\r\n\r\n\r\n <!-- Docket:\r\n <div>\r\n <div *ngFor=\"let docket of docketlist; let i=index\">\r\n <mat-checkbox >{{docket.docketNumber}}</mat-checkbox>\r\n </div>\r\n </div> -->\r\n <div>\r\n <mat-checkbox color=\"primary\" formControlName=\"liveWithOffenderFlag\" name=\"liveWithOffenderFlag\" [(ngModel)]=\"editVictim.liveWithOffenderFlag\" (change)=\"showAddress($event)\" >victim live with offender</mat-checkbox>\r\n <br>\r\n <mat-checkbox color=\"primary\" formControlName=\"allowCsosaContactFlag\" name=\"allowCsosaContactFlag\" [(ngModel)]=\"editVictim.allowCsosaContactFlag\">victim wants to be contacted by CSOSA</mat-checkbox>\r\n </div>\r\n\r\n </div>\r\n\r\n <mat-card>\r\n <mat-form-field>\r\n <mat-label> Children in Common</mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"commonChildrenFlag\" [(ngModel)]=\"editVictim.commonChildrenFlag\" (change)=\"radioCicChange($event)\">\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"commonChildrenDivFlag\">\r\n\r\n <mat-form-field >\r\n <mat-label>\r\n Children number\r\n </mat-label>\r\n <input matInput formControlName=\"commonChildrenNumber\" [(ngModel)]=\"editVictim.commonChildrenNumber\" >\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <mat-form-field>\r\n <mat-label>CPO: </mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"cpoExpirationFlag\" [(ngModel)]=\"editVictim.cpoExpirationFlag\" (change)=\"radioCpoChange($event)\">\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"cpoExpirationDivFlag\">\r\n <mat-form-field>\r\n <mat-label>Expiration Date: </mat-label>\r\n <input matInput\r\n [matDatepicker]=\"cpoDateRef\"\r\n formControlName=\"cpoExpirationDate\"\r\n (click)=\"cpoDateRef.open()\"\r\n [(ngModel)]=\"editVictim.cpoExpirationDate\" >\r\n <mat-datepicker-toggle [for]=\"cpoDateRef\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #cpoDateRef></mat-datepicker>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <br>\r\n <br>\r\n\r\n <mat-form-field>\r\n <mat-label>Victim has a Support System in Place? </mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"supportInPlaceFlag\" [(ngModel)]=\"editVictim.supportInPlaceFlag\" (change)=\"radioSupportChange($event)\">\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"supportInPlaceDivFlag\">\r\n <mat-form-field>\r\n <mat-label>Support type? </mat-label>\r\n <mat-select #supportSel formControlName=\"victimSupports\" [(ngModel)]=\"editVictim.victimSupports\" multiple>\r\n <div (mouseleave)=\"supportSel.close()\">\r\n <mat-option color=\"primary\" *ngFor=\"let item of victimSupportTypes\" [value]=\"item.victimSupportTypeId\">\r\n {{item.name}}\r\n </mat-option>\r\n </div>\r\n </mat-select>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <br>\r\n <br>\r\n\r\n <mat-form-field>\r\n <mat-label>Weapons Involved?</mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"weaponInvolvedFlag\" (change)=\"radioWeaponChange($event)\" [(ngModel)]=\"editVictim.weaponInvolvedFlag\" >\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n\r\n <div *ngIf=\"weaponInvolvedDivFlag\">\r\n <mat-form-field>\r\n <mat-label>Weapon Type</mat-label>\r\n <mat-select #weaponSel formControlName=\"victimWeaponUses\" multiple [(ngModel)]=\"editVictim.victimWeaponUses\" (selectionChange)=\"checkOtherWeapon($event.value)\" >\r\n <div (mouseleave)=\"weaponSel.close()\">\r\n <mat-option color=\"primary\" *ngFor=\"let item of weaponTypes\" [value]=\"item.weaponTypeId\">\r\n {{item.name}}\r\n </mat-option>\r\n </div>\r\n </mat-select>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div *ngIf=\"otherWeaponFlag\">\r\n <mat-form-field>\r\n <mat-label>Other Weapon:* </mat-label>\r\n <input matInput formControlName=\"otherWeapon\" >\r\n </mat-form-field>\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('otherWeapon').errors\r\n && (victimForm.get('otherWeapon').dirty || victimForm.get('otherWeapon').touched)\">\r\n <mat-error><strong>Other weapon is required.</strong></mat-error>\r\n </div>\r\n </div>\r\n\r\n\r\n <br>\r\n <br>\r\n\r\n <mat-form-field>\r\n <mat-label>Was Offender under the influence of alcohol at the time of the offense?</mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"alcoholUseFlag\" [(ngModel)]=\"editVictim.alcoholUseFlag\" >\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n <br>\r\n <br>\r\n\r\n <mat-form-field>\r\n <mat-label>Was Offender under the influence of drugs at the time of the offense?</mat-label>\r\n <br>\r\n <mat-radio-group formControlName=\"drugUseFlag\" (change)=\"radioDrugChange($event)\" [(ngModel)]=\"editVictim.drugUseFlag\" >\r\n <mat-radio-button color=\"primary\" [value]=\"true\">Yes</mat-radio-button>&nbsp;\r\n <mat-radio-button color=\"primary\" [value]=\"false\">No</mat-radio-button>\r\n </mat-radio-group>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"drugUseDivFlag\">\r\n <mat-form-field>\r\n <mat-label>Drug:</mat-label>\r\n <mat-select #drugSel formControlName=\"victimDrugUses\" multiple (selectionChange)=\"checkOtherDrug($event.value)\" >\r\n <div (mouseleave)=\"drugSel.close()\">\r\n <mat-option color=\"primary\" *ngFor=\"let item of drugs\" [value]=\"item.drugTypeId\">\r\n {{item.name}}\r\n </mat-option>\r\n\r\n </div>\r\n </mat-select>\r\n <input matInput placeholder=\"\" style=\"display: none\">\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"otherDrugFlag\">\r\n <mat-form-field>\r\n <mat-label>Other Drug:* </mat-label>\r\n <input matInput formControlName=\"otherDrug\" >\r\n </mat-form-field>\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('otherDrug').errors\r\n && (victimForm.get('otherDrug').dirty || victimForm.get('otherDrug').touched)\">\r\n <mat-error><strong>Other drug is required.</strong></mat-error>\r\n </div>\r\n </div>\r\n <br>\r\n <br>\r\n\r\n <div>\r\n <div>\r\n <mat-label>\r\n Access Risk: 1 thru 10 (10 greatest risk): &nbsp;<b> {{editVictim.accessRisk}}</b>\r\n </mat-label>\r\n </div>\r\n <div>\r\n\r\n <mat-slider\r\n formControlName=\"accessRisk\"\r\n thumbLabel=\"true\"\r\n [displayWith]=\"formatLabel\"\r\n min=\"1\"\r\n max=\"10\"\r\n [(ngModel)]=\"editVictim.accessRisk\"\r\n ><input matSliderThumb /></mat-slider>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </mat-card>\r\n\r\n\r\n <br><br><br>\r\n </mat-tab>\r\n\r\n <mat-tab *ngIf=\"guardianTabFlag\" label=\"Legal Guardian\">\r\n <div class='container'>\r\n <mat-form-field>\r\n <mat-label>Guardian Last Name:</mat-label>\r\n <input matInput formControlName=\"guardianLastName\" [(ngModel)]=\"editVictim.guardianLastName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianLastName').errors \">\r\n <mat-error>Guardian last name is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Guardian First Name:</mat-label>\r\n <input matInput formControlName=\"guardianFirstName\" [(ngModel)]=\"editVictim.guardianFirstName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianFirstName').errors \">\r\n <mat-error>Guardian first name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Guardian Prefix:</mat-label>\r\n <mat-select formControlName=\"guardianPrefixId\" [(ngModel)]=\"editVictim.guardianPrefixId\" >\r\n <mat-option *ngFor=\"let item of prefixes\" [value]=\"item.prefixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Guardian Suffix:</mat-label>\r\n <mat-select formControlName=\"guardianSuffixId\" [(ngModel)]=\"editVictim.guardianSuffixId\" >\r\n <mat-option *ngFor=\"let item of suffixes\" [value]=\"item.suffixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n <!-- <mat-form-field>\r\n <mat-select placeholder=\"Choose\" formControlName=\"guardianGender\" [(ngModel)]=\"editVictim.guardianGender\">\r\n <mat-option *ngFor=\"let item of genders\" [value]=\"item.genderCode\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field> -->\r\n\r\n\r\n <mat-form-field>\r\n <mat-label>Date of Birth:</mat-label>\r\n <input matInput\r\n [matDatepicker]=\"guardianDateRef\"\r\n formControlName=\"guardianBirthDate\"\r\n [(ngModel)]=\"editVictim.guardianBirthDate\"\r\n (click)=\"guardianDateRef.open()\"\r\n >\r\n <mat-datepicker-toggle [for]=\"guardianDateRef\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #guardianDateRef></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div></div>\r\n <mat-form-field >\r\n <mat-checkbox\r\n color = \"primary\"\r\n formControlName=\"guardianNoPhoneFlag\">\r\n No Phone (If there is no phone, the phone fields are no longer required)</mat-checkbox>\r\n <input matInput placeholder=\"\" style=\"display: none;\">\r\n </mat-form-field>\r\n\r\n\r\n <div></div>\r\n <mat-card>\r\n <mat-form-field >\r\n <mat-label>Guardian Home Phone:</mat-label>\r\n <input\r\n id=\"tel\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.guardianHomePhone\"\r\n [phoneControl]=\"guardianHomePhoneControl\"\r\n [formControl]=\"guardianHomePhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianHomePhone').errors\r\n && (victimForm.get('guardianHomePhone').dirty || victimForm.get('guardianHomePhone').touched)\">\r\n <mat-error><strong>Guardian home phone number format is not correct.</strong></mat-error>\r\n </div>\r\n\r\n\r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Guardian Cell Phone:</mat-label>\r\n <input\r\n id=\"tel4\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.guardianCellPhone\"\r\n [phoneControl]=\"guardianCellPhoneControl\"\r\n [formControl]=\"guardianCellPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianCellPhone').errors\r\n && (victimForm.get('guardianCellPhone').dirty || victimForm.get('guardianCellPhone').touched)\">\r\n <mat-error><strong>Guardian Cell phone number format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Guardian Work Phone:</mat-label>\r\n\r\n <input\r\n id=\"tel5\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.guardianWorkPhone\"\r\n [phoneControl]=\"guardianWorkPhoneControl\"\r\n [formControl]=\"guardianWorkPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianWorkPhone').errors\r\n && (victimForm.get('guardianWorkPhone').dirty || victimForm.get('guardianWorkPhone').touched)\">\r\n <mat-error><strong>Guardian work phone number format is not correct.</strong></mat-error>\r\n </div>\r\n\r\n\r\n </mat-form-field>\r\n </mat-card>\r\n\r\n <div></div>\r\n\r\n <mat-form-field>\r\n <mat-label>Guardian Email:</mat-label>\r\n <input matInput formControlName=\"guardianEmail\" [(ngModel)]=\"editVictim.guardianEmail\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianEmail').errors\r\n && (victimForm.get('guardianEmail').dirty || victimForm.get('guardianEmail').touched)\">\r\n <mat-error><strong>Guardian email format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <div></div>\r\n\r\n <div>\r\n <app-smart-address\r\n\r\n [showPsa]=\"true\"\r\n [modifiedBy]=\"staffId\"\r\n [id]=\"guardianAddressId\"\r\n (addressIdChange)=\"onGuardianAddressChange($event)\"\r\n [outline]=\"true\"\r\n readonly=\"false\"\r\n [rowHeight]=\"80\"\r\n (isValid)=\"false\"\r\n [addressValidators]=\"addressValidators\"\r\n #guardianAddressComponent\r\n >\r\n </app-smart-address>\r\n </div>\r\n </div>\r\n\r\n <br><br><br>\r\n </mat-tab>\r\n\r\n <!--advocate-->\r\n\r\n <mat-tab *ngIf=\"advocateTabFlag\" label=\"Advocate\" >\r\n <div class='container'>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Last Name:</mat-label>\r\n <input matInput formControlName=\"advocateLastName\" [(ngModel)]=\"editVictim.advocateLastName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateLastName').errors \">\r\n <mat-error>Advocate last name is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate First Name:</mat-label>\r\n <input matInput formControlName=\"advocateFirstName\" [(ngModel)]=\"editVictim.advocateFirstName\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateFirstName').errors \">\r\n <mat-error>Advocate first name is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Prefix:</mat-label>\r\n <mat-select formControlName=\"advocatePrefixId\" [(ngModel)]=\"editVictim.advocatePrefixId\" >\r\n <mat-option *ngFor=\"let item of prefixes\" [value]=\"item.prefixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Suffix:</mat-label>\r\n <mat-select formControlName=\"advocateSuffixId\" [(ngModel)]=\"editVictim.advocateSuffixId\" >\r\n <mat-option *ngFor=\"let item of suffixes\" [value]=\"item.suffixId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n <mat-form-field>\r\n <mat-checkbox\r\n color = \"primary\"\r\n formControlName=\"advocateNoPhoneFlag\"\r\n\r\n [(ngModel)]=\"editVictim.advocateNoPhoneFlag\" >\r\n No Phone (If there is no phone, the phone fields are no longer required)</mat-checkbox>\r\n <input matInput placeholder=\"\" style=\"display: none;\">\r\n </mat-form-field>\r\n\r\n <div></div>\r\n <mat-card>\r\n <mat-form-field >\r\n <mat-label>Advocate Home Phone:</mat-label>\r\n <input\r\n id=\"tel\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.advocateHomePhone\"\r\n [phoneControl]=\"advocateHomePhoneControl\"\r\n [formControl]=\"advocateHomePhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateHomePhone').errors\r\n && (victimForm.get('advocateHomePhone').dirty || victimForm.get('advocateHomePhone').touched)\">\r\n <mat-error><strong>Advocate home number format is not correct.</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Cell Phone:</mat-label>\r\n <input\r\n id=\"tel7\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.advocateCellPhone\"\r\n [phoneControl]=\"advocateCellPhoneControl\"\r\n [formControl]=\"advocateCellPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateCellPhone').errors\r\n && (victimForm.get('advocateCellPhone').dirty || victimForm.get('advocateCellPhone').touched)\">\r\n <mat-error><strong>Advocate cell number format is not correct.</strong></mat-error>\r\n </div>\r\n\r\n\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Work Phone:</mat-label>\r\n <input\r\n id=\"tel8\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.advocateWorkPhone\"\r\n [phoneControl]=\"advocateWorkPhoneControl\"\r\n [formControl]=\"advocateWorkPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateWorkPhone').errors\r\n && (victimForm.get('advocateWorkPhone').dirty || victimForm.get('advocateWorkPhone').touched)\">\r\n <mat-error><strong>Advocate work number format is not correct.</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n </mat-card>\r\n\r\n <div></div>\r\n\r\n <mat-form-field>\r\n <mat-label>Advocate Email:</mat-label>\r\n <input matInput formControlName=\"advocateEmail\" [(ngModel)]=\"editVictim.advocateEmail\" >\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateEmail').errors\r\n && (victimForm.get('advocateEmail').dirty || victimForm.get('advocateEmail').touched)\">\r\n <mat-error><strong>Advocate email format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n <div></div>\r\n\r\n\r\n <div >\r\n <app-smart-address\r\n [showPsa]=\"true\"\r\n [modifiedBy]=\"staffId\"\r\n [id]=\"advocateAddressId\"\r\n (addressIdChange)=\"onAdvocateAddressChange($event)\"\r\n [outline]=\"true\"\r\n readonly=\"false\"\r\n [rowHeight]=\"80\"\r\n (isValid)=\"false\"\r\n [addressValidators]=\"addressValidators\"\r\n #advocateAddressComponent >\r\n </app-smart-address>\r\n </div>\r\n </div>\r\n <br><br><br>\r\n </mat-tab>\r\n\r\n\r\n <mat-tab label=\"Emergency Contact\">\r\n <div class='container'>\r\n\r\n <mat-form-field>\r\n <mat-label>Emergency Contact Name:</mat-label>\r\n <input matInput formControlName=\"emergencyContact\" [(ngModel)]=\"editVictim.emergencyContact\" >\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Emergency Phone Number:</mat-label>\r\n\r\n <input\r\n id=\"tel\"\r\n matInput\r\n phoneMask\r\n [preValue]=\"editVictim.emergencyContactPhone\"\r\n [phoneControl]=\"emergencyContactPhoneControl\"\r\n [formControl]=\"emergencyContactPhoneControl\"\r\n maxlength=\"14\"/>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('emergencyContactPhone').errors\r\n && (victimForm.get('emergencyContactPhone').dirty || victimForm.get('emergencyContactPhone').touched)\">\r\n <mat-error><strong>Emergency contact number format is not correct.</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n\r\n </div>\r\n <br><br><br>\r\n </mat-tab>\r\n\r\n </mat-tab-group>\r\n <div class='outer'>\r\n <div>\r\n All buttons apply to all tabs. If save button is grey, please check each tab to make sure the required field is filled.<br><br>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('minorFlag').errors\r\n && (victimForm.get('minorFlag').dirty || victimForm.get('minorFlag').touched)\">\r\n <mat-error>If victim a minor field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimAdvocateFlag').errors\r\n && (victimForm.get('victimAdvocateFlag').dirty || victimForm.get('victimAdvocateFlag').touched)\">\r\n <mat-error>If victim has advocate field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('underSupervisionFlag').errors\r\n && (victimForm.get('underSupervisionFlag').dirty || victimForm.get('underSupervisionFlag').touched)\">\r\n <mat-error>Under supervision field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimRelationships').errors\r\n && (victimForm.get('victimRelationships').dirty || victimForm.get('victimRelationships').touched)\">\r\n <mat-error>Relationship is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('lastName').errors\r\n && (victimForm.get('lastName').dirty || victimForm.get('lastName').touched)\">\r\n <mat-error>Victim last name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('firstName').errors\r\n && (victimForm.get('firstName').dirty || victimForm.get('firstName').touched)\">\r\n <mat-error>victim first name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianFirstName').errors\r\n && (victimForm.get('guardianFirstName').dirty || victimForm.get('guardianFirstName').touched)\">\r\n <mat-error>Guardian first name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('guardianLastName').errors\r\n && (victimForm.get('guardianLastName').dirty || victimForm.get('guardianLastName').touched)\" >\r\n <mat-error>Guardian last name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateLastName').errors\r\n && (victimForm.get('advocateLastName').dirty || victimForm.get('advocateLastName').touched)\" >\r\n <mat-error>Advocate last name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('advocateFirstName').errors\r\n && (victimForm.get('advocateFirstName').dirty || victimForm.get('advocateFirstName').touched)\">\r\n <mat-error>Advocate first name is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('otherWeapon').errors\r\n && (victimForm.get('otherWeapon').dirty || victimForm.get('otherWeapon').touched)\">\r\n <mat-error>Other weapon field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('otherDrug').errors\r\n && (victimForm.get('otherDrug').dirty || victimForm.get('otherDrug').touched)\">\r\n <mat-error>Other drug field is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"inner\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveVictim()\" [disabled]=\"!victimForm.valid\" >Save </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n <div *ngIf=\"showDelete\" class=\"inner\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n <div class=\"inner\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n <button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n\r\n </div>\r\n\r\n </div>\r\n <br>\r\n <br>\r\n\r\n <div align=\"right\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"addContact()\" >Add victim contact</button>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-table #table [dataSource]=\"contactDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"contactDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"victimContactMethod\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Method</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimContactMethod}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"nextContactDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Next Contact Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.nextContactDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"staff\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact By</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.staff}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"contactId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['contactDate', 'victimContactMethod','nextContactDate', 'staff', 'comment', 'contactId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['contactDate', 'victimContactMethod','nextContactDate', 'staff', 'comment', 'contactId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n </div>\r\n\r\n </mat-card-content>\r\n</mat-card>\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","<form name=\"victimSearchFrom\" #From=\"ngForm\">\r\n<mat-expansion-panel [expanded]=\"true\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n Search for Victims\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"victimSearch\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Last Name\" [(ngModel)]=\"filter.lastName\" name=\"lastName\" id=\"lastName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim First Name\" [(ngModel)]=\"filter.firstName\" name=\"firstName\" id=\"firstName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Date of Birth\" type=\"date\" [(ngModel)]=\"filter.birthDate\" name=\"birthDate\" id=\"birthDate\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender PDID\" [(ngModel)]=\"filter.pdid\" name=\"pdid\" id=\"pdid\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender CSOSA #\"[(ngModel)]=\"filter.offenderId\" name=\"offenderId\" id=\"offenderId\">\r\n </mat-form-field>\r\n\r\n\r\n <section>\r\n <button id=\"victimSearchButton\" mat-stroked-button color=\"primary\" (click)=\"onChange()\">Search</button>\r\n <span style=\"padding-right: 5px;\"></span>\r\n <button mat-stroked-button color=\"primary\" type=\"reset\" value=\"Reset\">Clear Changes</button>\r\n </section>\r\n </div>\r\n </mat-expansion-panel>\r\n</form>\r\n\r\n\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 { MatSort } from '@angular/material/sort';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\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\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\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 selectedOffender: SelectedOffender;\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 const queryParams = this.route.snapshot.queryParams;\r\n if(queryParams['routeTo']) {\r\n this.router.navigate([queryParams['routeTo']]);\r\n }\r\n const selData = this.route.snapshot.data;\r\n this.selectedOffender = selData['selectedOffender'];\r\n var myPath = this.router.url.slice(-10);\r\n\r\n\r\n console.log(\"offender id at smart-victim\");\r\n console.log(this.offenderId);\r\n console.log(\"staff id at smart-victim\");\r\n console.log(this.staffId);\r\n console.log(\"insakeFlag at smart-victim\");\r\n console.log(this.intakeFlag);\r\n\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 == \"true\") {\r\n // this.isIntake = true;\r\n // }\r\n\r\n this.isIntake = this.selectedOffender.intakeFlag;\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 = selData.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.victims = data;\r\n this.victimListDataSource.data = data;\r\n\r\n console.log(\"victim data at line 241\");\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.victims = data;\r\n this.victimListDataSource.data = data;\r\n\r\n console.log(\"victim data at line 262\");\r\n console.log(data);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n// phone number format on the victim list\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 =\r\n `${this.smartWarrantUrl}/?offenderId=${this.offenderId}&intakeFlag=${this.isIntake}&routeTo=warrant`;\r\n });\r\n }\r\n\r\n goToCaseNote(victimId: number) {\r\n this.router.navigate([\"casenote\", victimId, this.offenderId]);\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.doSpin = !this.doSpin;\r\n\r\n if (data.length > 0) {\r\n this.showListFlag = true;\r\n this.victimListDataSource.data = data;\r\n console.log('victim list 323'+ data);\r\n\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","<div *ngIf=\"showSearchForm\">\r\n <app-victim-search-form\r\n (onSearch)=\"getVictimList($event)\">\r\n </app-victim-search-form>\r\n</div>\r\n\r\n<div *ngIf=\"showDetail\">\r\n <csmart-victim-detail [victimDetail]=\"victimDetail\"\r\n [staffId]=\"staffId\"\r\n [offenderId] =\"offenderId\"\r\n [isIntake]=\"isIntake\"\r\n (onSave)=\"save($event)\"\r\n (onCancel)=\"cancel()\" >\r\n</csmart-victim-detail>\r\n</div>\r\n<div class=\"main-container\">\r\n <mat-card id=\"divVictim\" class=\"smart-card-table\">\r\n <div class=\"smart-action-content\">\r\n <button mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"createAccessControlConfig\"\r\n *ngIf=\"showAdd\"\r\n class=\"smart-add-button\"\r\n (click)=\"addRecord()\">\r\n <mat-icon>add</mat-icon>\r\n Add Victim\r\n </button>\r\n <button\r\n mat-stroked-button\r\n class=\"smart-add-button\"\r\n *ngIf=\"isIntake\"\r\n color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"saveIntake()\">\r\n Continue\r\n </button>\r\n </div>\r\n <div *ngIf=\"victimListDataSource.data.length > 0\">\r\n <mat-table #table [dataSource]=\"victimListDataSource\" >\r\n\r\n <ng-container matColumnDef=\"lastName\">\r\n <mat-header-cell *matHeaderCellDef>Victim Last Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.lastName}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"firstName\">\r\n <mat-header-cell *matHeaderCellDef >Victim First Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.firstName}} </mat-cell>\r\n </ng-container>\r\n\r\n <div *ngIf=\"showRelationshipColumn\">\r\n <ng-container matColumnDef=\"relationship\">\r\n <mat-header-cell *matHeaderCellDef >Relationship to Offender</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.victimOffenderRelationships[0]}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderPhoneColumn\">\r\n <ng-container matColumnDef=\"homePhone\">\r\n <mat-header-cell *matHeaderCellDef >Phone Number</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n Home phone: {{formatPhoneNumber(row.homePhone)}}<br>\r\n Cell Phone: {{formatPhoneNumber(row.cellPhone)}}<br>\r\n Work Phone: {{formatPhoneNumber(row.workPhone)}}\r\n\r\n </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderNameColumn\">\r\n <ng-container matColumnDef=\"offenderName\">\r\n <mat-header-cell *matHeaderCellDef>Offender Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.offenderName}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container matColumnDef=\"victimId\">\r\n <mat-header-cell *matHeaderCellDef ></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n\r\n <!-- <div *ngIf=\"accessByModule\">\r\n <mat-checkbox></mat-checkbox>\r\n </div> -->\r\n\r\n <div *ngIf=\"showEdit\">\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"View/Edit Victim\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"editVictimDetail(row)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showCaseNote\">\r\n <button type=\"button\" matTooltip=\"CaseNote\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToCaseNote(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Case Note\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showSafetyPlan\">\r\n <button type=\"button\" matTooltip=\"safety plan\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToSaftyPlan(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Safety Plan\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n <mat-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\r\n </div>\r\n </mat-card>\r\n <div>\r\n <b>{{msg}}</b>\r\n </div>\r\n</div>\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, MatNativeDateModule, MatRippleModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\n\r\n// import {\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\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatStepperModule } from \"@angular/material/stepper\";\r\nimport { MatChipsModule } from \"@angular/material/chips\";\r\nimport { SmartUiModule } from '@csmart/smart-ui';\r\n\r\n\r\n\r\n@NgModule(\r\n {\r\n imports: [\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 SmartUiModule\r\n ],\r\n exports: [\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 SmartUiModule\r\n ]\r\n}\r\n)\r\nexport class SharedModule { }\r\n","\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})\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 { Injectable } from '@angular/core';\r\nimport { Apollo } from 'apollo-angular';\r\nimport { Observable } from 'rxjs';\r\nimport gql from 'graphql-tag';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EmailService {\r\n constructor(private apollo: Apollo) {}\r\n\r\n createCaseNoteEmail(\r\n templateId: string,\r\n offenderId: number,\r\n modifiedBy: number,\r\n ) : Observable<any> {\r\n \r\n return this.createEmail(\r\n templateId,\r\n `{\\\\\"offenderId\\\\\": ${offenderId}}`,\r\n modifiedBy,\r\n );\r\n\r\n }\r\n\r\n\r\n createEmail(\r\n emailTemplateId: string,\r\n parameters: string,\r\n modifiedBy: number,\r\n ): Observable<any> {\r\n const mutation = `mutation {\r\n createEmail(input: {\r\n emailTemplateId: \"${emailTemplateId}\"\r\n parameters: \"${parameters}\"\r\n modifiedBy: ${modifiedBy}\r\n }) {\r\n message\r\n data {\r\n emailQueueId\r\n }\r\n }\r\n }`;\r\n console.log(mutation);\r\n return this.apollo.mutate({\r\n mutation: gql`\r\n ${mutation}\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 { UntypedFormControl, UntypedFormGroup, UntypedFormBuilder,Validators} from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\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\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { EmailService } from '../email.services';\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: UntypedFormGroup;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder, \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 private emailService: EmailService\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 UntypedFormControl('', Validators.compose([\r\n Validators.required,dateValidator()])),\r\n contactType: new UntypedFormControl('',Validators.required),\r\n contactPurpose: new UntypedFormControl('',Validators.required),\r\n comment: new UntypedFormControl('',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 this.offenderId = params['offenderId'];\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 saveCaseNote(){\r\n this.emailService\r\n .createCaseNoteEmail(\r\n \"VictimCaseNoteReminders\",\r\n this.offenderId,\r\n this.staffId\r\n )\r\n .subscribe();\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\r\n // this._victimServicesComponent.sendEmail('', {referralId: 0, offenderId: this.offenderId }, this.loginStaff.staffId);\r\n\r\n\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//email\r\n\r\n }\r\n\r\n}\r\n","\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Case Note</h4>\r\n </mat-toolbar>\r\n <br>\r\n <div class=\"row\" >\r\n <div [hidden]=\"hiddenAddNewFlag\">\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n </div>\r\n </div>\r\n\r\n <div [hidden]=\"hiddenDetailFlag\" >\r\n <mat-card>\r\n <div class='container'>\r\n <form [formGroup]=\"caseNoteForm\" #caseNoteDetailForm=\"ngForm\" >\r\n\r\n <div>\r\n <mat-label>Victim Name:</mat-label>\r\n {{victimName}}\r\n </div>\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Date of Case Note: </mat-label>\r\n <input matInput formControlName=\"caseNoteDate\"\r\n (click)=\"caseNoteDate.open()\"\r\n [matDatepicker]=\"caseNoteDate\"\r\n placeholder=\"Choose a start date\"\r\n [(ngModel)]=\"editCaseNote.caseNoteDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"caseNoteDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #caseNoteDate></mat-datepicker>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('caseNoteDate').errors\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>case note date is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\"\r\n *ngIf=\"caseNoteForm.get('caseNoteDate').hasError('date')\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>future case note Date is <strong>not allowed</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Type:</mat-label>\r\n <mat-select placeholder=\"contactType\" formControlName=\"contactType\" required [(ngModel)]=\"editCaseNote.contactTypeId\">\r\n <mat-option *ngFor=\" let contactType of contactTypes\" [value]=\"contactType.contactTypeId\" >{{contactType.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactType').errors\r\n && (caseNoteForm.get('contactType').dirty || caseNoteForm.get('contactType').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact Purpose:</mat-label>\r\n <mat-select formControlName=\"contactPurpose\" required [(ngModel)]=\"editCaseNote.victimContactPurposeId\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let contactPurpose of contactPurposes\" [value]=\"contactPurpose.victimContactPurposeId\" >{{contactPurpose.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactPurpose').errors\r\n && (caseNoteForm.get('contactPurpose').dirty || caseNoteForm.get('contactPurpose').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-form-field style=\"width: 400px;\">\r\n <mat-label>Comment:</mat-label>\r\n <textarea\r\n class=\"textarea-content\"\r\n matInput\r\n placeholder=\"\"\r\n required formControlName=\"comment\"\r\n [(ngModel)]=\"editCaseNote.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\">\r\n </textarea>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('comment').errors\r\n && (caseNoteForm.get('comment').dirty || caseNoteForm.get('comment').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"hiddenDetailFlag = true;addDisableFlag = false; this.hiddenAddNewFlag = false;\">Cancel</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n\r\n </div>\r\n <br>\r\n <mat-table #table [dataSource]=\"caseNoteDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"caseNoteDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Case Note Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.caseNoteDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactType\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Type</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactType}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactPurpose\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Purpose</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactPurpose}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimCaseNoteId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n\r\n <button\r\n class=\"sac-cso-read sac-vsp-read\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit Case Note\"\r\n (click)=\"onEditCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n\r\n\r\n <button\r\n class=\"sac-vsp-read\"\r\n matTooltip=\"Delete Case Note\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { UntypedFormControl, UntypedFormGroup, FormBuilder,Validators } from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\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\nimport { MatSnackBar } from '@angular/material/snack-bar';\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: UntypedFormGroup;\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 UntypedFormGroup({\r\n //contactDate: new FormControl(),\r\n contactDate:new UntypedFormControl('', Validators.compose([\r\n dateValidator()\t ])),\r\n\r\n contactMethod: new UntypedFormControl(),\r\n contactBy: new UntypedFormControl(),\r\n comment: new UntypedFormControl(),\r\n nextContactDate: new UntypedFormControl()\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","\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Contact detail</h4>\r\n </mat-toolbar>\r\n <br>\r\n\r\n\r\n\r\n <mat-card>\r\n <div class='container'>\r\n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Date:</mat-label>\r\n <input matInput formControlName=\"contactDate\"\r\n (click)=\"contactDate.open()\"\r\n [matDatepicker]=\"contactDate\"\r\n placeholder=\"Choose a contact date\"\r\n [(ngModel)]=\"editContact.contactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #contactDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"validation-errors\">\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm\r\n .get('contactDate')\r\n .hasError('required') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error>Contact date is\r\n <strong>required</strong></mat-error>\r\n </div>\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm.get('contactDate').hasError('date') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Method:</mat-label>\r\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\r\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact By:</mat-label>\r\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-form-field>\r\n <mat-label>Comments </mat-label>\r\n <textarea\r\n matInput\r\n placeholder=\"\"\r\n required formControlName=\"comment\"\r\n [(ngModel)]=\"editContact.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\">\r\n </textarea>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Next Contact Date: </mat-label>\r\n <input matInput formControlName=\"nextContactDate\"\r\n (click)=\"nextContactDate.open()\"\r\n [matDatepicker]=\"nextContactDate\"\r\n placeholder=\"Choose a next contact date\"\r\n [(ngModel)]=\"editContact.nextContactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #nextContactDate></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <!-- <button mat-stroked-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" >Cancel</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\" >Back</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n\r\n\r\n <br>\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\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 } from '@angular/material/dialog';\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\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\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","\r\n <mat-card>\r\n <mat-card-header>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" style=\"display: inline-block;\">Safety Plan</h4>\r\n </mat-toolbar>\r\n <br>\r\n <button mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n <br>\r\n <br>\r\n <mat-table #table [dataSource]=\"safetyPlanDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"startDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Start Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.startDate | date}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"goal\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Goal</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.goal }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"victimServiceStatus\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Status</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimServiceStatus }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment }} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimServiceId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <!-- <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"onDeleteSafetyPlan(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-trash\" ></span>&nbsp;Delete\r\n </button>\r\n </mat-cell> -->\r\n\r\n <mat-cell *matCellDef=\"let element\">\r\n\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"Edit Safety Plan\" (click)=\"goToSafetyPlanDetail(element.victimServiceId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n <button\r\n class=\"delete-btn\"\r\n matTooltip=\"Delete Safety Plan\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteSafetyPlan(element.victimServiceId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { UntypedFormBuilder, UntypedFormGroup } 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-stroked-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-stroked-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: UntypedFormGroup;\r\n programProviders:[];\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\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 { UntypedFormControl, UntypedFormGroup, UntypedFormBuilder,Validators } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,\r\n VictimServiceStatusHistory,VictimServiceTypeProgramProviderModel,\r\n ProviderListCollectionModel } from '../smart-victim.model';\r\nimport { MatDialog } from '@angular/material/dialog';\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 { SeriveProviderComponent} from '../safetyPlan/serviceProvider.component'\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\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: UntypedFormGroup;\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: UntypedFormBuilder,\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 UntypedFormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatus: new UntypedFormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatusDate: new UntypedFormControl('', Validators.compose([\r\n Validators.required,dateValidator()\t\t ])),\r\n comment: new UntypedFormControl('',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","<mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" style=\"display: inline-block;\">Safety Plan</h4>\r\n </mat-toolbar>\r\n\r\n\r\n <div class='container'>\r\n <form [formGroup]=\"spForm\" #spDetailForm=\"ngForm\" >\r\n\r\n\r\n <div class=\"row\" ><b>Victim Name:</b> {{victimName}} </div>\r\n\r\n\r\n <div class=\"row\" >\r\n <mat-form-field >\r\n <mat-label>Goal:</mat-label>\r\n <input matInput formControlName=\"serviceGoal\" [(ngModel)]=\"editSafetyPlan.goal\" >\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div class=\"row\">\r\n <mat-form-field>\r\n <mat-label>Goal Status:</mat-label>\r\n <mat-select formControlName=\"goalStatus\" [(ngModel)]=\"editSafetyPlan.victimServiceStatusId\" >\r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n\r\n <div class=\"row\">\r\n\r\n <mat-form-field>\r\n <mat-label>Goal Status Date:</mat-label>\r\n <input matInput\r\n formControlName=\"goalStatusDate\"\r\n [matDatepicker]=\"goalStatusDate\"\r\n placeholder=\"Choose a date\" [(ngModel)]=\"editSafetyPlan.startDate\"\r\n (click)=\"goalStatusDate.open()\"\r\n >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"goalStatusDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #goalStatusDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n\r\n <div class=\"help-block\"\r\n *ngIf=\"spForm.get('goalStatusDate').hasError('date')\r\n && (spForm.get('goalStatusDate').dirty || spForm.get('goalStatusDate').touched)\">\r\n <mat-error>Future Date is <strong>not allowed</strong> for goal status date</mat-error>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row\" >\r\n <!-- <mat-form-field style=\"width: 200px;\"> -->\r\n <!-- <mat-label>Comment:</mat-label>\r\n <textarea mdInput\r\n class=\"textarea-content\"\r\n [(ngModel)]=\"editSafetyPlan.comment\"\r\n formControlName=\"comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\"\r\n >\r\n </textarea> -->\r\n <!-- </mat-form-field> -->\r\n\r\n\r\n\r\n <mat-form-field style=\"width: 400px;\">\r\n <mat-label>Comment:</mat-label>\r\n <textarea\r\n class=\"textarea-content\"\r\n matInput\r\n placeholder=\"\"\r\n formControlName=\"comment\"\r\n [(ngModel)]=\"editSafetyPlan.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\">\r\n </textarea>\r\n\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n </form>\r\n </div><!--end form-->\r\n\r\n\r\n <br>\r\n\r\n <div class=\"row\"><b>Need and provider:</b><br> (click on a check box to select provider information)\r\n\r\n <mat-list>\r\n <mat-list-item *ngFor=\"let serviceType of victimServiceTypes; let i=index\" >\r\n <mat-checkbox class=\"example-margin\" name=\"victimService\" color =\"primary\" [checked]=\"evaluateSelection(serviceType.victimServiceTypeId)\" (change)=\"isInArray(serviceType.victimServiceTypeId,serviceType.name, $event);\" > {{serviceType.name}}</mat-checkbox>\r\n <div> &nbsp;&nbsp;</div>\r\n <div *ngFor=\"let provider of providerListCollection; let pi = index\" >\r\n <!-- <div *ngIf=\"provider.isDisplay && serviceType.victimServiceTypeId == provider.groupId \" class=\"Row\">\r\n\r\n <div class=\"serviceSelect\"> -->\r\n <!-- <mat-form-field> -->\r\n <!-- <mat-select name=\"provider\" id=\"provider.groupId\" [(ngModel)]=\"providerId\" > -->\r\n <!-- <mat-select name=\"provider\" id=\"provider.groupId\" [(value)]=\"providerId\" >\r\n <mat-option *ngFor=\" let providerOption of provider.collection\" [value]=\"providerOption.victimProgramProviderId\" >{{providerOption.victimProgramProvider}}</mat-option>\r\n </mat-select> -->\r\n <!-- </mat-form-field> -->\r\n\r\n <!-- </div>\r\n\r\n <div class=\"serviceButton\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"savePlanProvider(serviceType.victimServiceTypeId ,providerId)\">Add Provider</button>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngFor=\" let serviceprovider of editSafetyPlan.vVictimServiceDetails\" >\r\n\r\n <div *ngIf=\"serviceType.victimServiceTypeId===serviceprovider.victimServiceTypeId\" class=\"Row\" >\r\n <!-- . {{ serviceprovider.victimProgramProvider}}<button mat-stroked-button color=\"primary\" (click)=\"deleteProvider(serviceprovider.victimServiceDetailId)\">Delete</button> <br> -->\r\n <div class=\"serviceSelect\" >\r\n . {{ serviceprovider.victimProgramProvider}}\r\n </div>\r\n <div class=\"serviceButton\">\r\n <button mat-stroked-button color=\"primary\" (click)=\"deleteProvider(serviceprovider.victimServiceDetailId)\">Delete</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </mat-list-item>\r\n\r\n </mat-list>\r\n </div>\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 <!-- <div class='row' >\r\n <div class='col-md-5 desc-label'><b>Victim Name:</b> {{victimName}} </div>\r\n <div class='col-md-7'>\r\n\r\n </div>\r\n </div> -->\r\n <!-- <div class='row' >\r\n <div class='col-md-5 desc-label'><b>Goal:<font color=\"red\">*</font></b></div>\r\n <div class='col-md-7'>\r\n <mat-form-field >\r\n <input matInput name=\"serviceGoal\" [(ngModel)]=\"editSafetyPlan.goal\" required placeholder=\"\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class='row' >\r\n <div class='col-md-5 desc-label'><b>Goal Status:<font color=\"red\">*</font></b></div>\r\n <div class='col-md-7'>\r\n <mat-select name=\"goalStatus\" [style.width]=\"'50%'\" [(ngModel)]=\"editSafetyPlan.victimServiceStatusId\" required>\r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n </mat-select>\r\n </div>\r\n </div>\r\n\r\n <div class='row' >\r\n <div class='col-md-5 desc-label'><b>Goal Status Date:<font color=\"red\">*</font></b></div>\r\n <div class='col-md-7'>\r\n <input matInput name=\"goalStatusDate\" [matDatepicker]=\"goalStatusDate\" placeholder=\"Choose a date\" [(ngModel)]=\"editSafetyPlan.startDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"goalStatusDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #goalStatusDate></mat-datepicker>\r\n </div>\r\n </div>\r\n\r\n <div class='row' >\r\n <div class='col-md-5 desc-label'><b>Comment:</b></div>\r\n <div class='col-md-7'>\r\n <textarea mdInput placeholder=\"\" rows=\"10\" cols=\"50\" name=\"comment\" [(ngModel)]=\"editSafetyPlan.comment\"></textarea>\r\n </div>\r\n </div> -->\r\n\r\n\r\n <div class='row' >\r\n <div class='col-md-12 text-center'>\r\n <!-- <button type=\"button\" class=\"btn btn-default btn-small\" (click)=\"print()\">Print</button> -->\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveSafetyPlan()\" [disabled]=\"!spForm.valid\">Save</button>\r\n <!-- &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n </div>\r\n </div>\r\n\r\n <!--status hisotry-->\r\n\r\n <mat-table #table [dataSource]=\"victimServiceStatusHistoriesDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"startDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Start Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.startDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"victimServiceStatusId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Status</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimServiceStatusId}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"[ 'startDate', 'victimServiceStatusId', 'comment']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:[ 'startDate', 'victimServiceStatusId', 'comment'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService,SmartAuthorizationGuard,\r\n SmartOffenderRedirectGuard,} 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: 'casenote/:victimId/:offenderId', component: CaseNoteComponent,pathMatch: 'full', canActivate: [MsalGuard, SmartAuthorizationGuard], },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',},\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full', },\r\n {path: 'victimList', component: NgcSmartVictimComponent, },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, },\r\n {path: 'victimContact/:victimId', component: ContactComponent, },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, },\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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\n// import {\r\n\r\n\r\n// MatMenuModule, MatProgressBarModule,\r\n\r\n// MatSidenavModule,\r\n// MatPaginatorModule,\r\n// } from '@angular/material';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DateAdapter, MatNativeDateModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatTabsModule } from '@angular/material/tabs';\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 { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\nimport { NgcSmartCoreModule } from '@csmart/ngc-smart-core';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { SmartUiModule } from '@csmart/smart-ui';\r\n\r\nconst COMPONENTS = [\r\n NgcSmartVictimComponent,\r\n SmartVictimDetailComponent,\r\n SmartVictimDeleteConfirmComponent,\r\n\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, SmartUiModule,];\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 exports: [...COMPONENTS, ApolloModule],\r\n providers: [NgcSmartVictimService]\r\n})\r\nexport class NgcSmartVictimModule { }\r\n","/*\r\n * Public API Surface of ngc-smart-victim\r\n */\r\n\r\nexport * from './lib/smart-victim.service';\r\nexport * from './lib/smart-victim.component';\r\nexport * from './lib/smart-victim.model';\r\nexport * from './lib/smart-victim.module';\r\nexport * from './lib/caseNote/caseNote.component';\r\nexport * from './lib/smart-victim-detail/smart-victim-detail.component';\r\nexport * from './lib/smart-victim-delete-confirm.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["headers","observableThrowError","i1","i2","i3","i4","i5","i6.CommonDialogService","i7.NgcSmartVictimService","i8","i12","i19","VictimListFilter","i2.NgcSmartVictimService","i5.IntakeServicesComponent","i6","i7","i9","i10","i11","i13.SmartVictimDetailComponent","i14.VictimSearchFormComponent","i3.CommonDialogService","i7.EmailService","i13","i14","i15","i16","i17","i18","i1.NgcSmartVictimService","i2.CommonDialogService","i20"],"mappings":"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"}