@csmart/ngc-smart-victim 1.14.4 → 1.14.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +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/shared/directives/phone-mask.directive.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\n\r\n\r\n\r\nexport class VictimSupport {\r\n constructor(\r\n // public victimSupportId: number,\r\n\r\n public victimId: number,\r\n\r\n public victimSupportTypeId: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimGuardian {\r\n constructor(public victimGuardianId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public birthDate: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n \r\n \r\n\r\n ) { }\r\n}\r\n\r\nexport interface CaseNote {\r\n victimId: number;\r\n victimCaseNoteId: number;\r\n caseNoteDate: Date;\r\n contactTypeId: string;\r\n contactType: string;\r\n victimContactPurposeId: string;\r\n victimContactPurpose: string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimFirstName: string;\r\n victimLastName: string;\r\n \r\n}\r\n\r\nexport interface Contact {\r\n victimId: number;\r\n victimContactId: number;\r\n contactDate: Date;\r\n victimContactMethodId: string;\r\n contactMethod: string;\r\n contactedBy: number;\r\n contactedByName: string;\r\n nextContactDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n\r\n \r\n}\r\n\r\n\r\nexport interface VictimSafetyPlan {\r\n victimId: number;\r\n fullName: string;\r\n victimServiceId: number;\r\n goal:string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimServiceStatusId: string;\r\n status: string;\r\n startDate: Date;\r\n vVictimServiceDetails: VictimServiceDetail[];\r\n victimName: String;\r\n \r\n \r\n}\r\n\r\nexport interface VictimServiceDetail{\r\n victimServiceId: number;\r\n victimServiceDetailId: number;\r\n victimServiceTypeId: string;\r\n victimProgramProviderId: string;\r\n victimProgramProvider: string;\r\n modifiedBy: number;\r\n\r\n\r\n}\r\nexport interface VictimServiceStatusHistory{\r\n\r\n victimServiceStatusHistoryId: number;\r\n victimServiceId: string;\r\n victimServiceStatusId: string;\r\n startDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n}\r\n\r\n\r\nexport interface VictimServiceTypeProgramProviderModel {\r\n victimServiceTypeProgramProviderId: number; \r\n victimServiceType: string;\r\n victimProgramProviderId: string;\r\n victimServiceTypeId:string;\r\n victimProgramProvider: string;\r\n }\r\n \r\n export interface ProviderListCollectionModel{\r\n groupId:string;\r\n isDisplay:boolean;\r\n collection:VictimServiceTypeProgramProviderModel[];\r\n }\r\n\r\n\r\n\r\n export interface ProvidersDialogData {\r\n //iepAction: IepAction;\r\n serviceType;\r\n serviceTypeId;\r\n providerCollections: [];\r\n }\r\n\r\n\r\n export class Victim {\r\n constructor(\r\n public victimId: number,\r\n public offenderId: number,\r\n public underSupervisionFlag: string,\r\n public victimOffenderRelationshipTypeId: string,\r\n public lastName: string,\r\n public firstName: string,\r\n public middleName: string,\r\n public prefixId: string | null,\r\n public suffixId: string | null,\r\n public birthDate: string,\r\n public genderCode: string,\r\n public homePhone: string,\r\n public workPhone: string,\r\n public cellPhone: string,\r\n public email: string,\r\n public addressId: number,\r\n public minorFlag: boolean,\r\n public victimAdvocateFlag: string,\r\n\r\n public guardianFirstName: string,\r\n public guardianLastName: string,\r\n public guardianPrefixId: string,\r\n public guardianSuffixId: string,\r\n public guardianNoPhoneFlag: boolean,\r\n public guardianHomePhone: string,\r\n public guardianWorkPhone: string,\r\n public guardianCellPhone: string,\r\n public guardianEmail: string,\r\n public guardianAddressId: number,\r\n public guardianBirthDate: string,\r\n\r\n public advocateFirstName: string,\r\n public advocateLastName: string,\r\n public advocatePrefixId: string,\r\n public advocateSuffixId: string,\r\n public advocateNoPhoneFlag: boolean,\r\n public advocateHomePhone: string,\r\n public advocateWorkPhone: string,\r\n public advocateCellPhone: string,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string,\r\n public commonChildrenFlag: boolean,\r\n public commonChildrenNumber: number,\r\n public cpoExpirationFlag: boolean,\r\n public cpoExpirationDate: string,\r\n public supportInPlaceFlag: boolean,\r\n public weaponInvolvedFlag: boolean,\r\n public drugUseFlag: boolean,\r\n public alcoholUseFlag: boolean,\r\n public accessRisk: string,\r\n public modifiedBy: number,\r\n public relationship: string,\r\n \r\n public vVictimAdvocate: VictimAdvocate,\r\n public vVictimGuardian: VictimGuardian,\r\n \r\n public victimSupports: VictimSupport[],\r\n public victimWeaponUses: VictimWeaponUse[],\r\n public victimDrugUses: VictimDrugUse[],\r\n\r\n public allowCsosaContactFlag: boolean,\r\n 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\ndeleteVictims(val: any) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n\r\n// //==============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-raised-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-raised-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>","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 { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appPhoneMask]',\r\n})\r\nexport class PhoneMaskDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n \r\n\r\n onInputChange(event, backspace) {\r\n if (event){\r\n let newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\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 } 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\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\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 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 victimOffenderRelationshipTypeId: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\r\n this.victimForm.markAsPristine();\r\n\t\tthis.victimForm.markAsUntouched();\r\n\r\n }\r\n\r\n private _getVictim() {\r\n if (this.victimId === 0) {\r\n\r\n return;\r\n };\r\n\t\tif (this.editMode == true) {\r\n console.log('find victim id inside getVictim');\r\n console.log(this.victimId);\r\n\r\n if (this.victimId === undefined) {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n });\r\n }\r\n\r\n this.victimService.getVictim(this.victimId)\r\n .subscribe((victim: Victim) => {\r\n console.log('victim data 1');\r\n console.log(victim);\r\n this.editVictim = <Victim>victim;\r\n\r\n var supportsData =[];\r\n this.editVictim.victimSupports.forEach( t=>{supportsData.push(t.victimSupportTypeId); } )\r\n const victimSupportsControl = this.victimForm.get('victimSupports');\r\n victimSupportsControl.setValue(supportsData);\r\n\r\n\r\n var weaponUsesData =[];\r\n var otherWeapon = \"\";\r\n this.editVictim.victimWeaponUses.forEach( t=>{\r\n weaponUsesData.push(t.weaponTypeId);\r\n if (t.weaponTypeId == \"OTHER\"){\r\n otherWeapon = t.otherWeapon;\r\n this.otherWeaponFlag = true;\r\n }\r\n\r\n } )\r\n\r\n\r\n const victimWeaponUsesControl = this.victimForm.get('victimWeaponUses');\r\n victimWeaponUsesControl.setValue(weaponUsesData);\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValue(otherWeapon);\r\n\r\n\r\n //this.weaponUsesData = this.editVictim.victimWeaponUses;\r\n\r\n var drugUseData =[];\r\n var otherDrug = \"\";\r\n\r\n console.log('load this.editVictim.victimDrugUses');\r\n console.log(this.editVictim.victimDrugUses);\r\n this.editVictim.victimDrugUses.forEach( t=>{\r\n\r\n if (t.drugTypeId === null){\r\n otherDrug = t.otherDrug;\r\n this.otherDrugFlag = true;\r\n t.drugTypeId ='OTHER';\r\n\r\n }\r\n drugUseData.push(t.drugTypeId);\r\n\r\n } )\r\n\r\n console.log('this.editVictim.victimDrugUses after push');\r\n console.log(drugUseData);\r\n\r\n\r\n 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 }, 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\r\n onAddressChange(addressId) {\r\n this.victimForm.patchValue({addressId: addressId})\r\n this.addressId = addressId;\r\n }\r\n onGuardianAddressChange(MyGuardianAddressId) {\r\n this.victimForm.patchValue({guardianAddressId: MyGuardianAddressId})\r\n this.guardianAddressId = MyGuardianAddressId;\r\n }\r\n onAdvocateAddressChange(MyAdvocateAddressId) {\r\n this.victimForm.patchValue({advocateAddressId: MyAdvocateAddressId})\r\n this.advocateAddressId = MyAdvocateAddressId;\r\n }\r\n cancel() {\r\n this.victimForm.reset();\r\n}\r\n\r\n ngOnInit() {\r\n\r\n console.log('show offenderId');\r\n console.log(this.offenderId);\r\n console.log('show staffId');\r\n console.log(this.staffId);\r\n console.log('show isIntake');\r\n console.log(this.isIntake);\r\n //this.victimDetail.guardianNoPhoneFlag = true;\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n //this.victimForm.get('guardianNoPhoneFlag').setValue(true);\r\n\r\n //required field\r\n const requiredImplementation = {get:function():boolean{if(this._required){return this._required;}\r\n if(this.ngControl&&this.ngControl.control&&this.ngControl.control.validator\r\n ){const emptyValueControl=Object.assign({},\r\n this.ngControl.control);(emptyValueControl as any).value=null;\r\n return('required'in(this.ngControl.control.validator(emptyValueControl)||{}));}\r\n return false;},set:function(value:boolean){this._required=coerceBooleanProperty(value);},};\r\n Object.defineProperty(MatInput.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatSelect.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatRadioGroup.prototype,'required',requiredImplementation,);\r\n //required field end\r\n\r\n\r\n\r\n if (this.victimDetail!=null) {\r\n // edit record\r\n this.editMode = true;\r\n this.showDelete= true;\r\n this.victimId = this.victimDetail.victimId;\r\n\r\n this.guardianTabFlag = this.victimDetail.minorFlag;\r\n\r\n\r\n if (this.victimDetail.victimAdvocateFlag=='YS'){\r\n this.advocateTabFlag = true;\r\n }\r\n\r\n if (this.otherWeaponFlag == true){\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n this.cpoExpirationDivFlag =this.victimDetail.cpoExpirationFlag;\r\n this.commonChildrenDivFlag = this.victimDetail.commonChildrenFlag;\r\n this.supportInPlaceDivFlag= this.victimDetail.supportInPlaceFlag;\r\n this.weaponInvolvedDivFlag= this.victimDetail.weaponInvolvedFlag;\r\n this.drugUseDivFlag= this.victimDetail.drugUseFlag;\r\n this.addressId = this.victimDetail.addressId;\r\n this.guardianAddressId = this.victimDetail.guardianAddressId;\r\n this.advocateAddressId = this.victimDetail.advocateAddressId;\r\n\r\n this._getVictim();\r\n\r\n } else {\r\n //add new record\r\n this.victimForm.patchValue({guardianNoPhoneFlag: true});\r\n this.victimForm.patchValue({advocateNoPhoneFlag: true});\r\n\r\n }\r\n\r\n this.victimService.getFlagOptionYesNoUnknowns().subscribe(\r\n (items: any) => {\r\n this.flagOption = items;\r\n }\r\n );\r\n this.victimService.getGenders().subscribe(\r\n (items: any) => {\r\n this.genders = items;\r\n }\r\n );\r\n this.victimService.getPrefixes().subscribe(\r\n (items: any) => {\r\n this.prefixes = items;\r\n }\r\n );\r\n this.victimService.getSuffixes().subscribe(\r\n (items: any) => {\r\n this.suffixes = items;\r\n }\r\n );\r\n this.victimService.getRelationshipTypes().subscribe(\r\n (items: any) => {\r\n this.relationshipTypes = items.filter( (y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' ));\r\n }\r\n );\r\n this.victimService.getSupportTypes().subscribe(\r\n (items: any) => {\r\n this.victimSupportTypes = items;\r\n }\r\n );\r\n this.victimService.getWeaponTypes().subscribe(\r\n (items: any) => {\r\n this.weaponTypes = items;\r\n }\r\n );\r\n this.victimService.getDrugsTypes().subscribe(\r\n (items: any) => {\r\n console.log('drug lookup items');\r\n console.log(items);\r\n this.drugs = items;\r\n this.drugs.push({drugTypeId: 'OTHER', name: 'Other'});\r\n console.log(this.drugs);\r\n }\r\n );\r\n // this.victimService.getDocketList(this.offenderId).subscribe(\r\n // (items: any) => {\r\n // this.docketlist = items;\r\n // }\r\n\r\n // );\r\n\r\n this.victimForm.get('minorFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('guardianFirstName').updateValueAndValidity();\r\n this.victimForm.get('guardianLastName').updateValueAndValidity();\r\n this.victimForm.get('guardianWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('guardianHomePhone').updateValueAndValidity();\r\n this.victimForm.get('guardianCellPhone').updateValueAndValidity();\r\n\r\n });\r\n\r\n\r\n this.victimForm.get('victimAdvocateFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('advocateFirstName').updateValueAndValidity();\r\n this.victimForm.get('advocateLastName').updateValueAndValidity();\r\n this.victimForm.get('advocateWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('advocateHomePhone').updateValueAndValidity();\r\n this.victimForm.get('advocateCellPhone').updateValueAndValidity();\r\n\r\n });\r\n\r\n }\r\n\r\n back(){\r\n\r\n //this.onSave.emit(this.victimDetail);\r\n this.router.navigate(['victimList']);\r\n\r\n }\r\n\r\n deleteVictim() {\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this Victim?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this.victimService.deleteVictims(this.victimDetail.victimId)\r\n .subscribe(result => {\r\n this.snackBar.open('Delete Successfully!', '', {\r\n duration: 3000, });}\r\n\r\n );\r\n // this.router.navigate(['victim']);\r\n this.onSave.emit(this.victimDetail);\r\n }\r\n });\r\n\r\n }\r\n\r\n radioMinorChange($event: MatRadioChange){\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n //const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n\r\n if ($event.value === true) {\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n\r\n\r\n }\r\n else{\r\n this.guardianTabFlag = false;\r\n // guardianLastNameControl.clearValidators();\r\n // guardianFirstNameControl.clearValidators();\r\n\r\n\r\n }\r\n\r\n\t\t//guardianLastNameControl.updateValueAndValidity();\r\n // guardianFirstNameControl.updateValueAndValidity();\r\n\r\n }\r\n\r\n radioAdvocateChange($event: MatRadioChange){\r\n\r\n const advocateLastNameControl = this.victimForm.get('advocateLastName');\r\n const advocateFirstNameControl = this.victimForm.get('advocateFirstName');\r\n // const advocateNoPhoneControl = this.victimForm.get('advocateNoPhoneFlag');\r\n\r\n\r\n\r\n if ($event.value === \"YS\") {\r\n this.advocateTabFlag = true;\r\n advocateLastNameControl.setValidators(Validators.required);\r\n advocateFirstNameControl.setValidators(Validators.required);\r\n\r\n\r\n }\r\n else{\r\n this.advocateTabFlag = false;\r\n\r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\r\n\r\n }\r\n\r\n advocateLastNameControl.updateValueAndValidity();\r\n advocateFirstNameControl.updateValueAndValidity();\r\n\r\n }\r\n\r\n radioCicChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.commonChildrenDivFlag = true;\r\n // requrie field\r\n this.setValidators('commonChildren');\r\n }\r\n else{\r\n this.commonChildrenDivFlag = false;\r\n }\r\n }\r\n\r\n setValidators(type) {\r\n if(type == 'commonChildren'){\r\n this.victimForm.get('commonChildrenNumber').clearValidators();\r\n this.victimForm.get('commonChildrenNumber').setValidators(Validators.required);\r\n }\r\n else if (type == 'cpo'){\r\n this.victimForm.get('cpoExpirationDate').clearValidators();\r\n this.victimForm.get('cpoExpirationDate').setValidators(Validators.required);\r\n\r\n }\r\n }\r\n radioSupportChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.supportInPlaceDivFlag = true;\r\n }\r\n else{\r\n this.supportInPlaceDivFlag = false;\r\n }\r\n }\r\n radioWeaponChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.weaponInvolvedDivFlag = true;\r\n }\r\n else{\r\n this.weaponInvolvedDivFlag = false;\r\n }\r\n }\r\n radioDrugChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.drugUseDivFlag = true;\r\n }\r\n else{\r\n this.drugUseDivFlag = false;\r\n }\r\n }\r\n\r\n radioCpoChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.cpoExpirationDivFlag = true;\r\n this.setValidators('cpo');\r\n }\r\n else{\r\n this.cpoExpirationDivFlag = false;\r\n }\r\n }\r\n\r\n handleDOBChange($event ){\r\n var ageDifMs = Date.now() - $event.value;\r\n var ageDate = new Date(ageDifMs);\r\n if( Math.abs(ageDate.getUTCFullYear() - 1970) <= 18){\r\n\r\n this.snackBar.open('Victim is a Minor. This information is a sensitive and should not be disclosed to any unauthorized parties. Contact the legal guardian.', '', {\r\n duration: 6000,});\r\n const minorControl = this.victimForm.get('minorFlag');\r\n minorControl.setValue(true);\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n // const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n checkOtherWeapon(WeaponUse){\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n if (WeaponUse.includes(\"OTHER\")){\r\n this.otherWeaponFlag = true;\r\n otherWeaponControl.setValidators(Validators.required)\r\n\r\n }else{\r\n this.otherWeaponFlag = false;\r\n otherWeaponControl.clearValidators();\r\n }\r\n otherWeaponControl.updateValueAndValidity();\r\n }\r\n\r\n checkOtherDrug(DrugUse){\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n if (DrugUse.includes(\"OTHER\")){\r\n this.otherDrugFlag = true;\r\n otherDrugControl.setValidators(Validators.required)\r\n\r\n\r\n }else{\r\n this.otherDrugFlag = false;\r\n otherDrugControl.clearValidators();\r\n\r\n\r\n }\r\n otherDrugControl.updateValueAndValidity();\r\n }\r\n\r\n //#region \"save victim\"\r\n saveVictim() {\r\n\r\n\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.guardianHomePhone){\r\n if (this.victimForm.value.guardianHomePhone !== null){\r\n if (this.victimForm.value.guardianHomePhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.guardianWorkPhone !== undefined){\r\n if (this.victimForm.value.guardianWorkPhone !== null){\r\n if (this.victimForm.value.guardianWorkPhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n if (this.victimForm.value.guardianCellPhone !== null){\r\n if (this.victimForm.value.guardianCellhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('this.victimForm.value.guardianNoPhoneFlag');\r\n console.log(this.victimForm.value.guardianNoPhoneFlag);\r\n console.log('this.guardianPhoneExistFlag');\r\n console.log(this.guardianPhoneExistFlag);\r\n\r\n\r\n if (this.guardianPhoneExistFlag === false && this.victimForm.value.guardianNoPhoneFlag === false)\r\n {\r\n\r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the guardian phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n\r\n });\r\n }\r\n console.log('this.phoneValidationFlag');\r\n console.log(this.phoneValidationFlag);\r\n\r\n //advocate phone logic\r\n if (!this.victimForm.value.advocateNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.advocateHomePhone){\r\n if (this.victimForm.value.advocateHomePhone !== null){\r\n if (this.victimForm.value.advocateHomePhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.advocateWorkPhone !== undefined){\r\n if (this.victimForm.value.advocateWorkPhone !== null){\r\n if (this.victimForm.value.advocateWorkPhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n if (this.victimForm.value.advocateCellPhone !== null){\r\n if (this.victimForm.value.advocateCellhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('this.victimForm.value.advocateNoPhoneFlag');\r\n console.log(this.victimForm.value.advocateNoPhoneFlag);\r\n console.log('this.advocatePhoneExistFlag');\r\n console.log(this.advocatePhoneExistFlag);\r\n\r\n if(this.advocatePhoneExistFlag === false && this.victimForm.value.advocateNoPhoneFlag === false)\r\n {\r\n\r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the advocate phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n\r\n });\r\n }\r\n\r\n\r\n if (this.victimForm.value.homePhone){\r\n this.victimForm.value.homePhone = this.victimForm.value.homePhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.homePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.workPhone){\r\n this.victimForm.value.workPhone = this.victimForm.value.workPhone.replace(/[()\\s-]/g, '') ;\r\n }\r\n else{\r\n this.victimForm.value.workPhone = null;\r\n }\r\n if (this.victimForm.value.cellPhone){\r\n this.victimForm.value.cellPhone = this.victimForm.value.cellPhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.cellPhone= null;\r\n }\r\n\r\n if (this.victimForm.value.emergencyContactPhone){\r\n this.victimForm.value.emergencyContactPhone = this.victimForm.value.emergencyContactPhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.emergencyContactPhone = null;\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateHomePhone){\r\n this.victimForm.value.advocateHomePhone = this.victimForm.value.advocateHomePhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateHomePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.advocateWorkPhone){\r\n this.victimForm.value.advocateWorkPhone = this.victimForm.value.advocateWorkPhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateWorkPhone =null;\r\n }\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n this.victimForm.value.advocateCellPhone = this.victimForm.value.advocateCellPhone.replace(/[()\\s-]/g, '')\r\n }else{\r\n this.victimForm.value.advocateCellPhone = null;\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianHomePhone){\r\n this.victimForm.value.guardianHomePhone = this.victimForm.value.guardianHomePhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.guardianHomePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.guardianWorkPhone){\r\n this.victimForm.value.guardianWorkPhone = this.victimForm.value.guardianWorkPhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.guardianWorkPhone =null;\r\n }\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n this.victimForm.value.guardianCellPhone = this.victimForm.value.guardianCellPhone.replace(/[()\\s-]/g, '')\r\n }else{\r\n this.victimForm.value.guardianCellPhone = 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\r\n\r\n if (this.victimDetail === null){\r\n //insert new victim\r\n\r\n var myVictimSupports = [];\r\n if (this.victimForm.value.victimSupports){\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimForm.value.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n myVictimSupports.push(victimSupport);\r\n });\r\n }\r\n\r\n var myVictimDrugUses = [];\r\n console.log('this.victimForm.value.victimDrugUses during save');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n if (this.victimForm.value.victimDrugUses){\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n\r\n if (element ===\"OTHER\" || element === \"\" || element === null){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimForm.value.victimId;\r\n myVictimDrugUses.push(victimDrugUse);\r\n });\r\n }\r\n\r\n console.log('this.victimForm.value.victimDrugUses during save 1');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n\r\n\r\n\r\n var myVictimWeaponUses = [];\r\n\r\n if (this.victimForm.value.victimWeaponUses){\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimForm.value.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon = this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n myVictimWeaponUses.push(victimWeaponUse);\r\n });\r\n }\r\n\r\n\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 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 };\r\n\r\n this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n\r\n if (this.victimForm.value.minorFlag == true){\r\n\r\n\r\n const victimGuardian: VictimGuardian = {\r\n victimGuardianId: id,\r\n lastName: this.victimForm.value.guardianLastName,\r\n firstName: this.victimForm.value.guardianFirstName,\r\n prefixId: this.victimForm.value.guardianPrefixId,\r\n suffixId: this.victimForm.value.guardianSuffixId,\r\n birthDate: this.victimForm.value.guardianBirthDate,\r\n addressId: this.guardianAddressId? this.guardianAddressId: null,\r\n noPhoneFlag: this.victimForm.value.guardianNoPhoneFlag? this.victimForm.value.guardianNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.guardianHomePhone,\r\n workPhone: this.victimForm.value.guardianWorkPhone,\r\n cellPhone: this.victimForm.value.guardianCellPhone,\r\n email: this.victimForm.value.guardianEmail,\r\n modifiedBy: this.staffId\r\n\r\n\r\n };\r\n\r\n this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n\r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\r\n });\r\n\r\n //insert new\r\n if (this.isIntake===true){\r\n this.router.navigate(['victimHome']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['victimList']);\r\n }\r\n //this.onSave.emit(this.victimDetail);\r\n\r\n }\r\n );\r\n\r\n }\r\n else {\r\n //update victim\r\n\r\n\r\n this.victimDetail.underSupervisionFlag = this.victimForm.value.underSupervisionFlag;\r\n this.victimDetail.victimOffenderRelationshipTypeId = this.victimForm.value.victimOffenderRelationshipTypeId;\r\n this.victimDetail.lastName = this.victimForm.value.lastName;\r\n this.victimDetail.firstName = this.victimForm.value.firstName;\r\n this.victimDetail.middleName = this.victimForm.value.middleName;\r\n this.victimDetail.prefixId = this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null;\r\n this.victimDetail.suffixId = this.victimForm.value.suffixId ? this.victimForm.value.suffixId : null;\r\n this.victimDetail.birthDate = this.victimForm.value.birthDate;\r\n this.victimDetail.genderCode = this.victimForm.value.genderCode;\r\n this.victimDetail.minorFlag = this.victimForm.value.minorFlag;\r\n this.victimDetail.homePhone = this.victimForm.value.homePhone;\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\r\n this.victimDetail.victimSupports = [];\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimDetail.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n this.victimDetail.victimSupports.push(victimSupport);\r\n });\r\n\r\n\r\n this.victimDetail.victimDrugUses = [];\r\n\r\n console.log('this.victimForm.value.victimDrugUses calculate')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n console.log('this.victimForm.value.victimDrugUses before')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n if (element === \"OTHER\" || element === \"\" ){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimDetail.victimId;\r\n this.victimDetail.victimDrugUses.push(victimDrugUse);\r\n console.log('this.victimForm.value.victimDrugUses after')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n });\r\n\r\n\r\n\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\r\n\r\n\r\n console.log('adjust this.victimForm.value.victimDrugUses ')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimDetail.victimWeaponUses = [];\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimDetail.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n console.log('weapon element');\r\n console.log(element);\r\n console.log(this.victimForm.value.otherWeapon);\r\n console.log(this.victimForm.value.victimWeaponUses);\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon=this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n this.victimDetail.victimWeaponUses.push(victimWeaponUse);\r\n\r\n });\r\n\r\n console.log('package has been updated');\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\r\n //Advocate section\r\n\r\n this.victimAdvocate.victimAdvocateId = this.victimDetail.victimId;\r\n this.victimAdvocate.lastName= this.victimForm.value.advocateLastName;\r\n this.victimAdvocate.firstName= this.victimForm.value.advocateFirstName;\r\n this.victimAdvocate.prefixId= this.victimForm.value.advocatePrefixId ? this.victimForm.value.advocatePrefixId : null;\r\n this.victimAdvocate.suffixId= this.victimForm.value.advocateSuffixId ? this.victimForm.value.advocateSuffixId : null;\r\n this.victimAdvocate.addressId= this.advocateAddressId ? this.advocateAddressId : null;\r\n this.victimAdvocate.noPhoneFlag= this.victimForm.value.advocateNoPhoneFlag? true: false;\r\n this.victimAdvocate.homePhone= this.victimForm.value.advocateHomePhone;\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 }\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\r\n }\r\n }//end of this.phoneValidationFlag = false\r\n console.log('11/7/23');\r\n console.log('this.victimDetail');\r\n console.log(this.victimDetail);\r\n this.onSave.emit(this.victimDetail);\r\n\r\n }\r\n\r\n //#endregion \"save victim\"\r\n addContact(){\r\n\r\n this.router.navigate(['victimContact',this.victimId]);\r\n }\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n\r\n}\r\n","<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 <mat-select formControlName=\"victimOffenderRelationshipTypeId\" [(ngModel)]=\"editVictim.victimOffenderRelationshipTypeId\" >\r\n <mat-option *ngFor=\"let item of relationshipTypes\" [value]=\"item.relationshipTypeId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimOffenderRelationshipTypeId').errors \r\n && (victimForm.get('victimOffenderRelationshipTypeId').dirty || victimForm.get('victimOffenderRelationshipTypeId').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 matInput \r\n formControlName=\"homePhone\" \r\n [(ngModel)]=\"editVictim.homePhone\" \r\n appPhoneMask\r\n maxlength=\"14\"/>\r\n\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 matInput \r\n formControlName=\"cellPhone\"\r\n appPhoneMask\r\n [(ngModel)]=\"editVictim.cellPhone\" >\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 matInput \r\n formControlName=\"workPhone\" \r\n [(ngModel)]=\"editVictim.workPhone\"\r\n appPhoneMask\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 \r\n <!-- <app-smart-address \r\n [showPsa]=\"true\" \r\n [modifiedBy]=\"staffId\" \r\n [id]=\"addressId\"\r\n (addressIdChange)=\"onAddressChange($event)\"\r\n [outline]=\"true\" \r\n readonly=\"false\"\r\n [rowHeight]=\"80\" \r\n (isValid)=\"false\" \r\n [addressValidators]=\"addressValidators\"\r\n #addressComponent\r\n > -->\r\n\r\n\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\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 ></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 \r\n >\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 matInput \r\n formControlName=\"guardianHomePhone\" \r\n [(ngModel)]=\"editVictim.guardianHomePhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"guardianCellPhone\" \r\n [(ngModel)]=\"editVictim.guardianCellPhone\" \r\n appPhoneMask\r\n maxlength=\"14\" \r\n >\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\r\n \r\n\r\n \r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Guardian Work Phone:</mat-label>\r\n <input matInput \r\n formControlName=\"guardianWorkPhone\" \r\n [(ngModel)]=\"editVictim.guardianWorkPhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"advocateHomePhone\" \r\n [(ngModel)]=\"editVictim.advocateHomePhone\"\r\n appPhoneMask\r\n maxlength=\"14\" >\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 matInput \r\n formControlName=\"advocateCellPhone\" \r\n [(ngModel)]=\"editVictim.advocateCellPhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"advocateWorkPhone\" \r\n [(ngModel)]=\"editVictim.advocateWorkPhone\" \r\n appPhoneMask\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 <input matInput \r\n formControlName=\"emergencyContactPhone\" \r\n [(ngModel)]=\"editVictim.emergencyContactPhone\" \r\n appPhoneMask\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('victimOffenderRelationshipTypeId').errors \r\n && (victimForm.get('victimOffenderRelationshipTypeId').dirty || victimForm.get('victimOffenderRelationshipTypeId').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-raised-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-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n &nbsp;&nbsp; \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n &nbsp;&nbsp; \r\n <button mat-raised-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-raised-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-raised-button color=\"primary\" (click)=\"onChange()\">Search</button>\r\n <span style=\"padding-right: 5px;\"></span>\r\n <button mat-raised-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 isIntake = false;\r\n\r\n updateAccessControlConfig: SmartAccessControlConfig;\r\n createAccessControlConfig: SmartAccessControlConfig;\r\n deleteAccessControlConfig: SmartAccessControlConfig;\r\n constructor(\r\n private dialog: MatDialog,\r\n private victimService: NgcSmartVictimService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private snackBar: MatSnackBar,\r\n private intakeService: IntakeServicesComponent,\r\n @Inject(SMART_WARRANT_URL) private smartWarrantUrl: string,\r\n @Inject(DOCUMENT) private document: any\r\n ) {}\r\n\r\n // private onChange(filter: VictimListFilter) {\r\n // console.log('filter in onchange');\r\n // console.log(filter);\r\n // this.getVictimList(filter);\r\n // }\r\n\r\n applyFilter(filterValue: string) {\r\n this.victimListDataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n addRecord() {\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.victimDetail = null;\r\n this.showListFlag = false;\r\n }\r\n\r\n editVictimDetail(record) {\r\n console.log(\"victim edit record\");\r\n console.log(record);\r\n console.log(record.victimId);\r\n this.victimDetail = record;\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.showListFlag = false;\r\n }\r\n\r\n save(detail: Victim) {\r\n this.showDetail = false;\r\n this.showAdd = true;\r\n this.showListFlag = true;\r\n }\r\n\r\n cancel() {\r\n this.showDetail = false;\r\n this.victimDetail = <Victim>{};\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.victimListDataSource.paginator = this.paginator;\r\n this.victimListDataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateAccessControlConfig = {\r\n accessType: AccessType.UPDATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.createAccessControlConfig = {\r\n accessType: AccessType.CREATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.deleteAccessControlConfig = {\r\n accessType: AccessType.DELETE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n var myPath = this.router.url.slice(-10);\r\n\r\n\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.displayedColumns = [\"lastName\", \"firstName\"];\r\n\r\n if (\r\n this.showRelationshipColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"relationship\");\r\n }\r\n if (this.showOffenderNameColumn == true) {\r\n this.displayedColumns.push(\"offenderName\");\r\n }\r\n\r\n if (\r\n this.showOffenderPhoneColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"homePhone\");\r\n }\r\n\r\n this.displayedColumns.push(\"victimId\");\r\n\r\n if (this.showSearchForm == true) {\r\n this.showListFlag = false;\r\n }\r\n\r\n console.log(\"this.showSearchForm\");\r\n console.log(this.showSearchForm);\r\n console.log(\"myPath\");\r\n console.log(myPath);\r\n\r\n if (\r\n this.showSearchForm == false ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n var myOffenderId;\r\n if (this.offenderId) {\r\n myOffenderId = this.offenderId;\r\n } else {\r\n console.log(\"back from previous page\");\r\n this.showAdd = true;\r\n this.showRelationshipColumn = true;\r\n //this.displayedColumns.push(\"relationship\");\r\n this.showOffenderPhoneColumn = true;\r\n // this.displayedColumns.push(\"homePhone\");\r\n this.accessByModule = \"true\";\r\n this.showEdit = \"true\";\r\n this.showCaseNote = \"true\";\r\n this.showSafetyPlan = \"true\";\r\n\r\n myOffenderId = data.selectedOffender.offenderId;\r\n }\r\n\r\n const victimListFilter: VictimListFilter = {\r\n offenderId: myOffenderId,\r\n lastName: null,\r\n firstName: null,\r\n pdid: null,\r\n birthDate: null,\r\n };\r\n\r\n console.log(\"victimListFilter in smar-victim componenet\");\r\n console.log(victimListFilter);\r\n\r\n this.victimService\r\n .getVictimListByFilter(victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n\r\n this.victims = data;\r\n\r\n // data.forEach((d) => {\r\n // if (d.homePhone == null || d.homePhone == \"\") {\r\n // if (d.cellPhone != null && d.cellPhone != \"\"){\r\n // d.homePhone = d.cellPhone;\r\n // }\r\n // else{\r\n // d.homePhone = d.workPhone;\r\n // }\r\n // }\r\n \r\n // });\r\n\r\n\r\n console.log(\"victim data at line 179\");\r\n console.log(this.victims);\r\n console.log(\"showListFlag\");\r\n console.log(this.showListFlag);\r\n this.showListFlag = true;\r\n if (data.length == 0) {\r\n this.msg = \"No Record Found!\";\r\n }\r\n });\r\n } else {\r\n console.log(\"find filter\");\r\n console.log(this.victimListFilter);\r\n\r\n if (this.showListFlag === true) {\r\n if (this.victimListFilter != null) {\r\n this.victimService\r\n .getVictimListByFilter(this.victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n this.victims = data;\r\n console.log(\"victim data at line 201\");\r\n console.log(data);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n formatPhoneNumber(phoneNumberString) {\r\n if (!phoneNumberString) return \"\";\r\n var cleaned = (\"\" + phoneNumberString).replace(/\\D/g, \"\");\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return \"(\" + match[1] + \") \" + match[2] + \"-\" + match[3];\r\n }\r\n return \"\";\r\n }\r\n\r\n saveIntake() {\r\n if (!this.isIntake) {\r\n return;\r\n }\r\n const intakeStep = <IntakeStepStatusModel>{\r\n intakeStepId: IntakeStep.VictimInformation,\r\n offenderId: this.offenderId,\r\n modifiedBy: this.staffId,\r\n };\r\n this.intakeService\r\n .updateIntakeSteps(this.offenderId, intakeStep)\r\n .subscribe((res) => {\r\n console.log(\"save intake step.\");\r\n this.snackBar.open(\"Status Saved.\", \"\", {\r\n duration: 3000,\r\n });\r\n //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });\r\n\r\n this.document.location.href = `${this.smartWarrantUrl}/warrant`;\r\n });\r\n }\r\n\r\n goToCaseNote(victimId: number) {\r\n this.router.navigate([\"casenote\", victimId, 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.victimListDataSource.data = data;\r\n\r\n this.doSpin = !this.doSpin;\r\n\r\n if (data.length > 0) {\r\n this.showListFlag = true;\r\n } else {\r\n this.msg = \"No record found!\";\r\n }\r\n },\r\n (err) => {\r\n this.doSpin = !this.doSpin;\r\n }\r\n );\r\n }\r\n}\r\n","<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 \r\n <div class=\"add-action\" *ngIf=\"showAdd\">\r\n <button mat-raised-button color=\"primary\" \r\n accessControl\r\n [accessControlConfig]=\"createAccessControlConfig\" \r\n (click)=\"addRecord()\">\r\n <mat-icon>add</mat-icon>\r\n Add Victim\r\n </button>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"isIntake\">\r\n <button \r\n mat-raised-button \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\r\n </div>\r\n <div *ngIf=\"showListFlag\">\r\n <mat-card id=\"divVictim\" >\r\n <mat-card-content >\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.relationship}} </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\" > {{formatPhoneNumber(row.homePhone)}} </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-raised-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-raised-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\r\n <mat-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator> \r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n\r\n <div>\r\n <b>{{msg}}</b>\r\n </div>\r\n</div>","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\n\r\n\r\n\r\n@NgModule(\r\n {\r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n ],\r\n 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 ]\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-raised-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-raised-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-raised-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-raised-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>","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-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\r\n &nbsp;&nbsp;<button mat-raised-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>","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-raised-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-raised-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-raised-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-raised-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>","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-raised-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"spForm.value\" >\r\n Save Change\r\n </button>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .main {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .actions{\r\n display: flex;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class SeriveProviderComponent implements OnInit {\r\n spForm: 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-raised-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-raised-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-raised-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-raised-button color=\"primary\" (click)=\"saveSafetyPlan()\" [disabled]=\"!spForm.valid\">Save</button>\r\n <!-- &nbsp;&nbsp;<button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n &nbsp;&nbsp;<button mat-raised-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>","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService} from '@csmart/ngc-smart-core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { NgcSmartVictimComponent} from './smart-victim.component'\r\n\r\nconst routes: Routes = [\r\n \r\n //{path: 'casenote/:victimId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'casenote/:victimId/:offenderId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'victimList', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimContact/:victimId', component: ContactComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'smart-error', component: SmartErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VictimRoutingModule {\r\n}\r\n","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\n\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\n\r\n import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';\r\n import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\nimport { NgcSmartCoreModule } from '@csmart/ngc-smart-core';\r\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\n\r\n\r\n\r\nconst COMPONENTS = [\r\n NgcSmartVictimComponent,\r\n SmartVictimDetailComponent,\r\n SmartVictimDeleteConfirmComponent,\r\n PhoneMaskDirective\r\n \r\n];\r\n\r\nconst ENTRY_COMPONENTS = [\r\n SmartVictimDeleteConfirmComponent,\r\n \r\n];\r\n\r\nconst BASE_MODULES = [\r\n CommonModule,\r\n ReactiveFormsModule\r\n];\r\n\r\nconst CORE_MODULES = [NgcSmartCoreModule, SmartAddressModule];\r\n\r\nconst MATERIAL_MODULES = [\r\n MatButtonModule, MatCheckboxModule,MatRadioModule,MatSliderModule,\r\n MatCardModule, MatSlideToggleModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule, MatExpansionModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,MatPaginatorModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS,\r\n CaseNoteComponent,\r\n ContactComponent,\r\n VictimSafetyPlanComponent,\r\n VictimSafetyPlanDetailComponent,\r\n VictimSearchFormComponent,\r\n SeriveProviderComponent\r\n ],\r\n imports: [\r\n ...BASE_MODULES,\r\n ...MATERIAL_MODULES,\r\n ...CORE_MODULES,\r\n CommonDialogModule,\r\n FormsModule,\r\n VictimRoutingModule,\r\n ApolloModule,\r\n //SharedModule\r\n ],\r\n 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\nexport * from './lib/shared/directives/phone-mask.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["VictimListFilter","headers","observableThrowError","i1","i2","i3","i4","i5","i6.CommonDialogService","i7.NgcSmartVictimService","i8","i12","i19","i21.PhoneMaskDirective","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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"}
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/shared/directives/phone-mask.directive.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\n\r\n\r\n\r\nexport class VictimSupport {\r\n constructor(\r\n // public victimSupportId: number,\r\n\r\n public victimId: number,\r\n\r\n public victimSupportTypeId: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimGuardian {\r\n constructor(public victimGuardianId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public birthDate: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n \r\n \r\n\r\n ) { }\r\n}\r\n\r\nexport interface CaseNote {\r\n victimId: number;\r\n victimCaseNoteId: number;\r\n caseNoteDate: Date;\r\n contactTypeId: string;\r\n contactType: string;\r\n victimContactPurposeId: string;\r\n victimContactPurpose: string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimFirstName: string;\r\n victimLastName: string;\r\n \r\n}\r\n\r\nexport interface Contact {\r\n victimId: number;\r\n victimContactId: number;\r\n contactDate: Date;\r\n victimContactMethodId: string;\r\n contactMethod: string;\r\n contactedBy: number;\r\n contactedByName: string;\r\n nextContactDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n\r\n \r\n}\r\n\r\n\r\nexport interface VictimSafetyPlan {\r\n victimId: number;\r\n fullName: string;\r\n victimServiceId: number;\r\n goal:string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimServiceStatusId: string;\r\n status: string;\r\n startDate: Date;\r\n vVictimServiceDetails: VictimServiceDetail[];\r\n victimName: String;\r\n \r\n \r\n}\r\n\r\nexport interface VictimServiceDetail{\r\n victimServiceId: number;\r\n victimServiceDetailId: number;\r\n victimServiceTypeId: string;\r\n victimProgramProviderId: string;\r\n victimProgramProvider: string;\r\n modifiedBy: number;\r\n\r\n\r\n}\r\nexport interface VictimServiceStatusHistory{\r\n\r\n victimServiceStatusHistoryId: number;\r\n victimServiceId: string;\r\n victimServiceStatusId: string;\r\n startDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n}\r\n\r\n\r\nexport interface VictimServiceTypeProgramProviderModel {\r\n victimServiceTypeProgramProviderId: number; \r\n victimServiceType: string;\r\n victimProgramProviderId: string;\r\n victimServiceTypeId:string;\r\n victimProgramProvider: string;\r\n }\r\n \r\n export interface ProviderListCollectionModel{\r\n groupId:string;\r\n isDisplay:boolean;\r\n collection:VictimServiceTypeProgramProviderModel[];\r\n }\r\n\r\n\r\n\r\n export interface ProvidersDialogData {\r\n //iepAction: IepAction;\r\n serviceType;\r\n serviceTypeId;\r\n providerCollections: [];\r\n }\r\n\r\n\r\n export class Victim {\r\n constructor(\r\n public victimId: number,\r\n public offenderId: number,\r\n public underSupervisionFlag: string,\r\n public victimOffenderRelationshipTypeId: string,\r\n public lastName: string,\r\n public firstName: string,\r\n public middleName: string,\r\n public prefixId: string | null,\r\n public suffixId: string | null,\r\n public birthDate: string,\r\n public genderCode: string,\r\n public homePhone: string,\r\n public workPhone: string,\r\n public cellPhone: string,\r\n public email: string,\r\n public addressId: number,\r\n public minorFlag: boolean,\r\n public victimAdvocateFlag: string,\r\n\r\n public guardianFirstName: string,\r\n public guardianLastName: string,\r\n public guardianPrefixId: string,\r\n public guardianSuffixId: string,\r\n public guardianNoPhoneFlag: boolean,\r\n public guardianHomePhone: string,\r\n public guardianWorkPhone: string,\r\n public guardianCellPhone: string,\r\n public guardianEmail: string,\r\n public guardianAddressId: number,\r\n public guardianBirthDate: string,\r\n\r\n public advocateFirstName: string,\r\n public advocateLastName: string,\r\n public advocatePrefixId: string,\r\n public advocateSuffixId: string,\r\n public advocateNoPhoneFlag: boolean,\r\n public advocateHomePhone: string,\r\n public advocateWorkPhone: string,\r\n public advocateCellPhone: string,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string,\r\n public commonChildrenFlag: boolean,\r\n public commonChildrenNumber: number,\r\n public cpoExpirationFlag: boolean,\r\n public cpoExpirationDate: string,\r\n public supportInPlaceFlag: boolean,\r\n public weaponInvolvedFlag: boolean,\r\n public drugUseFlag: boolean,\r\n public alcoholUseFlag: boolean,\r\n public accessRisk: string,\r\n public modifiedBy: number,\r\n public relationship: string,\r\n \r\n public vVictimAdvocate: VictimAdvocate,\r\n public vVictimGuardian: VictimGuardian,\r\n \r\n public victimSupports: VictimSupport[],\r\n public victimWeaponUses: VictimWeaponUse[],\r\n public victimDrugUses: VictimDrugUse[],\r\n\r\n public allowCsosaContactFlag: boolean,\r\n 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\ndeleteVictims(val: any) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n\r\n// //==============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-raised-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-raised-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>","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 { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appPhoneMask]',\r\n})\r\nexport class PhoneMaskDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n \r\n\r\n onInputChange(event, backspace) {\r\n if (event){\r\n let newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\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 } 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\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\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 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 victimOffenderRelationshipTypeId: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\r\n this.victimForm.markAsPristine();\r\n\t\tthis.victimForm.markAsUntouched();\r\n\r\n }\r\n\r\n private _getVictim() {\r\n if (this.victimId === 0) {\r\n\r\n return;\r\n };\r\n\t\tif (this.editMode == true) {\r\n console.log('find victim id inside getVictim');\r\n console.log(this.victimId);\r\n\r\n if (this.victimId === undefined) {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n });\r\n }\r\n\r\n this.victimService.getVictim(this.victimId)\r\n .subscribe((victim: Victim) => {\r\n console.log('victim data 1');\r\n console.log(victim);\r\n this.editVictim = <Victim>victim;\r\n\r\n var supportsData =[];\r\n this.editVictim.victimSupports.forEach( t=>{supportsData.push(t.victimSupportTypeId); } )\r\n const victimSupportsControl = this.victimForm.get('victimSupports');\r\n victimSupportsControl.setValue(supportsData);\r\n\r\n\r\n var weaponUsesData =[];\r\n var otherWeapon = \"\";\r\n this.editVictim.victimWeaponUses.forEach( t=>{\r\n weaponUsesData.push(t.weaponTypeId);\r\n if (t.weaponTypeId == \"OTHER\"){\r\n otherWeapon = t.otherWeapon;\r\n this.otherWeaponFlag = true;\r\n }\r\n\r\n } )\r\n\r\n\r\n const victimWeaponUsesControl = this.victimForm.get('victimWeaponUses');\r\n victimWeaponUsesControl.setValue(weaponUsesData);\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValue(otherWeapon);\r\n\r\n\r\n //this.weaponUsesData = this.editVictim.victimWeaponUses;\r\n\r\n var drugUseData =[];\r\n var otherDrug = \"\";\r\n\r\n console.log('load this.editVictim.victimDrugUses');\r\n console.log(this.editVictim.victimDrugUses);\r\n this.editVictim.victimDrugUses.forEach( t=>{\r\n\r\n if (t.drugTypeId === null){\r\n otherDrug = t.otherDrug;\r\n this.otherDrugFlag = true;\r\n t.drugTypeId ='OTHER';\r\n\r\n }\r\n drugUseData.push(t.drugTypeId);\r\n\r\n } )\r\n\r\n console.log('this.editVictim.victimDrugUses after push');\r\n console.log(drugUseData);\r\n\r\n\r\n 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 }, 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\r\n onAddressChange(addressId) {\r\n this.victimForm.patchValue({addressId: addressId})\r\n this.addressId = addressId;\r\n }\r\n onGuardianAddressChange(MyGuardianAddressId) {\r\n this.victimForm.patchValue({guardianAddressId: MyGuardianAddressId})\r\n this.guardianAddressId = MyGuardianAddressId;\r\n }\r\n onAdvocateAddressChange(MyAdvocateAddressId) {\r\n this.victimForm.patchValue({advocateAddressId: MyAdvocateAddressId})\r\n this.advocateAddressId = MyAdvocateAddressId;\r\n }\r\n cancel() {\r\n this.victimForm.reset();\r\n}\r\n\r\n ngOnInit() {\r\n\r\n console.log('on init 11/7/23');\r\n\r\n console.log('show offenderId');\r\n console.log(this.offenderId);\r\n console.log('show staffId');\r\n console.log(this.staffId);\r\n console.log('show isIntake');\r\n console.log(this.isIntake);\r\n //this.victimDetail.guardianNoPhoneFlag = true;\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n //this.victimForm.get('guardianNoPhoneFlag').setValue(true);\r\n\r\n //required field\r\n const requiredImplementation = {get:function():boolean{if(this._required){return this._required;}\r\n if(this.ngControl&&this.ngControl.control&&this.ngControl.control.validator\r\n ){const emptyValueControl=Object.assign({},\r\n this.ngControl.control);(emptyValueControl as any).value=null;\r\n return('required'in(this.ngControl.control.validator(emptyValueControl)||{}));}\r\n return false;},set:function(value:boolean){this._required=coerceBooleanProperty(value);},};\r\n Object.defineProperty(MatInput.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatSelect.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatRadioGroup.prototype,'required',requiredImplementation,);\r\n //required field end\r\n\r\n\r\n\r\n if (this.victimDetail!=null) {\r\n // edit record\r\n this.editMode = true;\r\n this.showDelete= true;\r\n this.victimId = this.victimDetail.victimId;\r\n\r\n this.guardianTabFlag = this.victimDetail.minorFlag;\r\n\r\n\r\n if (this.victimDetail.victimAdvocateFlag=='YS'){\r\n this.advocateTabFlag = true;\r\n }\r\n\r\n if (this.otherWeaponFlag == true){\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n this.cpoExpirationDivFlag =this.victimDetail.cpoExpirationFlag;\r\n this.commonChildrenDivFlag = this.victimDetail.commonChildrenFlag;\r\n this.supportInPlaceDivFlag= this.victimDetail.supportInPlaceFlag;\r\n this.weaponInvolvedDivFlag= this.victimDetail.weaponInvolvedFlag;\r\n this.drugUseDivFlag= this.victimDetail.drugUseFlag;\r\n this.addressId = this.victimDetail.addressId;\r\n this.guardianAddressId = this.victimDetail.guardianAddressId;\r\n this.advocateAddressId = this.victimDetail.advocateAddressId;\r\n\r\n this._getVictim();\r\n\r\n } else {\r\n //add new record\r\n this.victimForm.patchValue({guardianNoPhoneFlag: true});\r\n this.victimForm.patchValue({advocateNoPhoneFlag: true});\r\n\r\n }\r\n\r\n this.victimService.getFlagOptionYesNoUnknowns().subscribe(\r\n (items: any) => {\r\n this.flagOption = items;\r\n }\r\n );\r\n this.victimService.getGenders().subscribe(\r\n (items: any) => {\r\n this.genders = items;\r\n }\r\n );\r\n this.victimService.getPrefixes().subscribe(\r\n (items: any) => {\r\n this.prefixes = items;\r\n }\r\n );\r\n this.victimService.getSuffixes().subscribe(\r\n (items: any) => {\r\n this.suffixes = items;\r\n }\r\n );\r\n this.victimService.getRelationshipTypes().subscribe(\r\n (items: any) => {\r\n this.relationshipTypes = items.filter( (y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' ));\r\n }\r\n );\r\n this.victimService.getSupportTypes().subscribe(\r\n (items: any) => {\r\n this.victimSupportTypes = items;\r\n }\r\n );\r\n this.victimService.getWeaponTypes().subscribe(\r\n (items: any) => {\r\n this.weaponTypes = items;\r\n }\r\n );\r\n this.victimService.getDrugsTypes().subscribe(\r\n (items: any) => {\r\n console.log('drug lookup items');\r\n console.log(items);\r\n this.drugs = items;\r\n this.drugs.push({drugTypeId: 'OTHER', name: 'Other'});\r\n console.log(this.drugs);\r\n }\r\n );\r\n // this.victimService.getDocketList(this.offenderId).subscribe(\r\n // (items: any) => {\r\n // this.docketlist = items;\r\n // }\r\n\r\n // );\r\n\r\n this.victimForm.get('minorFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('guardianFirstName').updateValueAndValidity();\r\n this.victimForm.get('guardianLastName').updateValueAndValidity();\r\n this.victimForm.get('guardianWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('guardianHomePhone').updateValueAndValidity();\r\n this.victimForm.get('guardianCellPhone').updateValueAndValidity();\r\n\r\n });\r\n\r\n\r\n this.victimForm.get('victimAdvocateFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('advocateFirstName').updateValueAndValidity();\r\n this.victimForm.get('advocateLastName').updateValueAndValidity();\r\n this.victimForm.get('advocateWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('advocateHomePhone').updateValueAndValidity();\r\n this.victimForm.get('advocateCellPhone').updateValueAndValidity();\r\n\r\n });\r\n\r\n }\r\n\r\n back(){\r\n\r\n //this.onSave.emit(this.victimDetail);\r\n this.router.navigate(['victimList']);\r\n\r\n }\r\n\r\n deleteVictim() {\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this Victim?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this.victimService.deleteVictims(this.victimDetail.victimId)\r\n .subscribe(result => {\r\n this.snackBar.open('Delete Successfully!', '', {\r\n duration: 3000, });}\r\n\r\n );\r\n // this.router.navigate(['victim']);\r\n this.onSave.emit(this.victimDetail);\r\n }\r\n });\r\n\r\n }\r\n\r\n radioMinorChange($event: MatRadioChange){\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n //const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n\r\n if ($event.value === true) {\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n\r\n\r\n }\r\n else{\r\n this.guardianTabFlag = false;\r\n // guardianLastNameControl.clearValidators();\r\n // guardianFirstNameControl.clearValidators();\r\n\r\n\r\n }\r\n\r\n\t\t//guardianLastNameControl.updateValueAndValidity();\r\n // guardianFirstNameControl.updateValueAndValidity();\r\n\r\n }\r\n\r\n radioAdvocateChange($event: MatRadioChange){\r\n\r\n const advocateLastNameControl = this.victimForm.get('advocateLastName');\r\n const advocateFirstNameControl = this.victimForm.get('advocateFirstName');\r\n // const advocateNoPhoneControl = this.victimForm.get('advocateNoPhoneFlag');\r\n\r\n\r\n\r\n if ($event.value === \"YS\") {\r\n this.advocateTabFlag = true;\r\n advocateLastNameControl.setValidators(Validators.required);\r\n advocateFirstNameControl.setValidators(Validators.required);\r\n\r\n\r\n }\r\n else{\r\n this.advocateTabFlag = false;\r\n\r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\r\n\r\n }\r\n\r\n advocateLastNameControl.updateValueAndValidity();\r\n advocateFirstNameControl.updateValueAndValidity();\r\n\r\n }\r\n\r\n radioCicChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.commonChildrenDivFlag = true;\r\n // requrie field\r\n this.setValidators('commonChildren');\r\n }\r\n else{\r\n this.commonChildrenDivFlag = false;\r\n }\r\n }\r\n\r\n setValidators(type) {\r\n if(type == 'commonChildren'){\r\n this.victimForm.get('commonChildrenNumber').clearValidators();\r\n this.victimForm.get('commonChildrenNumber').setValidators(Validators.required);\r\n }\r\n else if (type == 'cpo'){\r\n this.victimForm.get('cpoExpirationDate').clearValidators();\r\n this.victimForm.get('cpoExpirationDate').setValidators(Validators.required);\r\n\r\n }\r\n }\r\n radioSupportChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.supportInPlaceDivFlag = true;\r\n }\r\n else{\r\n this.supportInPlaceDivFlag = false;\r\n }\r\n }\r\n radioWeaponChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.weaponInvolvedDivFlag = true;\r\n }\r\n else{\r\n this.weaponInvolvedDivFlag = false;\r\n }\r\n }\r\n radioDrugChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.drugUseDivFlag = true;\r\n }\r\n else{\r\n this.drugUseDivFlag = false;\r\n }\r\n }\r\n\r\n radioCpoChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.cpoExpirationDivFlag = true;\r\n this.setValidators('cpo');\r\n }\r\n else{\r\n this.cpoExpirationDivFlag = false;\r\n }\r\n }\r\n\r\n handleDOBChange($event ){\r\n var ageDifMs = Date.now() - $event.value;\r\n var ageDate = new Date(ageDifMs);\r\n if( Math.abs(ageDate.getUTCFullYear() - 1970) <= 18){\r\n\r\n this.snackBar.open('Victim is a Minor. This information is a sensitive and should not be disclosed to any unauthorized parties. Contact the legal guardian.', '', {\r\n duration: 6000,});\r\n const minorControl = this.victimForm.get('minorFlag');\r\n minorControl.setValue(true);\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n // const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n checkOtherWeapon(WeaponUse){\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n if (WeaponUse.includes(\"OTHER\")){\r\n this.otherWeaponFlag = true;\r\n otherWeaponControl.setValidators(Validators.required)\r\n\r\n }else{\r\n this.otherWeaponFlag = false;\r\n otherWeaponControl.clearValidators();\r\n }\r\n otherWeaponControl.updateValueAndValidity();\r\n }\r\n\r\n checkOtherDrug(DrugUse){\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n if (DrugUse.includes(\"OTHER\")){\r\n this.otherDrugFlag = true;\r\n otherDrugControl.setValidators(Validators.required)\r\n\r\n\r\n }else{\r\n this.otherDrugFlag = false;\r\n otherDrugControl.clearValidators();\r\n\r\n\r\n }\r\n otherDrugControl.updateValueAndValidity();\r\n }\r\n\r\n //#region \"save victim\"\r\n saveVictim() {\r\n console.log('save vitem 11/7/23');\r\n\r\n\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.guardianHomePhone){\r\n if (this.victimForm.value.guardianHomePhone !== null){\r\n if (this.victimForm.value.guardianHomePhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.guardianWorkPhone !== undefined){\r\n if (this.victimForm.value.guardianWorkPhone !== null){\r\n if (this.victimForm.value.guardianWorkPhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n if (this.victimForm.value.guardianCellPhone !== null){\r\n if (this.victimForm.value.guardianCellhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('this.victimForm.value.guardianNoPhoneFlag');\r\n console.log(this.victimForm.value.guardianNoPhoneFlag);\r\n console.log('this.guardianPhoneExistFlag');\r\n console.log(this.guardianPhoneExistFlag);\r\n\r\n\r\n if (this.guardianPhoneExistFlag === false && this.victimForm.value.guardianNoPhoneFlag === false)\r\n {\r\n\r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the guardian phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n\r\n });\r\n }\r\n console.log('this.phoneValidationFlag');\r\n console.log(this.phoneValidationFlag);\r\n\r\n //advocate phone logic\r\n if (!this.victimForm.value.advocateNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.advocateHomePhone){\r\n if (this.victimForm.value.advocateHomePhone !== null){\r\n if (this.victimForm.value.advocateHomePhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.advocateWorkPhone !== undefined){\r\n if (this.victimForm.value.advocateWorkPhone !== null){\r\n if (this.victimForm.value.advocateWorkPhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n if (this.victimForm.value.advocateCellPhone !== null){\r\n if (this.victimForm.value.advocateCellhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('this.victimForm.value.advocateNoPhoneFlag');\r\n console.log(this.victimForm.value.advocateNoPhoneFlag);\r\n console.log('this.advocatePhoneExistFlag');\r\n console.log(this.advocatePhoneExistFlag);\r\n\r\n if(this.advocatePhoneExistFlag === false && this.victimForm.value.advocateNoPhoneFlag === false)\r\n {\r\n\r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the advocate phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n\r\n });\r\n }\r\n\r\n\r\n if (this.victimForm.value.homePhone){\r\n this.victimForm.value.homePhone = this.victimForm.value.homePhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.homePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.workPhone){\r\n this.victimForm.value.workPhone = this.victimForm.value.workPhone.replace(/[()\\s-]/g, '') ;\r\n }\r\n else{\r\n this.victimForm.value.workPhone = null;\r\n }\r\n if (this.victimForm.value.cellPhone){\r\n this.victimForm.value.cellPhone = this.victimForm.value.cellPhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.cellPhone= null;\r\n }\r\n\r\n if (this.victimForm.value.emergencyContactPhone){\r\n this.victimForm.value.emergencyContactPhone = this.victimForm.value.emergencyContactPhone.replace(/[()\\s-]/g, '');\r\n }\r\n else{\r\n this.victimForm.value.emergencyContactPhone = null;\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateHomePhone){\r\n this.victimForm.value.advocateHomePhone = this.victimForm.value.advocateHomePhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateHomePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.advocateWorkPhone){\r\n this.victimForm.value.advocateWorkPhone = this.victimForm.value.advocateWorkPhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.advocateWorkPhone =null;\r\n }\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n this.victimForm.value.advocateCellPhone = this.victimForm.value.advocateCellPhone.replace(/[()\\s-]/g, '')\r\n }else{\r\n this.victimForm.value.advocateCellPhone = null;\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianHomePhone){\r\n this.victimForm.value.guardianHomePhone = this.victimForm.value.guardianHomePhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.guardianHomePhone = null;\r\n }\r\n\r\n if (this.victimForm.value.guardianWorkPhone){\r\n this.victimForm.value.guardianWorkPhone = this.victimForm.value.guardianWorkPhone.replace(/[()\\s-]/g, '')\r\n }\r\n else{\r\n this.victimForm.value.guardianWorkPhone =null;\r\n }\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n this.victimForm.value.guardianCellPhone = this.victimForm.value.guardianCellPhone.replace(/[()\\s-]/g, '')\r\n }else{\r\n this.victimForm.value.guardianCellPhone = 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\r\n\r\n if (this.victimDetail === null){\r\n //insert new victim\r\n\r\n var myVictimSupports = [];\r\n if (this.victimForm.value.victimSupports){\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimForm.value.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n myVictimSupports.push(victimSupport);\r\n });\r\n }\r\n\r\n var myVictimDrugUses = [];\r\n console.log('this.victimForm.value.victimDrugUses during save');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n if (this.victimForm.value.victimDrugUses){\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n\r\n if (element ===\"OTHER\" || element === \"\" || element === null){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimForm.value.victimId;\r\n myVictimDrugUses.push(victimDrugUse);\r\n });\r\n }\r\n\r\n console.log('this.victimForm.value.victimDrugUses during save 1');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n\r\n\r\n\r\n var myVictimWeaponUses = [];\r\n\r\n if (this.victimForm.value.victimWeaponUses){\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimForm.value.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon = this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n myVictimWeaponUses.push(victimWeaponUse);\r\n });\r\n }\r\n\r\n\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 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 };\r\n\r\n this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n\r\n if (this.victimForm.value.minorFlag == true){\r\n\r\n\r\n const victimGuardian: VictimGuardian = {\r\n victimGuardianId: id,\r\n lastName: this.victimForm.value.guardianLastName,\r\n firstName: this.victimForm.value.guardianFirstName,\r\n prefixId: this.victimForm.value.guardianPrefixId,\r\n suffixId: this.victimForm.value.guardianSuffixId,\r\n birthDate: this.victimForm.value.guardianBirthDate,\r\n addressId: this.guardianAddressId? this.guardianAddressId: null,\r\n noPhoneFlag: this.victimForm.value.guardianNoPhoneFlag? this.victimForm.value.guardianNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.guardianHomePhone,\r\n workPhone: this.victimForm.value.guardianWorkPhone,\r\n cellPhone: this.victimForm.value.guardianCellPhone,\r\n email: this.victimForm.value.guardianEmail,\r\n modifiedBy: this.staffId\r\n\r\n\r\n };\r\n\r\n this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n\r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\r\n });\r\n\r\n //insert new\r\n if (this.isIntake===true){\r\n this.router.navigate(['victimHome']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['victimList']);\r\n }\r\n //this.onSave.emit(this.victimDetail);\r\n\r\n }\r\n );\r\n\r\n }\r\n else {\r\n //update victim\r\n\r\n\r\n this.victimDetail.underSupervisionFlag = this.victimForm.value.underSupervisionFlag;\r\n this.victimDetail.victimOffenderRelationshipTypeId = this.victimForm.value.victimOffenderRelationshipTypeId;\r\n this.victimDetail.lastName = this.victimForm.value.lastName;\r\n this.victimDetail.firstName = this.victimForm.value.firstName;\r\n this.victimDetail.middleName = this.victimForm.value.middleName;\r\n this.victimDetail.prefixId = this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null;\r\n this.victimDetail.suffixId = this.victimForm.value.suffixId ? this.victimForm.value.suffixId : null;\r\n this.victimDetail.birthDate = this.victimForm.value.birthDate;\r\n this.victimDetail.genderCode = this.victimForm.value.genderCode;\r\n this.victimDetail.minorFlag = this.victimForm.value.minorFlag;\r\n this.victimDetail.homePhone = this.victimForm.value.homePhone;\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\r\n this.victimDetail.victimSupports = [];\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimDetail.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n this.victimDetail.victimSupports.push(victimSupport);\r\n });\r\n\r\n\r\n this.victimDetail.victimDrugUses = [];\r\n\r\n console.log('this.victimForm.value.victimDrugUses calculate')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n console.log('this.victimForm.value.victimDrugUses before')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n if (element === \"OTHER\" || element === \"\" ){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimDetail.victimId;\r\n this.victimDetail.victimDrugUses.push(victimDrugUse);\r\n console.log('this.victimForm.value.victimDrugUses after')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n });\r\n\r\n\r\n\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\r\n\r\n\r\n console.log('adjust this.victimForm.value.victimDrugUses ')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimDetail.victimWeaponUses = [];\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimDetail.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n console.log('weapon element');\r\n console.log(element);\r\n console.log(this.victimForm.value.otherWeapon);\r\n console.log(this.victimForm.value.victimWeaponUses);\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon=this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n this.victimDetail.victimWeaponUses.push(victimWeaponUse);\r\n\r\n });\r\n\r\n console.log('package has been updated');\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\r\n //Advocate section\r\n\r\n this.victimAdvocate.victimAdvocateId = this.victimDetail.victimId;\r\n this.victimAdvocate.lastName= this.victimForm.value.advocateLastName;\r\n this.victimAdvocate.firstName= this.victimForm.value.advocateFirstName;\r\n this.victimAdvocate.prefixId= this.victimForm.value.advocatePrefixId ? this.victimForm.value.advocatePrefixId : null;\r\n this.victimAdvocate.suffixId= this.victimForm.value.advocateSuffixId ? this.victimForm.value.advocateSuffixId : null;\r\n this.victimAdvocate.addressId= this.advocateAddressId ? this.advocateAddressId : null;\r\n this.victimAdvocate.noPhoneFlag= this.victimForm.value.advocateNoPhoneFlag? true: false;\r\n this.victimAdvocate.homePhone= this.victimForm.value.advocateHomePhone;\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 }\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\r\n }\r\n }//end of this.phoneValidationFlag = false\r\n console.log('11/7/23');\r\n console.log('this.victimDetail');\r\n console.log(this.victimDetail);\r\n this.onSave.emit(this.victimDetail);\r\n\r\n }\r\n\r\n //#endregion \"save victim\"\r\n addContact(){\r\n\r\n this.router.navigate(['victimContact',this.victimId]);\r\n }\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n\r\n}\r\n","<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 <mat-select formControlName=\"victimOffenderRelationshipTypeId\" [(ngModel)]=\"editVictim.victimOffenderRelationshipTypeId\" >\r\n <mat-option *ngFor=\"let item of relationshipTypes\" [value]=\"item.relationshipTypeId\">{{item.name}}</mat-option>\r\n </mat-select>\r\n <div class=\"help-block\" *ngIf=\"victimForm.get('victimOffenderRelationshipTypeId').errors \r\n && (victimForm.get('victimOffenderRelationshipTypeId').dirty || victimForm.get('victimOffenderRelationshipTypeId').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 matInput \r\n formControlName=\"homePhone\" \r\n [(ngModel)]=\"editVictim.homePhone\" \r\n appPhoneMask\r\n maxlength=\"14\"/>\r\n\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 matInput \r\n formControlName=\"cellPhone\"\r\n appPhoneMask\r\n [(ngModel)]=\"editVictim.cellPhone\" >\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 matInput \r\n formControlName=\"workPhone\" \r\n [(ngModel)]=\"editVictim.workPhone\"\r\n appPhoneMask\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 \r\n <!-- <app-smart-address \r\n [showPsa]=\"true\" \r\n [modifiedBy]=\"staffId\" \r\n [id]=\"addressId\"\r\n (addressIdChange)=\"onAddressChange($event)\"\r\n [outline]=\"true\" \r\n readonly=\"false\"\r\n [rowHeight]=\"80\" \r\n (isValid)=\"false\" \r\n [addressValidators]=\"addressValidators\"\r\n #addressComponent\r\n > -->\r\n\r\n\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\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 ></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 \r\n >\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 matInput \r\n formControlName=\"guardianHomePhone\" \r\n [(ngModel)]=\"editVictim.guardianHomePhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"guardianCellPhone\" \r\n [(ngModel)]=\"editVictim.guardianCellPhone\" \r\n appPhoneMask\r\n maxlength=\"14\" \r\n >\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\r\n \r\n\r\n \r\n </mat-form-field>\r\n\r\n <mat-form-field >\r\n <mat-label>Guardian Work Phone:</mat-label>\r\n <input matInput \r\n formControlName=\"guardianWorkPhone\" \r\n [(ngModel)]=\"editVictim.guardianWorkPhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"advocateHomePhone\" \r\n [(ngModel)]=\"editVictim.advocateHomePhone\"\r\n appPhoneMask\r\n maxlength=\"14\" >\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 matInput \r\n formControlName=\"advocateCellPhone\" \r\n [(ngModel)]=\"editVictim.advocateCellPhone\" \r\n appPhoneMask\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 matInput \r\n formControlName=\"advocateWorkPhone\" \r\n [(ngModel)]=\"editVictim.advocateWorkPhone\" \r\n appPhoneMask\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 <input matInput \r\n formControlName=\"emergencyContactPhone\" \r\n [(ngModel)]=\"editVictim.emergencyContactPhone\" \r\n appPhoneMask\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('victimOffenderRelationshipTypeId').errors \r\n && (victimForm.get('victimOffenderRelationshipTypeId').dirty || victimForm.get('victimOffenderRelationshipTypeId').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-raised-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-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n &nbsp;&nbsp; \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n &nbsp;&nbsp; \r\n <button mat-raised-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-raised-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-raised-button color=\"primary\" (click)=\"onChange()\">Search</button>\r\n <span style=\"padding-right: 5px;\"></span>\r\n <button mat-raised-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 isIntake = false;\r\n\r\n updateAccessControlConfig: SmartAccessControlConfig;\r\n createAccessControlConfig: SmartAccessControlConfig;\r\n deleteAccessControlConfig: SmartAccessControlConfig;\r\n constructor(\r\n private dialog: MatDialog,\r\n private victimService: NgcSmartVictimService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private snackBar: MatSnackBar,\r\n private intakeService: IntakeServicesComponent,\r\n @Inject(SMART_WARRANT_URL) private smartWarrantUrl: string,\r\n @Inject(DOCUMENT) private document: any\r\n ) {}\r\n\r\n // private onChange(filter: VictimListFilter) {\r\n // console.log('filter in onchange');\r\n // console.log(filter);\r\n // this.getVictimList(filter);\r\n // }\r\n\r\n applyFilter(filterValue: string) {\r\n this.victimListDataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n addRecord() {\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.victimDetail = null;\r\n this.showListFlag = false;\r\n }\r\n\r\n editVictimDetail(record) {\r\n console.log(\"victim edit record\");\r\n console.log(record);\r\n console.log(record.victimId);\r\n this.victimDetail = record;\r\n this.showDetail = true;\r\n this.showAdd = false;\r\n this.showListFlag = false;\r\n }\r\n\r\n save(detail: Victim) {\r\n this.showDetail = false;\r\n this.showAdd = true;\r\n this.showListFlag = true;\r\n }\r\n\r\n cancel() {\r\n this.showDetail = false;\r\n this.victimDetail = <Victim>{};\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.victimListDataSource.paginator = this.paginator;\r\n this.victimListDataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateAccessControlConfig = {\r\n accessType: AccessType.UPDATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.createAccessControlConfig = {\r\n accessType: AccessType.CREATE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n this.deleteAccessControlConfig = {\r\n accessType: AccessType.DELETE,\r\n appModuleId: this.appModuleId,\r\n roleId: null,\r\n route: this.activatedRoute.snapshot,\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n var myPath = this.router.url.slice(-10);\r\n\r\n\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.displayedColumns = [\"lastName\", \"firstName\"];\r\n\r\n if (\r\n this.showRelationshipColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"relationship\");\r\n }\r\n if (this.showOffenderNameColumn == true) {\r\n this.displayedColumns.push(\"offenderName\");\r\n }\r\n\r\n if (\r\n this.showOffenderPhoneColumn == true ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n this.displayedColumns.push(\"homePhone\");\r\n }\r\n\r\n this.displayedColumns.push(\"victimId\");\r\n\r\n if (this.showSearchForm == true) {\r\n this.showListFlag = false;\r\n }\r\n\r\n console.log(\"this.showSearchForm\");\r\n console.log(this.showSearchForm);\r\n console.log(\"myPath\");\r\n console.log(myPath);\r\n\r\n if (\r\n this.showSearchForm == false ||\r\n myPath == \"victimList\" ||\r\n myPath == \"victimHome\"\r\n ) {\r\n var myOffenderId;\r\n if (this.offenderId) {\r\n myOffenderId = this.offenderId;\r\n } else {\r\n console.log(\"back from previous page\");\r\n this.showAdd = true;\r\n this.showRelationshipColumn = true;\r\n //this.displayedColumns.push(\"relationship\");\r\n this.showOffenderPhoneColumn = true;\r\n // this.displayedColumns.push(\"homePhone\");\r\n this.accessByModule = \"true\";\r\n this.showEdit = \"true\";\r\n this.showCaseNote = \"true\";\r\n this.showSafetyPlan = \"true\";\r\n\r\n myOffenderId = data.selectedOffender.offenderId;\r\n }\r\n\r\n const victimListFilter: VictimListFilter = {\r\n offenderId: myOffenderId,\r\n lastName: null,\r\n firstName: null,\r\n pdid: null,\r\n birthDate: null,\r\n };\r\n\r\n console.log(\"victimListFilter in smar-victim componenet\");\r\n console.log(victimListFilter);\r\n\r\n this.victimService\r\n .getVictimListByFilter(victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n\r\n this.victims = data;\r\n\r\n // data.forEach((d) => {\r\n // if (d.homePhone == null || d.homePhone == \"\") {\r\n // if (d.cellPhone != null && d.cellPhone != \"\"){\r\n // d.homePhone = d.cellPhone;\r\n // }\r\n // else{\r\n // d.homePhone = d.workPhone;\r\n // }\r\n // }\r\n \r\n // });\r\n\r\n\r\n console.log(\"victim data at line 179\");\r\n console.log(this.victims);\r\n console.log(\"showListFlag\");\r\n console.log(this.showListFlag);\r\n this.showListFlag = true;\r\n if (data.length == 0) {\r\n this.msg = \"No Record Found!\";\r\n }\r\n });\r\n } else {\r\n console.log(\"find filter\");\r\n console.log(this.victimListFilter);\r\n\r\n if (this.showListFlag === true) {\r\n if (this.victimListFilter != null) {\r\n this.victimService\r\n .getVictimListByFilter(this.victimListFilter)\r\n .subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n this.victims = data;\r\n console.log(\"victim data at line 201\");\r\n console.log(data);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n formatPhoneNumber(phoneNumberString) {\r\n if (!phoneNumberString) return \"\";\r\n var cleaned = (\"\" + phoneNumberString).replace(/\\D/g, \"\");\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return \"(\" + match[1] + \") \" + match[2] + \"-\" + match[3];\r\n }\r\n return \"\";\r\n }\r\n\r\n saveIntake() {\r\n if (!this.isIntake) {\r\n return;\r\n }\r\n const intakeStep = <IntakeStepStatusModel>{\r\n intakeStepId: IntakeStep.VictimInformation,\r\n offenderId: this.offenderId,\r\n modifiedBy: this.staffId,\r\n };\r\n this.intakeService\r\n .updateIntakeSteps(this.offenderId, intakeStep)\r\n .subscribe((res) => {\r\n console.log(\"save intake step.\");\r\n this.snackBar.open(\"Status Saved.\", \"\", {\r\n duration: 3000,\r\n });\r\n //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });\r\n\r\n this.document.location.href = `${this.smartWarrantUrl}/warrant`;\r\n });\r\n }\r\n\r\n goToCaseNote(victimId: number) {\r\n this.router.navigate([\"casenote\", victimId, 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.victimListDataSource.data = data;\r\n\r\n this.doSpin = !this.doSpin;\r\n\r\n if (data.length > 0) {\r\n this.showListFlag = true;\r\n } else {\r\n this.msg = \"No record found!\";\r\n }\r\n },\r\n (err) => {\r\n this.doSpin = !this.doSpin;\r\n }\r\n );\r\n }\r\n}\r\n","<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 \r\n <div class=\"add-action\" *ngIf=\"showAdd\">\r\n <button mat-raised-button color=\"primary\" \r\n accessControl\r\n [accessControlConfig]=\"createAccessControlConfig\" \r\n (click)=\"addRecord()\">\r\n <mat-icon>add</mat-icon>\r\n Add Victim\r\n </button>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"isIntake\">\r\n <button \r\n mat-raised-button \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\r\n </div>\r\n <div *ngIf=\"showListFlag\">\r\n <mat-card id=\"divVictim\" >\r\n <mat-card-content >\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.relationship}} </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\" > {{formatPhoneNumber(row.homePhone)}} </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-raised-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-raised-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\r\n <mat-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator> \r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n\r\n <div>\r\n <b>{{msg}}</b>\r\n </div>\r\n</div>","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\n\r\n\r\n\r\n@NgModule(\r\n {\r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n ],\r\n 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 ]\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-raised-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-raised-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-raised-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-raised-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>","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-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\r\n &nbsp;&nbsp;<button mat-raised-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>","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-raised-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-raised-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-raised-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-raised-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>","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-raised-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"spForm.value\" >\r\n Save Change\r\n </button>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .main {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .actions{\r\n display: flex;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class SeriveProviderComponent implements OnInit {\r\n spForm: 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-raised-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-raised-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-raised-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-raised-button color=\"primary\" (click)=\"saveSafetyPlan()\" [disabled]=\"!spForm.valid\">Save</button>\r\n <!-- &nbsp;&nbsp;<button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n &nbsp;&nbsp;<button mat-raised-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>","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService} from '@csmart/ngc-smart-core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { NgcSmartVictimComponent} from './smart-victim.component'\r\n\r\nconst routes: Routes = [\r\n \r\n //{path: 'casenote/:victimId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'casenote/:victimId/:offenderId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'victimList', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimContact/:victimId', component: ContactComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'smart-error', component: SmartErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VictimRoutingModule {\r\n}\r\n","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\n\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\n\r\n import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';\r\n import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\nimport { NgcSmartCoreModule } from '@csmart/ngc-smart-core';\r\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\n\r\n\r\n\r\nconst COMPONENTS = [\r\n NgcSmartVictimComponent,\r\n SmartVictimDetailComponent,\r\n SmartVictimDeleteConfirmComponent,\r\n PhoneMaskDirective\r\n \r\n];\r\n\r\nconst ENTRY_COMPONENTS = [\r\n SmartVictimDeleteConfirmComponent,\r\n \r\n];\r\n\r\nconst BASE_MODULES = [\r\n CommonModule,\r\n ReactiveFormsModule\r\n];\r\n\r\nconst CORE_MODULES = [NgcSmartCoreModule, SmartAddressModule];\r\n\r\nconst MATERIAL_MODULES = [\r\n MatButtonModule, MatCheckboxModule,MatRadioModule,MatSliderModule,\r\n MatCardModule, MatSlideToggleModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule, MatExpansionModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,MatPaginatorModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS,\r\n CaseNoteComponent,\r\n ContactComponent,\r\n VictimSafetyPlanComponent,\r\n VictimSafetyPlanDetailComponent,\r\n VictimSearchFormComponent,\r\n SeriveProviderComponent\r\n ],\r\n imports: [\r\n ...BASE_MODULES,\r\n ...MATERIAL_MODULES,\r\n ...CORE_MODULES,\r\n CommonDialogModule,\r\n FormsModule,\r\n VictimRoutingModule,\r\n ApolloModule,\r\n //SharedModule\r\n ],\r\n 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\nexport * from './lib/shared/directives/phone-mask.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["VictimListFilter","headers","observableThrowError","i1","i2","i3","i4","i5","i6.CommonDialogService","i7.NgcSmartVictimService","i8","i12","i19","i21.PhoneMaskDirective","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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"}