@csmart/ngc-smart-victim 1.18.12 → 1.18.14
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/csmart-ngc-smart-victim.mjs +5 -0
- package/esm2022/lib/caseNote/caseNote.component.mjs +194 -0
- package/esm2022/lib/common-dialog/common-dialog.component.mjs +23 -0
- package/esm2022/lib/common-dialog/common-dialog.module.mjs +34 -0
- package/esm2022/lib/common-dialog/common-dialog.service.mjs +33 -0
- package/esm2022/lib/contact/contact.component.mjs +140 -0
- package/esm2022/lib/email.services.mjs +42 -0
- package/esm2022/lib/intake.service.mjs +57 -0
- package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +99 -0
- package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
- package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
- package/esm2022/lib/shared/app.shared.module.mjs +215 -0
- package/esm2022/lib/shared/validators/date.validator.mjs +59 -0
- package/esm2022/lib/shared/validators/index.mjs +2 -0
- package/esm2022/lib/smart-victim-delete-confirm.component.mjs +44 -0
- package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +1155 -0
- package/esm2022/lib/smart-victim.component.mjs +317 -0
- package/esm2022/lib/smart-victim.model.mjs +142 -0
- package/esm2022/lib/smart-victim.module.mjs +128 -0
- package/esm2022/lib/smart-victim.service.mjs +370 -0
- package/esm2022/lib/victim-routing.module.mjs +41 -0
- package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +3 -0
- package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +38 -0
- package/esm2022/public-api.mjs +11 -0
- package/fesm2022/csmart-ngc-smart-victim.mjs +3342 -0
- package/fesm2022/csmart-ngc-smart-victim.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/caseNote/caseNote.component.d.ts +51 -0
- package/lib/common-dialog/common-dialog.component.d.ts +14 -0
- package/lib/common-dialog/common-dialog.module.d.ts +8 -0
- package/lib/common-dialog/common-dialog.service.d.ts +11 -0
- package/lib/contact/contact.component.d.ts +40 -0
- package/lib/email.services.d.ts +11 -0
- package/lib/intake.service.d.ts +57 -0
- package/lib/safetyPlan/serviceProvider.component.d.ts +19 -0
- package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -0
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -0
- package/lib/shared/app.shared.module.d.ts +33 -0
- package/lib/shared/validators/date.validator.d.ts +9 -0
- package/lib/shared/validators/index.d.ts +1 -0
- package/lib/smart-victim-delete-confirm.component.d.ts +12 -0
- package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -0
- package/lib/smart-victim.component.d.ts +69 -0
- package/lib/smart-victim.model.d.ts +211 -0
- package/lib/smart-victim.module.d.ts +49 -0
- package/lib/smart-victim.service.d.ts +71 -0
- package/lib/victim-routing.module.d.ts +7 -0
- package/{src/lib/victimSearch/VictimSearchFilter.ts → lib/victimSearch/VictimSearchFilter.d.ts} +7 -9
- package/lib/victimSearch/victimSearchForm.component.d.ts +14 -0
- package/package.json +21 -6
- package/{src/public-api.ts → public-api.d.ts} +7 -12
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -7
- package/src/lib/caseNote/caseNote.component.css +0 -22
- package/src/lib/caseNote/caseNote.component.html +0 -188
- package/src/lib/caseNote/caseNote.component.ts +0 -265
- package/src/lib/common-dialog/common-dialog.component.css +0 -10
- package/src/lib/common-dialog/common-dialog.component.html +0 -23
- package/src/lib/common-dialog/common-dialog.component.spec.ts +0 -25
- package/src/lib/common-dialog/common-dialog.component.ts +0 -21
- package/src/lib/common-dialog/common-dialog.module.ts +0 -22
- package/src/lib/common-dialog/common-dialog.service.ts +0 -35
- package/src/lib/contact/contact.component.css +0 -22
- package/src/lib/contact/contact.component.html +0 -124
- package/src/lib/contact/contact.component.ts +0 -176
- package/src/lib/email-notification.service.ts +0 -42
- package/src/lib/email.services.ts +0 -51
- package/src/lib/http.service.ts +0 -34
- package/src/lib/intake.service.ts +0 -82
- package/src/lib/loader.service.ts +0 -11
- package/src/lib/safetyPlan/serviceProvider.component.ts +0 -94
- package/src/lib/safetyPlan/victimSafetyPlan.component.css +0 -27
- package/src/lib/safetyPlan/victimSafetyPlan.component.html +0 -85
- package/src/lib/safetyPlan/victimSafetyPlan.component.ts +0 -178
- package/src/lib/safetyPlan/victimSafetyPlanDetail.component.html +0 -234
- package/src/lib/safetyPlan/victimSafetyPlanDetail.component.ts +0 -492
- package/src/lib/shared/app.shared.module.ts +0 -111
- package/src/lib/shared/validators/date.validator.ts +0 -73
- package/src/lib/shared/validators/index.ts +0 -1
- package/src/lib/smart-victim-delete-confirm.component.ts +0 -35
- package/src/lib/smart-victim-detail/smart-victim-detail.component.css +0 -43
- package/src/lib/smart-victim-detail/smart-victim-detail.component.html +0 -876
- package/src/lib/smart-victim-detail/smart-victim-detail.component.spec.ts +0 -25
- package/src/lib/smart-victim-detail/smart-victim-detail.component.ts +0 -1469
- package/src/lib/smart-victim.component.css +0 -245
- package/src/lib/smart-victim.component.html +0 -132
- package/src/lib/smart-victim.component.spec.ts +0 -25
- package/src/lib/smart-victim.component.ts +0 -333
- package/src/lib/smart-victim.model.ts +0 -311
- package/src/lib/smart-victim.module.ts +0 -110
- package/src/lib/smart-victim.service.spec.ts +0 -12
- package/src/lib/smart-victim.service.ts +0 -576
- package/src/lib/victim-routing.module.ts +0 -36
- package/src/lib/victimSearch/victimSearchForm.component.html +0 -35
- package/src/lib/victimSearch/victimSearchForm.component.ts +0 -41
- package/src/test.ts +0 -16
- package/tsconfig.lib.json +0 -36
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
@@ -1,124 +0,0 @@
|
|
1
|
-
|
2
|
-
<mat-card>
|
3
|
-
<mat-card-header>
|
4
|
-
|
5
|
-
</mat-card-header>
|
6
|
-
<mat-card-content>
|
7
|
-
|
8
|
-
<mat-toolbar color="primary">
|
9
|
-
<h4 class="card-header" >Contact detail</h4>
|
10
|
-
</mat-toolbar>
|
11
|
-
<br>
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<mat-card>
|
16
|
-
<div class='container'>
|
17
|
-
<form [formGroup]="contactForm" #contactDetailForm="ngForm" >
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<div>
|
22
|
-
<mat-form-field>
|
23
|
-
<mat-label>Contact Date:</mat-label>
|
24
|
-
<input matInput formControlName="contactDate"
|
25
|
-
(click)="contactDate.open()"
|
26
|
-
[matDatepicker]="contactDate"
|
27
|
-
placeholder="Choose a contact date"
|
28
|
-
[(ngModel)]="editContact.contactDate" required>
|
29
|
-
<mat-datepicker-toggle matSuffix [for]="contactDate"></mat-datepicker-toggle>
|
30
|
-
<mat-datepicker #contactDate></mat-datepicker>
|
31
|
-
</mat-form-field>
|
32
|
-
|
33
|
-
<div class="validation-errors">
|
34
|
-
<div
|
35
|
-
class="help-block"
|
36
|
-
*ngIf="
|
37
|
-
contactForm
|
38
|
-
.get('contactDate')
|
39
|
-
.hasError('required') &&
|
40
|
-
(contactForm.get('contactDate').dirty ||
|
41
|
-
contactForm.get('contactDate').touched)">
|
42
|
-
<mat-error>Contact date is
|
43
|
-
<strong>required</strong></mat-error>
|
44
|
-
</div>
|
45
|
-
<div
|
46
|
-
class="help-block"
|
47
|
-
*ngIf="
|
48
|
-
contactForm.get('contactDate').hasError('date') &&
|
49
|
-
(contactForm.get('contactDate').dirty ||
|
50
|
-
contactForm.get('contactDate').touched)">
|
51
|
-
<mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>
|
52
|
-
</div>
|
53
|
-
</div>
|
54
|
-
</div>
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
<div>
|
59
|
-
<mat-form-field>
|
60
|
-
<mat-label>Contact Method:</mat-label>
|
61
|
-
<mat-select placeholder="contactMethod" formControlName="contactMethod" required [(ngModel)]="editContact.victimContactMethodId">
|
62
|
-
<mat-option *ngFor=" let contactMethod of contactMethods" [value]="contactMethod.victimContactMethodId" >{{contactMethod.name}}</mat-option>
|
63
|
-
</mat-select>
|
64
|
-
</mat-form-field>
|
65
|
-
</div>
|
66
|
-
|
67
|
-
<div>
|
68
|
-
<mat-form-field class="mat-select-content">
|
69
|
-
<mat-label>Contact By:</mat-label>
|
70
|
-
<mat-select formControlName="contactBy" required [(ngModel)]="editContact.contactedBy" class="mat-select-inner">
|
71
|
-
<mat-option *ngFor=" let item of staff" [value]="item.staffId" >{{ item.fullName}}</mat-option>
|
72
|
-
</mat-select>
|
73
|
-
</mat-form-field>
|
74
|
-
</div>
|
75
|
-
|
76
|
-
<div>
|
77
|
-
|
78
|
-
<mat-form-field>
|
79
|
-
<mat-label>Comments </mat-label>
|
80
|
-
<textarea
|
81
|
-
matInput
|
82
|
-
placeholder=""
|
83
|
-
required formControlName="comment"
|
84
|
-
[(ngModel)]="editContact.comment"
|
85
|
-
cdkTextareaAutosize
|
86
|
-
#autosize="cdkTextareaAutosize"
|
87
|
-
cdkAutosizeMinRows="1"
|
88
|
-
cdkAutosizeMaxRows="5">
|
89
|
-
</textarea>
|
90
|
-
</mat-form-field>
|
91
|
-
</div>
|
92
|
-
|
93
|
-
<div>
|
94
|
-
<mat-form-field>
|
95
|
-
<mat-label>Next Contact Date: </mat-label>
|
96
|
-
<input matInput formControlName="nextContactDate"
|
97
|
-
(click)="nextContactDate.open()"
|
98
|
-
[matDatepicker]="nextContactDate"
|
99
|
-
placeholder="Choose a next contact date"
|
100
|
-
[(ngModel)]="editContact.nextContactDate" required>
|
101
|
-
<mat-datepicker-toggle matSuffix [for]="nextContactDate"></mat-datepicker-toggle>
|
102
|
-
<mat-datepicker #nextContactDate></mat-datepicker>
|
103
|
-
</mat-form-field>
|
104
|
-
</div>
|
105
|
-
|
106
|
-
<div>
|
107
|
-
<!-- <button mat-stroked-button color="primary" (click)="saveContact()" [disabled]="!contactForm.form.valid" >Save</button> -->
|
108
|
-
<button mat-stroked-button color="primary" (click)="saveContact()" [disabled]="!contactForm.valid" >Save</button>
|
109
|
-
<button mat-stroked-button color="primary" >Cancel</button>
|
110
|
-
<button mat-stroked-button color="primary" (click)="back()" >Back</button>
|
111
|
-
</div>
|
112
|
-
|
113
|
-
</form>
|
114
|
-
</div>
|
115
|
-
</mat-card>
|
116
|
-
|
117
|
-
|
118
|
-
<br>
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
</mat-card-content>
|
124
|
-
</mat-card>
|
@@ -1,176 +0,0 @@
|
|
1
|
-
import { Component, OnInit,Inject,OnChanges, Input, Output, EventEmitter,AfterViewInit } from '@angular/core';
|
2
|
-
import { NgcSmartVictimService } from '../smart-victim.service';
|
3
|
-
import { UntypedFormControl, UntypedFormGroup, FormBuilder,Validators } from '@angular/forms';
|
4
|
-
import { CommonDialogService} from '.././common-dialog/common-dialog.service';
|
5
|
-
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';
|
6
|
-
import { SelectedOffender, LoginStaff } from '@csmart/ngc-smart-core';
|
7
|
-
import { Router, ActivatedRoute } from '@angular/router';
|
8
|
-
import { Contact} from '../smart-victim.model';
|
9
|
-
import { SmartAuthService } from '@csmart/ngc-smart-core';
|
10
|
-
import { dateValidator,passDateValidator,dateLessThan } from '../shared/validators';
|
11
|
-
import { MatSnackBar } from '@angular/material/snack-bar';
|
12
|
-
|
13
|
-
@Component({
|
14
|
-
templateUrl: './contact.component.html',
|
15
|
-
styleUrls: ['./contact.component.css'],
|
16
|
-
})
|
17
|
-
export class ContactComponent implements OnInit,AfterViewInit {
|
18
|
-
|
19
|
-
offenderId: number;
|
20
|
-
loginStaff: LoginStaff;
|
21
|
-
contact: Contact;
|
22
|
-
editContact: Contact = <Contact>{};
|
23
|
-
errorMessage: string;
|
24
|
-
contactMethods: any[];
|
25
|
-
contactBy: any[];
|
26
|
-
result: any;
|
27
|
-
victimName: string;
|
28
|
-
staffId: number;
|
29
|
-
victimId: number;
|
30
|
-
hiddenAddNewFlag: boolean;
|
31
|
-
contactForm: UntypedFormGroup;
|
32
|
-
private sub: any;
|
33
|
-
staff: any = {};
|
34
|
-
|
35
|
-
constructor(
|
36
|
-
|
37
|
-
private _victimServicesComponent: NgcSmartVictimService,
|
38
|
-
//private commonDialogService: CommonDialogService,
|
39
|
-
public snackBar: MatSnackBar,
|
40
|
-
private route: ActivatedRoute,
|
41
|
-
private router: Router,
|
42
|
-
private smartAuthService: SmartAuthService,
|
43
|
-
|
44
|
-
) {
|
45
|
-
this.contactForm = new UntypedFormGroup({
|
46
|
-
//contactDate: new FormControl(),
|
47
|
-
contactDate:new UntypedFormControl('', Validators.compose([
|
48
|
-
dateValidator() ])),
|
49
|
-
|
50
|
-
contactMethod: new UntypedFormControl(),
|
51
|
-
contactBy: new UntypedFormControl(),
|
52
|
-
comment: new UntypedFormControl(),
|
53
|
-
nextContactDate: new UntypedFormControl()
|
54
|
-
});
|
55
|
-
}
|
56
|
-
|
57
|
-
ngAfterViewInit() {
|
58
|
-
this.smartAuthService.setPermission('Victim', this.route.snapshot);
|
59
|
-
}
|
60
|
-
|
61
|
-
ngOnInit() {
|
62
|
-
var data = this.route.snapshot.data;
|
63
|
-
this.loginStaff = data.loginStaff;
|
64
|
-
this.staffId = this.loginStaff.staffId;
|
65
|
-
|
66
|
-
this.staff = [
|
67
|
-
{
|
68
|
-
staffId: this.loginStaff.staffId,
|
69
|
-
fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,
|
70
|
-
},
|
71
|
-
];
|
72
|
-
|
73
|
-
|
74
|
-
this.sub = this.route.params.subscribe(params => {
|
75
|
-
this.victimId = params['victimId'];
|
76
|
-
console.log('my this.victimId');
|
77
|
-
console.log(this.victimId);
|
78
|
-
|
79
|
-
});
|
80
|
-
|
81
|
-
|
82
|
-
this._victimServicesComponent.getContactMethods().subscribe(
|
83
|
-
(items: any) => {
|
84
|
-
this.contactMethods = items;
|
85
|
-
console.log('this.contactMethods');
|
86
|
-
console.log(this.contactMethods);
|
87
|
-
}
|
88
|
-
);
|
89
|
-
|
90
|
-
// this._victimServicesComponent.getContactBys().subscribe(
|
91
|
-
// (items: any) => {
|
92
|
-
// this.contactBy= items;
|
93
|
-
// }
|
94
|
-
// );
|
95
|
-
|
96
|
-
|
97
|
-
// this._victimServicesComponent.getContacts(this.victimId).subscribe(
|
98
|
-
// caseNoteList => {
|
99
|
-
|
100
|
-
// this.caseNoteList = caseNoteList;
|
101
|
-
|
102
|
-
// }
|
103
|
-
// );
|
104
|
-
|
105
|
-
}
|
106
|
-
onEditContact(victimContactId: number){
|
107
|
-
|
108
|
-
// this.hiddenDetailFlag =false;
|
109
|
-
// this.hiddenAddNewFlag = true;
|
110
|
-
|
111
|
-
// this.addDisableFlag = true;
|
112
|
-
// this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);
|
113
|
-
|
114
|
-
}
|
115
|
-
|
116
|
-
// onDeleteCaseNote(victimCaseNoteId: number){
|
117
|
-
// this.commonDialogService
|
118
|
-
// .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
|
119
|
-
// .subscribe(res => {this.result = res;
|
120
|
-
// if (this.result) {
|
121
|
-
// this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
|
122
|
-
// .subscribe(result => {
|
123
|
-
// this.snackBar.open('delete Successfully !', '', { duration: 3000,});
|
124
|
-
|
125
|
-
// this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
|
126
|
-
// caseNoteList => {
|
127
|
-
// this.caseNoteList = caseNoteList;
|
128
|
-
|
129
|
-
// }
|
130
|
-
// );
|
131
|
-
// }
|
132
|
-
// );
|
133
|
-
// }
|
134
|
-
|
135
|
-
// });
|
136
|
-
// }
|
137
|
-
onAddNew(){
|
138
|
-
|
139
|
-
// this.editCas.caseNoteDate = null;
|
140
|
-
// this.editCaseNote.contactTypeId = null;
|
141
|
-
// this.editCaseNote.victimContactPurposeId = null;
|
142
|
-
// this.editCaseNote.comment = null;
|
143
|
-
}
|
144
|
-
back(){
|
145
|
-
|
146
|
-
|
147
|
-
this.router.navigate(['victimDetail', this.victimId ]);
|
148
|
-
}
|
149
|
-
|
150
|
-
saveContact(){
|
151
|
-
|
152
|
-
const contact: Contact = {
|
153
|
-
victimId:this.victimId,
|
154
|
-
victimContactId: 0,
|
155
|
-
contactDate: this.editContact.contactDate,
|
156
|
-
victimContactMethodId: this.editContact.victimContactMethodId,
|
157
|
-
contactMethod: null,
|
158
|
-
contactedByName: null,
|
159
|
-
contactedBy: this.editContact.contactedBy,
|
160
|
-
comment: this.editContact.comment,
|
161
|
-
nextContactDate: this.editContact.nextContactDate,
|
162
|
-
modifiedBy: this.staffId,
|
163
|
-
|
164
|
-
};
|
165
|
-
this._victimServicesComponent.addContact(contact).subscribe(
|
166
|
-
result => {
|
167
|
-
this.snackBar.open('Saved Successfully !', '', {
|
168
|
-
duration: 3000,
|
169
|
-
});
|
170
|
-
|
171
|
-
this.router.navigate(['victimDetail', this.victimId ]);
|
172
|
-
}
|
173
|
-
);
|
174
|
-
}
|
175
|
-
|
176
|
-
}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { HttpClient } from "@angular/common/http";
|
2
|
-
import { Observable } from "rxjs";
|
3
|
-
import { map } from "rxjs/operators";
|
4
|
-
import { Injectable } from "@angular/core";
|
5
|
-
import { environment } from "../environments/environment";
|
6
|
-
|
7
|
-
@Injectable()
|
8
|
-
export class EmailNotificationService {
|
9
|
-
constructor(private http: HttpClient) {}
|
10
|
-
|
11
|
-
createEmail(
|
12
|
-
emailTemplateId: string,
|
13
|
-
parameters: string,
|
14
|
-
modifiedBy: number
|
15
|
-
): Observable<any> {
|
16
|
-
const mutationString = `
|
17
|
-
mutation {
|
18
|
-
createEmail(
|
19
|
-
input: {
|
20
|
-
emailTemplateId: "${emailTemplateId}"
|
21
|
-
parameters: "${parameters}"
|
22
|
-
modifiedBy: ${modifiedBy}
|
23
|
-
}
|
24
|
-
) {
|
25
|
-
message
|
26
|
-
data {
|
27
|
-
emailQueueId
|
28
|
-
recipient
|
29
|
-
}
|
30
|
-
}
|
31
|
-
}
|
32
|
-
`;
|
33
|
-
|
34
|
-
return this.http
|
35
|
-
.post<any>(environment.smartApiUrl, { query: mutationString })
|
36
|
-
.pipe(
|
37
|
-
map(({ data }) => {
|
38
|
-
return data.createEmail;
|
39
|
-
})
|
40
|
-
);
|
41
|
-
}
|
42
|
-
}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { Apollo } from 'apollo-angular';
|
3
|
-
import { Observable } from 'rxjs';
|
4
|
-
import gql from 'graphql-tag';
|
5
|
-
|
6
|
-
@Injectable({
|
7
|
-
providedIn: 'root',
|
8
|
-
})
|
9
|
-
export class EmailService {
|
10
|
-
constructor(private apollo: Apollo) {}
|
11
|
-
|
12
|
-
createCaseNoteEmail(
|
13
|
-
templateId: string,
|
14
|
-
offenderId: number,
|
15
|
-
modifiedBy: number,
|
16
|
-
) : Observable<any> {
|
17
|
-
|
18
|
-
return this.createEmail(
|
19
|
-
templateId,
|
20
|
-
`{\\"offenderId\\": ${offenderId}}`,
|
21
|
-
modifiedBy,
|
22
|
-
);
|
23
|
-
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
createEmail(
|
28
|
-
emailTemplateId: string,
|
29
|
-
parameters: string,
|
30
|
-
modifiedBy: number,
|
31
|
-
): Observable<any> {
|
32
|
-
const mutation = `mutation {
|
33
|
-
createEmail(input: {
|
34
|
-
emailTemplateId: "${emailTemplateId}"
|
35
|
-
parameters: "${parameters}"
|
36
|
-
modifiedBy: ${modifiedBy}
|
37
|
-
}) {
|
38
|
-
message
|
39
|
-
data {
|
40
|
-
emailQueueId
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}`;
|
44
|
-
console.log(mutation);
|
45
|
-
return this.apollo.mutate({
|
46
|
-
mutation: gql`
|
47
|
-
${mutation}
|
48
|
-
`,
|
49
|
-
});
|
50
|
-
}
|
51
|
-
}
|
package/src/lib/http.service.ts
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
|
2
|
-
import { throwError as observableThrowError, Observable, throwError } from 'rxjs';
|
3
|
-
import { Injectable } from '@angular/core';
|
4
|
-
import { HttpClient, HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http';
|
5
|
-
import { catchError, finalize, map } from 'rxjs/operators';
|
6
|
-
import { LoaderService } from './loader.service';
|
7
|
-
|
8
|
-
export enum ResponseContentType {
|
9
|
-
Blob, Json
|
10
|
-
}
|
11
|
-
|
12
|
-
@Injectable()
|
13
|
-
export class HttpService {
|
14
|
-
|
15
|
-
constructor(private http: HttpClient,
|
16
|
-
private loaderService: LoaderService
|
17
|
-
) { }
|
18
|
-
|
19
|
-
private handleError(error: HttpErrorResponse) {
|
20
|
-
return throwError(() => new Error(error.message));
|
21
|
-
}
|
22
|
-
private showLoader(): void {
|
23
|
-
this.loaderService.display(true);
|
24
|
-
}
|
25
|
-
private hideLoader(): void {
|
26
|
-
this.loaderService.display(false);
|
27
|
-
}
|
28
|
-
public sendEmailTemplate(emailTemplateId: string, data: any, staffId: number) : Observable<any> {
|
29
|
-
return this.sendEmail({ emailTemplateId: emailTemplateId, emailParams: JSON.stringify(data), staffId: staffId, CaseDocumentIds: '' });
|
30
|
-
}
|
31
|
-
private sendEmail(data: any) : Observable<any> {
|
32
|
-
return this.http.post('https://smart-service-offender-uat.azurewebsites.net/v1/', + '/Emails/', data).pipe();
|
33
|
-
}
|
34
|
-
}
|
@@ -1,82 +0,0 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
|
-
import { Observable } from 'rxjs';
|
3
|
-
import { map, filter } from 'rxjs/operators';
|
4
|
-
import { Injectable,Inject } from '@angular/core';
|
5
|
-
import { SMART_OFFENDER_SERVICE_URL} from './smart-victim.model';
|
6
|
-
|
7
|
-
|
8
|
-
const headers = new Headers({ 'Content-Type': 'application/json' });
|
9
|
-
@Injectable({
|
10
|
-
providedIn: 'root'
|
11
|
-
})
|
12
|
-
export class IntakeServicesComponent {
|
13
|
-
//serviceData = environment.smartOffenderServiceUrl;
|
14
|
-
constructor(private http: HttpClient,
|
15
|
-
@Inject(SMART_OFFENDER_SERVICE_URL) private smartOffenderServiceUrl: string,
|
16
|
-
) {}
|
17
|
-
getIntakeByOffender(offenderId: any): Observable<Intake> {
|
18
|
-
return this.http
|
19
|
-
.get<Intake>(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)
|
20
|
-
.pipe();
|
21
|
-
}
|
22
|
-
|
23
|
-
updateIntakeSteps(
|
24
|
-
offenderId: number,
|
25
|
-
intakeStepStatus: IntakeStepStatusModel,
|
26
|
-
) {
|
27
|
-
return this.http.put(
|
28
|
-
this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId,
|
29
|
-
intakeStepStatus,
|
30
|
-
);
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
export interface Intake {
|
35
|
-
intakeId: number;
|
36
|
-
offenderId: number;
|
37
|
-
intakeOffenderReportStatusId?: any;
|
38
|
-
startDate: string;
|
39
|
-
endDate?: any;
|
40
|
-
assignmentId?: any;
|
41
|
-
modifiedBy: number;
|
42
|
-
}
|
43
|
-
|
44
|
-
export interface IntakeStepStatus {
|
45
|
-
intakeStepStatusId: number;
|
46
|
-
intakeId: number;
|
47
|
-
intakeStepId: string;
|
48
|
-
completedDate: Date;
|
49
|
-
modifiedBy: number;
|
50
|
-
}
|
51
|
-
|
52
|
-
export interface IntakeStepStatusModel
|
53
|
-
{
|
54
|
-
offenderId: number;
|
55
|
-
intakeStepId: string;
|
56
|
-
modifiedBy: number;
|
57
|
-
}
|
58
|
-
|
59
|
-
export class IntakeStep{
|
60
|
-
public static PhysicalInformation = "PHYSIN";
|
61
|
-
public static Photo = "PHOTOS";
|
62
|
-
public static HousingInformation = "HOUSE";
|
63
|
-
public static DocketInformation = "DOCKET";
|
64
|
-
public static Alias = "ALIAS";
|
65
|
-
public static IntakeBasicInformation = "INTKBI";
|
66
|
-
public static ContactInformation = "CONTCT";
|
67
|
-
public static DeceasedInformation = "DEATH";
|
68
|
-
public static DriversLicense = "DRVLIC";
|
69
|
-
public static EmploymentInformation = "EMPLOY";
|
70
|
-
public static GangAffiliation = "GANG";
|
71
|
-
public static HealthInsurance = "HLTHINS";
|
72
|
-
public static Identification = "IDNTFCTN";
|
73
|
-
public static InternetIdentifier = "INTERNETID";
|
74
|
-
public static MilitaryService = "MLTSVC";
|
75
|
-
public static School = "SCHOOL";
|
76
|
-
public static SelectiveService = "SLCTVSVC";
|
77
|
-
public static Vehicle = "VEHICLE";
|
78
|
-
public static VictimInformation = "VICTIM";
|
79
|
-
public static WarrantInformation = "WARRNT";
|
80
|
-
public static RunningRecord = "RUNREC";
|
81
|
-
public static Signature = "SIGN";
|
82
|
-
}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
3
|
-
|
4
|
-
@Injectable()
|
5
|
-
export class LoaderService {
|
6
|
-
public status: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
7
|
-
|
8
|
-
display(value: boolean) {
|
9
|
-
this.status.next(value);
|
10
|
-
}
|
11
|
-
}
|
@@ -1,94 +0,0 @@
|
|
1
|
-
import { Component, OnInit, Inject } from '@angular/core';
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
3
|
-
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
4
|
-
import { ProvidersDialogData} from '../smart-victim.model';
|
5
|
-
import { NgcSmartVictimService } from '../smart-victim.service';
|
6
|
-
|
7
|
-
|
8
|
-
@Component({
|
9
|
-
selector: 'app-service-provider',
|
10
|
-
template: `
|
11
|
-
<h1 mat-dialog-title> {{data.serviceType}}</h1>
|
12
|
-
<div mat-dialog-content class="main" [formGroup]="spForm">
|
13
|
-
<mat-form-field>
|
14
|
-
<mat-label>service provider</mat-label>
|
15
|
-
|
16
|
-
<mat-select formControlName="voteeProviderId">
|
17
|
-
<mat-option
|
18
|
-
*ngFor="let providerOption of programProviders"
|
19
|
-
[value]="providerOption.victimProgramProviderId">{{ providerOption.victimProgramProvider }}
|
20
|
-
</mat-option>
|
21
|
-
</mat-select>
|
22
|
-
|
23
|
-
</mat-form-field>
|
24
|
-
|
25
|
-
</div>
|
26
|
-
<div mat-dialog-actions class="actions">
|
27
|
-
<button mat-stroked-button color="primary" (click)="cancel()" cdkFocusInitial>
|
28
|
-
Cancel Change
|
29
|
-
</button>
|
30
|
-
<button mat-stroked-button color="primary" [mat-dialog-close]="spForm.value" >
|
31
|
-
Save Change
|
32
|
-
</button>
|
33
|
-
</div>
|
34
|
-
`,
|
35
|
-
styles: [
|
36
|
-
`
|
37
|
-
.main {
|
38
|
-
width: 100%;
|
39
|
-
display: flex;
|
40
|
-
flex-direction: column;
|
41
|
-
}
|
42
|
-
|
43
|
-
.actions{
|
44
|
-
display: flex;
|
45
|
-
}
|
46
|
-
`,
|
47
|
-
],
|
48
|
-
})
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
export class SeriveProviderComponent implements OnInit {
|
53
|
-
spForm: UntypedFormGroup;
|
54
|
-
programProviders:[];
|
55
|
-
|
56
|
-
constructor(
|
57
|
-
private formBuilder: UntypedFormBuilder,
|
58
|
-
public dialogRef: MatDialogRef<SeriveProviderComponent>,
|
59
|
-
private _victimServicesComponent: NgcSmartVictimService,
|
60
|
-
@Inject(MAT_DIALOG_DATA) public data: ProvidersDialogData,
|
61
|
-
) {
|
62
|
-
|
63
|
-
|
64
|
-
this.spForm = this.formBuilder.group({
|
65
|
-
voteeProviderId: [''],
|
66
|
-
|
67
|
-
});
|
68
|
-
}
|
69
|
-
|
70
|
-
cancel() {
|
71
|
-
this.dialogRef.close();
|
72
|
-
}
|
73
|
-
|
74
|
-
ngOnInit() {
|
75
|
-
console.log('data.providerCollections')
|
76
|
-
console.log(this.data);
|
77
|
-
console.log(this.data.serviceTypeId);
|
78
|
-
|
79
|
-
this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe(
|
80
|
-
(items: any) => {
|
81
|
-
this.programProviders = items.filter( (y) => (y.victimServiceTypeId === this.data.serviceTypeId));
|
82
|
-
console.log('this.programProviders');
|
83
|
-
console.log(this.programProviders);
|
84
|
-
}
|
85
|
-
);
|
86
|
-
|
87
|
-
this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {
|
88
|
-
console.log('voteeProviderId in service provider component.')
|
89
|
-
console.log(voteeProviderId)
|
90
|
-
|
91
|
-
|
92
|
-
})
|
93
|
-
}
|
94
|
-
}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
|
2
|
-
div.serviceSelect
|
3
|
-
{
|
4
|
-
width: 500px;
|
5
|
-
|
6
|
-
}
|
7
|
-
div.serviceButton
|
8
|
-
{
|
9
|
-
width: 20%;
|
10
|
-
|
11
|
-
}
|
12
|
-
.container{
|
13
|
-
margin: 16px;
|
14
|
-
display: grid;
|
15
|
-
grid-template-columns: repeat(2, 1fr);
|
16
|
-
grid-gap: 10px;
|
17
|
-
grid-auto-rows: minmax(50px, auto);
|
18
|
-
justify-items: stretch;
|
19
|
-
}
|
20
|
-
|
21
|
-
.app-class .mat-mdc-list-item {
|
22
|
-
height: auto;
|
23
|
-
}
|
24
|
-
|
25
|
-
.textarea-content{
|
26
|
-
width:500px;
|
27
|
-
}
|