@csmart/ngc-smart-victim 0.1.0 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/csmart-ngc-smart-victim.umd.js +91 -88
- package/bundles/csmart-ngc-smart-victim.umd.js.map +1 -1
- package/bundles/csmart-ngc-smart-victim.umd.min.js +2 -2
- package/bundles/csmart-ngc-smart-victim.umd.min.js.map +1 -1
- package/csmart-ngc-smart-victim.metadata.json +1 -1
- package/esm2015/lib/safetyPlan/victimSafetyPlanDetail.component.js +71 -58
- package/esm2015/lib/smart-victim-detail/smart-victim-detail.component.js +19 -29
- package/esm2015/lib/smart-victim.component.js +3 -4
- package/esm5/lib/safetyPlan/victimSafetyPlanDetail.component.js +72 -58
- package/esm5/lib/smart-victim-detail/smart-victim-detail.component.js +19 -29
- package/esm5/lib/smart-victim.component.js +3 -4
- package/fesm2015/csmart-ngc-smart-victim.js +92 -90
- package/fesm2015/csmart-ngc-smart-victim.js.map +1 -1
- package/fesm5/csmart-ngc-smart-victim.js +91 -88
- package/fesm5/csmart-ngc-smart-victim.js.map +1 -1
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +1 -1
- package/package.json +1 -1
@@ -1699,7 +1699,6 @@ class NgcSmartVictimComponent {
|
|
1699
1699
|
ngAfterViewInit() {
|
1700
1700
|
this.victimListDataSource.paginator = this.paginator;
|
1701
1701
|
this.victimListDataSource.sort = this.sort;
|
1702
|
-
console.log('check if goes here');
|
1703
1702
|
}
|
1704
1703
|
/**
|
1705
1704
|
* @return {?}
|
@@ -1708,11 +1707,11 @@ class NgcSmartVictimComponent {
|
|
1708
1707
|
/** @type {?} */
|
1709
1708
|
var data = this.route.snapshot.data;
|
1710
1709
|
/** @type {?} */
|
1711
|
-
var myPath = this.router.url;
|
1710
|
+
var myPath = this.router.url.slice(-10);
|
1712
1711
|
console.log('smart-victim ngOnInit');
|
1713
1712
|
console.log(this.intakeFlag);
|
1714
1713
|
console.log(myPath);
|
1715
|
-
if (this.intakeFlag) {
|
1714
|
+
if (this.intakeFlag || myPath == 'victimHome') {
|
1716
1715
|
this.isIntake = true;
|
1717
1716
|
}
|
1718
1717
|
this.displayedColumns = ['lastName', 'firstName'];
|
@@ -2282,14 +2281,8 @@ class SmartVictimDetailComponent {
|
|
2282
2281
|
email: new FormControl('', Validators.compose([Validators.pattern(this.emailPattern)])),
|
2283
2282
|
minorFlag: new FormControl('', Validators.compose([Validators.required])),
|
2284
2283
|
victimAdvocateFlag: new FormControl('', Validators.compose([Validators.required])),
|
2285
|
-
guardianLastName: new FormControl('',
|
2286
|
-
|
2287
|
-
*/
|
2288
|
-
() => this.victimForm.get('minorFlag').value), Validators.required, 'illuminatiError')),
|
2289
|
-
guardianFirstName: new FormControl('', conditionalValidator((/**
|
2290
|
-
* @return {?}
|
2291
|
-
*/
|
2292
|
-
() => this.victimForm.get('minorFlag').value), Validators.required, 'illuminatiError')),
|
2284
|
+
guardianLastName: new FormControl(''),
|
2285
|
+
guardianFirstName: new FormControl(''),
|
2293
2286
|
guardianPrefixId: new FormControl(''),
|
2294
2287
|
guardianSuffixId: new FormControl(''),
|
2295
2288
|
//guardianGender:new FormControl('', ),
|
@@ -2608,7 +2601,7 @@ class SmartVictimDetailComponent {
|
|
2608
2601
|
* @param {?} y
|
2609
2602
|
* @return {?}
|
2610
2603
|
*/
|
2611
|
-
(y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM'
|
2604
|
+
(y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM')));
|
2612
2605
|
}));
|
2613
2606
|
this.victimService.getSupportTypes().subscribe((/**
|
2614
2607
|
* @param {?} items
|
@@ -2646,8 +2639,8 @@ class SmartVictimDetailComponent {
|
|
2646
2639
|
* @return {?}
|
2647
2640
|
*/
|
2648
2641
|
value => {
|
2649
|
-
this.victimForm.get('guardianFirstName').updateValueAndValidity();
|
2650
|
-
this.victimForm.get('guardianLastName').updateValueAndValidity();
|
2642
|
+
// this.victimForm.get('guardianFirstName').updateValueAndValidity();
|
2643
|
+
// this.victimForm.get('guardianLastName').updateValueAndValidity();
|
2651
2644
|
this.victimForm.get('guardianWorkPhone').updateValueAndValidity();
|
2652
2645
|
this.victimForm.get('guardianHomePhone').updateValueAndValidity();
|
2653
2646
|
this.victimForm.get('guardianCellPhone').updateValueAndValidity();
|
@@ -2704,23 +2697,21 @@ class SmartVictimDetailComponent {
|
|
2704
2697
|
* @return {?}
|
2705
2698
|
*/
|
2706
2699
|
radioMinorChange($event) {
|
2707
|
-
|
2708
|
-
const
|
2709
|
-
/** @type {?} */
|
2710
|
-
const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2700
|
+
// const guardianLastNameControl = this.victimForm.get('guardianLastName');
|
2701
|
+
//const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2711
2702
|
if ($event.value === true) {
|
2712
2703
|
this.guardianTabFlag = true;
|
2713
|
-
guardianLastNameControl.setValidators(Validators.required);
|
2714
|
-
guardianFirstNameControl.setValidators(Validators.required);
|
2704
|
+
// guardianLastNameControl.setValidators(Validators.required);
|
2705
|
+
// guardianFirstNameControl.setValidators(Validators.required);
|
2715
2706
|
//this.victimForm.value.guardianNoPhoneFlag = true;
|
2716
2707
|
}
|
2717
2708
|
else {
|
2718
2709
|
this.guardianTabFlag = false;
|
2719
|
-
guardianLastNameControl.clearValidators();
|
2720
|
-
guardianFirstNameControl.clearValidators();
|
2710
|
+
// guardianLastNameControl.clearValidators();
|
2711
|
+
// guardianFirstNameControl.clearValidators();
|
2721
2712
|
}
|
2722
|
-
guardianLastNameControl.updateValueAndValidity();
|
2723
|
-
guardianFirstNameControl.updateValueAndValidity();
|
2713
|
+
//guardianLastNameControl.updateValueAndValidity();
|
2714
|
+
// guardianFirstNameControl.updateValueAndValidity();
|
2724
2715
|
}
|
2725
2716
|
/**
|
2726
2717
|
* @param {?} $event
|
@@ -2838,13 +2829,11 @@ class SmartVictimDetailComponent {
|
|
2838
2829
|
/** @type {?} */
|
2839
2830
|
const minorControl = this.victimForm.get('minorFlag');
|
2840
2831
|
minorControl.setValue(true);
|
2841
|
-
|
2842
|
-
const
|
2843
|
-
/** @type {?} */
|
2844
|
-
const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2832
|
+
// const guardianLastNameControl = this.victimForm.get('guardianLastName');
|
2833
|
+
// const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2845
2834
|
this.guardianTabFlag = true;
|
2846
|
-
guardianLastNameControl.setValidators(Validators.required);
|
2847
|
-
guardianFirstNameControl.setValidators(Validators.required);
|
2835
|
+
// guardianLastNameControl.setValidators(Validators.required);
|
2836
|
+
// guardianFirstNameControl.setValidators(Validators.required);
|
2848
2837
|
}
|
2849
2838
|
}
|
2850
2839
|
/**
|
@@ -3353,7 +3342,7 @@ class SmartVictimDetailComponent {
|
|
3353
3342
|
SmartVictimDetailComponent.decorators = [
|
3354
3343
|
{ type: Component, args: [{
|
3355
3344
|
selector: 'csmart-victim-detail',
|
3356
|
-
template: "<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> \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> \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 phoneMask\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\r\n\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 matInput formControlName=\"cellPhone\" [(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 formControlName=\"workPhone\" [(ngModel)]=\"editVictim.workPhone\" >\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 </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\r\n <mat-checkbox color=\"primary\" formControlName=\"allowCsosaContactFlag\" name=\"allowCsosaContactFlag\" [(ngModel)]=\"editVictim.allowCsosaContactFlag\">victim wants to be contacted by CSOSA</mat-checkbox>\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> \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> \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> \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> \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> \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> \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): <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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 formControlName=\"emergencyContactPhone\" [(ngModel)]=\"editVictim.emergencyContactPhone\" >\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 \r\n <div *ngIf=\"showDelete\" class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n \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",
|
3345
|
+
template: "<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> \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> \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 phoneMask\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\r\n\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 matInput formControlName=\"cellPhone\" [(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 formControlName=\"workPhone\" [(ngModel)]=\"editVictim.workPhone\" >\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 </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\r\n <mat-checkbox color=\"primary\" formControlName=\"allowCsosaContactFlag\" name=\"allowCsosaContactFlag\" [(ngModel)]=\"editVictim.allowCsosaContactFlag\">victim wants to be contacted by CSOSA</mat-checkbox>\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> \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> \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> \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> \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> \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> \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): <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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 formControlName=\"emergencyContactPhone\" [(ngModel)]=\"editVictim.emergencyContactPhone\" >\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 \r\n <div *ngIf=\"showDelete\" class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n \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",
|
3357
3346
|
providers: [CommonDialogService],
|
3358
3347
|
styles: ["mat-form-field{width:100%}.container{margin:16px;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}@media only screen and (max-width:1120px){.container{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-row-gap:15px}}@media only screen and (max-width:675px){.container{display:flex;flex-direction:column}}#outer{width:100%;text-align:center}.inner{display:inline-block}.tp-radio-group{display:flex;justify-content:space-between}"]
|
3359
3348
|
}] }
|
@@ -4873,36 +4862,46 @@ class VictimSafetyPlanDetailComponent {
|
|
4873
4862
|
/**
|
4874
4863
|
* @param {?} providerListCollectionKey
|
4875
4864
|
* @param {?} serviceTypeName
|
4876
|
-
* @
|
4877
|
-
|
4878
|
-
|
4879
|
-
|
4880
|
-
|
4881
|
-
|
4882
|
-
|
4883
|
-
|
4884
|
-
|
4885
|
-
|
4886
|
-
|
4887
|
-
|
4888
|
-
|
4889
|
-
|
4890
|
-
|
4891
|
-
|
4892
|
-
|
4893
|
-
|
4894
|
-
|
4895
|
-
|
4896
|
-
|
4897
|
-
|
4898
|
-
|
4899
|
-
|
4900
|
-
|
4901
|
-
|
4902
|
-
|
4903
|
-
|
4865
|
+
* @param {?} event
|
4866
|
+
* @return {?}
|
4867
|
+
*/
|
4868
|
+
isInArray(providerListCollectionKey, serviceTypeName, event) {
|
4869
|
+
console.log('providerListCollectionKey');
|
4870
|
+
console.log(providerListCollectionKey);
|
4871
|
+
console.log('serviceTypeName');
|
4872
|
+
console.log(serviceTypeName);
|
4873
|
+
console.log('event.source.value');
|
4874
|
+
console.log(event.checked);
|
4875
|
+
if (event.checked == true) {
|
4876
|
+
for (let j = 0; j < this.providerListCollection.length; j++) {
|
4877
|
+
if (providerListCollectionKey == this.providerListCollection[j].groupId) {
|
4878
|
+
this.providerListCollection[j].isDisplay = !this.providerListCollection[j].isDisplay;
|
4879
|
+
/** @type {?} */
|
4880
|
+
const dialogRef = this.dialog.open(SeriveProviderComponent, {
|
4881
|
+
width: '500px',
|
4882
|
+
data: (/** @type {?} */ ({
|
4883
|
+
serviceType: serviceTypeName,
|
4884
|
+
serviceTypeId: providerListCollectionKey,
|
4885
|
+
providerCollections: [...this.providerListCollection],
|
4886
|
+
})),
|
4887
|
+
panelClass: 'formFieldWidth480',
|
4888
|
+
});
|
4889
|
+
dialogRef.afterClosed().subscribe((/**
|
4890
|
+
* @param {?} result
|
4891
|
+
* @return {?}
|
4892
|
+
*/
|
4893
|
+
(result) => {
|
4894
|
+
console.log('The dialog was closed');
|
4895
|
+
console.log(result);
|
4896
|
+
if (result) {
|
4897
|
+
console.log('The dialog was closed, inside result');
|
4898
|
+
this.savePlanProvider(providerListCollectionKey, result.voteeProviderId);
|
4899
|
+
}
|
4900
|
+
}));
|
4901
|
+
// return;
|
4902
|
+
}
|
4904
4903
|
}
|
4905
|
-
}
|
4904
|
+
} //if event.checked == true
|
4906
4905
|
//this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]);
|
4907
4906
|
}
|
4908
4907
|
/**
|
@@ -4982,6 +4981,7 @@ class VictimSafetyPlanDetailComponent {
|
|
4982
4981
|
else {
|
4983
4982
|
if (this.victimServiceId == 0) {
|
4984
4983
|
//insert
|
4984
|
+
console.log('insert new plan');
|
4985
4985
|
/** @type {?} */
|
4986
4986
|
const safetyPlan = {
|
4987
4987
|
victimId: this.victimId,
|
@@ -5008,34 +5008,30 @@ class VictimSafetyPlanDetailComponent {
|
|
5008
5008
|
victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId,
|
5009
5009
|
startDate: this.editSafetyPlan.startDate,
|
5010
5010
|
modifiedBy: this.staffId,
|
5011
|
-
comment: 'test'
|
5011
|
+
comment: 'test add safety plan'
|
5012
5012
|
};
|
5013
5013
|
this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe((/**
|
5014
|
-
* @param {?} result
|
5015
|
-
* @return {?}
|
5016
|
-
*/
|
5017
|
-
result => {
|
5018
|
-
this.snackBar.open('Add status Successfully !', '', {
|
5019
|
-
duration: 3000,
|
5020
|
-
});
|
5021
|
-
}));
|
5022
|
-
/** @type {?} */
|
5023
|
-
const victimServiceDetail = {
|
5024
|
-
victimServiceId: itms.victimServiceId,
|
5025
|
-
victimServiceDetailId: 0,
|
5026
|
-
victimServiceTypeId: victimServiceTypeId,
|
5027
|
-
victimProgramProviderId: victimProgramProviderId,
|
5028
|
-
modifiedBy: this.staffId,
|
5029
|
-
victimProgramProvider: null
|
5030
|
-
};
|
5031
|
-
this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe((/**
|
5032
|
-
* @param {?} result
|
5033
5014
|
* @return {?}
|
5034
5015
|
*/
|
5035
|
-
|
5036
|
-
|
5037
|
-
|
5038
|
-
}
|
5016
|
+
() => {
|
5017
|
+
console.log('check itms.victimServiceId iniside add victim serive status');
|
5018
|
+
console.log(itms.victimServiceId);
|
5019
|
+
/** @type {?} */
|
5020
|
+
const victimServiceDetail = {
|
5021
|
+
victimServiceId: itms.victimServiceId,
|
5022
|
+
victimServiceDetailId: 0,
|
5023
|
+
victimServiceTypeId: victimServiceTypeId,
|
5024
|
+
victimProgramProviderId: victimProgramProviderId,
|
5025
|
+
modifiedBy: this.staffId,
|
5026
|
+
victimProgramProvider: null
|
5027
|
+
};
|
5028
|
+
console.log('add plan provider here at insert');
|
5029
|
+
this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe((/**
|
5030
|
+
* @return {?}
|
5031
|
+
*/
|
5032
|
+
() => {
|
5033
|
+
this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId]);
|
5034
|
+
}));
|
5039
5035
|
}));
|
5040
5036
|
}));
|
5041
5037
|
}
|
@@ -5050,7 +5046,13 @@ class VictimSafetyPlanDetailComponent {
|
|
5050
5046
|
modifiedBy: this.staffId,
|
5051
5047
|
victimProgramProvider: null
|
5052
5048
|
};
|
5053
|
-
|
5049
|
+
console.log('add plan provider here at update');
|
5050
|
+
this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe((/**
|
5051
|
+
* @return {?}
|
5052
|
+
*/
|
5053
|
+
() => {
|
5054
|
+
this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId]);
|
5055
|
+
}));
|
5054
5056
|
}
|
5055
5057
|
}
|
5056
5058
|
}
|
@@ -5114,7 +5116,7 @@ class VictimSafetyPlanDetailComponent {
|
|
5114
5116
|
victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId,
|
5115
5117
|
startDate: this.editSafetyPlan.startDate,
|
5116
5118
|
modifiedBy: this.staffId,
|
5117
|
-
comment: 'test'
|
5119
|
+
comment: 'test add safety Plan'
|
5118
5120
|
};
|
5119
5121
|
this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe((/**
|
5120
5122
|
* @param {?} resp
|
@@ -5125,7 +5127,7 @@ class VictimSafetyPlanDetailComponent {
|
|
5125
5127
|
duration: 3000,
|
5126
5128
|
});
|
5127
5129
|
}));
|
5128
|
-
this.router.navigate(['
|
5130
|
+
this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId]);
|
5129
5131
|
}));
|
5130
5132
|
}
|
5131
5133
|
else {
|
@@ -5149,10 +5151,10 @@ class VictimSafetyPlanDetailComponent {
|
|
5149
5151
|
victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId,
|
5150
5152
|
startDate: this.editSafetyPlan.startDate,
|
5151
5153
|
modifiedBy: this.staffId,
|
5152
|
-
comment: 'test'
|
5154
|
+
comment: 'test update safety Plan'
|
5153
5155
|
};
|
5154
5156
|
this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe();
|
5155
|
-
this.router.navigate(['
|
5157
|
+
this.router.navigate(['saftyPlanDetail', this.editSafetyPlan.victimServiceId, this.victimId]);
|
5156
5158
|
}));
|
5157
5159
|
}
|
5158
5160
|
}
|
@@ -5167,7 +5169,7 @@ class VictimSafetyPlanDetailComponent {
|
|
5167
5169
|
}
|
5168
5170
|
VictimSafetyPlanDetailComponent.decorators = [
|
5169
5171
|
{ type: Component, args: [{
|
5170
|
-
template: "<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 \r\n \r\n \r\n \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 \r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n \r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n \r\n\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 </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);\" > {{serviceType.name}}</mat-checkbox>\r\n <div> </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 <!-- <button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n <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>",
|
5172
|
+
template: "<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 \r\n \r\n \r\n \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 \r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n \r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n \r\n\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> </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 <!-- <button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n <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>",
|
5171
5173
|
providers: [CommonDialogService],
|
5172
5174
|
styles: ["div.serviceSelect{width:500px}div.serviceButton{width:20%}.container{margin:16px;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.app-class .mat-list-item{height:auto}.textarea-content{width:500px}"]
|
5173
5175
|
}] }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"csmart-ngc-smart-victim.js","sources":["ng://@csmart/ngc-smart-victim/lib/smart-victim.model.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.service.ts","ng://@csmart/ngc-smart-victim/lib/intake.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-detail/smart-victim-detail.component.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-delete-confirm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/app.shared.module.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.module.ts","ng://@csmart/ngc-smart-victim/lib/shared/validators/date.validator.ts","ng://@csmart/ngc-smart-victim/lib/caseNote/caseNote.component.ts","ng://@csmart/ngc-smart-victim/lib/contact/contact.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlan.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/serviceProvider.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlanDetail.component.ts","ng://@csmart/ngc-smart-victim/lib/victim-routing.module.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/VictimSearchFilter.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/victimSearchForm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/directives/phone-mask.directive.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const SMART_OFFENDER_SERVICE_URL = new InjectionToken<string>('smart offender service url');\r\nexport const SMART_LOOKUP_SERVICE_URL = new InjectionToken<string>('smart lookup service url');\r\nexport const SMART_VICTIM_SERVICE_URL = new InjectionToken<string>('smart victim service url');\r\nexport const SMART_WARRANT_URL = new InjectionToken<string>('smart warrant web url');\r\n\r\n\r\nexport interface ElementsVictim {\r\n victimId: string;\r\n victimType: string;\r\n victimProvider: string;\r\n victimPolicyHolder: string;\r\n startDate: string;\r\n endDate: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}\r\n\r\n\r\n\r\nexport class VictimAdvocate {\r\n constructor(public victimAdvocateId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n\r\n \r\n) { }\r\n}\r\n\r\n\r\nexport class VictimWeaponUse {\r\n constructor(\r\n // public victimWeaponUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public weaponTypeId: string,\r\n\r\n public otherWeapon: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimDrugUse {\r\n constructor(\r\n //public victimDrugUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public drugTypeId: string,\r\n\r\n public otherDrug: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\n\r\n\r\n\r\nexport class VictimSupport {\r\n constructor(\r\n // public victimSupportId: number,\r\n\r\n public victimId: number,\r\n\r\n public victimSupportTypeId: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimGuardian {\r\n constructor(public victimGuardianId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public birthDate: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n \r\n \r\n\r\n ) { }\r\n}\r\n\r\nexport interface CaseNote {\r\n victimId: number;\r\n victimCaseNoteId: number;\r\n caseNoteDate: Date;\r\n contactTypeId: string;\r\n contactType: string;\r\n victimContactPurposeId: string;\r\n victimContactPurpose: string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimFirstName: string;\r\n victimLastName: string;\r\n \r\n}\r\n\r\nexport interface Contact {\r\n victimId: number;\r\n victimContactId: number;\r\n contactDate: Date;\r\n victimContactMethodId: string;\r\n contactMethod: string;\r\n contactedBy: number;\r\n contactedByName: string;\r\n nextContactDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n\r\n \r\n}\r\n\r\n\r\nexport interface VictimSafetyPlan {\r\n victimId: number;\r\n fullName: string;\r\n victimServiceId: number;\r\n goal:string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimServiceStatusId: string;\r\n status: string;\r\n startDate: Date;\r\n vVictimServiceDetails: VictimServiceDetail[];\r\n victimName: String;\r\n \r\n \r\n}\r\n\r\nexport interface VictimServiceDetail{\r\n victimServiceId: number;\r\n victimServiceDetailId: number;\r\n victimServiceTypeId: string;\r\n victimProgramProviderId: string;\r\n victimProgramProvider: string;\r\n modifiedBy: number;\r\n\r\n\r\n}\r\nexport interface VictimServiceStatusHistory{\r\n\r\n victimServiceStatusHistoryId: number;\r\n victimServiceId: string;\r\n victimServiceStatusId: string;\r\n startDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n}\r\n\r\n\r\nexport interface VictimServiceTypeProgramProviderModel {\r\n victimServiceTypeProgramProviderId: number; \r\n victimServiceType: string;\r\n victimProgramProviderId: string;\r\n victimServiceTypeId:string;\r\n victimProgramProvider: string;\r\n }\r\n \r\n export interface ProviderListCollectionModel{\r\n groupId:string;\r\n isDisplay:boolean;\r\n collection:VictimServiceTypeProgramProviderModel[];\r\n }\r\n\r\n\r\n\r\n export interface ProvidersDialogData {\r\n //iepAction: IepAction;\r\n serviceType;\r\n serviceTypeId;\r\n providerCollections: [];\r\n }\r\n\r\n\r\n export class Victim {\r\n constructor(\r\n public victimId: number,\r\n public offenderId: number,\r\n public underSupervisionFlag: string,\r\n public victimOffenderRelationshipTypeId: string,\r\n public lastName: string,\r\n public firstName: string,\r\n public middleName: string,\r\n public prefixId: string | null,\r\n public suffixId: string | null,\r\n public birthDate: string,\r\n public genderCode: string,\r\n public homePhone: string,\r\n public workPhone: string,\r\n public cellPhone: string,\r\n public email: string,\r\n public addressId: number,\r\n public minorFlag: boolean,\r\n public victimAdvocateFlag: string,\r\n\r\n public guardianFirstName: string,\r\n public guardianLastName: string,\r\n public guardianPrefixId: string,\r\n public guardianSuffixId: string,\r\n public guardianNoPhoneFlag: boolean,\r\n public guardianHomePhone: string,\r\n public guardianWorkPhone: string,\r\n public guardianCellPhone: string,\r\n public guardianEmail: string,\r\n public guardianAddressId: number,\r\n public guardianBirthDate: string,\r\n\r\n public advocateFirstName: string,\r\n public advocateLastName: string,\r\n public advocatePrefixId: string,\r\n public advocateSuffixId: string,\r\n public advocateNoPhoneFlag: boolean,\r\n public advocateHomePhone: string,\r\n public advocateWorkPhone: string,\r\n public advocateCellPhone: string,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string,\r\n public commonChildrenFlag: boolean,\r\n public commonChildrenNumber: number,\r\n public cpoExpirationFlag: boolean,\r\n public cpoExpirationDate: string,\r\n public supportInPlaceFlag: boolean,\r\n public weaponInvolvedFlag: boolean,\r\n public drugUseFlag: boolean,\r\n public alcoholUseFlag: boolean,\r\n public accessRisk: string,\r\n public modifiedBy: number,\r\n public relationship: string,\r\n \r\n public vVictimAdvocate: VictimAdvocate,\r\n public vVictimGuardian: VictimGuardian,\r\n \r\n public victimSupports: VictimSupport[],\r\n public victimWeaponUses: VictimWeaponUse[],\r\n public victimDrugUses: VictimDrugUse[],\r\n\r\n public allowCsosaContactFlag: boolean\r\n ) { }\r\n}\r\n\r\n","import { HttpClient,HttpResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SMART_LOOKUP_SERVICE_URL, SMART_OFFENDER_SERVICE_URL,SMART_VICTIM_SERVICE_URL,\r\n VictimListFilter,VictimDrugUse,Victim,VictimSafetyPlan,\r\n CaseNote,Contact,VictimServiceDetail,VictimServiceStatusHistory,VictimAdvocate,VictimGuardian} from './smart-victim.model';\r\nimport { Observable, throwError as observableThrowError} from 'rxjs';\r\nimport { map,catchError, filter } from 'rxjs/operators';\r\nimport { Apollo } from 'apollo-angular';\r\n\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json' });\r\nconst options = { headers: headers };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgcSmartVictimService {\r\n private serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string,\r\n @Inject(SMART_LOOKUP_SERVICE_URL) private smartLookupServiceUrl: string,\r\n @Inject(SMART_VICTIM_SERVICE_URL) private smartVictimServiceUrl: string,\r\n private apollo: Apollo\r\n\r\n ) { }\r\n\r\n // getVictimInsurances(offenderId: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();\r\n // }\r\n\r\n // getVictimInsurance(id: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // } \r\n\r\n // postVictimInsurance(val: any) {\r\n // return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();\r\n // }\r\n\r\n // putVictimInsurance(id: any, val: any) {\r\n // return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();\r\n // }\r\n\r\n // deleteVictimInsurance(id: any) {\r\n // return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // }\r\n \r\n // getVictimInsuranceTypes() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();\r\n // }\r\n\r\n // getVictimInsurancePolicyHolders() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();\r\n // }\r\n\r\n// getVictimInsuranceSwitchReasons() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProviders() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProvider(id) {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();\r\n// }\r\n\r\n// postProviderInformation(val: any) {\r\n// return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();\r\n// }\r\n\r\n\r\n\r\nprivate handleError(error: any) {\r\n console.error(error);\r\n return observableThrowError(error.json().error || 'Server error');\r\n}\r\n\r\ngetDrugsTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetDocketList(offenderId: number) {\r\n const queryString = `\r\n {\r\n findDockets(input: { where: { offenderId:${offenderId} } }) {\r\n totalCount\r\n message\r\n data {\r\n docketId\r\n docketNumber\r\n \r\n }\r\n }\r\n }`;\r\n\r\n return this.http.post<any>(this.serviceApiUrl, { query: queryString }).pipe(\r\n map(({ data }) => {\r\n console.log('dockets for this offender:', data.findDockets.data);\r\n return data.findDockets.data;\r\n }));\r\n\r\n\r\n}\r\n\r\ngetSupportTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetPrefixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetSuffixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetRelationshipTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetGenders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetWeaponTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetFlagOptionYesNoUnknowns() {\r\n return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n}\r\n\r\ngetContactTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactMethods() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactBys(){\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n\r\n }\r\n\r\ngetVictimContactPurposes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getVictimServiceTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getVictimServiceStatus() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getvVictimServiceTypeProgramProviders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\ngetVictim(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe\r\n (\r\n map(res => { \r\n console.log('victim return data');\r\n console.log(res); \r\n return res;\r\n\r\n })\r\n );\r\n}\r\n\r\ngetVictimAdvocate(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\ngetVictimGuardian(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\npostVictims(val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl+ 'Victims', tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictims(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimAdvocate(id: any, val: VictimAdvocate) {\r\n let body: string;\r\n body = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n\r\n\r\n\r\n\r\n}\r\n\r\npostVictimAdvocate(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimGuardian(id: any, val: any) {\r\n console.log('update victim guardian');\r\n console.log(val);\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimGuardian(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ngetVictimDrugUse(val: any): Observable<VictimDrugUse[]>{\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe\r\n (\r\n map((res: VictimDrugUse[]) => { \r\n return res;})\r\n );\r\n}\r\n\r\nputVictimDrugUse(id: any, val: VictimDrugUse[]) {\r\n const tempVal = JSON.stringify(val);\r\n\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimDrugUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\nputVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ndeleteVictims(val: any) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n// //==============Victim Serive===================================\r\n\r\ngetVictims(offenderId: number): Observable <Victim[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)\r\n .pipe(map((res: Victim[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimsByFilter(filter: VictimListFilter): Observable<Victim[]>{\r\n return this.http\r\n .post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })\r\n .pipe(map((res: Victim[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimListByFilter(filter: VictimListFilter) \r\n{\r\n console.log('filer in service');\r\n console.log(filter);\r\n\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)\r\n .pipe();\r\n\r\n}\r\n\r\n\r\ngetCasetNotes(victimId: number): Observable <CaseNote[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)\r\n .pipe(map((res: CaseNote[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n\r\n}\r\naddCaseNote(caseNote: CaseNote) {\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);\r\n \r\n }\r\n\r\n \r\nupdateCaseNote(caseNote: CaseNote){\r\n\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options)\r\n\r\n ;\r\n }\r\n\r\ndeleteCaseNote(id: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);\r\n }\r\n\r\n getContacts(victimId: number): Observable <Contact[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)\r\n .pipe(map((res: Contact[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n addContact(contact: Contact) {\r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);\r\n \r\n }\r\n \r\n \r\n updateContact(contact: Contact){\r\n \r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options)\r\n \r\n ;\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ngetSafetyPlans(victimId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n }\r\n\r\ngetVictimServices(victimServiceId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n\r\ngetVictimServiceDetail(victimServiceId: number): Observable <VictimServiceDetail[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)\r\n .pipe(map((res: VictimServiceDetail[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n\r\n}\r\naddSafetyPlan(victimSafetyPlan: VictimSafetyPlan) {\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServices/', body, options)\r\n .pipe();\r\n \r\n }\r\nupdateSafetyPlan(victimSafetyPlan: VictimSafetyPlan){\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options)\r\n\r\n ;\r\n }\r\naddVictimServiceStatus(victimServiceStatusHistory: VictimServiceStatusHistory){\r\n let body: string;\r\n body = JSON.stringify(victimServiceStatusHistory);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);\r\n\r\n }\r\n\r\ngetServiceStatusHistories(victimServiceId: number){\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)\r\n .pipe(\r\n map((res: VictimServiceStatusHistory[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError)\r\n );\r\n}\r\n\r\ndeleteSafetyPlan(victimServiceId: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);\r\n\r\n }\r\naddPlanProvider(victimServiceDetail:VictimServiceDetail){\r\n let body: string;\r\n body = JSON.stringify(victimServiceDetail);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)\r\n .pipe();\r\n\r\n }\r\n\r\ndeleteProvider(victimProgramProviderId: string, staffId: number){\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);\r\n\r\n}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { Injectable,Inject } from '@angular/core';\r\nimport { SMART_OFFENDER_SERVICE_URL} from './smart-victim.model';\r\n\r\n\r\nconst headers = new Headers({ 'Content-Type': 'application/json' });\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IntakeServicesComponent {\r\n //serviceData = environment.smartOffenderServiceUrl;\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string, \r\n ) {}\r\n getIntakeByOffender(offenderId: any): Observable<Intake> {\r\n return this.http\r\n .get<Intake>(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)\r\n .pipe();\r\n }\r\n\r\n updateIntakeSteps(\r\n offenderId: number,\r\n intakeStepStatus: IntakeStepStatusModel,\r\n ) {\r\n return this.http.put(\r\n this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId,\r\n intakeStepStatus,\r\n );\r\n }\r\n}\r\n\r\nexport interface Intake {\r\n intakeId: number;\r\n offenderId: number;\r\n intakeOffenderReportStatusId?: any;\r\n startDate: string;\r\n endDate?: any;\r\n assignmentId?: any;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatus {\r\n intakeStepStatusId: number;\r\n intakeId: number;\r\n intakeStepId: string;\r\n completedDate: Date;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatusModel\r\n{\r\n offenderId: number;\r\n intakeStepId: string;\r\n modifiedBy: number;\r\n}\r\n\r\nexport class IntakeStep{\r\n public static PhysicalInformation = \"PHYSIN\";\r\n public static Photo = \"PHOTOS\";\r\n public static HousingInformation = \"HOUSE\";\r\n public static DocketInformation = \"DOCKET\";\r\n public static Alias = \"ALIAS\";\r\n public static IntakeBasicInformation = \"INTKBI\";\r\n public static ContactInformation = \"CONTCT\";\r\n public static DeceasedInformation = \"DEATH\";\r\n public static DriversLicense = \"DRVLIC\";\r\n public static EmploymentInformation = \"EMPLOY\";\r\n public static GangAffiliation = \"GANG\";\r\n public static HealthInsurance = \"HLTHINS\";\r\n public static Identification = \"IDNTFCTN\";\r\n public static InternetIdentifier = \"INTERNETID\";\r\n public static MilitaryService = \"MLTSVC\";\r\n public static School = \"SCHOOL\";\r\n public static SelectiveService = \"SLCTVSVC\";\r\n public static Vehicle = \"VEHICLE\";\r\n public static VictimInformation = \"VICTIM\";\r\n public static WarrantInformation = \"WARRNT\";\r\n public static RunningRecord = \"RUNREC\";\r\n public static Signature = \"SIGN\";\r\n}","import { DOCUMENT, DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild, Input, Output, AfterViewInit,Inject} from '@angular/core';\r\nimport { ActivatedRoute,Router } from '@angular/router';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { MatPaginator, MatSort,MatSnackBar } from '@angular/material';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material';\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { ElementsVictim, VictimListFilter, Victim,SMART_WARRANT_URL} from './smart-victim.model'\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\n//import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\n\r\nimport {\r\n IntakeStepStatusModel,\r\n IntakeStep,\r\n IntakeServicesComponent,\r\n} from './intake.service';\r\n@Component({\r\n selector: 'csmart-victim',\r\n templateUrl: './smart-victim.component.html',\r\n styleUrls: ['./smart-victim.component.css']\r\n})\r\nexport class NgcSmartVictimComponent implements OnInit, AfterViewInit {\r\n \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\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\r\n doSpin: boolean = false;\r\n showListFlag: boolean = false;\r\n msg: string = \"\";\r\n isIntake = false;\r\n\r\n\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\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\r\n cancel(){\r\n this.showDetail = false;\r\n this.victimDetail = <Victim>{};\r\n }\r\n\r\n \r\n ngAfterViewInit() {\r\n this.victimListDataSource.paginator = this.paginator;\r\n this.victimListDataSource.sort = this.sort;\r\n console.log('check if goes here');\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n var data = this.route.snapshot.data;\r\n var myPath = this.router.url;\r\n\r\n console.log('smart-victim ngOnInit');\r\n console.log(this.intakeFlag);\r\n console.log(myPath)\r\n\r\n\r\n\r\n if (this.intakeFlag){\r\n\r\n this.isIntake= true;\r\n }\r\n\r\n \r\n this.displayedColumns = ['lastName', 'firstName'];\r\n \r\n if (this.showRelationshipColumn == true || myPath =='victimList' || myPath =='victimHome'){\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 (this.showOffenderPhoneColumn == true || myPath =='victimList' || myPath =='victimHome' ){\r\n this.displayedColumns.push(\"homePhone\");\r\n } \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 (this.showSearchForm == false || myPath =='victimList'|| myPath =='victimHome' ){\r\n \r\n \r\n var myOffenderId;\r\n if (this.offenderId){\r\n myOffenderId = this.offenderId\r\n }\r\n else\r\n {\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\r\n console.log('victimListFilter in smar-victim componenet');\r\n console.log(victimListFilter);\r\n\r\n this.victimService.getVictimListByFilter(victimListFilter).subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n \r\n this.victims = data;\r\n\r\n data.forEach( d =>{ \r\n if (d.homePhone == null|| d.homePhone == \"\"){\r\n d.homePhone = d.cellPhone\r\n }\r\n if (d.homePhone == null || d.homePhone == \"\"){\r\n d.homePhone = d.workPhone\r\n }\r\n });\r\n console.log('victim data at line 179');\r\n console.log(this.victims);\r\n console.log('showListFlag');\r\n console.log(this.showListFlag);\r\n this.showListFlag = true;\r\n if (data.length == 0)\r\n {\r\n this.msg=\"No Record Found!\";\r\n }\r\n \r\n });\r\n\r\n }\r\n else{\r\n \r\n console.log('find filter');\r\n console.log(this.victimListFilter);\r\n\r\n if ( this.showListFlag === true){\r\n\r\n if (this.victimListFilter != null){\r\n this.victimService.getVictimListByFilter(this.victimListFilter).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 }\r\n\r\n formatPhoneNumber(phoneNumberString) {\r\n if (!phoneNumberString) return '';\r\n var cleaned = ('' + phoneNumberString).replace(/\\D/g, '');\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return '(' + match[1] + ') ' + match[2] + '-' + match[3];\r\n }\r\n return '';\r\n }\r\n\r\n saveIntake() {\r\n if (!this.isIntake) {\r\n return;\r\n }\r\n const intakeStep = <IntakeStepStatusModel>{\r\n intakeStepId: IntakeStep.VictimInformation,\r\n offenderId: this.offenderId,\r\n modifiedBy: this.staffId,\r\n };\r\n this.intakeService\r\n .updateIntakeSteps(this.offenderId, intakeStep)\r\n .subscribe((res) => {\r\n console.log('save intake step.')\r\n this.snackBar.open('Status Saved.', '', {\r\n duration: 3000,\r\n });\r\n //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });\r\n\r\n this.document.location.href = `${this.smartWarrantUrl}/warrant`;\r\n });\r\n }\r\n \r\n goToCaseNote(victimId: number) {\r\n this.router.navigate(['casenote', victimId]); \r\n }\r\n\r\n goToSaftyPlan(victimId: number) {\r\n this.router.navigate(['saftyPlan', victimId]); \r\n }\r\n \r\n\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((data: Victim[]) => {\r\n \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 }\r\n else{\r\n this.msg=\"No record found!\";\r\n }\r\n },err=>{\r\n this.doSpin=!this.doSpin;\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {MatDialog, MatDialogRef} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-common-dialog',\r\n templateUrl: './common-dialog.component.html',\r\n styleUrls: ['./common-dialog.component.css']\r\n})\r\nexport class CommonDialogComponent implements OnInit {\r\npublic title: string;\r\npublic message: string;\r\npublic cmdYesTitle: string =\"Yes\";\r\npublic cmdNoTitle: string = \"No\";\r\n\r\n constructor(public commondialogRef: MatDialogRef<CommonDialogComponent>) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CommonDialogService {\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(title: string, message: string, cmdYesTitle: string, cmdNoTitle: string): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdYesTitle;\r\n dialogRef.componentInstance.cmdNoTitle = cmdNoTitle;\r\n return dialogRef.afterClosed();\r\n }\r\n\r\n public warning(title: string, message: string, cmdOkTitle: string, ): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdOkTitle;\r\n \r\n return dialogRef.afterClosed();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl,Validators,ValidatorFn } from '@angular/forms';\r\nimport { MatDialog,MatSnackBar,MatRadioChange, MatInput, MatSelect, MatRadioGroup } from '@angular/material';\r\nimport { Victim,VictimDrugUse, Contact, VictimAdvocate,VictimGuardian,VictimWeaponUse,VictimSupport } from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { DatePipe, formatDate, Location} from '@angular/common';\r\nimport { map } from 'rxjs/operators';\r\nimport { coerceBooleanProperty}from'@angular/cdk/coercion';\r\nimport { Moment } from 'moment';\r\nimport { truncate } from 'fs';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { AddressValidators, SmartAddressComponent } from '@csmart/ngc-smart-address';\r\n\r\nexport interface BooleanFn {\r\n (): boolean;\r\n}\r\nexport interface StringFn {\r\n (): string;\r\n}\r\n\r\nexport function conditionalValidator(predicate: BooleanFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()) {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n\r\nexport function stringConditionalValidator(predicate: StringFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()=='YS') {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n@Component({\r\n selector: 'csmart-victim-detail',\r\n templateUrl: './smart-victim-detail.component.html',\r\n styleUrls: ['./smart-victim-detail.component.css'],\r\n providers: [CommonDialogService]\r\n})\r\nexport class SmartVictimDetailComponent implements OnInit, OnChanges {\r\n @Input() victimDetail = <Victim>{};\r\n @Input() staffId: number;\r\n @Input() offenderId: number;\r\n @Input() isIntake: boolean;\r\n\r\n @Output() onSave = new EventEmitter();\r\n @Output() onCancel = new EventEmitter();\r\n \r\n\r\n victimId: number;\r\n victimForm: FormGroup;\r\n\r\n drugs: any;\r\n victimSupportTypes: any;\r\n prefixes: any;\r\n //victim: Victim = <Victim>{};\r\n suffixes: any;\r\n relationshipTypes: any;\r\n genders: any;\r\n docketlist: any;\r\n weaponTypes: any;\r\n flagOption: any;\r\n selectedWeaponTypes: any;\r\n selectedVictimSupportTypes: any;\r\n selectedDrugs: any;\r\n id: any;\r\n hidden: boolean=true;\r\n private sub: any;\r\n victimAdvocate: VictimAdvocate = <VictimAdvocate>{};\r\n victimGuardian: VictimGuardian = <VictimGuardian>{}; \r\n victimWeaponUse: VictimWeaponUse;\r\n victimSupport: VictimSupport;\r\n victimDrugUse: VictimDrugUse;\r\n result: any;\r\n editMode: any;\r\n guardianTabFlag: boolean = false;\r\n advocateTabFlag: boolean = false;\r\n commonChildrenDivFlag: boolean = false;\r\n cpoExpirationDivFlag : boolean = false;\r\n supportInPlaceDivFlag: boolean = false;\r\n weaponInvolvedDivFlag: boolean = false;\r\n drugUseDivFlag: boolean = false;\r\n showDelete: boolean = false;\r\n addressId: number = 0;\r\n advocateAddressId: number = 0;\r\n guardianAddressId: number = 0;\r\n datePipe = new DatePipe('en-US');\r\n emailPattern = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\r\n phoneNumber = \"\\\\d{10}\";\r\n editVictim: Victim = <Victim>{};\r\n victimAge: number;\r\n otherWeaponFlag: boolean = false;\r\n otherDrugFlag: boolean = false;\r\n\r\n contactDataSource= new MatTableDataSource();\r\n contactList: Contact[];\r\n guardianPhoneExistFlag: boolean = false;\r\n advocatePhoneExistFlag: boolean = false;\r\n phoneValidationFlag: boolean = false;\r\n guaridanNoPhoneChkFlag: boolean = true;\r\n advocateNoPhoneChkFlag: boolean = true;\r\n\r\n addressValidators: AddressValidators = {\r\n street: [],\r\n street2: [],\r\n city: [],\r\n stateCode: [],\r\n zipCode: [],\r\n psaCode: [],\r\n };\r\n\r\n constructor(\r\n private location: Location,\r\n private formBuilder: FormBuilder, \r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private commonDialogService: CommonDialogService,\r\n private victimService: NgcSmartVictimService) {\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n \r\n this.victimForm = this.formBuilder.group({\r\n underSupervisionFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n victimOffenderRelationshipTypeId:new FormControl('', Validators.compose([ Validators.required])),\r\n lastName: new FormControl('', Validators.compose([ Validators.required])),\r\n firstName: new FormControl('', Validators.compose([ Validators.required])),\r\n middleName: new FormControl('', ),\r\n prefixId: new FormControl('', ),\r\n suffixId: new FormControl('', ),\r\n genderCode:new FormControl('', ),\r\n birthDate: new FormControl('', ),\r\n homePhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n cellPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n workPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n email:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n minorFlag:new FormControl('', Validators.compose([ Validators.required])),\r\n victimAdvocateFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n guardianLastName:new FormControl('', conditionalValidator(() => this.victimForm.get('minorFlag').value, Validators.required,'illuminatiError') ),\r\n guardianFirstName: new FormControl('', conditionalValidator(() => this.victimForm.get('minorFlag').value, Validators.required,'illuminatiError') ),\r\n guardianPrefixId:new FormControl('', ),\r\n guardianSuffixId: new FormControl('', ), \r\n //guardianGender:new FormControl('', ),\r\n guardianBirthDate: new FormControl('', ),\r\n guardianNoPhoneFlag:new FormControl(true),\r\n\r\n guardianHomePhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianCellPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianWorkPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n \r\n \r\n guardianEmail:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n advocateNoPhoneFlag: new FormControl(true),\r\n \r\n\r\n advocateWorkPhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateHomePhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateCellPhone: new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n \r\n\r\n advocateSuffixId:new FormControl('', ),\r\n advocatePrefixId: new FormControl('', ),\r\n advocateFirstName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required, 'illuminatiError')),\r\n advocateLastName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required,'illuminatiError')),\r\n advocateEmail: new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n emergencyContact: new FormControl('', ),\r\n emergencyContactPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n emergencyChildren: new FormControl('', ),\r\n emergencyCpo: new FormControl('', ),\r\n emergencyDrug:new FormControl('', ),\r\n emergencySupport: new FormControl('', ),\r\n emergencyWeapon: new FormControl('', ),\r\n drug: new FormControl('', ),\r\n weapon: new FormControl('', ),\r\n support: new FormControl('', ),\r\n commonChildrenFlag: new FormControl('', ),\r\n commonChildrenNumber:new FormControl('', ),\r\n cpoExpirationFlag: new FormControl('', ),\r\n cpoExpirationDate: new FormControl('', ),\r\n accessRisk:new FormControl('', ),\r\n drugUseFlag:new FormControl('', ),\r\n supportInPlaceFlag: new FormControl('', ),\r\n weaponInvolvedFlag: new FormControl('', ),\r\n otherWeapon: new FormControl('', ),\r\n otherDrug: new FormControl('', ),\r\n alcoholUseFlag:new FormControl('', ),\r\n victimSupports:new FormControl('', ),\r\n victimWeaponUses:new FormControl('', ),\r\n victimDrugUses:new FormControl('', ),\r\n allowCsosaContactFlag: new FormControl('', ),\r\n \r\n \r\n});\r\n\r\n this.victimForm.markAsPristine();\r\n\t\tthis.victimForm.markAsUntouched();\r\n\r\n }\r\n\r\n private _getVictim() {\r\n if (this.victimId === 0) { \r\n \r\n return; \r\n };\r\n\t\tif (this.editMode == true) {\r\n console.log('find victim id inside getVictim');\r\n console.log(this.victimId);\r\n\r\n if (this.victimId === undefined) {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n });\r\n }\r\n\r\n this.victimService.getVictim(this.victimId)\r\n .subscribe((victim: Victim) => {\r\n console.log('victim data 1');\r\n console.log(victim);\r\n this.editVictim = <Victim>victim;\r\n \r\n var supportsData =[];\r\n this.editVictim.victimSupports.forEach( t=>{supportsData.push(t.victimSupportTypeId); } )\r\n const victimSupportsControl = this.victimForm.get('victimSupports');\r\n victimSupportsControl.setValue(supportsData);\r\n\r\n\r\n var weaponUsesData =[];\r\n var otherWeapon = \"\";\r\n this.editVictim.victimWeaponUses.forEach( t=>{\r\n weaponUsesData.push(t.weaponTypeId); \r\n if (t.weaponTypeId == \"OTHER\"){\r\n otherWeapon = t.otherWeapon;\r\n this.otherWeaponFlag = true;\r\n }\r\n \r\n } )\r\n\r\n\r\n const victimWeaponUsesControl = this.victimForm.get('victimWeaponUses');\r\n victimWeaponUsesControl.setValue(weaponUsesData);\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValue(otherWeapon);\r\n\r\n\r\n //this.weaponUsesData = this.editVictim.victimWeaponUses;\r\n \r\n var drugUseData =[];\r\n var otherDrug = \"\";\r\n\r\n console.log('load this.editVictim.victimDrugUses');\r\n console.log(this.editVictim.victimDrugUses);\r\n this.editVictim.victimDrugUses.forEach( t=>{\r\n \r\n if (t.drugTypeId === null){\r\n otherDrug = t.otherDrug;\r\n this.otherDrugFlag = true;\r\n t.drugTypeId ='OTHER';\r\n\r\n }\r\n drugUseData.push(t.drugTypeId);\r\n \r\n } )\r\n\r\n console.log('this.editVictim.victimDrugUses after push');\r\n console.log(drugUseData);\r\n\r\n\r\n\r\n const victimDrugUsesControl = this.victimForm.get('victimDrugUses');\r\n victimDrugUsesControl.setValue(drugUseData);\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValue(otherDrug);\r\n\r\n\r\n\r\n //contact\r\n this.victimService.getContacts(this.victimId).subscribe(\r\n contactList => {\r\n console.log('contactList');\r\n console.log(contactList);\r\n this.contactList = contactList; \r\n this.contactDataSource.data = this.contactList;\r\n }\r\n );\r\n\r\n //no phone field\r\n\r\n if ( this.editVictim.guardianNoPhoneFlag === false ){\r\n this.victimForm.patchValue({guardianNoPhoneFlag: false});\r\n }\r\n if ( this.editVictim.advocateNoPhoneFlag === false ){\r\n this.victimForm.patchValue({advocateNoPhoneFlag: false});\r\n }\r\n\r\n }, error => {\r\n this.snackBar.open(\"Error occured while retriving Victim Information. Please try again.\");\r\n });\r\n return;\r\n\t\t} else {\r\n //new\r\n\r\n }\r\n }\r\n \r\n ngOnChanges() {\r\n \r\n }\r\n\r\n onAddressChange(addressId) { \r\n this.victimForm.patchValue({addressId: addressId})\r\n this.addressId = addressId;\r\n }\r\n onGuardianAddressChange(MyGuardianAddressId) { \r\n this.victimForm.patchValue({guardianAddressId: MyGuardianAddressId})\r\n this.guardianAddressId = MyGuardianAddressId;\r\n }\r\n onAdvocateAddressChange(MyAdvocateAddressId) { \r\n this.victimForm.patchValue({advocateAddressId: MyAdvocateAddressId})\r\n this.advocateAddressId = MyAdvocateAddressId;\r\n }\r\n cancel() {\r\n this.victimForm.reset();\r\n}\r\n\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n console.log('show offenderId');\r\n console.log(this.offenderId);\r\n console.log('show staffId');\r\n console.log(this.staffId);\r\n console.log('show isIntake');\r\n console.log(this.isIntake);\r\n //this.victimDetail.guardianNoPhoneFlag = true;\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n //this.victimForm.get('guardianNoPhoneFlag').setValue(true);\r\n\r\n //required field\r\n const requiredImplementation = {get:function():boolean{if(this._required){return this._required;}\r\n if(this.ngControl&&this.ngControl.control&&this.ngControl.control.validator\r\n ){const emptyValueControl=Object.assign({},\r\n this.ngControl.control);(emptyValueControl as any).value=null;\r\n return('required'in(this.ngControl.control.validator(emptyValueControl)||{}));}\r\n return false;},set:function(value:boolean){this._required=coerceBooleanProperty(value);},};\r\n Object.defineProperty(MatInput.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatSelect.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatRadioGroup.prototype,'required',requiredImplementation,);\r\n //required field end\r\n\r\n \r\n\r\n if (this.victimDetail!=null) {\r\n // edit record\r\n this.editMode = true; \r\n this.showDelete= true; \r\n this.victimId = this.victimDetail.victimId;\r\n \r\n this.guardianTabFlag = this.victimDetail.minorFlag;\r\n\r\n \r\n if (this.victimDetail.victimAdvocateFlag=='YS'){\r\n this.advocateTabFlag = true;\r\n }\r\n\r\n if (this.otherWeaponFlag == true){\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n this.cpoExpirationDivFlag =this.victimDetail.cpoExpirationFlag;\r\n this.commonChildrenDivFlag = this.victimDetail.commonChildrenFlag;\r\n this.supportInPlaceDivFlag= this.victimDetail.supportInPlaceFlag;\r\n this.weaponInvolvedDivFlag= this.victimDetail.weaponInvolvedFlag;\r\n this.drugUseDivFlag= this.victimDetail.drugUseFlag;\r\n this.addressId = this.victimDetail.addressId;\r\n this.guardianAddressId = this.victimDetail.guardianAddressId;\r\n this.advocateAddressId = this.victimDetail.advocateAddressId;\r\n\r\n this._getVictim();\r\n\r\n } else {\r\n //add new record\r\n this.victimForm.patchValue({guardianNoPhoneFlag: true});\r\n this.victimForm.patchValue({advocateNoPhoneFlag: true});\r\n \r\n }\r\n\r\n this.victimService.getFlagOptionYesNoUnknowns().subscribe(\r\n (items: any) => {\r\n this.flagOption = items;\r\n }\r\n );\r\n this.victimService.getGenders().subscribe(\r\n (items: any) => {\r\n this.genders = items;\r\n }\r\n );\r\n this.victimService.getPrefixes().subscribe(\r\n (items: any) => {\r\n this.prefixes = items;\r\n }\r\n );\r\n this.victimService.getSuffixes().subscribe(\r\n (items: any) => {\r\n this.suffixes = items;\r\n }\r\n );\r\n this.victimService.getRelationshipTypes().subscribe(\r\n (items: any) => {\r\n this.relationshipTypes = items.filter( (y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' || y.relationshipCategoryId === 'CS'));\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 \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\tguardianLastNameControl.updateValueAndValidity();\r\n guardianFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioAdvocateChange($event: MatRadioChange){\r\n\r\n const advocateLastNameControl = this.victimForm.get('advocateLastName');\r\n const advocateFirstNameControl = this.victimForm.get('advocateFirstName');\r\n // const advocateNoPhoneControl = this.victimForm.get('advocateNoPhoneFlag');\r\n \r\n \r\n\r\n if ($event.value === \"YS\") {\r\n this.advocateTabFlag = true;\r\n advocateLastNameControl.setValidators(Validators.required);\r\n advocateFirstNameControl.setValidators(Validators.required);\r\n \r\n \r\n }\r\n else{\r\n this.advocateTabFlag = false;\r\n \r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\r\n\r\n }\r\n\r\n advocateLastNameControl.updateValueAndValidity();\r\n advocateFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioCicChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.commonChildrenDivFlag = true;\r\n // requrie field\r\n this.setValidators('commonChildren');\r\n }\r\n else{\r\n this.commonChildrenDivFlag = false;\r\n }\r\n }\r\n\r\n setValidators(type) {\r\n if(type == 'commonChildren'){\r\n this.victimForm.get('commonChildrenNumber').clearValidators();\r\n this.victimForm.get('commonChildrenNumber').setValidators(Validators.required);\r\n }\r\n else if (type == 'cpo'){\r\n this.victimForm.get('cpoExpirationDate').clearValidators();\r\n this.victimForm.get('cpoExpirationDate').setValidators(Validators.required);\r\n\r\n }\r\n }\r\n radioSupportChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.supportInPlaceDivFlag = true;\r\n }\r\n else{\r\n this.supportInPlaceDivFlag = false;\r\n }\r\n }\r\n radioWeaponChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.weaponInvolvedDivFlag = true;\r\n }\r\n else{\r\n this.weaponInvolvedDivFlag = false;\r\n }\r\n }\r\n radioDrugChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.drugUseDivFlag = true;\r\n }\r\n else{\r\n this.drugUseDivFlag = false;\r\n }\r\n }\r\n\r\n radioCpoChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.cpoExpirationDivFlag = true;\r\n this.setValidators('cpo');\r\n }\r\n else{\r\n this.cpoExpirationDivFlag = false;\r\n }\r\n }\r\n\r\n handleDOBChange($event ){\r\n var ageDifMs = Date.now() - $event.value;\r\n var ageDate = new Date(ageDifMs); \r\n if( Math.abs(ageDate.getUTCFullYear() - 1970) <= 18){\r\n \r\n this.snackBar.open('Victim is a Minor. This information is a sensitive and should not be disclosed to any unauthorized parties. Contact the legal guardian.', '', {\r\n duration: 6000,});\r\n const minorControl = this.victimForm.get('minorFlag');\r\n minorControl.setValue(true);\r\n const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n \r\n\r\n this.guardianTabFlag = true;\r\n guardianLastNameControl.setValidators(Validators.required);\r\n guardianFirstNameControl.setValidators(Validators.required);\r\n\r\n \r\n \r\n }\r\n\r\n }\r\n checkOtherWeapon(WeaponUse){\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n if (WeaponUse.includes(\"OTHER\")){\r\n this.otherWeaponFlag = true;\r\n otherWeaponControl.setValidators(Validators.required)\r\n\r\n }else{\r\n this.otherWeaponFlag = false;\r\n otherWeaponControl.clearValidators();\r\n }\r\n otherWeaponControl.updateValueAndValidity();\r\n }\r\n\r\n checkOtherDrug(DrugUse){\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n if (DrugUse.includes(\"OTHER\")){\r\n this.otherDrugFlag = true;\r\n otherDrugControl.setValidators(Validators.required)\r\n \r\n\r\n }else{\r\n this.otherDrugFlag = false;\r\n otherDrugControl.clearValidators();\r\n \r\n\r\n }\r\n otherDrugControl.updateValueAndValidity();\r\n }\r\n \r\n //#region \"save victim\"\r\n saveVictim() {\r\n //var myPath = this.router.url.slice(-10)\r\n\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.guardianHomePhone){\r\n if (this.victimForm.value.guardianHomePhone !== null){\r\n if (this.victimForm.value.guardianHomePhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.guardianWorkPhone !== undefined){\r\n if (this.victimForm.value.guardianWorkPhone !== null){\r\n if (this.victimForm.value.guardianWorkPhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n if (this.victimForm.value.guardianCellPhone !== null){\r\n if (this.victimForm.value.guardianCellhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n \r\n console.log('this.victimForm.value.guardianNoPhoneFlag');\r\n console.log(this.victimForm.value.guardianNoPhoneFlag);\r\n console.log('this.guardianPhoneExistFlag');\r\n console.log(this.guardianPhoneExistFlag);\r\n \r\n\r\n if (this.guardianPhoneExistFlag === false && this.victimForm.value.guardianNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the guardian phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n console.log('this.phoneValidationFlag');\r\n console.log(this.phoneValidationFlag);\r\n\r\n//advocate phone logic\r\nif (!this.victimForm.value.advocateNoPhoneFlag)\r\n{\r\n if (this.victimForm.value.advocateHomePhone){\r\n if (this.victimForm.value.advocateHomePhone !== null){\r\n if (this.victimForm.value.advocateHomePhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.advocateWorkPhone !== undefined){\r\n if (this.victimForm.value.advocateWorkPhone !== null){\r\n if (this.victimForm.value.advocateWorkPhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n if (this.victimForm.value.advocateCellPhone !== null){\r\n if (this.victimForm.value.advocateCellhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n console.log('this.victimForm.value.advocateNoPhoneFlag');\r\n console.log(this.victimForm.value.advocateNoPhoneFlag);\r\n console.log('this.advocatePhoneExistFlag');\r\n console.log(this.advocatePhoneExistFlag);\r\n\r\n if(this.advocatePhoneExistFlag === false && this.victimForm.value.advocateNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the advocate phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n\r\n\r\n console.log('this.phoneValidationFlag 1');\r\n console.log(this.phoneValidationFlag);\r\n if ( this.phoneValidationFlag === false){\r\n\r\n\r\n if (this.victimDetail === null){\r\n //insert new victim\r\n \r\n var myVictimSupports = [];\r\n if (this.victimForm.value.victimSupports){\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimForm.value.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n myVictimSupports.push(victimSupport);\r\n });\r\n }\r\n\r\n var myVictimDrugUses = [];\r\n console.log('this.victimForm.value.victimDrugUses during save');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n if (this.victimForm.value.victimDrugUses){\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n\r\n if (element ===\"OTHER\" || element === \"\" || element === null){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null; \r\n }\r\n \r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimForm.value.victimId;\r\n myVictimDrugUses.push(victimDrugUse);\r\n });\r\n }\r\n\r\n console.log('this.victimForm.value.victimDrugUses during save 1');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n\r\n\r\n\r\n var myVictimWeaponUses = [];\r\n\r\n if (this.victimForm.value.victimWeaponUses){\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimForm.value.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon = this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null; \r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n myVictimWeaponUses.push(victimWeaponUse);\r\n });\r\n }\r\n\r\n const newVictim = {\r\n victimId: 0,\r\n offenderId: this.offenderId,\r\n victimOffenderRelationshipTypeId:this.victimForm.value.victimOffenderRelationshipTypeId,\r\n lastName: this.victimForm.value.lastName,\r\n firstName: this.victimForm.value.firstName,\r\n middleName: this.victimForm.value.middleName ? this.victimForm.value.middleName : null,\r\n prefixId:this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null ,\r\n suffixId:this.victimForm.value.suffixId ? this.victimForm.value.suffixId: null,\r\n birthDate:this.victimForm.value.birthDate? this.victimForm.value.birthDate : null,\r\n genderCode: this.victimForm.value.genderCode? this.victimForm.value.genderCode: null,\r\n underSupervisionFlag: this.victimForm.value.underSupervisionFlag,\r\n minorFlag: this.victimForm.value.minorFlag,\r\n victimAdvocateFlag: this.victimForm.value.victimAdvocateFlag,\r\n homePhone: this.victimForm.value.homePhone ? this.victimForm.value.homePhone : null,\r\n workPhone: this.victimForm.value.workPhone ? this.victimForm.value.workPhone : null,\r\n cellPhone: this.victimForm.value.cellPhone ? this.victimForm.value.cellPhone: null,\r\n email: this.victimForm.value.email ? this.victimForm.value.email: null,\r\n addressId: this.victimForm.value.addressId ? this.victimForm.value.addressId: 1,\r\n emergencyContact: this.victimForm.value.emergencyContact ? this.victimForm.value.emergencyContact : null,\r\n emergencyContactPhone: this.victimForm.value.emergencyContactPhone ? this.victimForm.value.emergencyContactPhone: null ,\r\n commonChildrenFlag: this.victimForm.value.commonChildrenFlag,\r\n commonChildrenNumber: this.victimForm.value.commonChildrenNumber,\r\n cpoExpirationFlag: this.victimForm.value.cpoExpirationFlag,\r\n cpoExpirationDate: this.victimForm.value.cpoExpirationDate ? this.datePipe.transform(this.victimForm.value.startDate, 'short') : null,\r\n supportInPlaceFlag: this.victimForm.value.supportInPlaceFlag,\r\n weaponInvolvedFlag: this.victimForm.value.weaponInvolvedFlag,\r\n drugUseFlag: this.victimForm.value.drugUseFlag,\r\n alcoholUseFlag: this.victimForm.value.alcoholUseFlag,\r\n accessRisk:this.victimForm.value.accessRisk,\r\n modifiedBy:this.staffId,\r\n vVictimAdvocate: null,\r\n vVictimGuardian: null,\r\n victimDrugUses: myVictimDrugUses,\r\n victimSupports: myVictimSupports,\r\n victimWeaponUses: myVictimWeaponUses,\r\n\r\n advocateFirstName: null,\r\n advocateLastName: null,\r\n advocateEmail: null,\r\n advocatePrefixId: null,\r\n advocateSuffixId: null,\r\n advocateNoPhoneFlag: null,\r\n advocateHomePhone: null,\r\n advocateWorkPhone: null,\r\n advocateCellPhone: null,\r\n advocateAddressId: null,\r\n guardianFirstName: null,\r\n guardianLastName: null,\r\n guardianEmail: null,\r\n guardianPrefixId: null,\r\n guardianSuffixId: null,\r\n guardianNoPhoneFlag: null,\r\n guardianHomePhone: null,\r\n guardianWorkPhone: null,\r\n guardianCellPhone: null,\r\n guardianAddressId: null,\r\n guardianBirthDate: null,\r\n relationship: null,\r\n allowCsosaContactFlag: null\r\n \r\n\r\n }\r\n\r\n if (this.addressId == 0){\r\n newVictim.addressId = null;\r\n } else {\r\n newVictim.addressId = this.addressId;\r\n }\r\n \r\n newVictim.advocateAddressId = this.advocateAddressId;\r\n newVictim.guardianAddressId = this.guardianAddressId;\r\n console.log('newVictim');\r\n console.log(newVictim);\r\n this.victimService.postVictims(newVictim).subscribe(\r\n (items: any) => {\r\n \r\n const id = items ? items.victimId : '';\r\n\r\n if (this.victimForm.value.victimAdvocateFlag == \"YS\"){\r\n console.log('add advocate');\r\n const victimAdvocate: VictimAdvocate = {\r\n victimAdvocateId: id,\r\n lastName: this.victimForm.value.advocateLastName,\r\n firstName: this.victimForm.value.advocateFirstName,\r\n prefixId: this.victimForm.value.advocatePrefixId,\r\n suffixId: this.victimForm.value.advocateSuffixId,\r\n addressId: this.advocateAddressId ? this.advocateAddressId: null,\r\n noPhoneFlag: this.victimForm.value.advocateNoPhoneFlag ? this.victimForm.value.advocateNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.advocateHomePhone,\r\n workPhone: this.victimForm.value.advocateWorkPhone,\r\n cellPhone: this.victimForm.value.advocateCellPhone,\r\n email: this.victimForm.value.advocateEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n \r\n if (this.victimForm.value.minorFlag == true){\r\n \r\n const victimGuardian: VictimGuardian = {\r\n victimGuardianId: id,\r\n lastName: this.victimForm.value.guardianLastName,\r\n firstName: this.victimForm.value.guardianFirstName,\r\n prefixId: this.victimForm.value.guardianPrefixId, \r\n suffixId: this.victimForm.value.guardianSuffixId,\r\n birthDate: this.victimForm.value.guardianBirthDate,\r\n addressId: this.guardianAddressId? this.guardianAddressId: null,\r\n noPhoneFlag: this.victimForm.value.guardianNoPhoneFlag? this.victimForm.value.guardianNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.guardianHomePhone,\r\n workPhone: this.victimForm.value.guardianWorkPhone,\r\n cellPhone: this.victimForm.value.guardianCellPhone,\r\n email: this.victimForm.value.guardianEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n \r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\r\n });\r\n\r\n //insert new\r\n if (this.isIntake===true){\r\n this.router.navigate(['victimHome']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['victimList']);\r\n }\r\n //this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n );\r\n\r\n }\r\n else {\r\n //update victim\r\n console.log(' this.victimForm.value.victimOffenderRelationshipTypeId');\r\n console.log( this.victimForm.value.victimOffenderRelationshipTypeId);\r\n \r\n this.victimDetail.underSupervisionFlag = this.victimForm.value.underSupervisionFlag;\r\n this.victimDetail.victimOffenderRelationshipTypeId = this.victimForm.value.victimOffenderRelationshipTypeId;\r\n this.victimDetail.lastName = this.victimForm.value.lastName;\r\n this.victimDetail.firstName = this.victimForm.value.firstName;\r\n this.victimDetail.middleName = this.victimForm.value.middleName;\r\n this.victimDetail.prefixId = this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null;\r\n this.victimDetail.suffixId = this.victimForm.value.suffixId ? this.victimForm.value.suffixId : null;\r\n this.victimDetail.birthDate = this.victimForm.value.birthDate;\r\n this.victimDetail.genderCode = this.victimForm.value.genderCode;\r\n this.victimDetail.minorFlag = this.victimForm.value.minorFlag;\r\n this.victimDetail.homePhone = this.victimForm.value.homePhone? this.victimForm.value.homePhone: null;\r\n this.victimDetail.workPhone = this.victimForm.value.workPhone? this.victimForm.value.workPhone: null;\r\n this.victimDetail.cellPhone = this.victimForm.value.cellPhone? this.victimForm.value.cellPhone: null;\r\n this.victimDetail.email = this.victimForm.value.email;\r\n this.victimDetail.victimAdvocateFlag = this.victimForm.value.victimAdvocateFlag;\r\n this.victimDetail.emergencyContact = this.victimForm.value.emergencyContact;\r\n this.victimDetail.emergencyContactPhone = this.victimForm.value.emergencyContactPhone? this.victimForm.value.emergencyContactPhone: null;\r\n this.victimDetail.commonChildrenFlag = this.victimForm.value.commonChildrenFlag;\r\n this.victimDetail.commonChildrenNumber = this.victimForm.value.commonChildrenNumber;\r\n this.victimDetail.cpoExpirationDate = this.victimForm.value.cpoExpirationDate;\r\n this.victimDetail.cpoExpirationFlag = this.victimForm.value.cpoExpirationFlag;\r\n this.victimDetail.supportInPlaceFlag = this.victimForm.value.supportInPlaceFlag;\r\n this.victimDetail.weaponInvolvedFlag = this.victimForm.value.weaponInvolvedFlag;\r\n this.victimDetail.drugUseFlag = this.victimForm.value.drugUseFlag;\r\n this.victimDetail.alcoholUseFlag = this.victimForm.value.alcoholUseFlag;\r\n this.victimDetail.accessRisk = this.victimForm.value.accessRisk;\r\n this.victimDetail.addressId = this.victimForm.value.addressId;\r\n this.victimDetail.allowCsosaContactFlag = this.victimForm.value.allowCsosaContactFlag;\r\n \r\n \r\n this.victimDetail.victimSupports = [];\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimDetail.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n this.victimDetail.victimSupports.push(victimSupport);\r\n });\r\n\r\n\r\n this.victimDetail.victimDrugUses = [];\r\n\r\n console.log('this.victimForm.value.victimDrugUses calculate')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n console.log('this.victimForm.value.victimDrugUses before')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n if (element === \"OTHER\" || element === \"\" ){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimDetail.victimId;\r\n this.victimDetail.victimDrugUses.push(victimDrugUse);\r\n console.log('this.victimForm.value.victimDrugUses after')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n });\r\n\r\n\r\n\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\r\n\r\n\r\n console.log('adjust this.victimForm.value.victimDrugUses ')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n this.victimDetail.victimWeaponUses = [];\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimDetail.victimId;\r\n victimWeaponUse.weaponTypeId= element; \r\n\r\n console.log('weapon element');\r\n console.log(element);\r\n console.log(this.victimForm.value.otherWeapon);\r\n console.log(this.victimForm.value.victimWeaponUses);\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon=this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n this.victimDetail.victimWeaponUses.push(victimWeaponUse);\r\n \r\n });\r\n\r\n \r\n console.log('this.victimDetail before emit');\r\n console.log(this.victimDetail);\r\n\r\n this.victimService.putVictims(this.victimDetail.victimId,this.victimDetail).subscribe(\r\n (items: any) => {\r\n this.snackBar.open('Update Successfully!', '', {\r\n duration: 3000,\r\n });\r\n \r\n //Advocate section\r\n\r\n this.victimAdvocate.victimAdvocateId = this.victimDetail.victimId;\r\n this.victimAdvocate.lastName= this.victimForm.value.advocateLastName;\r\n this.victimAdvocate.firstName= this.victimForm.value.advocateFirstName;\r\n this.victimAdvocate.prefixId= this.victimForm.value.advocatePrefixId ? this.victimForm.value.advocatePrefixId : null;\r\n this.victimAdvocate.suffixId= this.victimForm.value.advocateSuffixId ? this.victimForm.value.advocateSuffixId : null;\r\n this.victimAdvocate.addressId= this.advocateAddressId ? this.advocateAddressId : null;\r\n this.victimAdvocate.noPhoneFlag= this.victimForm.value.advocateNoPhoneFlag? true: false;\r\n this.victimAdvocate.homePhone= this.victimForm.value.advocateHomePhone ? this.victimForm.value.advocateHomePhone : null;\r\n this.victimAdvocate.workPhone= this.victimForm.value.advocateWorkPhone ? this.victimForm.value.advocateWorkPhone : null;\r\n this.victimAdvocate.cellPhone= this.victimForm.value.advocateCellPhone ? this.victimForm.value.advocateCellPhone : null;\r\n this.victimAdvocate.email= this.victimForm.value.advocateEmail ? this.victimForm.value.advocateEmail : null;\r\n this.victimAdvocate.modifiedBy= this.staffId;\r\n \r\n \r\n \r\n if (this.victimDetail.victimAdvocateFlag=='YS' && this.victimDetail.advocateFirstName != null)\r\n {\r\n this.victimService.putVictimAdvocate(this.victimDetail.victimId,this.victimAdvocate).subscribe(\r\n resp=>{\r\n }\r\n );\r\n }\r\n else\r\n {\r\n console.log('add advocate');\r\n this.victimService.postVictimAdvocate(this.victimDetail.victimId, this.victimAdvocate).subscribe();\r\n }\r\n \r\n // guardian section\r\n this.victimGuardian.victimGuardianId = this.victimDetail.victimId;\r\n this.victimGuardian.lastName = this.victimForm.value.guardianLastName;\r\n this.victimGuardian.firstName = this.victimForm.value.guardianFirstName;\r\n this.victimGuardian.prefixId = this.victimForm.value.guardianPrefixId ? this.victimForm.value.guardianPrefixId : null;\r\n this.victimGuardian.suffixId = this.victimForm.value.guardianSuffixId ? this.victimForm.value.guardianSuffixId : null;\r\n this.victimGuardian.addressId = this.guardianAddressId ? this.guardianAddressId : null;\r\n this.victimGuardian.noPhoneFlag = this.victimForm.value.guardianNoPhoneFlag? true: false;\r\n this.victimGuardian.homePhone = this.victimForm.value.guardianHomePhone ? this.victimForm.value.guardianHomePhone : null;\r\n this.victimGuardian.workPhone = this.victimForm.value.guardianWorkPhone ? this.victimForm.value.guardianWorkPhone : null;\r\n this.victimGuardian.cellPhone = this.victimForm.value.guardianCellPhone ? this.victimForm.value.guardianCellPhone : null;\r\n this.victimGuardian.email = this.victimForm.value.guardianEmail ? this.victimForm.value.guardianEmail : null;\r\n this.victimGuardian.modifiedBy = this.staffId;\r\n \r\n if (this.victimDetail.minorFlag == true && this.victimDetail.guardianFirstName != null )\r\n {\r\n \r\n this.victimService.putVictimGuardian(this.victimDetail.victimId,this.victimGuardian).subscribe(\r\n resp=>{\r\n }\r\n );\r\n }\r\n else\r\n {\r\n \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 }//end of this.phoneValidationFlag = false\r\n \r\n this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n\r\n //#endregion \"save victim\"\r\n addContact(){\r\n\r\n this.router.navigate(['victimContact',this.victimId]);\r\n }\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n \r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'csmart-victim-delete-confirm',\r\n template: `\r\n <h1 mat-dialog-title>Delete Confirmation</h1>\r\n <div mat-dialog-content>\r\n <p>Are you sure you want to delete this item?</p>\r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-flat-button color=\"primary\" (click)=\"onNoClick()\">No</button>\r\n <button mat-flat-button color=\"warn\" [mat-dialog-close]='\"YES\"' cdkFocusInitial>Yes</button>\r\n </div>\r\n `,\r\n styles: [`\r\n .actions{\r\n display: flex;\r\n justify-content: space-between; \r\n }\r\n `]\r\n})\r\nexport class SmartVictimDeleteConfirmComponent implements OnInit {\r\n\r\n constructor( public dialogRef: MatDialogRef<SmartVictimDeleteConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n//import {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\n\r\nimport {\r\n MatButtonModule, MatCardModule, MatCheckboxModule, MatToolbarModule, MatSelectModule, MatDatepickerModule,\r\n MatProgressSpinnerModule, MatGridListModule, MatTableModule, MatSidenavModule, MatRadioModule, MatPaginatorModule,\r\n // tslint:disable-next-line:whitespace\r\n MatNativeDateModule, MatSliderModule, MatDialogModule, MatChipsModule,MatSortModule,\r\n MatTabsModule, MatRippleModule, MatListModule, MatInputModule, MatFormFieldModule, MatStepperModule, MatExpansionModule,\r\n \r\n \r\n} from '@angular/material';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\n\r\n\r\n\r\n\r\n@NgModule(\r\n {\r\n \r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n\r\n\r\n ],\r\n exports: [\r\n \r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n \r\n \r\n ],\r\n entryComponents: [\r\n // SpinnerComponent,\r\n ],\r\n\r\n\r\n }\r\n)\r\nexport class SharedModule { }\r\n","import { CommonDialogService } from './common-dialog.service';\r\n//import { MaterialModule } from '@angular/material';\r\nimport { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../shared/app.shared.module';\r\n\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\n\r\n@NgModule({\r\n imports: [\r\n // MaterialModule.forRoot(),\r\n SharedModule\r\n ],\r\n exports: [\r\n CommonDialogComponent,\r\n ],\r\n declarations: [\r\n CommonDialogComponent,\r\n ],\r\n providers: [\r\n CommonDialogComponent,\r\n ],\r\n entryComponents: [\r\n CommonDialogComponent,\r\n ],\r\n})\r\nexport class CommonDialogModule { }\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\n\r\nexport function dateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'future Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date > new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function passDateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'Pass Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date < new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function dateLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('date1');\r\n console.log(date1);\r\n console.log('date2');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 > date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function greaterLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('end date');\r\n console.log(date1);\r\n console.log('ver date');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 < date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators} from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar,MatTableDataSource } from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CaseNote} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\n\r\n\r\n\r\n@Component({\r\n \r\n templateUrl: './caseNote.component.html',\r\n styleUrls: ['./caseNote.component.css'],\r\n providers: [CommonDialogService]\r\n\r\n})\r\nexport class CaseNoteComponent implements OnInit,AfterViewInit {\r\n\r\n // @Input() isIntake: boolean;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n \r\n hiddenDetailFlag:boolean;\r\n caseNoteList: CaseNote[];\r\n caseNote: CaseNote;\r\n editCaseNote: CaseNote = <CaseNote>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n caseNoteDataSource= new MatTableDataSource();\r\n addDisableFlag: boolean;\r\n hiddenAddNewFlag: boolean;\r\n caseNoteForm: FormGroup;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.initForm();\r\n }\r\n private initForm() {\r\n this.caseNoteForm = this.formBuilder.group({\r\n caseNoteDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()])),\r\n contactType: new FormControl('',Validators.required),\r\n contactPurpose: new FormControl('',Validators.required),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n\r\n this.caseNoteForm.markAsPristine();\r\n this.caseNoteForm.markAsUntouched();\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n\r\n this.addDisableFlag= false;\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getContactTypes().subscribe(\r\n (items: any) => {\r\n this.contactTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimContactPurposes().subscribe(\r\n (items: any) => {\r\n this.contactPurposes = items;\r\n }\r\n );\r\n\r\n \r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n console.log('caseNoteList');\r\n console.log(caseNoteList);\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n\r\n\r\n \r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // (itms: any) => {\r\n // const ELEMENT_DATA: Element[] = itms;\r\n // this.caseNoteDataSource.data = ELEMENT_DATA;\r\n // })\r\n }\r\n onEditCaseNote(victimCaseNoteId: number){\r\n \r\n this.hiddenDetailFlag =false;\r\n this.hiddenAddNewFlag = true;\r\n\r\n this.addDisableFlag = true;\r\n this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n onDeleteCaseNote(victimCaseNoteId: number){\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n });\r\n }\r\n onAddNew(){\r\n\r\n this.hiddenDetailFlag = false;\r\n this.editCaseNote.victimCaseNoteId = 0;\r\n\r\n const caseNoteDateControl = this.caseNoteForm.get('caseNoteDate');\r\n caseNoteDateControl.setValue(null);\r\n caseNoteDateControl.setErrors(null);\r\n caseNoteDateControl.markAsPristine();\r\n caseNoteDateControl.markAsPristine();\r\n\r\n\r\n const contactTypeControl = this.caseNoteForm.get('contactType');\r\n contactTypeControl.setValue(null);\r\n contactTypeControl.setErrors(null);\r\n contactTypeControl.markAsPristine();\r\n contactTypeControl.markAsUntouched();\r\n\r\n\r\n const contactPurposeControl = this.caseNoteForm.get('contactPurpose');\r\n contactPurposeControl.setValue(null);\r\n contactPurposeControl.setErrors(null);\r\n contactPurposeControl.markAsPristine();\r\n contactPurposeControl.markAsUntouched();\r\n\r\n\r\n const commentControl = this.caseNoteForm.get('comment');\r\n commentControl.setValue(null);\r\n commentControl.setErrors(null);\r\n commentControl.markAsPristine();\r\n commentControl.markAsUntouched();\r\n \r\n }\r\n back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n \r\n saveCaseNote(){\r\n\r\n if (this.editCaseNote.victimCaseNoteId === undefined || this.editCaseNote.victimCaseNoteId === 0) {\r\n\r\n const castNote: CaseNote = {\r\n victimId:this.victimId,\r\n victimCaseNoteId: 0,\r\n caseNoteDate: this.editCaseNote.caseNoteDate,\r\n contactTypeId: this.editCaseNote.contactTypeId,\r\n contactType: null,\r\n victimContactPurposeId: this.editCaseNote.victimContactPurposeId,\r\n victimContactPurpose: null,\r\n comment: this.editCaseNote.comment,\r\n modifiedBy: this.staffId,\r\n victimFirstName: null,\r\n victimLastName: null\r\n\r\n };\r\n this._victimServicesComponent.addCaseNote(castNote).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } else {\r\n this._victimServicesComponent.updateCaseNote(this.editCaseNote).subscribe(\r\n result => {\r\n this.snackBar.open('Update Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n this.addDisableFlag = false;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } \r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar} from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contact} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\n\r\n@Component({\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css'],\r\n})\r\nexport class ContactComponent implements OnInit,AfterViewInit {\r\n\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n contact: Contact;\r\n editContact: Contact = <Contact>{};\r\n errorMessage: string;\r\n contactMethods: any[];\r\n contactBy: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n hiddenAddNewFlag: boolean;\r\n contactForm: FormGroup;\r\n private sub: any;\r\n staff: any = {};\r\n\r\n constructor(\r\n\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n //private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.contactForm = new FormGroup({\r\n contactDate: new FormControl(),\r\n contactMethod: new FormControl(),\r\n contactBy: new FormControl(),\r\n comment: new FormControl(),\r\n nextContactDate: new FormControl()\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n \r\n this.staff = [\r\n {\r\n staffId: this.loginStaff.staffId,\r\n fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,\r\n },\r\n ];\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n \r\n });\r\n\r\n\r\n this._victimServicesComponent.getContactMethods().subscribe(\r\n (items: any) => {\r\n this.contactMethods = items;\r\n console.log('this.contactMethods');\r\n console.log(this.contactMethods);\r\n }\r\n );\r\n\r\n // this._victimServicesComponent.getContactBys().subscribe(\r\n // (items: any) => {\r\n // this.contactBy= items;\r\n // }\r\n // );\r\n\r\n \r\n // this._victimServicesComponent.getContacts(this.victimId).subscribe(\r\n // caseNoteList => {\r\n \r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n \r\n }\r\n onEditContact(victimContactId: number){\r\n \r\n // this.hiddenDetailFlag =false;\r\n // this.hiddenAddNewFlag = true;\r\n\r\n // this.addDisableFlag = true;\r\n // this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n // onDeleteCaseNote(victimCaseNoteId: number){\r\n // this.commonDialogService\r\n // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n // .subscribe(res => {this.result = res;\r\n // if (this.result) {\r\n // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n // .subscribe(result => {\r\n // this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // caseNoteList => {\r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n // }\r\n // );\r\n // }\r\n\r\n // });\r\n // }\r\n onAddNew(){\r\n \r\n // this.editCas.caseNoteDate = null;\r\n // this.editCaseNote.contactTypeId = null;\r\n // this.editCaseNote.victimContactPurposeId = null;\r\n // this.editCaseNote.comment = null;\r\n }\r\n back(){\r\n\r\n \r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n \r\n saveContact(){\r\n\r\n const contact: Contact = {\r\n victimId:this.victimId,\r\n victimContactId: 0,\r\n contactDate: this.editContact.contactDate,\r\n victimContactMethodId: this.editContact.victimContactMethodId,\r\n contactMethod: null,\r\n contactedByName: null,\r\n contactedBy: this.editContact.contactedBy,\r\n comment: this.editContact.comment,\r\n nextContactDate: this.editContact.nextContactDate,\r\n modifiedBy: this.staffId,\r\n \r\n };\r\n this._victimServicesComponent.addContact(contact).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,VictimServiceStatusHistory } from '../smart-victim.model';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatTableDataSource,MatSnackBar } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n//import { VictimSafetyPlanDetailComponent } from './victimSafetyPlanDetail.component';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlan.component.html',\r\n providers: [CommonDialogService]\r\n})\r\n\r\nexport class VictimSafetyPlanComponent implements OnInit,AfterViewInit {\r\n //selectedOffender: SelectedOffender;\r\n loginStaff: LoginStaff;\r\n offenderId: number;\r\n\r\n\r\n hiddenDetailFlag:boolean;\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n victimServiceStatusHistories: VictimServiceStatusHistory[];\r\n queryString: string;\r\n victimServiceDetail: VictimServiceDetail[];\r\n myVictimServiceId: number;\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n safetyPlanDataSource = new MatTableDataSource();\r\n \r\n constructor(\r\n \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n private http: HttpClient,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n \r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n\r\n });\r\n\r\n this.hiddenAddNewFlag = false;\r\n this.victimName= this.victimName;\r\n \r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\r\n console.log('this.victimSafetyPlans');\r\n console.log(this.victimSafetyPlans);\r\n\r\n \r\n }\r\n );\r\n\r\n \r\n // this.myVictimServiceId =1;\r\n // this._victimServicesComponent.getVictimServiceDetail(this.myVictimServiceId).subscribe(\r\n // victimServiceDetail => {\r\n // this.victimServiceDetail = victimServiceDetail;\r\n // console.log('service detail');\r\n // console.log(this.victimServiceDetail); \r\n // }\r\n // );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(1).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories; \r\n }\r\n );\r\n }\r\n \r\n//---------------graphQL--------------------------------------\r\n// getVictimServiceTypeProgramProviders(): Observable<VictimServiceTypeProgramProviderModel[]> {\r\n// const queryString = `\r\n// {\r\n// findVictimServiceTypeProgramProviders {\r\n// data {\r\n// victimServiceTypeProgramProviderId\r\n// victimServiceType\r\n// victimProgramProvider\r\n// }\r\n// }\r\n// }`;\r\n\r\n \r\n// return this.http.post<any>(environment.smartApiUrl, { query: queryString })\r\n// .map(result => {\r\n// return result.data.findVictimServiceTypeProgramProviders.data;\r\n// });\r\n// }\r\n\r\n goToSafetyPlanDetail(victimServiceId: number){\r\n \r\n this.router.navigate(['saftyPlanDetail', victimServiceId, this.victimId ]); \r\n\r\n }\r\n onAddNew(){\r\n this.hiddenDetailFlag = false;\r\n\r\n }\r\n onDeleteSafetyPlan(victimServiceId: number){\r\n\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this safety plan?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n\r\n this._victimServicesComponent.deleteSafetyPlan(victimServiceId,this.staffId)\r\n .subscribe(result => {\r\n\r\n this.snackBar.open('delete safety plan Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\r\n }\r\n );\r\n \r\n }\r\n );\r\n \r\n\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-service-provider',\r\n template: `\r\n <h1 mat-dialog-title> {{data.serviceType}}</h1>\r\n <div mat-dialog-content class=\"main\" [formGroup]=\"spForm\">\r\n <mat-form-field>\r\n <mat-label>service provider</mat-label>\r\n \r\n <mat-select formControlName=\"voteeProviderId\">\r\n <mat-option\r\n *ngFor=\"let providerOption of programProviders\"\r\n [value]=\"providerOption.victimProgramProviderId\">{{ providerOption.victimProgramProvider }}\r\n </mat-option>\r\n </mat-select>\r\n \r\n </mat-form-field>\r\n \r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"spForm.value\" >\r\n Save Change\r\n </button>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .main {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .actions{\r\n display: flex;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class SeriveProviderComponent implements OnInit {\r\n spForm: FormGroup;\r\n programProviders:[];\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public dialogRef: MatDialogRef<SeriveProviderComponent>,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n @Inject(MAT_DIALOG_DATA) public data: ProvidersDialogData,\r\n ) {\r\n\r\n\r\n this.spForm = this.formBuilder.group({\r\n voteeProviderId: [''],\r\n \r\n });\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n console.log('data.providerCollections')\r\n console.log(this.data);\r\n console.log(this.data.serviceTypeId);\r\n\r\n this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe(\r\n (items: any) => {\r\n this.programProviders = items.filter( (y) => (y.victimServiceTypeId === this.data.serviceTypeId));\r\n console.log('this.programProviders');\r\n console.log(this.programProviders);\r\n }\r\n );\r\n\r\n this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {\r\n console.log('voteeProviderId in service provider component.')\r\n console.log(voteeProviderId)\r\n \r\n \r\n })\r\n }\r\n}\r\n","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,\r\n VictimServiceStatusHistory,VictimServiceTypeProgramProviderModel,\r\n ProviderListCollectionModel } from '../smart-victim.model';\r\nimport { MatSnackBar,MatTableDataSource,MatDialog } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\nimport { typeSourceSpan } from '@angular/compiler';\r\nimport { SeriveProviderComponent} from '../safetyPlan/serviceProvider.component'\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlanDetail.component.html',\r\n providers: [CommonDialogService],\r\n styleUrls: ['./victimSafetyPlan.component.css']\r\n \r\n})\r\n\r\nexport class VictimSafetyPlanDetailComponent implements OnInit {\r\n\r\n\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n providerList: VictimServiceTypeProgramProviderModel[];\r\n providerListCollection:ProviderListCollectionModel[]=[];\r\n victimServiceDetail: VictimServiceDetail[];\r\n indx:any;\r\n serviceCheck = [];\r\n victimName: string;\r\n isDisplay: boolean;\r\n staffId: number;\r\n victimId: number;\r\n victimServiceId: number;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n private sub: any;\r\n result: any;\r\n victimServiceStatusHistoriesDataSource= new MatTableDataSource();\r\n providerId: string;\r\n selected: string;\r\n\r\n\r\n spForm: FormGroup;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private http: HttpClient,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private commonDialogService: CommonDialogService,\r\n private formBuilder: FormBuilder,\r\n \r\n ) {\r\n\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n\r\n\t\r\n\t\t\tthis.spForm = this.formBuilder.group({\r\n serviceGoal: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatus: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatusDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()\t\t ])),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n this.spForm.markAsPristine();\r\n this.spForm.markAsUntouched();\r\n \r\n }\r\n \r\n ngOnInit() {\r\n\r\n \r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimServiceId = params['victimServiceId'];\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n \r\n this.hiddenAddNewFlag = false;\r\n this.isDisplay = false;\r\n \r\n \r\n\r\n this._victimServicesComponent.getVictimServiceTypes().subscribe(\r\n (items: any) => {\r\n this.victimServiceTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimServiceStatus().subscribe(\r\n (items: any) => {\r\n this.victimServiceStatus = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n \r\n \r\n //---------------graphQL--------------------------------------\r\n // this.getVictimServiceTypeProgramProviders().subscribe(result => {\r\n // this.providerList = result;\r\n // });\r\n // console.log('this.victimServiceId');\r\n // console.log(this.victimServiceId);\r\n \r\n if (this.victimServiceId!=0){\r\n this._victimServicesComponent.getVictimServices(this.victimServiceId).subscribe(\r\n victimSafetyPlans => {\r\n console.log('victimSafetyPlans');\r\n console.log(victimSafetyPlans);\r\n\r\n this.editSafetyPlan = victimSafetyPlans[0];\r\n this.victimId = victimSafetyPlans[0].victimId;\r\n \r\n console.log('this.editSafetyPlan');\r\n console.log(this.editSafetyPlan);\r\n // console.log('this.editSafetyPlan.goal');\r\n // console.log(this.editSafetyPlan.goal);\r\n // console.log('this.editSafetyPlan[0].goal');\r\n // console.log(this.editSafetyPlan[0].goal);\r\n\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(this.victimServiceId).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories;\r\n this.victimServiceStatusHistoriesDataSource.data = victimServiceStatusHistories;\r\n }\r\n );\r\n\r\n }\r\n\r\n this.loadProvider();\r\n \r\n }\r\n //pass in id\r\nisInArray(providerListCollectionKey:string, serviceTypeName: string){\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 if (result) {\r\n \r\n this.savePlanProvider(providerListCollectionKey,result.voteeProviderId);\r\n \r\n }\r\n \r\n location.reload();\r\n });\r\n \r\n // return;\r\n }\r\n }\r\n\r\n \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 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'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe(\r\n result => {\r\n this.snackBar.open('Add status Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n }\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 this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe(\r\n result => {\r\n this.snackBar.open('Add provider Successfully !', '', {\r\n duration: 3000,\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 this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe();\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'\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 this.router.navigate(['saftyPlan', 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'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe();\r\n\r\n this.router.navigate(['saftyPlan', this.victimId]); \r\n \r\n }\r\n );\r\n } \r\n }\r\n\r\n back(){\r\n console.log('this.victimId');\r\n console.log(this.victimId);\r\n this.router.navigate(['saftyPlan', this.victimId]); \r\n }\r\n \r\n\r\n}\r\n\r\n","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService} from '@csmart/ngc-smart-core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { NgcSmartVictimComponent} from './smart-victim.component'\r\n\r\nconst routes: Routes = [\r\n \r\n {path: 'casenote/:victimId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'victimList', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimContact/:victimId', component: ContactComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'smart-error', component: SmartErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VictimRoutingModule {\r\n}\r\n","export class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}","import { Component, OnInit, ViewEncapsulation,\r\n Output, EventEmitter } from '@angular/core';\r\n \r\nimport { VictimListFilter } from './VictimSearchFilter';\r\n \r\n @Component({\r\n selector: 'app-victim-search-form',\r\n templateUrl: './victimSearchForm.component.html',\r\n styleUrls: ['../smart-victim.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\n export class VictimSearchFormComponent implements OnInit {\r\n \r\n @Output() onSearch:EventEmitter<Object>=new EventEmitter<Object>();\r\n change: EventEmitter<VictimListFilter> = new EventEmitter<VictimListFilter>();\r\n \r\n filter: VictimListFilter = new VictimListFilter();\r\n \r\n constructor() { }\r\n \r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n // var element = <HTMLInputElement> document.getElementById(\"victimSearchButton\");\r\n // element.disabled = true;\r\n // setTimeout(function() {\r\n // element.disabled = false;\r\n // }, 10000);\r\n\r\n }\r\n onChange() {\r\n console.log('this.filter in serach form.');\r\n console.log(this.filter);\r\n\r\n this.onSearch.emit(this.filter);\r\n \r\n }\r\n }\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n } from '@angular/core';\r\n import {\r\n FormGroup,\r\n FormBuilder,\r\n AbstractControl,\r\n Validators,\r\n FormControl,\r\n } from '@angular/forms';\r\n // import { Subscription } from 'rxjs/Subscription';\r\n @Directive({\r\n selector: \"[phoneMask]\",\r\n })\r\n export class PhoneMaskDirective implements OnInit, OnDestroy {\r\n private _phoneControl: AbstractControl;\r\n private _preValue: string;\r\n @Input(\"phoneControl\")\r\n public set phoneControl(control: AbstractControl) {\r\n this._phoneControl = control;\r\n }\r\n @Input(\"preValue\")\r\n public set preValue(value: string) {\r\n this._preValue = value;\r\n this.formatPhoneNumber(value);\r\n }\r\n // private sub:ISubscription;\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n ngOnDestroy() {\r\n // this.sub.unsubscribe();\r\n }\r\n formatPhoneNumber(data) {\r\n if (!this._preValue) {\r\n this._preValue = \"\";\r\n data = \"\";\r\n }\r\n let preInputValue: string = this._preValue;\r\n var lastChar: string = preInputValue.substr(preInputValue.length - 1);\r\n var newVal = data.replace(/\\D/g, \"\");\r\n let start = this.renderer.selectRootElement(\"#tel\").selectionStart;\r\n let end = this.renderer.selectRootElement(\"#tel\").selectionEnd;\r\n if (data.length < preInputValue.length) {\r\n if (preInputValue.length < start) {\r\n if (lastChar == \")\") {\r\n newVal = newVal.substr(0, newVal.length - 1);\r\n }\r\n }\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n var removedD = data.charAt(start);\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1)\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n if (preInputValue.length >= start) {\r\n if (removedD == \"(\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \")\") {\r\n start = start + 2;\r\n end = end + 2;\r\n }\r\n if (removedD == \"-\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \" \") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \"\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer\r\n .selectRootElement(\"#tel\")\r\n .setSelectionRange(start + 2, end + 2); // +2 because of wanting standard typing\r\n }\r\n }\r\n }\r\n }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatRadioModule,\r\n MatCardModule, MatSlideToggleModule,MatSliderModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatPaginatorModule, MatSortModule, MatGridListModule, MatExpansionModule,\r\n} from '@angular/material';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { SmartAddressModule } from '@csmart/ngc-smart-address';\r\nimport { NgcSmartVictimComponent } from './smart-victim.component';\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\nimport { CommonDialogModule } from './common-dialog/common-dialog.module';\r\nimport { VictimRoutingModule } from './victim-routing.module';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { VictimSearchFormComponent } from './victimSearch/victimSearchForm.component';\r\nimport { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular';\r\nimport { HttpLinkModule, HttpLink } from 'apollo-angular-link-http';\r\nimport { InMemoryCache } from 'apollo-cache-inmemory';\r\n//import { SharedModule } from './shared/app.shared.module';\r\n import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';\r\n import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\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 = [ SmartAddressModule ];\r\n\r\nconst MATERIAL_MODULES = [\r\n MatButtonModule, MatCheckboxModule,MatRadioModule,MatSliderModule,\r\n MatCardModule, MatSlideToggleModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule, MatExpansionModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,MatPaginatorModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS, \r\n CaseNoteComponent,\r\n ContactComponent,\r\n VictimSafetyPlanComponent,\r\n VictimSafetyPlanDetailComponent,\r\n VictimSearchFormComponent,\r\n SeriveProviderComponent\r\n ],\r\n imports: [\r\n ...BASE_MODULES,\r\n ...MATERIAL_MODULES,\r\n ...CORE_MODULES,\r\n CommonDialogModule,\r\n FormsModule,\r\n VictimRoutingModule,\r\n ApolloModule,\r\n //SharedModule\r\n \r\n \r\n ],\r\n exports: [...COMPONENTS,ApolloModule],\r\n entryComponents: [...ENTRY_COMPONENTS,SeriveProviderComponent],\r\n providers: [ NgcSmartVictimService ]\r\n})\r\nexport class NgcSmartVictimModule { }\r\n"],"names":["observableThrowError","headers","MatDialogRef","MatTableDataSource","MAT_DIALOG_DATA","VictimListFilter","MatIconModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"csmart-ngc-smart-victim.js","sources":["ng://@csmart/ngc-smart-victim/lib/smart-victim.model.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.service.ts","ng://@csmart/ngc-smart-victim/lib/intake.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.component.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.service.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-detail/smart-victim-detail.component.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim-delete-confirm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/app.shared.module.ts","ng://@csmart/ngc-smart-victim/lib/common-dialog/common-dialog.module.ts","ng://@csmart/ngc-smart-victim/lib/shared/validators/date.validator.ts","ng://@csmart/ngc-smart-victim/lib/caseNote/caseNote.component.ts","ng://@csmart/ngc-smart-victim/lib/contact/contact.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlan.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/serviceProvider.component.ts","ng://@csmart/ngc-smart-victim/lib/safetyPlan/victimSafetyPlanDetail.component.ts","ng://@csmart/ngc-smart-victim/lib/victim-routing.module.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/VictimSearchFilter.ts","ng://@csmart/ngc-smart-victim/lib/victimSearch/victimSearchForm.component.ts","ng://@csmart/ngc-smart-victim/lib/shared/directives/phone-mask.directive.ts","ng://@csmart/ngc-smart-victim/lib/smart-victim.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const SMART_OFFENDER_SERVICE_URL = new InjectionToken<string>('smart offender service url');\r\nexport const SMART_LOOKUP_SERVICE_URL = new InjectionToken<string>('smart lookup service url');\r\nexport const SMART_VICTIM_SERVICE_URL = new InjectionToken<string>('smart victim service url');\r\nexport const SMART_WARRANT_URL = new InjectionToken<string>('smart warrant web url');\r\n\r\n\r\nexport interface ElementsVictim {\r\n victimId: string;\r\n victimType: string;\r\n victimProvider: string;\r\n victimPolicyHolder: string;\r\n startDate: string;\r\n endDate: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}\r\n\r\n\r\n\r\nexport class VictimAdvocate {\r\n constructor(public victimAdvocateId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n\r\n \r\n) { }\r\n}\r\n\r\n\r\nexport class VictimWeaponUse {\r\n constructor(\r\n // public victimWeaponUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public weaponTypeId: string,\r\n\r\n public otherWeapon: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimDrugUse {\r\n constructor(\r\n //public victimDrugUseId: number,\r\n\r\n public victimId: number,\r\n\r\n public drugTypeId: string,\r\n\r\n public otherDrug: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\n\r\n\r\n\r\nexport class VictimSupport {\r\n constructor(\r\n // public victimSupportId: number,\r\n\r\n public victimId: number,\r\n\r\n public victimSupportTypeId: string,\r\n\r\n public modifiedBy: number\r\n\r\n ) { }\r\n}\r\n\r\nexport class VictimGuardian {\r\n constructor(public victimGuardianId: number,\r\n\r\n public lastName: string,\r\n\r\n public firstName: string,\r\n\r\n public prefixId: string,\r\n\r\n public suffixId: string,\r\n\r\n public birthDate: string,\r\n\r\n public addressId: number,\r\n\r\n public noPhoneFlag: boolean,\r\n\r\n public homePhone: string,\r\n\r\n public workPhone: string,\r\n\r\n public cellPhone: string,\r\n\r\n public email: string,\r\n\r\n public modifiedBy: number\r\n \r\n \r\n\r\n ) { }\r\n}\r\n\r\nexport interface CaseNote {\r\n victimId: number;\r\n victimCaseNoteId: number;\r\n caseNoteDate: Date;\r\n contactTypeId: string;\r\n contactType: string;\r\n victimContactPurposeId: string;\r\n victimContactPurpose: string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimFirstName: string;\r\n victimLastName: string;\r\n \r\n}\r\n\r\nexport interface Contact {\r\n victimId: number;\r\n victimContactId: number;\r\n contactDate: Date;\r\n victimContactMethodId: string;\r\n contactMethod: string;\r\n contactedBy: number;\r\n contactedByName: string;\r\n nextContactDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n\r\n \r\n}\r\n\r\n\r\nexport interface VictimSafetyPlan {\r\n victimId: number;\r\n fullName: string;\r\n victimServiceId: number;\r\n goal:string;\r\n comment: string;\r\n modifiedBy: number;\r\n victimServiceStatusId: string;\r\n status: string;\r\n startDate: Date;\r\n vVictimServiceDetails: VictimServiceDetail[];\r\n victimName: String;\r\n \r\n \r\n}\r\n\r\nexport interface VictimServiceDetail{\r\n victimServiceId: number;\r\n victimServiceDetailId: number;\r\n victimServiceTypeId: string;\r\n victimProgramProviderId: string;\r\n victimProgramProvider: string;\r\n modifiedBy: number;\r\n\r\n\r\n}\r\nexport interface VictimServiceStatusHistory{\r\n\r\n victimServiceStatusHistoryId: number;\r\n victimServiceId: string;\r\n victimServiceStatusId: string;\r\n startDate: Date;\r\n comment: string;\r\n modifiedBy: number;\r\n}\r\n\r\n\r\nexport interface VictimServiceTypeProgramProviderModel {\r\n victimServiceTypeProgramProviderId: number; \r\n victimServiceType: string;\r\n victimProgramProviderId: string;\r\n victimServiceTypeId:string;\r\n victimProgramProvider: string;\r\n }\r\n \r\n export interface ProviderListCollectionModel{\r\n groupId:string;\r\n isDisplay:boolean;\r\n collection:VictimServiceTypeProgramProviderModel[];\r\n }\r\n\r\n\r\n\r\n export interface ProvidersDialogData {\r\n //iepAction: IepAction;\r\n serviceType;\r\n serviceTypeId;\r\n providerCollections: [];\r\n }\r\n\r\n\r\n export class Victim {\r\n constructor(\r\n public victimId: number,\r\n public offenderId: number,\r\n public underSupervisionFlag: string,\r\n public victimOffenderRelationshipTypeId: string,\r\n public lastName: string,\r\n public firstName: string,\r\n public middleName: string,\r\n public prefixId: string | null,\r\n public suffixId: string | null,\r\n public birthDate: string,\r\n public genderCode: string,\r\n public homePhone: string,\r\n public workPhone: string,\r\n public cellPhone: string,\r\n public email: string,\r\n public addressId: number,\r\n public minorFlag: boolean,\r\n public victimAdvocateFlag: string,\r\n\r\n public guardianFirstName: string,\r\n public guardianLastName: string,\r\n public guardianPrefixId: string,\r\n public guardianSuffixId: string,\r\n public guardianNoPhoneFlag: boolean,\r\n public guardianHomePhone: string,\r\n public guardianWorkPhone: string,\r\n public guardianCellPhone: string,\r\n public guardianEmail: string,\r\n public guardianAddressId: number,\r\n public guardianBirthDate: string,\r\n\r\n public advocateFirstName: string,\r\n public advocateLastName: string,\r\n public advocatePrefixId: string,\r\n public advocateSuffixId: string,\r\n public advocateNoPhoneFlag: boolean,\r\n public advocateHomePhone: string,\r\n public advocateWorkPhone: string,\r\n public advocateCellPhone: string,\r\n public advocateEmail: string,\r\n public advocateAddressId: number,\r\n\r\n public emergencyContact: string,\r\n public emergencyContactPhone: string,\r\n public commonChildrenFlag: boolean,\r\n public commonChildrenNumber: number,\r\n public cpoExpirationFlag: boolean,\r\n public cpoExpirationDate: string,\r\n public supportInPlaceFlag: boolean,\r\n public weaponInvolvedFlag: boolean,\r\n public drugUseFlag: boolean,\r\n public alcoholUseFlag: boolean,\r\n public accessRisk: string,\r\n public modifiedBy: number,\r\n public relationship: string,\r\n \r\n public vVictimAdvocate: VictimAdvocate,\r\n public vVictimGuardian: VictimGuardian,\r\n \r\n public victimSupports: VictimSupport[],\r\n public victimWeaponUses: VictimWeaponUse[],\r\n public victimDrugUses: VictimDrugUse[],\r\n\r\n public allowCsosaContactFlag: boolean\r\n ) { }\r\n}\r\n\r\n","import { HttpClient,HttpResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SMART_LOOKUP_SERVICE_URL, SMART_OFFENDER_SERVICE_URL,SMART_VICTIM_SERVICE_URL,\r\n VictimListFilter,VictimDrugUse,Victim,VictimSafetyPlan,\r\n CaseNote,Contact,VictimServiceDetail,VictimServiceStatusHistory,VictimAdvocate,VictimGuardian} from './smart-victim.model';\r\nimport { Observable, throwError as observableThrowError} from 'rxjs';\r\nimport { map,catchError, filter } from 'rxjs/operators';\r\nimport { Apollo } from 'apollo-angular';\r\n\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json' });\r\nconst options = { headers: headers };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgcSmartVictimService {\r\n private serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string,\r\n @Inject(SMART_LOOKUP_SERVICE_URL) private smartLookupServiceUrl: string,\r\n @Inject(SMART_VICTIM_SERVICE_URL) private smartVictimServiceUrl: string,\r\n private apollo: Apollo\r\n\r\n ) { }\r\n\r\n // getVictimInsurances(offenderId: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();\r\n // }\r\n\r\n // getVictimInsurance(id: any) {\r\n // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // } \r\n\r\n // postVictimInsurance(val: any) {\r\n // return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();\r\n // }\r\n\r\n // putVictimInsurance(id: any, val: any) {\r\n // return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();\r\n // }\r\n\r\n // deleteVictimInsurance(id: any) {\r\n // return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();\r\n // }\r\n \r\n // getVictimInsuranceTypes() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();\r\n // }\r\n\r\n // getVictimInsurancePolicyHolders() {\r\n // return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();\r\n // }\r\n\r\n// getVictimInsuranceSwitchReasons() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProviders() {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();\r\n// }\r\n\r\n// getVictimInsuranceProvider(id) {\r\n// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();\r\n// }\r\n\r\n// postProviderInformation(val: any) {\r\n// return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();\r\n// }\r\n\r\n\r\n\r\nprivate handleError(error: any) {\r\n console.error(error);\r\n return observableThrowError(error.json().error || 'Server error');\r\n}\r\n\r\ngetDrugsTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetDocketList(offenderId: number) {\r\n const queryString = `\r\n {\r\n findDockets(input: { where: { offenderId:${offenderId} } }) {\r\n totalCount\r\n message\r\n data {\r\n docketId\r\n docketNumber\r\n \r\n }\r\n }\r\n }`;\r\n\r\n return this.http.post<any>(this.serviceApiUrl, { query: queryString }).pipe(\r\n map(({ data }) => {\r\n console.log('dockets for this offender:', data.findDockets.data);\r\n return data.findDockets.data;\r\n }));\r\n\r\n\r\n}\r\n\r\ngetSupportTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetPrefixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetSuffixes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetRelationshipTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetGenders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetWeaponTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe\r\n (\r\n map(res => res)\r\n );\r\n}\r\n\r\ngetFlagOptionYesNoUnknowns() {\r\n return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n}\r\n\r\ngetContactTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactMethods() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getContactBys(){\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n\r\n }\r\n\r\ngetVictimContactPurposes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getVictimServiceTypes() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n getVictimServiceStatus() {\r\n return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getvVictimServiceTypeProgramProviders() {\r\n return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe\r\n (\r\n map(res => { \r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\ngetVictim(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe\r\n (\r\n map(res => { \r\n console.log('victim return data');\r\n console.log(res); \r\n return res;\r\n\r\n })\r\n );\r\n}\r\n\r\ngetVictimAdvocate(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\ngetVictimGuardian(val: any) {\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe\r\n (\r\n\r\n map(res => { \r\n return res;})\r\n );\r\n}\r\n\r\npostVictims(val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl+ 'Victims', tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictims(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimAdvocate(id: any, val: VictimAdvocate) {\r\n let body: string;\r\n body = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n\r\n\r\n\r\n\r\n}\r\n\r\npostVictimAdvocate(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimGuardian(id: any, val: any) {\r\n console.log('update victim guardian');\r\n console.log(val);\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimGuardian(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ngetVictimDrugUse(val: any): Observable<VictimDrugUse[]>{\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe\r\n (\r\n map((res: VictimDrugUse[]) => { \r\n return res;})\r\n );\r\n}\r\n\r\nputVictimDrugUse(id: any, val: VictimDrugUse[]) {\r\n const tempVal = JSON.stringify(val);\r\n\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimDrugUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\nputVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimWeaponUse(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\nputVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\npostVictimSupport(id: any, val: any) {\r\n const tempVal = JSON.stringify(val);\r\n return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\ndeleteVictims(val: any) {\r\n return this.http.delete(this.smartVictimServiceUrl+ 'Victims/' + val, options).pipe\r\n (\r\n map(res => { return res;})\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n// //==============Victim Serive===================================\r\n\r\ngetVictims(offenderId: number): Observable <Victim[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)\r\n .pipe(map((res: Victim[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimsByFilter(filter: VictimListFilter): Observable<Victim[]>{\r\n return this.http\r\n .post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })\r\n .pipe(map((res: Victim[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n}\r\n\r\ngetVictimListByFilter(filter: VictimListFilter) \r\n{\r\n console.log('filer in service');\r\n console.log(filter);\r\n\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)\r\n .pipe();\r\n\r\n}\r\n\r\n\r\ngetCasetNotes(victimId: number): Observable <CaseNote[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)\r\n .pipe(map((res: CaseNote[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n\r\n}\r\naddCaseNote(caseNote: CaseNote) {\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);\r\n \r\n }\r\n\r\n \r\nupdateCaseNote(caseNote: CaseNote){\r\n\r\n let body: string;\r\n body = JSON.stringify(caseNote);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options)\r\n\r\n ;\r\n }\r\n\r\ndeleteCaseNote(id: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);\r\n }\r\n\r\n getContacts(victimId: number): Observable <Contact[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)\r\n .pipe(map((res: Contact[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n addContact(contact: Contact) {\r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);\r\n \r\n }\r\n \r\n \r\n updateContact(contact: Contact){\r\n \r\n let body: string;\r\n body = JSON.stringify(contact);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options)\r\n \r\n ;\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ngetSafetyPlans(victimId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n }\r\n\r\ngetVictimServices(victimServiceId: number): Observable <VictimSafetyPlan[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)\r\n .pipe(map((res: VictimSafetyPlan[]) => {\r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n \r\n }\r\n\r\ngetVictimServiceDetail(victimServiceId: number): Observable <VictimServiceDetail[]> {\r\n\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)\r\n .pipe(map((res: VictimServiceDetail[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError));\r\n\r\n}\r\naddSafetyPlan(victimSafetyPlan: VictimSafetyPlan) {\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServices/', body, options)\r\n .pipe();\r\n \r\n }\r\nupdateSafetyPlan(victimSafetyPlan: VictimSafetyPlan){\r\n\r\n let body: string;\r\n body = JSON.stringify(victimSafetyPlan);\r\n return this.http\r\n .put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options)\r\n\r\n ;\r\n }\r\naddVictimServiceStatus(victimServiceStatusHistory: VictimServiceStatusHistory){\r\n let body: string;\r\n body = JSON.stringify(victimServiceStatusHistory);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);\r\n\r\n }\r\n\r\ngetServiceStatusHistories(victimServiceId: number){\r\n return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)\r\n .pipe(\r\n map((res: VictimServiceStatusHistory[]) => {\r\n \r\n return res;\r\n })\r\n ,catchError(this.handleError)\r\n );\r\n}\r\n\r\ndeleteSafetyPlan(victimServiceId: number, staffId: number) {\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);\r\n\r\n }\r\naddPlanProvider(victimServiceDetail:VictimServiceDetail){\r\n let body: string;\r\n body = JSON.stringify(victimServiceDetail);\r\n return this.http\r\n .post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)\r\n .pipe();\r\n\r\n }\r\n\r\ndeleteProvider(victimProgramProviderId: string, staffId: number){\r\n return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);\r\n\r\n}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { Injectable,Inject } from '@angular/core';\r\nimport { SMART_OFFENDER_SERVICE_URL} from './smart-victim.model';\r\n\r\n\r\nconst headers = new Headers({ 'Content-Type': 'application/json' });\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IntakeServicesComponent {\r\n //serviceData = environment.smartOffenderServiceUrl;\r\n constructor(private http: HttpClient,\r\n @Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string, \r\n ) {}\r\n getIntakeByOffender(offenderId: any): Observable<Intake> {\r\n return this.http\r\n .get<Intake>(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)\r\n .pipe();\r\n }\r\n\r\n updateIntakeSteps(\r\n offenderId: number,\r\n intakeStepStatus: IntakeStepStatusModel,\r\n ) {\r\n return this.http.put(\r\n this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId,\r\n intakeStepStatus,\r\n );\r\n }\r\n}\r\n\r\nexport interface Intake {\r\n intakeId: number;\r\n offenderId: number;\r\n intakeOffenderReportStatusId?: any;\r\n startDate: string;\r\n endDate?: any;\r\n assignmentId?: any;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatus {\r\n intakeStepStatusId: number;\r\n intakeId: number;\r\n intakeStepId: string;\r\n completedDate: Date;\r\n modifiedBy: number;\r\n}\r\n\r\nexport interface IntakeStepStatusModel\r\n{\r\n offenderId: number;\r\n intakeStepId: string;\r\n modifiedBy: number;\r\n}\r\n\r\nexport class IntakeStep{\r\n public static PhysicalInformation = \"PHYSIN\";\r\n public static Photo = \"PHOTOS\";\r\n public static HousingInformation = \"HOUSE\";\r\n public static DocketInformation = \"DOCKET\";\r\n public static Alias = \"ALIAS\";\r\n public static IntakeBasicInformation = \"INTKBI\";\r\n public static ContactInformation = \"CONTCT\";\r\n public static DeceasedInformation = \"DEATH\";\r\n public static DriversLicense = \"DRVLIC\";\r\n public static EmploymentInformation = \"EMPLOY\";\r\n public static GangAffiliation = \"GANG\";\r\n public static HealthInsurance = \"HLTHINS\";\r\n public static Identification = \"IDNTFCTN\";\r\n public static InternetIdentifier = \"INTERNETID\";\r\n public static MilitaryService = \"MLTSVC\";\r\n public static School = \"SCHOOL\";\r\n public static SelectiveService = \"SLCTVSVC\";\r\n public static Vehicle = \"VEHICLE\";\r\n public static VictimInformation = \"VICTIM\";\r\n public static WarrantInformation = \"WARRNT\";\r\n public static RunningRecord = \"RUNREC\";\r\n public static Signature = \"SIGN\";\r\n}","import { DOCUMENT, DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild, Input, Output, AfterViewInit,Inject} from '@angular/core';\r\nimport { ActivatedRoute,Router } from '@angular/router';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { MatPaginator, MatSort,MatSnackBar } from '@angular/material';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material';\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { ElementsVictim, VictimListFilter, Victim,SMART_WARRANT_URL} from './smart-victim.model'\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\n//import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\n\r\nimport {\r\n IntakeStepStatusModel,\r\n IntakeStep,\r\n IntakeServicesComponent,\r\n} from './intake.service';\r\n@Component({\r\n selector: 'csmart-victim',\r\n templateUrl: './smart-victim.component.html',\r\n styleUrls: ['./smart-victim.component.css']\r\n})\r\nexport class NgcSmartVictimComponent implements OnInit, AfterViewInit {\r\n \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\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\r\n doSpin: boolean = false;\r\n showListFlag: boolean = false;\r\n msg: string = \"\";\r\n isIntake = false;\r\n\r\n\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\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\r\n cancel(){\r\n this.showDetail = false;\r\n this.victimDetail = <Victim>{};\r\n }\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\r\n ngOnInit() {\r\n\r\n var data = this.route.snapshot.data;\r\n var myPath = this.router.url.slice(-10);\r\n\r\n console.log('smart-victim ngOnInit');\r\n console.log(this.intakeFlag);\r\n console.log(myPath)\r\n\r\n\r\n\r\n if (this.intakeFlag || myPath =='victimHome'){\r\n\r\n this.isIntake= true;\r\n }\r\n\r\n \r\n this.displayedColumns = ['lastName', 'firstName'];\r\n \r\n if (this.showRelationshipColumn == true || myPath =='victimList' || myPath =='victimHome'){\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 (this.showOffenderPhoneColumn == true || myPath =='victimList' || myPath =='victimHome' ){\r\n this.displayedColumns.push(\"homePhone\");\r\n } \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 (this.showSearchForm == false || myPath =='victimList'|| myPath =='victimHome' ){\r\n \r\n \r\n var myOffenderId;\r\n if (this.offenderId){\r\n myOffenderId = this.offenderId\r\n }\r\n else\r\n {\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\r\n console.log('victimListFilter in smar-victim componenet');\r\n console.log(victimListFilter);\r\n\r\n this.victimService.getVictimListByFilter(victimListFilter).subscribe((data: Victim[]) => {\r\n this.victimListDataSource.data = data;\r\n \r\n this.victims = data;\r\n\r\n data.forEach( d =>{ \r\n if (d.homePhone == null|| d.homePhone == \"\"){\r\n d.homePhone = d.cellPhone\r\n }\r\n if (d.homePhone == null || d.homePhone == \"\"){\r\n d.homePhone = d.workPhone\r\n }\r\n });\r\n console.log('victim data at line 179');\r\n console.log(this.victims);\r\n console.log('showListFlag');\r\n console.log(this.showListFlag);\r\n this.showListFlag = true;\r\n if (data.length == 0)\r\n {\r\n this.msg=\"No Record Found!\";\r\n }\r\n \r\n });\r\n\r\n }\r\n else{\r\n \r\n console.log('find filter');\r\n console.log(this.victimListFilter);\r\n\r\n if ( this.showListFlag === true){\r\n\r\n if (this.victimListFilter != null){\r\n this.victimService.getVictimListByFilter(this.victimListFilter).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 }\r\n\r\n formatPhoneNumber(phoneNumberString) {\r\n if (!phoneNumberString) return '';\r\n var cleaned = ('' + phoneNumberString).replace(/\\D/g, '');\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return '(' + match[1] + ') ' + match[2] + '-' + match[3];\r\n }\r\n return '';\r\n }\r\n\r\n saveIntake() {\r\n if (!this.isIntake) {\r\n return;\r\n }\r\n const intakeStep = <IntakeStepStatusModel>{\r\n intakeStepId: IntakeStep.VictimInformation,\r\n offenderId: this.offenderId,\r\n modifiedBy: this.staffId,\r\n };\r\n this.intakeService\r\n .updateIntakeSteps(this.offenderId, intakeStep)\r\n .subscribe((res) => {\r\n console.log('save intake step.')\r\n this.snackBar.open('Status Saved.', '', {\r\n duration: 3000,\r\n });\r\n //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });\r\n\r\n this.document.location.href = `${this.smartWarrantUrl}/warrant`;\r\n });\r\n }\r\n \r\n goToCaseNote(victimId: number) {\r\n this.router.navigate(['casenote', victimId]); \r\n }\r\n\r\n goToSaftyPlan(victimId: number) {\r\n this.router.navigate(['saftyPlan', victimId]); \r\n }\r\n \r\n\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((data: Victim[]) => {\r\n \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 }\r\n else{\r\n this.msg=\"No record found!\";\r\n }\r\n },err=>{\r\n this.doSpin=!this.doSpin;\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {MatDialog, MatDialogRef} from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-common-dialog',\r\n templateUrl: './common-dialog.component.html',\r\n styleUrls: ['./common-dialog.component.css']\r\n})\r\nexport class CommonDialogComponent implements OnInit {\r\npublic title: string;\r\npublic message: string;\r\npublic cmdYesTitle: string =\"Yes\";\r\npublic cmdNoTitle: string = \"No\";\r\n\r\n constructor(public commondialogRef: MatDialogRef<CommonDialogComponent>) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CommonDialogService {\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(title: string, message: string, cmdYesTitle: string, cmdNoTitle: string): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdYesTitle;\r\n dialogRef.componentInstance.cmdNoTitle = cmdNoTitle;\r\n return dialogRef.afterClosed();\r\n }\r\n\r\n public warning(title: string, message: string, cmdOkTitle: string, ): Observable<boolean> {\r\n\r\n let dialogRef: MatDialogRef<CommonDialogComponent>;\r\n\r\n dialogRef = this.dialog.open(CommonDialogComponent);\r\n dialogRef.componentInstance.title = title;\r\n dialogRef.componentInstance.message = message;\r\n dialogRef.componentInstance.cmdYesTitle = cmdOkTitle;\r\n \r\n return dialogRef.afterClosed();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl,Validators,ValidatorFn } from '@angular/forms';\r\nimport { MatDialog,MatSnackBar,MatRadioChange, MatInput, MatSelect, MatRadioGroup } from '@angular/material';\r\nimport { Victim,VictimDrugUse, Contact, VictimAdvocate,VictimGuardian,VictimWeaponUse,VictimSupport } from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { DatePipe, formatDate, Location} from '@angular/common';\r\nimport { map } from 'rxjs/operators';\r\nimport { coerceBooleanProperty}from'@angular/cdk/coercion';\r\nimport { Moment } from 'moment';\r\nimport { truncate } from 'fs';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { AddressValidators, SmartAddressComponent } from '@csmart/ngc-smart-address';\r\n\r\nexport interface BooleanFn {\r\n (): boolean;\r\n}\r\nexport interface StringFn {\r\n (): string;\r\n}\r\n\r\nexport function conditionalValidator(predicate: BooleanFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()) {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n\r\nexport function stringConditionalValidator(predicate: StringFn,\r\n validator: ValidatorFn,\r\n errorNamespace?: string): ValidatorFn {\r\nreturn (formControl => {\r\nif (!formControl.parent) {\r\nreturn null;\r\n}\r\nlet error = null;\r\nif (predicate()=='YS') {\r\nerror = validator(formControl);\r\n}\r\nif (errorNamespace && error) {\r\nconst customError = {};\r\ncustomError[errorNamespace] = error;\r\nerror = customError\r\n}\r\nreturn error;\r\n})\r\n}\r\n\r\n@Component({\r\n selector: 'csmart-victim-detail',\r\n templateUrl: './smart-victim-detail.component.html',\r\n styleUrls: ['./smart-victim-detail.component.css'],\r\n providers: [CommonDialogService]\r\n})\r\nexport class SmartVictimDetailComponent implements OnInit, OnChanges {\r\n @Input() victimDetail = <Victim>{};\r\n @Input() staffId: number;\r\n @Input() offenderId: number;\r\n @Input() isIntake: boolean;\r\n\r\n @Output() onSave = new EventEmitter();\r\n @Output() onCancel = new EventEmitter();\r\n \r\n\r\n victimId: number;\r\n victimForm: FormGroup;\r\n\r\n drugs: any;\r\n victimSupportTypes: any;\r\n prefixes: any;\r\n //victim: Victim = <Victim>{};\r\n suffixes: any;\r\n relationshipTypes: any;\r\n genders: any;\r\n docketlist: any;\r\n weaponTypes: any;\r\n flagOption: any;\r\n selectedWeaponTypes: any;\r\n selectedVictimSupportTypes: any;\r\n selectedDrugs: any;\r\n id: any;\r\n hidden: boolean=true;\r\n private sub: any;\r\n victimAdvocate: VictimAdvocate = <VictimAdvocate>{};\r\n victimGuardian: VictimGuardian = <VictimGuardian>{}; \r\n victimWeaponUse: VictimWeaponUse;\r\n victimSupport: VictimSupport;\r\n victimDrugUse: VictimDrugUse;\r\n result: any;\r\n editMode: any;\r\n guardianTabFlag: boolean = false;\r\n advocateTabFlag: boolean = false;\r\n commonChildrenDivFlag: boolean = false;\r\n cpoExpirationDivFlag : boolean = false;\r\n supportInPlaceDivFlag: boolean = false;\r\n weaponInvolvedDivFlag: boolean = false;\r\n drugUseDivFlag: boolean = false;\r\n showDelete: boolean = false;\r\n addressId: number = 0;\r\n advocateAddressId: number = 0;\r\n guardianAddressId: number = 0;\r\n datePipe = new DatePipe('en-US');\r\n emailPattern = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\r\n phoneNumber = \"\\\\d{10}\";\r\n editVictim: Victim = <Victim>{};\r\n victimAge: number;\r\n otherWeaponFlag: boolean = false;\r\n otherDrugFlag: boolean = false;\r\n\r\n contactDataSource= new MatTableDataSource();\r\n contactList: Contact[];\r\n guardianPhoneExistFlag: boolean = false;\r\n advocatePhoneExistFlag: boolean = false;\r\n phoneValidationFlag: boolean = false;\r\n guaridanNoPhoneChkFlag: boolean = true;\r\n advocateNoPhoneChkFlag: boolean = true;\r\n\r\n addressValidators: AddressValidators = {\r\n street: [],\r\n street2: [],\r\n city: [],\r\n stateCode: [],\r\n zipCode: [],\r\n psaCode: [],\r\n };\r\n\r\n constructor(\r\n private location: Location,\r\n private formBuilder: FormBuilder, \r\n private dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private commonDialogService: CommonDialogService,\r\n private victimService: NgcSmartVictimService) {\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n \r\n this.victimForm = this.formBuilder.group({\r\n underSupervisionFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n victimOffenderRelationshipTypeId:new FormControl('', Validators.compose([ Validators.required])),\r\n lastName: new FormControl('', Validators.compose([ Validators.required])),\r\n firstName: new FormControl('', Validators.compose([ Validators.required])),\r\n middleName: new FormControl('', ),\r\n prefixId: new FormControl('', ),\r\n suffixId: new FormControl('', ),\r\n genderCode:new FormControl('', ),\r\n birthDate: new FormControl('', ),\r\n homePhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n cellPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n workPhone: new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n email:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n minorFlag:new FormControl('', Validators.compose([ Validators.required])),\r\n victimAdvocateFlag: new FormControl('', Validators.compose([ Validators.required])),\r\n guardianLastName:new FormControl('', ),\r\n guardianFirstName: new FormControl('',),\r\n guardianPrefixId:new FormControl('', ),\r\n guardianSuffixId: new FormControl('', ), \r\n //guardianGender:new FormControl('', ),\r\n guardianBirthDate: new FormControl('', ),\r\n guardianNoPhoneFlag:new FormControl(true),\r\n\r\n guardianHomePhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianCellPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n guardianWorkPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ] )),\r\n \r\n \r\n guardianEmail:new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n advocateNoPhoneFlag: new FormControl(true),\r\n \r\n\r\n advocateWorkPhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateHomePhone:new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n advocateCellPhone: new FormControl('', Validators.compose([ Validators.pattern(this.phoneNumber) ] )),\r\n \r\n\r\n advocateSuffixId:new FormControl('', ),\r\n advocatePrefixId: new FormControl('', ),\r\n advocateFirstName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required, 'illuminatiError')),\r\n advocateLastName: new FormControl('', stringConditionalValidator(() => this.victimForm.get('victimAdvocateFlag').value, Validators.required,'illuminatiError')),\r\n advocateEmail: new FormControl('', Validators.compose([Validators.pattern(this.emailPattern) ])),\r\n emergencyContact: new FormControl('', ),\r\n emergencyContactPhone:new FormControl('', Validators.compose([Validators.pattern(this.phoneNumber) ])),\r\n emergencyChildren: new FormControl('', ),\r\n emergencyCpo: new FormControl('', ),\r\n emergencyDrug:new FormControl('', ),\r\n emergencySupport: new FormControl('', ),\r\n emergencyWeapon: new FormControl('', ),\r\n drug: new FormControl('', ),\r\n weapon: new FormControl('', ),\r\n support: new FormControl('', ),\r\n commonChildrenFlag: new FormControl('', ),\r\n commonChildrenNumber:new FormControl('', ),\r\n cpoExpirationFlag: new FormControl('', ),\r\n cpoExpirationDate: new FormControl('', ),\r\n accessRisk:new FormControl('', ),\r\n drugUseFlag:new FormControl('', ),\r\n supportInPlaceFlag: new FormControl('', ),\r\n weaponInvolvedFlag: new FormControl('', ),\r\n otherWeapon: new FormControl('', ),\r\n otherDrug: new FormControl('', ),\r\n alcoholUseFlag:new FormControl('', ),\r\n victimSupports:new FormControl('', ),\r\n victimWeaponUses:new FormControl('', ),\r\n victimDrugUses:new FormControl('', ),\r\n allowCsosaContactFlag: new FormControl('', ),\r\n \r\n \r\n});\r\n\r\n this.victimForm.markAsPristine();\r\n\t\tthis.victimForm.markAsUntouched();\r\n\r\n }\r\n\r\n private _getVictim() {\r\n if (this.victimId === 0) { \r\n \r\n return; \r\n };\r\n\t\tif (this.editMode == true) {\r\n console.log('find victim id inside getVictim');\r\n console.log(this.victimId);\r\n\r\n if (this.victimId === undefined) {\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n });\r\n }\r\n\r\n this.victimService.getVictim(this.victimId)\r\n .subscribe((victim: Victim) => {\r\n console.log('victim data 1');\r\n console.log(victim);\r\n this.editVictim = <Victim>victim;\r\n \r\n var supportsData =[];\r\n this.editVictim.victimSupports.forEach( t=>{supportsData.push(t.victimSupportTypeId); } )\r\n const victimSupportsControl = this.victimForm.get('victimSupports');\r\n victimSupportsControl.setValue(supportsData);\r\n\r\n\r\n var weaponUsesData =[];\r\n var otherWeapon = \"\";\r\n this.editVictim.victimWeaponUses.forEach( t=>{\r\n weaponUsesData.push(t.weaponTypeId); \r\n if (t.weaponTypeId == \"OTHER\"){\r\n otherWeapon = t.otherWeapon;\r\n this.otherWeaponFlag = true;\r\n }\r\n \r\n } )\r\n\r\n\r\n const victimWeaponUsesControl = this.victimForm.get('victimWeaponUses');\r\n victimWeaponUsesControl.setValue(weaponUsesData);\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValue(otherWeapon);\r\n\r\n\r\n //this.weaponUsesData = this.editVictim.victimWeaponUses;\r\n \r\n var drugUseData =[];\r\n var otherDrug = \"\";\r\n\r\n console.log('load this.editVictim.victimDrugUses');\r\n console.log(this.editVictim.victimDrugUses);\r\n this.editVictim.victimDrugUses.forEach( t=>{\r\n \r\n if (t.drugTypeId === null){\r\n otherDrug = t.otherDrug;\r\n this.otherDrugFlag = true;\r\n t.drugTypeId ='OTHER';\r\n\r\n }\r\n drugUseData.push(t.drugTypeId);\r\n \r\n } )\r\n\r\n console.log('this.editVictim.victimDrugUses after push');\r\n console.log(drugUseData);\r\n\r\n\r\n\r\n const victimDrugUsesControl = this.victimForm.get('victimDrugUses');\r\n victimDrugUsesControl.setValue(drugUseData);\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValue(otherDrug);\r\n\r\n\r\n\r\n //contact\r\n this.victimService.getContacts(this.victimId).subscribe(\r\n contactList => {\r\n console.log('contactList');\r\n console.log(contactList);\r\n this.contactList = contactList; \r\n this.contactDataSource.data = this.contactList;\r\n }\r\n );\r\n\r\n //no phone field\r\n\r\n if ( this.editVictim.guardianNoPhoneFlag === false ){\r\n this.victimForm.patchValue({guardianNoPhoneFlag: false});\r\n }\r\n if ( this.editVictim.advocateNoPhoneFlag === false ){\r\n this.victimForm.patchValue({advocateNoPhoneFlag: false});\r\n }\r\n\r\n }, error => {\r\n this.snackBar.open(\"Error occured while retriving Victim Information. Please try again.\");\r\n });\r\n return;\r\n\t\t} else {\r\n //new\r\n\r\n }\r\n }\r\n \r\n ngOnChanges() {\r\n \r\n }\r\n\r\n onAddressChange(addressId) { \r\n this.victimForm.patchValue({addressId: addressId})\r\n this.addressId = addressId;\r\n }\r\n onGuardianAddressChange(MyGuardianAddressId) { \r\n this.victimForm.patchValue({guardianAddressId: MyGuardianAddressId})\r\n this.guardianAddressId = MyGuardianAddressId;\r\n }\r\n onAdvocateAddressChange(MyAdvocateAddressId) { \r\n this.victimForm.patchValue({advocateAddressId: MyAdvocateAddressId})\r\n this.advocateAddressId = MyAdvocateAddressId;\r\n }\r\n cancel() {\r\n this.victimForm.reset();\r\n}\r\n\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n console.log('show offenderId');\r\n console.log(this.offenderId);\r\n console.log('show staffId');\r\n console.log(this.staffId);\r\n console.log('show isIntake');\r\n console.log(this.isIntake);\r\n //this.victimDetail.guardianNoPhoneFlag = true;\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n //this.victimForm.get('guardianNoPhoneFlag').setValue(true);\r\n\r\n //required field\r\n const requiredImplementation = {get:function():boolean{if(this._required){return this._required;}\r\n if(this.ngControl&&this.ngControl.control&&this.ngControl.control.validator\r\n ){const emptyValueControl=Object.assign({},\r\n this.ngControl.control);(emptyValueControl as any).value=null;\r\n return('required'in(this.ngControl.control.validator(emptyValueControl)||{}));}\r\n return false;},set:function(value:boolean){this._required=coerceBooleanProperty(value);},};\r\n Object.defineProperty(MatInput.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatSelect.prototype,'required',requiredImplementation,);\r\n Object.defineProperty(MatRadioGroup.prototype,'required',requiredImplementation,);\r\n //required field end\r\n\r\n \r\n\r\n if (this.victimDetail!=null) {\r\n // edit record\r\n this.editMode = true; \r\n this.showDelete= true; \r\n this.victimId = this.victimDetail.victimId;\r\n \r\n this.guardianTabFlag = this.victimDetail.minorFlag;\r\n\r\n \r\n if (this.victimDetail.victimAdvocateFlag=='YS'){\r\n this.advocateTabFlag = true;\r\n }\r\n\r\n if (this.otherWeaponFlag == true){\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n otherWeaponControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n if (this.otherDrugFlag == true){\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n otherDrugControl.setValidators(Validators.required);\r\n\r\n }\r\n\r\n this.cpoExpirationDivFlag =this.victimDetail.cpoExpirationFlag;\r\n this.commonChildrenDivFlag = this.victimDetail.commonChildrenFlag;\r\n this.supportInPlaceDivFlag= this.victimDetail.supportInPlaceFlag;\r\n this.weaponInvolvedDivFlag= this.victimDetail.weaponInvolvedFlag;\r\n this.drugUseDivFlag= this.victimDetail.drugUseFlag;\r\n this.addressId = this.victimDetail.addressId;\r\n this.guardianAddressId = this.victimDetail.guardianAddressId;\r\n this.advocateAddressId = this.victimDetail.advocateAddressId;\r\n\r\n this._getVictim();\r\n\r\n } else {\r\n //add new record\r\n this.victimForm.patchValue({guardianNoPhoneFlag: true});\r\n this.victimForm.patchValue({advocateNoPhoneFlag: true});\r\n \r\n }\r\n\r\n this.victimService.getFlagOptionYesNoUnknowns().subscribe(\r\n (items: any) => {\r\n this.flagOption = items;\r\n }\r\n );\r\n this.victimService.getGenders().subscribe(\r\n (items: any) => {\r\n this.genders = items;\r\n }\r\n );\r\n this.victimService.getPrefixes().subscribe(\r\n (items: any) => {\r\n this.prefixes = items;\r\n }\r\n );\r\n this.victimService.getSuffixes().subscribe(\r\n (items: any) => {\r\n this.suffixes = items;\r\n }\r\n );\r\n this.victimService.getRelationshipTypes().subscribe(\r\n (items: any) => {\r\n this.relationshipTypes = items.filter( (y) => (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM' ));\r\n }\r\n );\r\n this.victimService.getSupportTypes().subscribe(\r\n (items: any) => {\r\n this.victimSupportTypes = items;\r\n }\r\n );\r\n this.victimService.getWeaponTypes().subscribe(\r\n (items: any) => {\r\n this.weaponTypes = items;\r\n }\r\n );\r\n this.victimService.getDrugsTypes().subscribe(\r\n (items: any) => {\r\n console.log('drug lookup items');\r\n console.log(items);\r\n this.drugs = items;\r\n this.drugs.push({drugTypeId: 'OTHER', name: 'Other'});\r\n console.log(this.drugs);\r\n }\r\n );\r\n // this.victimService.getDocketList(this.offenderId).subscribe(\r\n // (items: any) => {\r\n // this.docketlist = items;\r\n // }\r\n\r\n // );\r\n\r\n this.victimForm.get('minorFlag').valueChanges\r\n .subscribe(value => {\r\n // this.victimForm.get('guardianFirstName').updateValueAndValidity();\r\n // this.victimForm.get('guardianLastName').updateValueAndValidity();\r\n this.victimForm.get('guardianWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('guardianHomePhone').updateValueAndValidity();\r\n this.victimForm.get('guardianCellPhone').updateValueAndValidity();\r\n \r\n });\r\n\r\n\r\n this.victimForm.get('victimAdvocateFlag').valueChanges\r\n .subscribe(value => {\r\n this.victimForm.get('advocateFirstName').updateValueAndValidity();\r\n this.victimForm.get('advocateLastName').updateValueAndValidity();\r\n this.victimForm.get('advocateWorkPhone').updateValueAndValidity();\r\n this.victimForm.get('advocateHomePhone').updateValueAndValidity();\r\n this.victimForm.get('advocateCellPhone').updateValueAndValidity();\r\n \r\n });\r\n\r\n }\r\n\r\n back(){\r\n\r\n this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n\r\n deleteVictim() {\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this Victim?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this.victimService.deleteVictims(this.victimDetail.victimId)\r\n .subscribe(result => {\r\n this.snackBar.open('Delete Successfully!', '', {\r\n duration: 3000, });}\r\n \r\n );\r\n // this.router.navigate(['victim']);\r\n this.onSave.emit(this.victimDetail);\r\n }\r\n });\r\n\r\n }\r\n\r\n radioMinorChange($event: MatRadioChange){\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n //const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n\r\n \r\n if ($event.value === true) {\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n //this.victimForm.value.guardianNoPhoneFlag = true;\r\n \r\n \r\n }\r\n else{\r\n this.guardianTabFlag = false;\r\n // guardianLastNameControl.clearValidators();\r\n // guardianFirstNameControl.clearValidators();\r\n \r\n \r\n }\r\n\r\n\t\t//guardianLastNameControl.updateValueAndValidity();\r\n // guardianFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioAdvocateChange($event: MatRadioChange){\r\n\r\n const advocateLastNameControl = this.victimForm.get('advocateLastName');\r\n const advocateFirstNameControl = this.victimForm.get('advocateFirstName');\r\n // const advocateNoPhoneControl = this.victimForm.get('advocateNoPhoneFlag');\r\n \r\n \r\n\r\n if ($event.value === \"YS\") {\r\n this.advocateTabFlag = true;\r\n advocateLastNameControl.setValidators(Validators.required);\r\n advocateFirstNameControl.setValidators(Validators.required);\r\n \r\n \r\n }\r\n else{\r\n this.advocateTabFlag = false;\r\n \r\n advocateLastNameControl.clearValidators();\r\n advocateFirstNameControl.clearValidators();\r\n\r\n }\r\n\r\n advocateLastNameControl.updateValueAndValidity();\r\n advocateFirstNameControl.updateValueAndValidity();\r\n \r\n }\r\n\r\n radioCicChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.commonChildrenDivFlag = true;\r\n // requrie field\r\n this.setValidators('commonChildren');\r\n }\r\n else{\r\n this.commonChildrenDivFlag = false;\r\n }\r\n }\r\n\r\n setValidators(type) {\r\n if(type == 'commonChildren'){\r\n this.victimForm.get('commonChildrenNumber').clearValidators();\r\n this.victimForm.get('commonChildrenNumber').setValidators(Validators.required);\r\n }\r\n else if (type == 'cpo'){\r\n this.victimForm.get('cpoExpirationDate').clearValidators();\r\n this.victimForm.get('cpoExpirationDate').setValidators(Validators.required);\r\n\r\n }\r\n }\r\n radioSupportChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.supportInPlaceDivFlag = true;\r\n }\r\n else{\r\n this.supportInPlaceDivFlag = false;\r\n }\r\n }\r\n radioWeaponChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.weaponInvolvedDivFlag = true;\r\n }\r\n else{\r\n this.weaponInvolvedDivFlag = false;\r\n }\r\n }\r\n radioDrugChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.drugUseDivFlag = true;\r\n }\r\n else{\r\n this.drugUseDivFlag = false;\r\n }\r\n }\r\n\r\n radioCpoChange($event: MatRadioChange){\r\n if ($event.value === true) {\r\n this.cpoExpirationDivFlag = true;\r\n this.setValidators('cpo');\r\n }\r\n else{\r\n this.cpoExpirationDivFlag = false;\r\n }\r\n }\r\n\r\n handleDOBChange($event ){\r\n var ageDifMs = Date.now() - $event.value;\r\n var ageDate = new Date(ageDifMs); \r\n if( Math.abs(ageDate.getUTCFullYear() - 1970) <= 18){\r\n \r\n this.snackBar.open('Victim is a Minor. This information is a sensitive and should not be disclosed to any unauthorized parties. Contact the legal guardian.', '', {\r\n duration: 6000,});\r\n const minorControl = this.victimForm.get('minorFlag');\r\n minorControl.setValue(true);\r\n // const guardianLastNameControl = this.victimForm.get('guardianLastName');\r\n // const guardianFirstNameControl = this.victimForm.get('guardianFirstName');\r\n \r\n\r\n this.guardianTabFlag = true;\r\n // guardianLastNameControl.setValidators(Validators.required);\r\n // guardianFirstNameControl.setValidators(Validators.required);\r\n\r\n \r\n \r\n }\r\n\r\n }\r\n checkOtherWeapon(WeaponUse){\r\n\r\n const otherWeaponControl = this.victimForm.get('otherWeapon');\r\n if (WeaponUse.includes(\"OTHER\")){\r\n this.otherWeaponFlag = true;\r\n otherWeaponControl.setValidators(Validators.required)\r\n\r\n }else{\r\n this.otherWeaponFlag = false;\r\n otherWeaponControl.clearValidators();\r\n }\r\n otherWeaponControl.updateValueAndValidity();\r\n }\r\n\r\n checkOtherDrug(DrugUse){\r\n\r\n const otherDrugControl = this.victimForm.get('otherDrug');\r\n if (DrugUse.includes(\"OTHER\")){\r\n this.otherDrugFlag = true;\r\n otherDrugControl.setValidators(Validators.required)\r\n \r\n\r\n }else{\r\n this.otherDrugFlag = false;\r\n otherDrugControl.clearValidators();\r\n \r\n\r\n }\r\n otherDrugControl.updateValueAndValidity();\r\n }\r\n \r\n //#region \"save victim\"\r\n saveVictim() {\r\n //var myPath = this.router.url.slice(-10)\r\n\r\n //guardian phone logic\r\n if (!this.victimForm.value.guardianNoPhoneFlag)\r\n {\r\n if (this.victimForm.value.guardianHomePhone){\r\n if (this.victimForm.value.guardianHomePhone !== null){\r\n if (this.victimForm.value.guardianHomePhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.guardianWorkPhone !== undefined){\r\n if (this.victimForm.value.guardianWorkPhone !== null){\r\n if (this.victimForm.value.guardianWorkPhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.guardianCellPhone){\r\n if (this.victimForm.value.guardianCellPhone !== null){\r\n if (this.victimForm.value.guardianCellhone !== \"\"){\r\n this.guardianPhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n \r\n console.log('this.victimForm.value.guardianNoPhoneFlag');\r\n console.log(this.victimForm.value.guardianNoPhoneFlag);\r\n console.log('this.guardianPhoneExistFlag');\r\n console.log(this.guardianPhoneExistFlag);\r\n \r\n\r\n if (this.guardianPhoneExistFlag === false && this.victimForm.value.guardianNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the guardian phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n console.log('this.phoneValidationFlag');\r\n console.log(this.phoneValidationFlag);\r\n\r\n//advocate phone logic\r\nif (!this.victimForm.value.advocateNoPhoneFlag)\r\n{\r\n if (this.victimForm.value.advocateHomePhone){\r\n if (this.victimForm.value.advocateHomePhone !== null){\r\n if (this.victimForm.value.advocateHomePhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n if (this.victimForm.value.advocateWorkPhone !== undefined){\r\n if (this.victimForm.value.advocateWorkPhone !== null){\r\n if (this.victimForm.value.advocateWorkPhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (this.victimForm.value.advocateCellPhone){\r\n if (this.victimForm.value.advocateCellPhone !== null){\r\n if (this.victimForm.value.advocateCellhone !== \"\"){\r\n this.advocatePhoneExistFlag = true;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n console.log('this.victimForm.value.advocateNoPhoneFlag');\r\n console.log(this.victimForm.value.advocateNoPhoneFlag);\r\n console.log('this.advocatePhoneExistFlag');\r\n console.log(this.advocatePhoneExistFlag);\r\n\r\n if(this.advocatePhoneExistFlag === false && this.victimForm.value.advocateNoPhoneFlag === false)\r\n {\r\n \r\n this.phoneValidationFlag = true;\r\n this.commonDialogService\r\n .warning('', 'Please check the advocate phone field. You have to fill one of the three phone fileds.', 'Ok')\r\n .subscribe(res => {this.result = res;\r\n \r\n });\r\n }\r\n\r\n\r\n console.log('this.phoneValidationFlag 1');\r\n console.log(this.phoneValidationFlag);\r\n if ( this.phoneValidationFlag === false){\r\n\r\n\r\n if (this.victimDetail === null){\r\n //insert new victim\r\n \r\n var myVictimSupports = [];\r\n if (this.victimForm.value.victimSupports){\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimForm.value.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n myVictimSupports.push(victimSupport);\r\n });\r\n }\r\n\r\n var myVictimDrugUses = [];\r\n console.log('this.victimForm.value.victimDrugUses during save');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n if (this.victimForm.value.victimDrugUses){\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n\r\n if (element ===\"OTHER\" || element === \"\" || element === null){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null; \r\n }\r\n \r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimForm.value.victimId;\r\n myVictimDrugUses.push(victimDrugUse);\r\n });\r\n }\r\n\r\n console.log('this.victimForm.value.victimDrugUses during save 1');\r\n console.log(this.victimForm.value.victimDrugUses);\r\n\r\n\r\n\r\n var myVictimWeaponUses = [];\r\n\r\n if (this.victimForm.value.victimWeaponUses){\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimForm.value.victimId;\r\n victimWeaponUse.weaponTypeId= element;\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon = this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null; \r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n myVictimWeaponUses.push(victimWeaponUse);\r\n });\r\n }\r\n\r\n const newVictim = {\r\n victimId: 0,\r\n offenderId: this.offenderId,\r\n victimOffenderRelationshipTypeId:this.victimForm.value.victimOffenderRelationshipTypeId,\r\n lastName: this.victimForm.value.lastName,\r\n firstName: this.victimForm.value.firstName,\r\n middleName: this.victimForm.value.middleName ? this.victimForm.value.middleName : null,\r\n prefixId:this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null ,\r\n suffixId:this.victimForm.value.suffixId ? this.victimForm.value.suffixId: null,\r\n birthDate:this.victimForm.value.birthDate? this.victimForm.value.birthDate : null,\r\n genderCode: this.victimForm.value.genderCode? this.victimForm.value.genderCode: null,\r\n underSupervisionFlag: this.victimForm.value.underSupervisionFlag,\r\n minorFlag: this.victimForm.value.minorFlag,\r\n victimAdvocateFlag: this.victimForm.value.victimAdvocateFlag,\r\n homePhone: this.victimForm.value.homePhone ? this.victimForm.value.homePhone : null,\r\n workPhone: this.victimForm.value.workPhone ? this.victimForm.value.workPhone : null,\r\n cellPhone: this.victimForm.value.cellPhone ? this.victimForm.value.cellPhone: null,\r\n email: this.victimForm.value.email ? this.victimForm.value.email: null,\r\n addressId: this.victimForm.value.addressId ? this.victimForm.value.addressId: 1,\r\n emergencyContact: this.victimForm.value.emergencyContact ? this.victimForm.value.emergencyContact : null,\r\n emergencyContactPhone: this.victimForm.value.emergencyContactPhone ? this.victimForm.value.emergencyContactPhone: null ,\r\n commonChildrenFlag: this.victimForm.value.commonChildrenFlag,\r\n commonChildrenNumber: this.victimForm.value.commonChildrenNumber,\r\n cpoExpirationFlag: this.victimForm.value.cpoExpirationFlag,\r\n cpoExpirationDate: this.victimForm.value.cpoExpirationDate ? this.datePipe.transform(this.victimForm.value.startDate, 'short') : null,\r\n supportInPlaceFlag: this.victimForm.value.supportInPlaceFlag,\r\n weaponInvolvedFlag: this.victimForm.value.weaponInvolvedFlag,\r\n drugUseFlag: this.victimForm.value.drugUseFlag,\r\n alcoholUseFlag: this.victimForm.value.alcoholUseFlag,\r\n accessRisk:this.victimForm.value.accessRisk,\r\n modifiedBy:this.staffId,\r\n vVictimAdvocate: null,\r\n vVictimGuardian: null,\r\n victimDrugUses: myVictimDrugUses,\r\n victimSupports: myVictimSupports,\r\n victimWeaponUses: myVictimWeaponUses,\r\n\r\n advocateFirstName: null,\r\n advocateLastName: null,\r\n advocateEmail: null,\r\n advocatePrefixId: null,\r\n advocateSuffixId: null,\r\n advocateNoPhoneFlag: null,\r\n advocateHomePhone: null,\r\n advocateWorkPhone: null,\r\n advocateCellPhone: null,\r\n advocateAddressId: null,\r\n guardianFirstName: null,\r\n guardianLastName: null,\r\n guardianEmail: null,\r\n guardianPrefixId: null,\r\n guardianSuffixId: null,\r\n guardianNoPhoneFlag: null,\r\n guardianHomePhone: null,\r\n guardianWorkPhone: null,\r\n guardianCellPhone: null,\r\n guardianAddressId: null,\r\n guardianBirthDate: null,\r\n relationship: null,\r\n allowCsosaContactFlag: null\r\n \r\n\r\n }\r\n\r\n if (this.addressId == 0){\r\n newVictim.addressId = null;\r\n } else {\r\n newVictim.addressId = this.addressId;\r\n }\r\n \r\n newVictim.advocateAddressId = this.advocateAddressId;\r\n newVictim.guardianAddressId = this.guardianAddressId;\r\n console.log('newVictim');\r\n console.log(newVictim);\r\n this.victimService.postVictims(newVictim).subscribe(\r\n (items: any) => {\r\n \r\n const id = items ? items.victimId : '';\r\n\r\n if (this.victimForm.value.victimAdvocateFlag == \"YS\"){\r\n console.log('add advocate');\r\n const victimAdvocate: VictimAdvocate = {\r\n victimAdvocateId: id,\r\n lastName: this.victimForm.value.advocateLastName,\r\n firstName: this.victimForm.value.advocateFirstName,\r\n prefixId: this.victimForm.value.advocatePrefixId,\r\n suffixId: this.victimForm.value.advocateSuffixId,\r\n addressId: this.advocateAddressId ? this.advocateAddressId: null,\r\n noPhoneFlag: this.victimForm.value.advocateNoPhoneFlag ? this.victimForm.value.advocateNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.advocateHomePhone,\r\n workPhone: this.victimForm.value.advocateWorkPhone,\r\n cellPhone: this.victimForm.value.advocateCellPhone,\r\n email: this.victimForm.value.advocateEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimAdvocate(id, victimAdvocate).subscribe();\r\n }\r\n \r\n if (this.victimForm.value.minorFlag == true){\r\n \r\n const victimGuardian: VictimGuardian = {\r\n victimGuardianId: id,\r\n lastName: this.victimForm.value.guardianLastName,\r\n firstName: this.victimForm.value.guardianFirstName,\r\n prefixId: this.victimForm.value.guardianPrefixId, \r\n suffixId: this.victimForm.value.guardianSuffixId,\r\n birthDate: this.victimForm.value.guardianBirthDate,\r\n addressId: this.guardianAddressId? this.guardianAddressId: null,\r\n noPhoneFlag: this.victimForm.value.guardianNoPhoneFlag? this.victimForm.value.guardianNoPhoneFlag: null,\r\n homePhone: this.victimForm.value.guardianHomePhone,\r\n workPhone: this.victimForm.value.guardianWorkPhone,\r\n cellPhone: this.victimForm.value.guardianCellPhone,\r\n email: this.victimForm.value.guardianEmail,\r\n modifiedBy: this.staffId\r\n \r\n \r\n };\r\n \r\n this.victimService.postVictimGuardian(id, victimGuardian).subscribe();\r\n \r\n }\r\n\r\n this.snackBar.open('Add Victim Successfully!', '', {\r\n duration: 3000,\r\n });\r\n\r\n //insert new\r\n if (this.isIntake===true){\r\n this.router.navigate(['victimHome']);\r\n }\r\n else\r\n {\r\n this.router.navigate(['victimList']);\r\n }\r\n //this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n );\r\n\r\n }\r\n else {\r\n //update victim\r\n console.log(' this.victimForm.value.victimOffenderRelationshipTypeId');\r\n console.log( this.victimForm.value.victimOffenderRelationshipTypeId);\r\n \r\n this.victimDetail.underSupervisionFlag = this.victimForm.value.underSupervisionFlag;\r\n this.victimDetail.victimOffenderRelationshipTypeId = this.victimForm.value.victimOffenderRelationshipTypeId;\r\n this.victimDetail.lastName = this.victimForm.value.lastName;\r\n this.victimDetail.firstName = this.victimForm.value.firstName;\r\n this.victimDetail.middleName = this.victimForm.value.middleName;\r\n this.victimDetail.prefixId = this.victimForm.value.prefixId ? this.victimForm.value.prefixId : null;\r\n this.victimDetail.suffixId = this.victimForm.value.suffixId ? this.victimForm.value.suffixId : null;\r\n this.victimDetail.birthDate = this.victimForm.value.birthDate;\r\n this.victimDetail.genderCode = this.victimForm.value.genderCode;\r\n this.victimDetail.minorFlag = this.victimForm.value.minorFlag;\r\n this.victimDetail.homePhone = this.victimForm.value.homePhone? this.victimForm.value.homePhone: null;\r\n this.victimDetail.workPhone = this.victimForm.value.workPhone? this.victimForm.value.workPhone: null;\r\n this.victimDetail.cellPhone = this.victimForm.value.cellPhone? this.victimForm.value.cellPhone: null;\r\n this.victimDetail.email = this.victimForm.value.email;\r\n this.victimDetail.victimAdvocateFlag = this.victimForm.value.victimAdvocateFlag;\r\n this.victimDetail.emergencyContact = this.victimForm.value.emergencyContact;\r\n this.victimDetail.emergencyContactPhone = this.victimForm.value.emergencyContactPhone? this.victimForm.value.emergencyContactPhone: null;\r\n this.victimDetail.commonChildrenFlag = this.victimForm.value.commonChildrenFlag;\r\n this.victimDetail.commonChildrenNumber = this.victimForm.value.commonChildrenNumber;\r\n this.victimDetail.cpoExpirationDate = this.victimForm.value.cpoExpirationDate;\r\n this.victimDetail.cpoExpirationFlag = this.victimForm.value.cpoExpirationFlag;\r\n this.victimDetail.supportInPlaceFlag = this.victimForm.value.supportInPlaceFlag;\r\n this.victimDetail.weaponInvolvedFlag = this.victimForm.value.weaponInvolvedFlag;\r\n this.victimDetail.drugUseFlag = this.victimForm.value.drugUseFlag;\r\n this.victimDetail.alcoholUseFlag = this.victimForm.value.alcoholUseFlag;\r\n this.victimDetail.accessRisk = this.victimForm.value.accessRisk;\r\n this.victimDetail.addressId = this.victimForm.value.addressId;\r\n this.victimDetail.allowCsosaContactFlag = this.victimForm.value.allowCsosaContactFlag;\r\n \r\n \r\n this.victimDetail.victimSupports = [];\r\n this.victimForm.value.victimSupports.forEach(element => {\r\n const victimSupport= <VictimSupport>{};\r\n victimSupport.victimId= this.victimDetail.victimId;\r\n victimSupport.victimSupportTypeId= element;\r\n victimSupport.modifiedBy= this.staffId;\r\n this.victimDetail.victimSupports.push(victimSupport);\r\n });\r\n\r\n\r\n this.victimDetail.victimDrugUses = [];\r\n\r\n console.log('this.victimForm.value.victimDrugUses calculate')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n\r\n this.victimForm.value.victimDrugUses.forEach(element => {\r\n const victimDrugUse = <VictimDrugUse>{};\r\n victimDrugUse.drugTypeId = element;\r\n console.log('this.victimForm.value.victimDrugUses before')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n if (element === \"OTHER\" || element === \"\" ){\r\n victimDrugUse.drugTypeId = null;\r\n victimDrugUse.otherDrug = this.victimForm.value.otherDrug;\r\n }\r\n else{\r\n victimDrugUse.drugTypeId = element;\r\n victimDrugUse.otherDrug = null;\r\n }\r\n\r\n victimDrugUse.modifiedBy = this.staffId;\r\n victimDrugUse.victimId = this.victimDetail.victimId;\r\n this.victimDetail.victimDrugUses.push(victimDrugUse);\r\n console.log('this.victimForm.value.victimDrugUses after')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n });\r\n\r\n\r\n\r\n this.victimForm.value.victimDrugUses.filter(word => ( !(word.drugTypeId === null && word.otherDrug === null) ));\r\n\r\n\r\n console.log('adjust this.victimForm.value.victimDrugUses ')\r\n console.log(this.victimForm.value.victimDrugUses)\r\n \r\n this.victimDetail.victimWeaponUses = [];\r\n this.victimForm.value.victimWeaponUses.forEach(element => {\r\n const victimWeaponUse = <VictimWeaponUse>{};\r\n victimWeaponUse.victimId= this.victimDetail.victimId;\r\n victimWeaponUse.weaponTypeId= element; \r\n\r\n console.log('weapon element');\r\n console.log(element);\r\n console.log(this.victimForm.value.otherWeapon);\r\n console.log(this.victimForm.value.victimWeaponUses);\r\n\r\n if (element ==\"OTHER\"){\r\n victimWeaponUse.otherWeapon=this.victimForm.value.otherWeapon;\r\n }\r\n else{\r\n victimWeaponUse.otherWeapon = null;\r\n }\r\n\r\n victimWeaponUse.modifiedBy= this.staffId;\r\n this.victimDetail.victimWeaponUses.push(victimWeaponUse);\r\n \r\n });\r\n\r\n \r\n console.log('this.victimDetail before emit');\r\n console.log(this.victimDetail);\r\n\r\n this.victimService.putVictims(this.victimDetail.victimId,this.victimDetail).subscribe(\r\n (items: any) => {\r\n this.snackBar.open('Update Successfully!', '', {\r\n duration: 3000,\r\n });\r\n \r\n //Advocate section\r\n\r\n this.victimAdvocate.victimAdvocateId = this.victimDetail.victimId;\r\n this.victimAdvocate.lastName= this.victimForm.value.advocateLastName;\r\n this.victimAdvocate.firstName= this.victimForm.value.advocateFirstName;\r\n this.victimAdvocate.prefixId= this.victimForm.value.advocatePrefixId ? this.victimForm.value.advocatePrefixId : null;\r\n this.victimAdvocate.suffixId= this.victimForm.value.advocateSuffixId ? this.victimForm.value.advocateSuffixId : null;\r\n this.victimAdvocate.addressId= this.advocateAddressId ? this.advocateAddressId : null;\r\n this.victimAdvocate.noPhoneFlag= this.victimForm.value.advocateNoPhoneFlag? true: false;\r\n this.victimAdvocate.homePhone= this.victimForm.value.advocateHomePhone ? this.victimForm.value.advocateHomePhone : null;\r\n this.victimAdvocate.workPhone= this.victimForm.value.advocateWorkPhone ? this.victimForm.value.advocateWorkPhone : null;\r\n this.victimAdvocate.cellPhone= this.victimForm.value.advocateCellPhone ? this.victimForm.value.advocateCellPhone : null;\r\n this.victimAdvocate.email= this.victimForm.value.advocateEmail ? this.victimForm.value.advocateEmail : null;\r\n this.victimAdvocate.modifiedBy= this.staffId;\r\n \r\n \r\n \r\n if (this.victimDetail.victimAdvocateFlag=='YS' && this.victimDetail.advocateFirstName != null)\r\n {\r\n this.victimService.putVictimAdvocate(this.victimDetail.victimId,this.victimAdvocate).subscribe(\r\n resp=>{\r\n }\r\n );\r\n }\r\n else\r\n {\r\n console.log('add advocate');\r\n this.victimService.postVictimAdvocate(this.victimDetail.victimId, this.victimAdvocate).subscribe();\r\n }\r\n \r\n // guardian section\r\n this.victimGuardian.victimGuardianId = this.victimDetail.victimId;\r\n this.victimGuardian.lastName = this.victimForm.value.guardianLastName;\r\n this.victimGuardian.firstName = this.victimForm.value.guardianFirstName;\r\n this.victimGuardian.prefixId = this.victimForm.value.guardianPrefixId ? this.victimForm.value.guardianPrefixId : null;\r\n this.victimGuardian.suffixId = this.victimForm.value.guardianSuffixId ? this.victimForm.value.guardianSuffixId : null;\r\n this.victimGuardian.addressId = this.guardianAddressId ? this.guardianAddressId : null;\r\n this.victimGuardian.noPhoneFlag = this.victimForm.value.guardianNoPhoneFlag? true: false;\r\n this.victimGuardian.homePhone = this.victimForm.value.guardianHomePhone ? this.victimForm.value.guardianHomePhone : null;\r\n this.victimGuardian.workPhone = this.victimForm.value.guardianWorkPhone ? this.victimForm.value.guardianWorkPhone : null;\r\n this.victimGuardian.cellPhone = this.victimForm.value.guardianCellPhone ? this.victimForm.value.guardianCellPhone : null;\r\n this.victimGuardian.email = this.victimForm.value.guardianEmail ? this.victimForm.value.guardianEmail : null;\r\n this.victimGuardian.modifiedBy = this.staffId;\r\n \r\n if (this.victimDetail.minorFlag == true && this.victimDetail.guardianFirstName != null )\r\n {\r\n \r\n this.victimService.putVictimGuardian(this.victimDetail.victimId,this.victimGuardian).subscribe(\r\n resp=>{\r\n }\r\n );\r\n }\r\n else\r\n {\r\n \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 }//end of this.phoneValidationFlag = false\r\n \r\n this.onSave.emit(this.victimDetail);\r\n \r\n }\r\n\r\n //#endregion \"save victim\"\r\n addContact(){\r\n\r\n this.router.navigate(['victimContact',this.victimId]);\r\n }\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n \r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'csmart-victim-delete-confirm',\r\n template: `\r\n <h1 mat-dialog-title>Delete Confirmation</h1>\r\n <div mat-dialog-content>\r\n <p>Are you sure you want to delete this item?</p>\r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-flat-button color=\"primary\" (click)=\"onNoClick()\">No</button>\r\n <button mat-flat-button color=\"warn\" [mat-dialog-close]='\"YES\"' cdkFocusInitial>Yes</button>\r\n </div>\r\n `,\r\n styles: [`\r\n .actions{\r\n display: flex;\r\n justify-content: space-between; \r\n }\r\n `]\r\n})\r\nexport class SmartVictimDeleteConfirmComponent implements OnInit {\r\n\r\n constructor( public dialogRef: MatDialogRef<SmartVictimDeleteConfirmComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n//import {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\n\r\nimport {\r\n MatButtonModule, MatCardModule, MatCheckboxModule, MatToolbarModule, MatSelectModule, MatDatepickerModule,\r\n MatProgressSpinnerModule, MatGridListModule, MatTableModule, MatSidenavModule, MatRadioModule, MatPaginatorModule,\r\n // tslint:disable-next-line:whitespace\r\n MatNativeDateModule, MatSliderModule, MatDialogModule, MatChipsModule,MatSortModule,\r\n MatTabsModule, MatRippleModule, MatListModule, MatInputModule, MatFormFieldModule, MatStepperModule, MatExpansionModule,\r\n \r\n \r\n} from '@angular/material';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\n\r\n\r\n\r\n\r\n@NgModule(\r\n {\r\n \r\n imports: [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n\r\n\r\n ],\r\n exports: [\r\n \r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatStepperModule,\r\n BrowserAnimationsModule,\r\n MatGridListModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatSliderModule,\r\n MatChipsModule,\r\n MatSnackBarModule,\r\n CdkTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatExpansionModule,\r\n MatRippleModule,\r\n \r\n \r\n ],\r\n entryComponents: [\r\n // SpinnerComponent,\r\n ],\r\n\r\n\r\n }\r\n)\r\nexport class SharedModule { }\r\n","import { CommonDialogService } from './common-dialog.service';\r\n//import { MaterialModule } from '@angular/material';\r\nimport { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../shared/app.shared.module';\r\n\r\nimport { CommonDialogComponent } from './common-dialog.component';\r\n\r\n@NgModule({\r\n imports: [\r\n // MaterialModule.forRoot(),\r\n SharedModule\r\n ],\r\n exports: [\r\n CommonDialogComponent,\r\n ],\r\n declarations: [\r\n CommonDialogComponent,\r\n ],\r\n providers: [\r\n CommonDialogComponent,\r\n ],\r\n entryComponents: [\r\n CommonDialogComponent,\r\n ],\r\n})\r\nexport class CommonDialogModule { }\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\n\r\nexport function dateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'future Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date > new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function passDateValidator(): ValidatorFn {\r\n return (control: AbstractControl): {[key: string]: any} => {\r\n const dateStr = control.value;\r\n const invalidObj = { 'date': 'Pass Date is Not Allowed' };\r\n const date = new Date(dateStr);\r\n if (date < new Date()) {\r\n return invalidObj;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function dateLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('date1');\r\n console.log(date1);\r\n console.log('date2');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 > date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}\r\n\r\n\r\n\r\nexport function greaterLessThan(dateField1: string, dateField2: string, validatorField: { [key: string]: boolean }): ValidatorFn {\r\n return (c: AbstractControl): { [key: string]: any } | null => {\r\n const date1 = c.get(dateField1).value;\r\n const date2 = c.get(dateField2).value;\r\n \r\n console.log('end date');\r\n console.log(date1);\r\n console.log('ver date');\r\n console.log(date2);\r\n //const invalidObj = { 'dateRule': 'date is Not Allowed' };\r\n if ((date1 !== null && date2 !== null) && date1 < date2) {\r\n console.log(validatorField);\r\n return validatorField;\r\n //return invalidObj;\r\n\r\n }\r\n console.log('return null');\r\n return null;\r\n };\r\n}","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators} from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar,MatTableDataSource } from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CaseNote} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\n\r\n\r\n\r\n@Component({\r\n \r\n templateUrl: './caseNote.component.html',\r\n styleUrls: ['./caseNote.component.css'],\r\n providers: [CommonDialogService]\r\n\r\n})\r\nexport class CaseNoteComponent implements OnInit,AfterViewInit {\r\n\r\n // @Input() isIntake: boolean;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n \r\n hiddenDetailFlag:boolean;\r\n caseNoteList: CaseNote[];\r\n caseNote: CaseNote;\r\n editCaseNote: CaseNote = <CaseNote>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n caseNoteDataSource= new MatTableDataSource();\r\n addDisableFlag: boolean;\r\n hiddenAddNewFlag: boolean;\r\n caseNoteForm: FormGroup;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.initForm();\r\n }\r\n private initForm() {\r\n this.caseNoteForm = this.formBuilder.group({\r\n caseNoteDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()])),\r\n contactType: new FormControl('',Validators.required),\r\n contactPurpose: new FormControl('',Validators.required),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n\r\n this.caseNoteForm.markAsPristine();\r\n this.caseNoteForm.markAsUntouched();\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n\r\n this.addDisableFlag= false;\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getContactTypes().subscribe(\r\n (items: any) => {\r\n this.contactTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimContactPurposes().subscribe(\r\n (items: any) => {\r\n this.contactPurposes = items;\r\n }\r\n );\r\n\r\n \r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n console.log('caseNoteList');\r\n console.log(caseNoteList);\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n\r\n\r\n \r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // (itms: any) => {\r\n // const ELEMENT_DATA: Element[] = itms;\r\n // this.caseNoteDataSource.data = ELEMENT_DATA;\r\n // })\r\n }\r\n onEditCaseNote(victimCaseNoteId: number){\r\n \r\n this.hiddenDetailFlag =false;\r\n this.hiddenAddNewFlag = true;\r\n\r\n this.addDisableFlag = true;\r\n this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n onDeleteCaseNote(victimCaseNoteId: number){\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n });\r\n }\r\n onAddNew(){\r\n\r\n this.hiddenDetailFlag = false;\r\n this.editCaseNote.victimCaseNoteId = 0;\r\n\r\n const caseNoteDateControl = this.caseNoteForm.get('caseNoteDate');\r\n caseNoteDateControl.setValue(null);\r\n caseNoteDateControl.setErrors(null);\r\n caseNoteDateControl.markAsPristine();\r\n caseNoteDateControl.markAsPristine();\r\n\r\n\r\n const contactTypeControl = this.caseNoteForm.get('contactType');\r\n contactTypeControl.setValue(null);\r\n contactTypeControl.setErrors(null);\r\n contactTypeControl.markAsPristine();\r\n contactTypeControl.markAsUntouched();\r\n\r\n\r\n const contactPurposeControl = this.caseNoteForm.get('contactPurpose');\r\n contactPurposeControl.setValue(null);\r\n contactPurposeControl.setErrors(null);\r\n contactPurposeControl.markAsPristine();\r\n contactPurposeControl.markAsUntouched();\r\n\r\n\r\n const commentControl = this.caseNoteForm.get('comment');\r\n commentControl.setValue(null);\r\n commentControl.setErrors(null);\r\n commentControl.markAsPristine();\r\n commentControl.markAsUntouched();\r\n \r\n }\r\n back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n \r\n saveCaseNote(){\r\n\r\n if (this.editCaseNote.victimCaseNoteId === undefined || this.editCaseNote.victimCaseNoteId === 0) {\r\n\r\n const castNote: CaseNote = {\r\n victimId:this.victimId,\r\n victimCaseNoteId: 0,\r\n caseNoteDate: this.editCaseNote.caseNoteDate,\r\n contactTypeId: this.editCaseNote.contactTypeId,\r\n contactType: null,\r\n victimContactPurposeId: this.editCaseNote.victimContactPurposeId,\r\n victimContactPurpose: null,\r\n comment: this.editCaseNote.comment,\r\n modifiedBy: this.staffId,\r\n victimFirstName: null,\r\n victimLastName: null\r\n\r\n };\r\n this._victimServicesComponent.addCaseNote(castNote).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } else {\r\n this._victimServicesComponent.updateCaseNote(this.editCaseNote).subscribe(\r\n result => {\r\n this.snackBar.open('Update Successfully !', '', {\r\n duration: 3000,\r\n });\r\n this.hiddenDetailFlag = true;\r\n this.hiddenAddNewFlag = false;\r\n this.addDisableFlag = false;\r\n this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n caseNoteList => {\r\n this.caseNoteList = caseNoteList; \r\n this.caseNoteDataSource.data = this.caseNoteList;\r\n }\r\n );\r\n }\r\n );\r\n } \r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatSnackBar} from '@angular/material';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contact} from '../smart-victim.model';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\n\r\n@Component({\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css'],\r\n})\r\nexport class ContactComponent implements OnInit,AfterViewInit {\r\n\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n contact: Contact;\r\n editContact: Contact = <Contact>{};\r\n errorMessage: string;\r\n contactMethods: any[];\r\n contactBy: any[];\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n hiddenAddNewFlag: boolean;\r\n contactForm: FormGroup;\r\n private sub: any;\r\n staff: any = {};\r\n\r\n constructor(\r\n\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n //private commonDialogService: CommonDialogService,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n this.contactForm = new FormGroup({\r\n contactDate: new FormControl(),\r\n contactMethod: new FormControl(),\r\n contactBy: new FormControl(),\r\n comment: new FormControl(),\r\n nextContactDate: new FormControl()\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n \r\n this.staff = [\r\n {\r\n staffId: this.loginStaff.staffId,\r\n fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,\r\n },\r\n ];\r\n\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n console.log('my this.victimId');\r\n console.log(this.victimId);\r\n \r\n });\r\n\r\n\r\n this._victimServicesComponent.getContactMethods().subscribe(\r\n (items: any) => {\r\n this.contactMethods = items;\r\n console.log('this.contactMethods');\r\n console.log(this.contactMethods);\r\n }\r\n );\r\n\r\n // this._victimServicesComponent.getContactBys().subscribe(\r\n // (items: any) => {\r\n // this.contactBy= items;\r\n // }\r\n // );\r\n\r\n \r\n // this._victimServicesComponent.getContacts(this.victimId).subscribe(\r\n // caseNoteList => {\r\n \r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n \r\n }\r\n onEditContact(victimContactId: number){\r\n \r\n // this.hiddenDetailFlag =false;\r\n // this.hiddenAddNewFlag = true;\r\n\r\n // this.addDisableFlag = true;\r\n // this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);\r\n\r\n }\r\n \r\n // onDeleteCaseNote(victimCaseNoteId: number){\r\n // this.commonDialogService\r\n // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')\r\n // .subscribe(res => {this.result = res;\r\n // if (this.result) {\r\n // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)\r\n // .subscribe(result => {\r\n // this.snackBar.open('delete Successfully !', '', { duration: 3000,});\r\n\r\n // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(\r\n // caseNoteList => {\r\n // this.caseNoteList = caseNoteList; \r\n \r\n // }\r\n // );\r\n // }\r\n // );\r\n // }\r\n\r\n // });\r\n // }\r\n onAddNew(){\r\n \r\n // this.editCas.caseNoteDate = null;\r\n // this.editCaseNote.contactTypeId = null;\r\n // this.editCaseNote.victimContactPurposeId = null;\r\n // this.editCaseNote.comment = null;\r\n }\r\n back(){\r\n\r\n \r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n \r\n saveContact(){\r\n\r\n const contact: Contact = {\r\n victimId:this.victimId,\r\n victimContactId: 0,\r\n contactDate: this.editContact.contactDate,\r\n victimContactMethodId: this.editContact.victimContactMethodId,\r\n contactMethod: null,\r\n contactedByName: null,\r\n contactedBy: this.editContact.contactedBy,\r\n comment: this.editContact.comment,\r\n nextContactDate: this.editContact.nextContactDate,\r\n modifiedBy: this.staffId,\r\n \r\n };\r\n this._victimServicesComponent.addContact(contact).subscribe(\r\n result => {\r\n this.snackBar.open('Saved Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n this.router.navigate(['victimDetail', this.victimId ]); \r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit,Inject,AfterViewInit } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,VictimServiceStatusHistory } from '../smart-victim.model';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA,MatTableDataSource,MatSnackBar } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n//import { VictimSafetyPlanDetailComponent } from './victimSafetyPlanDetail.component';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SmartAuthService } from '@csmart/ngc-smart-core';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlan.component.html',\r\n providers: [CommonDialogService]\r\n})\r\n\r\nexport class VictimSafetyPlanComponent implements OnInit,AfterViewInit {\r\n //selectedOffender: SelectedOffender;\r\n loginStaff: LoginStaff;\r\n offenderId: number;\r\n\r\n\r\n hiddenDetailFlag:boolean;\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n victimServiceStatusHistories: VictimServiceStatusHistory[];\r\n queryString: string;\r\n victimServiceDetail: VictimServiceDetail[];\r\n myVictimServiceId: number;\r\n result: any;\r\n victimName: string;\r\n staffId: number;\r\n victimId: number;\r\n private sub: any;\r\n safetyPlanDataSource = new MatTableDataSource();\r\n \r\n constructor(\r\n \r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private commonDialogService: CommonDialogService,\r\n private http: HttpClient,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n private smartAuthService: SmartAuthService,\r\n \r\n ) {\r\n \r\n\r\n }\r\n ngAfterViewInit() {\r\n this.smartAuthService.setPermission('Victim', this.route.snapshot);\r\n }\r\n \r\n ngOnInit() {\r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimId = params['victimId'];\r\n\r\n });\r\n\r\n this.hiddenAddNewFlag = false;\r\n this.victimName= this.victimName;\r\n \r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\r\n console.log('this.victimSafetyPlans');\r\n console.log(this.victimSafetyPlans);\r\n\r\n \r\n }\r\n );\r\n\r\n \r\n // this.myVictimServiceId =1;\r\n // this._victimServicesComponent.getVictimServiceDetail(this.myVictimServiceId).subscribe(\r\n // victimServiceDetail => {\r\n // this.victimServiceDetail = victimServiceDetail;\r\n // console.log('service detail');\r\n // console.log(this.victimServiceDetail); \r\n // }\r\n // );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(1).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories; \r\n }\r\n );\r\n }\r\n \r\n//---------------graphQL--------------------------------------\r\n// getVictimServiceTypeProgramProviders(): Observable<VictimServiceTypeProgramProviderModel[]> {\r\n// const queryString = `\r\n// {\r\n// findVictimServiceTypeProgramProviders {\r\n// data {\r\n// victimServiceTypeProgramProviderId\r\n// victimServiceType\r\n// victimProgramProvider\r\n// }\r\n// }\r\n// }`;\r\n\r\n \r\n// return this.http.post<any>(environment.smartApiUrl, { query: queryString })\r\n// .map(result => {\r\n// return result.data.findVictimServiceTypeProgramProviders.data;\r\n// });\r\n// }\r\n\r\n goToSafetyPlanDetail(victimServiceId: number){\r\n \r\n this.router.navigate(['saftyPlanDetail', victimServiceId, this.victimId ]); \r\n\r\n }\r\n onAddNew(){\r\n this.hiddenDetailFlag = false;\r\n\r\n }\r\n onDeleteSafetyPlan(victimServiceId: number){\r\n\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this safety plan?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n\r\n this._victimServicesComponent.deleteSafetyPlan(victimServiceId,this.staffId)\r\n .subscribe(result => {\r\n\r\n this.snackBar.open('delete safety plan Successfully !', '', { duration: 3000,});\r\n\r\n this._victimServicesComponent.getSafetyPlans(this.victimId).subscribe(\r\n victimSafetyPlans => {\r\n this.victimSafetyPlans = victimSafetyPlans; \r\n this.safetyPlanDataSource.data = this.victimSafetyPlans;\r\n }\r\n );\r\n \r\n }\r\n );\r\n \r\n\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n back(){\r\n this.router.navigate(['victimHome']);\r\n \r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-service-provider',\r\n template: `\r\n <h1 mat-dialog-title> {{data.serviceType}}</h1>\r\n <div mat-dialog-content class=\"main\" [formGroup]=\"spForm\">\r\n <mat-form-field>\r\n <mat-label>service provider</mat-label>\r\n \r\n <mat-select formControlName=\"voteeProviderId\">\r\n <mat-option\r\n *ngFor=\"let providerOption of programProviders\"\r\n [value]=\"providerOption.victimProgramProviderId\">{{ providerOption.victimProgramProvider }}\r\n </mat-option>\r\n </mat-select>\r\n \r\n </mat-form-field>\r\n \r\n </div>\r\n <div mat-dialog-actions class=\"actions\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\" cdkFocusInitial>\r\n Cancel Change\r\n </button>\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"spForm.value\" >\r\n Save Change\r\n </button>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n .main {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .actions{\r\n display: flex;\r\n }\r\n `,\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class SeriveProviderComponent implements OnInit {\r\n spForm: FormGroup;\r\n programProviders:[];\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public dialogRef: MatDialogRef<SeriveProviderComponent>,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n @Inject(MAT_DIALOG_DATA) public data: ProvidersDialogData,\r\n ) {\r\n\r\n\r\n this.spForm = this.formBuilder.group({\r\n voteeProviderId: [''],\r\n \r\n });\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n console.log('data.providerCollections')\r\n console.log(this.data);\r\n console.log(this.data.serviceTypeId);\r\n\r\n this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe(\r\n (items: any) => {\r\n this.programProviders = items.filter( (y) => (y.victimServiceTypeId === this.data.serviceTypeId));\r\n console.log('this.programProviders');\r\n console.log(this.programProviders);\r\n }\r\n );\r\n\r\n this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {\r\n console.log('voteeProviderId in service provider component.')\r\n console.log(voteeProviderId)\r\n \r\n \r\n })\r\n }\r\n}\r\n","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { NgcSmartVictimService } from '../smart-victim.service';\r\nimport { FormControl, FormGroup, FormBuilder,Validators } from '@angular/forms';\r\nimport { VictimSafetyPlan,VictimServiceDetail,\r\n VictimServiceStatusHistory,VictimServiceTypeProgramProviderModel,\r\n ProviderListCollectionModel } from '../smart-victim.model';\r\nimport { MatSnackBar,MatTableDataSource,MatDialog } from '@angular/material';\r\nimport { CommonDialogService} from '.././common-dialog/common-dialog.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';\r\nimport { dateValidator, passDateValidator } from '../shared/validators';\r\nimport { typeSourceSpan } from '@angular/compiler';\r\nimport { SeriveProviderComponent} from '../safetyPlan/serviceProvider.component'\r\nimport { ProvidersDialogData} from '../smart-victim.model';\r\n\r\n@Component({\r\n templateUrl: './victimSafetyPlanDetail.component.html',\r\n providers: [CommonDialogService],\r\n styleUrls: ['./victimSafetyPlan.component.css']\r\n \r\n})\r\n\r\nexport class VictimSafetyPlanDetailComponent implements OnInit {\r\n\r\n\r\n hiddenAddNewFlag: boolean;\r\n safetyPlans: VictimSafetyPlan[];\r\n safetyPlan: VictimSafetyPlan;\r\n editSafetyPlan: VictimSafetyPlan = <VictimSafetyPlan>{};\r\n errorMessage: string;\r\n contactTypes: any[];\r\n contactPurposes: any[];\r\n victimServiceTypes: any[];\r\n victimSafetyPlans: VictimSafetyPlan[];\r\n victimServiceStatus: any[];\r\n providerList: VictimServiceTypeProgramProviderModel[];\r\n providerListCollection:ProviderListCollectionModel[]=[];\r\n victimServiceDetail: VictimServiceDetail[];\r\n indx:any;\r\n serviceCheck = [];\r\n victimName: string;\r\n isDisplay: boolean;\r\n staffId: number;\r\n victimId: number;\r\n victimServiceId: number;\r\n offenderId: number;\r\n loginStaff: LoginStaff;\r\n private sub: any;\r\n result: any;\r\n victimServiceStatusHistoriesDataSource= new MatTableDataSource();\r\n providerId: string;\r\n selected: string;\r\n\r\n\r\n spForm: FormGroup;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private _victimServicesComponent: NgcSmartVictimService,\r\n private http: HttpClient,\r\n public snackBar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private commonDialogService: CommonDialogService,\r\n private formBuilder: FormBuilder,\r\n \r\n ) {\r\n\r\n this.initForm();\r\n }\r\n\r\n private initForm() {\r\n\r\n\t\r\n\t\t\tthis.spForm = this.formBuilder.group({\r\n serviceGoal: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatus: new FormControl('', Validators.compose([\r\n Validators.required\t\t ])),\r\n goalStatusDate: new FormControl('', Validators.compose([\r\n Validators.required,dateValidator()\t\t ])),\r\n comment: new FormControl('',Validators.required)\r\n });\r\n this.spForm.markAsPristine();\r\n this.spForm.markAsUntouched();\r\n \r\n }\r\n \r\n ngOnInit() {\r\n\r\n \r\n\r\n var data = this.route.snapshot.data;\r\n this.loginStaff = data.loginStaff;\r\n this.staffId = this.loginStaff.staffId;\r\n\r\n this.sub = this.route.params.subscribe(params => {\r\n this.victimServiceId = params['victimServiceId'];\r\n this.victimId = params['victimId'];\r\n \r\n });\r\n \r\n this.hiddenAddNewFlag = false;\r\n this.isDisplay = false;\r\n \r\n \r\n\r\n this._victimServicesComponent.getVictimServiceTypes().subscribe(\r\n (items: any) => {\r\n this.victimServiceTypes = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictimServiceStatus().subscribe(\r\n (items: any) => {\r\n this.victimServiceStatus = items;\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getVictim(this.victimId).subscribe(\r\n (items: any) => {\r\n this.victimName = items.firstName + ', ' + items.lastName;\r\n }\r\n );\r\n\r\n \r\n \r\n //---------------graphQL--------------------------------------\r\n // this.getVictimServiceTypeProgramProviders().subscribe(result => {\r\n // this.providerList = result;\r\n // });\r\n // console.log('this.victimServiceId');\r\n // console.log(this.victimServiceId);\r\n \r\n if (this.victimServiceId!=0){\r\n this._victimServicesComponent.getVictimServices(this.victimServiceId).subscribe(\r\n victimSafetyPlans => {\r\n console.log('victimSafetyPlans');\r\n console.log(victimSafetyPlans);\r\n\r\n this.editSafetyPlan = victimSafetyPlans[0];\r\n this.victimId = victimSafetyPlans[0].victimId;\r\n \r\n console.log('this.editSafetyPlan');\r\n console.log(this.editSafetyPlan);\r\n // console.log('this.editSafetyPlan.goal');\r\n // console.log(this.editSafetyPlan.goal);\r\n // console.log('this.editSafetyPlan[0].goal');\r\n // console.log(this.editSafetyPlan[0].goal);\r\n\r\n }\r\n );\r\n\r\n this._victimServicesComponent.getServiceStatusHistories(this.victimServiceId).subscribe(\r\n victimServiceStatusHistories => {\r\n // this.victimServiceStatusHistories = victimServiceStatusHistories;\r\n this.victimServiceStatusHistoriesDataSource.data = victimServiceStatusHistories;\r\n }\r\n );\r\n\r\n }\r\n\r\n this.loadProvider();\r\n \r\n }\r\n //pass in id\r\nisInArray(providerListCollectionKey:string, serviceTypeName: string, event){\r\n\r\n console.log('providerListCollectionKey');\r\n console.log(providerListCollectionKey);\r\n\r\n\r\n console.log('serviceTypeName');\r\n console.log(serviceTypeName);\r\n\r\n console.log('event.source.value');\r\n console.log(event.checked);\r\n\r\n if (event.checked == true){\r\n\r\n for(let j=0;j<this.providerListCollection.length;j++){\r\n if(providerListCollectionKey==this.providerListCollection[j].groupId){\r\n this.providerListCollection[j].isDisplay=!this.providerListCollection[j].isDisplay;\r\n\r\n \r\n\r\n const dialogRef = this.dialog.open(SeriveProviderComponent, {\r\n width: '500px',\r\n data: <ProvidersDialogData>{\r\n \r\n serviceType:serviceTypeName,\r\n serviceTypeId: providerListCollectionKey,\r\n providerCollections: [...this.providerListCollection],\r\n },\r\n panelClass: 'formFieldWidth480',\r\n });\r\n\r\n\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n if (result) {\r\n console.log('The dialog was closed, inside result');\r\n this.savePlanProvider(providerListCollectionKey,result.voteeProviderId);\r\n \r\n }\r\n \r\n \r\n });\r\n \r\n // return;\r\n }\r\n }\r\n\r\n }//if event.checked == true\r\n //this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]); \r\n \r\n }\r\n\r\nloadProvider(){ \r\n\r\n this.providerListCollection=[];\r\n this._victimServicesComponent.getvVictimServiceTypeProgramProviders()\r\n .subscribe(\r\n (providerList:VictimServiceTypeProgramProviderModel[] )=>{ \r\n if(providerList){\r\n \r\n let providers = Object.create(null);\r\n for(let i=0;i<providerList.length;i++){\r\n \r\n if (!providers[providerList[i].victimServiceTypeId]) {\r\n providers[providerList[i].victimServiceTypeId] = [];\r\n \r\n if ( this.editSafetyPlan.vVictimServiceDetails != null ){\r\n for (let j=0; j<this.editSafetyPlan.vVictimServiceDetails.length; j++){\r\n if ( providerList[i].victimServiceTypeId == this.editSafetyPlan.vVictimServiceDetails[j].victimServiceId.toString() ){\r\n this.isDisplay = true;\r\n }\r\n }\r\n }\r\n this.providerListCollection.push({ groupId: providerList[i].victimServiceTypeId,isDisplay:this.isDisplay, collection: providers[providerList[i].victimServiceTypeId] });\r\n }\r\n\r\n providers[providerList[i].victimServiceTypeId].push(providerList[i]);\r\n \r\n }\r\n \r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n//---------------graphQL--------------------------------------\r\n// getVictimServiceTypeProgramProviders(): Observable<VictimServiceTypeProgramProviderModel[]> {\r\n// const queryString = `\r\n// {\r\n// findVictimServiceTypeProgramProviders {\r\n// data {\r\n// victimServiceTypeProgramProviderId\r\n// victimServiceType\r\n// victimProgramProvider\r\n// }\r\n// }\r\n// }`;\r\n \r\n// return this.http.post<any>(environment.smartApiUrl, { query: queryString })\r\n// .map(result => {\r\n// return result.data.findVictimServiceTypeProgramProviders.data;\r\n// });\r\n// }\r\n\r\n evaluateSelection(victimServiceTypeId: string) {\r\n if (this.editSafetyPlan.vVictimServiceDetails) {\r\n return this.editSafetyPlan.vVictimServiceDetails.findIndex(r => r.victimServiceTypeId === victimServiceTypeId) >= 0;\r\n }\r\n }\r\n\r\n\r\nsavePlanProvider(victimServiceTypeId: string,victimProgramProviderId: string){\r\n\r\n console.log('savePlanProvider');\r\n console.log(victimServiceTypeId);\r\n console.log(victimProgramProviderId);\r\n\r\n if (victimProgramProviderId === \"\" || victimProgramProviderId=== null || victimProgramProviderId === undefined){\r\n \r\n this.snackBar.open('Please pick a program on the drop down list !', '', { duration: 120,});\r\n // alert('Please pick a program on the drop down list !');\r\n\r\n }else\r\n {\r\n \r\n if ( this.victimServiceId == 0){\r\n //insert\r\n console.log('insert new plan');\r\n const safetyPlan: VictimSafetyPlan = {\r\n victimId:this.victimId,\r\n fullName: null,\r\n victimServiceId: 0,\r\n goal:this.editSafetyPlan.goal,\r\n comment: this.editSafetyPlan.comment,\r\n modifiedBy:this.staffId,\r\n victimServiceStatusId: null,\r\n status: null,\r\n startDate: null,\r\n vVictimServiceDetails: null,\r\n victimName: null\r\n};\r\nthis._victimServicesComponent.addSafetyPlan(safetyPlan).subscribe(\r\n (itms:any)=>{\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test add safety plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe(\r\n \r\n () =>{\r\n console.log('check itms.victimServiceId iniside add victim serive status');\r\n console.log(itms.victimServiceId);\r\n\r\n const victimServiceDetail: VictimServiceDetail = {\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceDetailId: 0,\r\n victimServiceTypeId: victimServiceTypeId,\r\n victimProgramProviderId: victimProgramProviderId,\r\n modifiedBy: this.staffId,\r\n victimProgramProvider: null\r\n };\r\n \r\n console.log('add plan provider here at insert');\r\n \r\n this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe(\r\n\r\n () =>{\r\n \r\n this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId ]); \r\n\r\n }\r\n );\r\n\r\n }\r\n );\r\n \r\n \r\n \r\n }\r\n\r\n\r\n);\r\n }\r\n else//update\r\n {\r\n const victimServiceDetail: VictimServiceDetail = {\r\n victimServiceId: this.victimServiceId,\r\n victimServiceDetailId: 0,\r\n victimServiceTypeId: victimServiceTypeId,\r\n victimProgramProviderId: victimProgramProviderId,\r\n modifiedBy: this.staffId,\r\n victimProgramProvider: null\r\n };\r\n console.log('add plan provider here at update');\r\n this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe(\r\n\r\n () =>{\r\n \r\n this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]); \r\n\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n deleteProvider(victimProgramProviderId: string){\r\n\r\n this.commonDialogService\r\n .confirm('', 'Do you want to delete this provider?', 'Yes', 'No')\r\n .subscribe(res => {this.result = res;\r\n if (this.result) {\r\n this._victimServicesComponent.deleteProvider(victimProgramProviderId, this.staffId)\r\n .subscribe(result => {\r\n this.snackBar.open('delete provider Successfully !', '', {\r\n duration: 3000,\r\n });\r\n\r\n location.reload();\r\n \r\n }\r\n );\r\n \r\n }\r\n\r\n });\r\n \r\n // location.reload();\r\n\r\n }\r\nsaveSafetyPlan() {\r\n\r\n if (this.editSafetyPlan.victimServiceId === undefined ) {\r\n\r\n const safetyPlan: VictimSafetyPlan = {\r\n victimId: this.victimId,\r\n fullName: null,\r\n victimServiceId: 0,\r\n goal:this.editSafetyPlan.goal,\r\n comment: this.editSafetyPlan.comment,\r\n modifiedBy:this.staffId,\r\n victimServiceStatusId: null,\r\n status: null,\r\n startDate: null,\r\n vVictimServiceDetails: null,\r\n victimName: null\r\n };\r\n this._victimServicesComponent.addSafetyPlan(safetyPlan).subscribe(\r\n (itms:any)=>{\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: itms.victimServiceId,\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test add safety Plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe(\r\n resp=>{\r\n this.snackBar.open('Insert status successfully!', '', {\r\n duration: 3000,\r\n });\r\n \r\n }\r\n );\r\n\r\n \r\n this.router.navigate(['saftyPlanDetail', itms.victimServiceId, this.victimId ]); \r\n }\r\n\r\n\r\n );\r\n } else {\r\n // this.editSafetyPlan.modifiedBy=this.loginStaff.staffId;\r\n this.editSafetyPlan.modifiedBy =this.staffId;\r\n this._victimServicesComponent.updateSafetyPlan(this.editSafetyPlan).subscribe(\r\n resp=>{\r\n // this.snackBar.open('update Successfully!', '', {\r\n // duration: 3000,\r\n // });\r\n\r\n\r\n\r\n const victimServiceStatus: VictimServiceStatusHistory= {\r\n victimServiceStatusHistoryId:0,\r\n victimServiceId: this.editSafetyPlan.victimServiceId.toString(),\r\n victimServiceStatusId: this.editSafetyPlan.victimServiceStatusId ,\r\n startDate: this.editSafetyPlan.startDate,\r\n modifiedBy:this.staffId,\r\n comment:'test update safety Plan'\r\n };\r\n\r\n this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe();\r\n\r\n \r\n this.router.navigate(['saftyPlanDetail', this.editSafetyPlan.victimServiceId, this.victimId ]); \r\n \r\n }\r\n );\r\n } \r\n }\r\n\r\n back(){\r\n console.log('this.victimId');\r\n console.log(this.victimId);\r\n this.router.navigate(['saftyPlan', this.victimId]); \r\n }\r\n \r\n\r\n}\r\n\r\n","import { MsalGuard } from '@azure/msal-angular';\r\nimport { SmartErrorComponent } from '@csmart/ngc-smart-core';\r\nimport { LoginStaffResolverService, SelectedOffenderResolverService} from '@csmart/ngc-smart-core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { NgcSmartVictimComponent} from './smart-victim.component'\r\n\r\nconst routes: Routes = [\r\n \r\n {path: 'casenote/:victimId', component: CaseNoteComponent,pathMatch: 'full',canActivate: [MsalGuard],resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlan/:victimId', component: VictimSafetyPlanComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'saftyPlanDetail/:victimServiceId/:victimId', component: VictimSafetyPlanDetailComponent,pathMatch: 'full',resolve: { loginStaff: LoginStaffResolverService } },\r\n {path: 'victimList', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimHome', component: NgcSmartVictimComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimContact/:victimId', component: ContactComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'victimDetail/:victimId', component: SmartVictimDetailComponent, resolve: { loginStaff: LoginStaffResolverService, selectedOffender: SelectedOffenderResolverService} },\r\n {path: 'smart-error', component: SmartErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VictimRoutingModule {\r\n}\r\n","export class VictimListFilter {\r\n \r\n offenderId: number;\r\n lastName: string;\r\n firstName: string;\r\n pdid: string;\r\n birthDate: Date;\r\n \r\n}","import { Component, OnInit, ViewEncapsulation,\r\n Output, EventEmitter } from '@angular/core';\r\n \r\nimport { VictimListFilter } from './VictimSearchFilter';\r\n \r\n @Component({\r\n selector: 'app-victim-search-form',\r\n templateUrl: './victimSearchForm.component.html',\r\n styleUrls: ['../smart-victim.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n })\r\n export class VictimSearchFormComponent implements OnInit {\r\n \r\n @Output() onSearch:EventEmitter<Object>=new EventEmitter<Object>();\r\n change: EventEmitter<VictimListFilter> = new EventEmitter<VictimListFilter>();\r\n \r\n filter: VictimListFilter = new VictimListFilter();\r\n \r\n constructor() { }\r\n \r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n // var element = <HTMLInputElement> document.getElementById(\"victimSearchButton\");\r\n // element.disabled = true;\r\n // setTimeout(function() {\r\n // element.disabled = false;\r\n // }, 10000);\r\n\r\n }\r\n onChange() {\r\n console.log('this.filter in serach form.');\r\n console.log(this.filter);\r\n\r\n this.onSearch.emit(this.filter);\r\n \r\n }\r\n }\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n } from '@angular/core';\r\n import {\r\n FormGroup,\r\n FormBuilder,\r\n AbstractControl,\r\n Validators,\r\n FormControl,\r\n } from '@angular/forms';\r\n // import { Subscription } from 'rxjs/Subscription';\r\n @Directive({\r\n selector: \"[phoneMask]\",\r\n })\r\n export class PhoneMaskDirective implements OnInit, OnDestroy {\r\n private _phoneControl: AbstractControl;\r\n private _preValue: string;\r\n @Input(\"phoneControl\")\r\n public set phoneControl(control: AbstractControl) {\r\n this._phoneControl = control;\r\n }\r\n @Input(\"preValue\")\r\n public set preValue(value: string) {\r\n this._preValue = value;\r\n this.formatPhoneNumber(value);\r\n }\r\n // private sub:ISubscription;\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n ngOnDestroy() {\r\n // this.sub.unsubscribe();\r\n }\r\n formatPhoneNumber(data) {\r\n if (!this._preValue) {\r\n this._preValue = \"\";\r\n data = \"\";\r\n }\r\n let preInputValue: string = this._preValue;\r\n var lastChar: string = preInputValue.substr(preInputValue.length - 1);\r\n var newVal = data.replace(/\\D/g, \"\");\r\n let start = this.renderer.selectRootElement(\"#tel\").selectionStart;\r\n let end = this.renderer.selectRootElement(\"#tel\").selectionEnd;\r\n if (data.length < preInputValue.length) {\r\n if (preInputValue.length < start) {\r\n if (lastChar == \")\") {\r\n newVal = newVal.substr(0, newVal.length - 1);\r\n }\r\n }\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n var removedD = data.charAt(start);\r\n if (newVal.length == 0) {\r\n newVal = \"\";\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, \"($1)\");\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, \"($1) $2\");\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, \"($1) $2-$3\");\r\n }\r\n if (preInputValue.length >= start) {\r\n if (removedD == \"(\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \")\") {\r\n start = start + 2;\r\n end = end + 2;\r\n }\r\n if (removedD == \"-\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \" \") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n if (removedD == \"\") {\r\n start = start + 1;\r\n end = end + 1;\r\n }\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer.selectRootElement(\"#tel\").setSelectionRange(start, end);\r\n } else {\r\n this._phoneControl.setValue(newVal, { emitEvent: false });\r\n this.renderer\r\n .selectRootElement(\"#tel\")\r\n .setSelectionRange(start + 2, end + 2); // +2 because of wanting standard typing\r\n }\r\n }\r\n }\r\n }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatRadioModule,\r\n MatCardModule, MatSlideToggleModule,MatSliderModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatPaginatorModule, MatSortModule, MatGridListModule, MatExpansionModule,\r\n} from '@angular/material';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { SmartAddressModule } from '@csmart/ngc-smart-address';\r\nimport { NgcSmartVictimComponent } from './smart-victim.component';\r\nimport { NgcSmartVictimService } from './smart-victim.service';\r\nimport { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';\r\nimport { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';\r\nimport { CommonDialogModule } from './common-dialog/common-dialog.module';\r\nimport { VictimRoutingModule } from './victim-routing.module';\r\nimport { CaseNoteComponent } from './caseNote/caseNote.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';\r\nimport { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';\r\nimport { VictimSearchFormComponent } from './victimSearch/victimSearchForm.component';\r\nimport { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular';\r\nimport { HttpLinkModule, HttpLink } from 'apollo-angular-link-http';\r\nimport { InMemoryCache } from 'apollo-cache-inmemory';\r\n//import { SharedModule } from './shared/app.shared.module';\r\n import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';\r\n import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';\r\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 = [ SmartAddressModule ];\r\n\r\nconst MATERIAL_MODULES = [\r\n MatButtonModule, MatCheckboxModule,MatRadioModule,MatSliderModule,\r\n MatCardModule, MatSlideToggleModule,\r\n MatListModule, MatIconModule, MatButtonToggleModule,\r\n MatToolbarModule, MatTabsModule, MatExpansionModule,\r\n MatMenuModule, MatInputModule, MatProgressBarModule,\r\n MatDatepickerModule, MatNativeDateModule,MatPaginatorModule,\r\n MatDialogModule, MatSidenavModule, MatSelectModule,\r\n MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS, \r\n CaseNoteComponent,\r\n ContactComponent,\r\n VictimSafetyPlanComponent,\r\n VictimSafetyPlanDetailComponent,\r\n VictimSearchFormComponent,\r\n SeriveProviderComponent\r\n ],\r\n imports: [\r\n ...BASE_MODULES,\r\n ...MATERIAL_MODULES,\r\n ...CORE_MODULES,\r\n CommonDialogModule,\r\n FormsModule,\r\n VictimRoutingModule,\r\n ApolloModule,\r\n //SharedModule\r\n \r\n \r\n ],\r\n exports: [...COMPONENTS,ApolloModule],\r\n entryComponents: [...ENTRY_COMPONENTS,SeriveProviderComponent],\r\n providers: [ NgcSmartVictimService ]\r\n})\r\nexport class NgcSmartVictimModule { }\r\n"],"names":["observableThrowError","headers","MatDialogRef","MatTableDataSource","MAT_DIALOG_DATA","VictimListFilter","MatIconModule"],"mappings":"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"}
|
@@ -1904,7 +1904,6 @@ var NgcSmartVictimComponent = /** @class */ (function () {
|
|
1904
1904
|
function () {
|
1905
1905
|
this.victimListDataSource.paginator = this.paginator;
|
1906
1906
|
this.victimListDataSource.sort = this.sort;
|
1907
|
-
console.log('check if goes here');
|
1908
1907
|
};
|
1909
1908
|
/**
|
1910
1909
|
* @return {?}
|
@@ -1917,11 +1916,11 @@ var NgcSmartVictimComponent = /** @class */ (function () {
|
|
1917
1916
|
/** @type {?} */
|
1918
1917
|
var data = this.route.snapshot.data;
|
1919
1918
|
/** @type {?} */
|
1920
|
-
var myPath = this.router.url;
|
1919
|
+
var myPath = this.router.url.slice(-10);
|
1921
1920
|
console.log('smart-victim ngOnInit');
|
1922
1921
|
console.log(this.intakeFlag);
|
1923
1922
|
console.log(myPath);
|
1924
|
-
if (this.intakeFlag) {
|
1923
|
+
if (this.intakeFlag || myPath == 'victimHome') {
|
1925
1924
|
this.isIntake = true;
|
1926
1925
|
}
|
1927
1926
|
this.displayedColumns = ['lastName', 'firstName'];
|
@@ -2520,14 +2519,8 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
2520
2519
|
email: new FormControl('', Validators.compose([Validators.pattern(this.emailPattern)])),
|
2521
2520
|
minorFlag: new FormControl('', Validators.compose([Validators.required])),
|
2522
2521
|
victimAdvocateFlag: new FormControl('', Validators.compose([Validators.required])),
|
2523
|
-
guardianLastName: new FormControl('',
|
2524
|
-
|
2525
|
-
*/
|
2526
|
-
function () { return _this.victimForm.get('minorFlag').value; }), Validators.required, 'illuminatiError')),
|
2527
|
-
guardianFirstName: new FormControl('', conditionalValidator((/**
|
2528
|
-
* @return {?}
|
2529
|
-
*/
|
2530
|
-
function () { return _this.victimForm.get('minorFlag').value; }), Validators.required, 'illuminatiError')),
|
2522
|
+
guardianLastName: new FormControl(''),
|
2523
|
+
guardianFirstName: new FormControl(''),
|
2531
2524
|
guardianPrefixId: new FormControl(''),
|
2532
2525
|
guardianSuffixId: new FormControl(''),
|
2533
2526
|
//guardianGender:new FormControl('', ),
|
@@ -2873,7 +2866,7 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
2873
2866
|
* @param {?} y
|
2874
2867
|
* @return {?}
|
2875
2868
|
*/
|
2876
|
-
function (y) { return (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM'
|
2869
|
+
function (y) { return (y.relationshipCategoryId === 'ST' || y.relationshipCategoryId === 'FM'); }));
|
2877
2870
|
}));
|
2878
2871
|
this.victimService.getSupportTypes().subscribe((/**
|
2879
2872
|
* @param {?} items
|
@@ -2911,8 +2904,8 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
2911
2904
|
* @return {?}
|
2912
2905
|
*/
|
2913
2906
|
function (value) {
|
2914
|
-
|
2915
|
-
|
2907
|
+
// this.victimForm.get('guardianFirstName').updateValueAndValidity();
|
2908
|
+
// this.victimForm.get('guardianLastName').updateValueAndValidity();
|
2916
2909
|
_this.victimForm.get('guardianWorkPhone').updateValueAndValidity();
|
2917
2910
|
_this.victimForm.get('guardianHomePhone').updateValueAndValidity();
|
2918
2911
|
_this.victimForm.get('guardianCellPhone').updateValueAndValidity();
|
@@ -2980,23 +2973,21 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
2980
2973
|
* @return {?}
|
2981
2974
|
*/
|
2982
2975
|
function ($event) {
|
2983
|
-
|
2984
|
-
|
2985
|
-
/** @type {?} */
|
2986
|
-
var guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2976
|
+
// const guardianLastNameControl = this.victimForm.get('guardianLastName');
|
2977
|
+
//const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
2987
2978
|
if ($event.value === true) {
|
2988
2979
|
this.guardianTabFlag = true;
|
2989
|
-
guardianLastNameControl.setValidators(Validators.required);
|
2990
|
-
guardianFirstNameControl.setValidators(Validators.required);
|
2980
|
+
// guardianLastNameControl.setValidators(Validators.required);
|
2981
|
+
// guardianFirstNameControl.setValidators(Validators.required);
|
2991
2982
|
//this.victimForm.value.guardianNoPhoneFlag = true;
|
2992
2983
|
}
|
2993
2984
|
else {
|
2994
2985
|
this.guardianTabFlag = false;
|
2995
|
-
guardianLastNameControl.clearValidators();
|
2996
|
-
guardianFirstNameControl.clearValidators();
|
2986
|
+
// guardianLastNameControl.clearValidators();
|
2987
|
+
// guardianFirstNameControl.clearValidators();
|
2997
2988
|
}
|
2998
|
-
guardianLastNameControl.updateValueAndValidity();
|
2999
|
-
guardianFirstNameControl.updateValueAndValidity();
|
2989
|
+
//guardianLastNameControl.updateValueAndValidity();
|
2990
|
+
// guardianFirstNameControl.updateValueAndValidity();
|
3000
2991
|
};
|
3001
2992
|
/**
|
3002
2993
|
* @param {?} $event
|
@@ -3146,13 +3137,11 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
3146
3137
|
/** @type {?} */
|
3147
3138
|
var minorControl = this.victimForm.get('minorFlag');
|
3148
3139
|
minorControl.setValue(true);
|
3149
|
-
|
3150
|
-
|
3151
|
-
/** @type {?} */
|
3152
|
-
var guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
3140
|
+
// const guardianLastNameControl = this.victimForm.get('guardianLastName');
|
3141
|
+
// const guardianFirstNameControl = this.victimForm.get('guardianFirstName');
|
3153
3142
|
this.guardianTabFlag = true;
|
3154
|
-
guardianLastNameControl.setValidators(Validators.required);
|
3155
|
-
guardianFirstNameControl.setValidators(Validators.required);
|
3143
|
+
// guardianLastNameControl.setValidators(Validators.required);
|
3144
|
+
// guardianFirstNameControl.setValidators(Validators.required);
|
3156
3145
|
}
|
3157
3146
|
};
|
3158
3147
|
/**
|
@@ -3685,7 +3674,7 @@ var SmartVictimDetailComponent = /** @class */ (function () {
|
|
3685
3674
|
SmartVictimDetailComponent.decorators = [
|
3686
3675
|
{ type: Component, args: [{
|
3687
3676
|
selector: 'csmart-victim-detail',
|
3688
|
-
template: "<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> \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> \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 phoneMask\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\r\n\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 matInput formControlName=\"cellPhone\" [(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 formControlName=\"workPhone\" [(ngModel)]=\"editVictim.workPhone\" >\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 </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\r\n <mat-checkbox color=\"primary\" formControlName=\"allowCsosaContactFlag\" name=\"allowCsosaContactFlag\" [(ngModel)]=\"editVictim.allowCsosaContactFlag\">victim wants to be contacted by CSOSA</mat-checkbox>\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> \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> \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> \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> \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> \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> \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): <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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 formControlName=\"emergencyContactPhone\" [(ngModel)]=\"editVictim.emergencyContactPhone\" >\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 \r\n <div *ngIf=\"showDelete\" class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n \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",
|
3677
|
+
template: "<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> \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> \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 phoneMask\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\r\n\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 matInput formControlName=\"cellPhone\" [(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 formControlName=\"workPhone\" [(ngModel)]=\"editVictim.workPhone\" >\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 </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\r\n <mat-checkbox color=\"primary\" formControlName=\"allowCsosaContactFlag\" name=\"allowCsosaContactFlag\" [(ngModel)]=\"editVictim.allowCsosaContactFlag\">victim wants to be contacted by CSOSA</mat-checkbox>\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> \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> \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> \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> \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> \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> \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): <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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 phoneMask\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 formControlName=\"emergencyContactPhone\" [(ngModel)]=\"editVictim.emergencyContactPhone\" >\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 \r\n <div *ngIf=\"showDelete\" class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"deleteVictim()\">Delete </button>\r\n </div>\r\n \r\n <div class=\"inner\">\r\n <button mat-raised-button color=\"primary\" (click)=\"cancel()\">Clear </button>\r\n </div>\r\n \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",
|
3689
3678
|
providers: [CommonDialogService],
|
3690
3679
|
styles: ["mat-form-field{width:100%}.container{margin:16px;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}@media only screen and (max-width:1120px){.container{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-row-gap:15px}}@media only screen and (max-width:675px){.container{display:flex;flex-direction:column}}#outer{width:100%;text-align:center}.inner{display:inline-block}.tp-radio-group{display:flex;justify-content:space-between}"]
|
3691
3680
|
}] }
|
@@ -5291,6 +5280,7 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5291
5280
|
/**
|
5292
5281
|
* @param {?} providerListCollectionKey
|
5293
5282
|
* @param {?} serviceTypeName
|
5283
|
+
* @param {?} event
|
5294
5284
|
* @return {?}
|
5295
5285
|
*/
|
5296
5286
|
VictimSafetyPlanDetailComponent.prototype.isInArray =
|
@@ -5298,37 +5288,47 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5298
5288
|
/**
|
5299
5289
|
* @param {?} providerListCollectionKey
|
5300
5290
|
* @param {?} serviceTypeName
|
5291
|
+
* @param {?} event
|
5301
5292
|
* @return {?}
|
5302
5293
|
*/
|
5303
|
-
function (providerListCollectionKey, serviceTypeName) {
|
5294
|
+
function (providerListCollectionKey, serviceTypeName, event) {
|
5304
5295
|
var _this = this;
|
5305
|
-
|
5306
|
-
|
5307
|
-
|
5308
|
-
|
5309
|
-
|
5310
|
-
|
5311
|
-
|
5312
|
-
|
5313
|
-
|
5314
|
-
|
5315
|
-
}
|
5316
|
-
|
5317
|
-
|
5318
|
-
|
5319
|
-
|
5320
|
-
|
5321
|
-
|
5322
|
-
|
5323
|
-
|
5324
|
-
|
5325
|
-
|
5326
|
-
|
5327
|
-
|
5328
|
-
|
5329
|
-
|
5296
|
+
console.log('providerListCollectionKey');
|
5297
|
+
console.log(providerListCollectionKey);
|
5298
|
+
console.log('serviceTypeName');
|
5299
|
+
console.log(serviceTypeName);
|
5300
|
+
console.log('event.source.value');
|
5301
|
+
console.log(event.checked);
|
5302
|
+
if (event.checked == true) {
|
5303
|
+
for (var j = 0; j < this.providerListCollection.length; j++) {
|
5304
|
+
if (providerListCollectionKey == this.providerListCollection[j].groupId) {
|
5305
|
+
this.providerListCollection[j].isDisplay = !this.providerListCollection[j].isDisplay;
|
5306
|
+
/** @type {?} */
|
5307
|
+
var dialogRef = this.dialog.open(SeriveProviderComponent, {
|
5308
|
+
width: '500px',
|
5309
|
+
data: (/** @type {?} */ ({
|
5310
|
+
serviceType: serviceTypeName,
|
5311
|
+
serviceTypeId: providerListCollectionKey,
|
5312
|
+
providerCollections: __spread(this.providerListCollection),
|
5313
|
+
})),
|
5314
|
+
panelClass: 'formFieldWidth480',
|
5315
|
+
});
|
5316
|
+
dialogRef.afterClosed().subscribe((/**
|
5317
|
+
* @param {?} result
|
5318
|
+
* @return {?}
|
5319
|
+
*/
|
5320
|
+
function (result) {
|
5321
|
+
console.log('The dialog was closed');
|
5322
|
+
console.log(result);
|
5323
|
+
if (result) {
|
5324
|
+
console.log('The dialog was closed, inside result');
|
5325
|
+
_this.savePlanProvider(providerListCollectionKey, result.voteeProviderId);
|
5326
|
+
}
|
5327
|
+
}));
|
5328
|
+
// return;
|
5329
|
+
}
|
5330
5330
|
}
|
5331
|
-
}
|
5331
|
+
} //if event.checked == true
|
5332
5332
|
//this.router.navigate(['saftyPlanDetail', this.victimServiceId, this.victimId ]);
|
5333
5333
|
};
|
5334
5334
|
/**
|
@@ -5457,6 +5457,7 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5457
5457
|
else {
|
5458
5458
|
if (this.victimServiceId == 0) {
|
5459
5459
|
//insert
|
5460
|
+
console.log('insert new plan');
|
5460
5461
|
/** @type {?} */
|
5461
5462
|
var safetyPlan = {
|
5462
5463
|
victimId: this.victimId,
|
@@ -5483,34 +5484,30 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5483
5484
|
victimServiceStatusId: _this.editSafetyPlan.victimServiceStatusId,
|
5484
5485
|
startDate: _this.editSafetyPlan.startDate,
|
5485
5486
|
modifiedBy: _this.staffId,
|
5486
|
-
comment: 'test'
|
5487
|
+
comment: 'test add safety plan'
|
5487
5488
|
};
|
5488
5489
|
_this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe((/**
|
5489
|
-
* @param {?} result
|
5490
5490
|
* @return {?}
|
5491
5491
|
*/
|
5492
|
-
function (
|
5493
|
-
|
5494
|
-
|
5495
|
-
}
|
5496
|
-
|
5497
|
-
|
5498
|
-
|
5499
|
-
|
5500
|
-
|
5501
|
-
|
5502
|
-
|
5503
|
-
|
5504
|
-
|
5505
|
-
|
5506
|
-
|
5507
|
-
|
5508
|
-
|
5509
|
-
|
5510
|
-
|
5511
|
-
_this.snackBar.open('Add provider Successfully !', '', {
|
5512
|
-
duration: 3000,
|
5513
|
-
});
|
5492
|
+
function () {
|
5493
|
+
console.log('check itms.victimServiceId iniside add victim serive status');
|
5494
|
+
console.log(itms.victimServiceId);
|
5495
|
+
/** @type {?} */
|
5496
|
+
var victimServiceDetail = {
|
5497
|
+
victimServiceId: itms.victimServiceId,
|
5498
|
+
victimServiceDetailId: 0,
|
5499
|
+
victimServiceTypeId: victimServiceTypeId,
|
5500
|
+
victimProgramProviderId: victimProgramProviderId,
|
5501
|
+
modifiedBy: _this.staffId,
|
5502
|
+
victimProgramProvider: null
|
5503
|
+
};
|
5504
|
+
console.log('add plan provider here at insert');
|
5505
|
+
_this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe((/**
|
5506
|
+
* @return {?}
|
5507
|
+
*/
|
5508
|
+
function () {
|
5509
|
+
_this.router.navigate(['saftyPlanDetail', itms.victimServiceId, _this.victimId]);
|
5510
|
+
}));
|
5514
5511
|
}));
|
5515
5512
|
}));
|
5516
5513
|
}
|
@@ -5525,7 +5522,13 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5525
5522
|
modifiedBy: this.staffId,
|
5526
5523
|
victimProgramProvider: null
|
5527
5524
|
};
|
5528
|
-
|
5525
|
+
console.log('add plan provider here at update');
|
5526
|
+
this._victimServicesComponent.addPlanProvider(victimServiceDetail).subscribe((/**
|
5527
|
+
* @return {?}
|
5528
|
+
*/
|
5529
|
+
function () {
|
5530
|
+
_this.router.navigate(['saftyPlanDetail', _this.victimServiceId, _this.victimId]);
|
5531
|
+
}));
|
5529
5532
|
}
|
5530
5533
|
}
|
5531
5534
|
};
|
@@ -5598,7 +5601,7 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5598
5601
|
victimServiceStatusId: _this.editSafetyPlan.victimServiceStatusId,
|
5599
5602
|
startDate: _this.editSafetyPlan.startDate,
|
5600
5603
|
modifiedBy: _this.staffId,
|
5601
|
-
comment: 'test'
|
5604
|
+
comment: 'test add safety Plan'
|
5602
5605
|
};
|
5603
5606
|
_this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe((/**
|
5604
5607
|
* @param {?} resp
|
@@ -5609,7 +5612,7 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5609
5612
|
duration: 3000,
|
5610
5613
|
});
|
5611
5614
|
}));
|
5612
|
-
_this.router.navigate(['
|
5615
|
+
_this.router.navigate(['saftyPlanDetail', itms.victimServiceId, _this.victimId]);
|
5613
5616
|
}));
|
5614
5617
|
}
|
5615
5618
|
else {
|
@@ -5633,10 +5636,10 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5633
5636
|
victimServiceStatusId: _this.editSafetyPlan.victimServiceStatusId,
|
5634
5637
|
startDate: _this.editSafetyPlan.startDate,
|
5635
5638
|
modifiedBy: _this.staffId,
|
5636
|
-
comment: 'test'
|
5639
|
+
comment: 'test update safety Plan'
|
5637
5640
|
};
|
5638
5641
|
_this._victimServicesComponent.addVictimServiceStatus(victimServiceStatus).subscribe();
|
5639
|
-
_this.router.navigate(['
|
5642
|
+
_this.router.navigate(['saftyPlanDetail', _this.editSafetyPlan.victimServiceId, _this.victimId]);
|
5640
5643
|
}));
|
5641
5644
|
}
|
5642
5645
|
};
|
@@ -5653,7 +5656,7 @@ var VictimSafetyPlanDetailComponent = /** @class */ (function () {
|
|
5653
5656
|
};
|
5654
5657
|
VictimSafetyPlanDetailComponent.decorators = [
|
5655
5658
|
{ type: Component, args: [{
|
5656
|
-
template: "<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 \r\n \r\n \r\n \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 \r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n \r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n \r\n\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 </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);\" > {{serviceType.name}}</mat-checkbox>\r\n <div> </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 <!-- <button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n <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>",
|
5659
|
+
template: "<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 \r\n \r\n \r\n \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 \r\n <mat-option *ngFor=\" let victimServiceStatu of victimServiceStatus\" [value]=\"victimServiceStatu.victimServiceStatusId\" >{{victimServiceStatu.name}}</mat-option>\r\n \r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n \r\n\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> </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 <!-- <button mat-raised-button color=\"primary\" (click)=\"commondialogRef.close()\">Cancel</button> -->\r\n <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>",
|
5657
5660
|
providers: [CommonDialogService],
|
5658
5661
|
styles: ["div.serviceSelect{width:500px}div.serviceButton{width:20%}.container{margin:16px;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.app-class .mat-list-item{height:auto}.textarea-content{width:500px}"]
|
5659
5662
|
}] }
|