@csmart/ngc-smart-victim 1.14.43 → 1.14.44
Sign up to get free protection for your applications and to get access to all the features.
- package/{esm2020 → esm2022}/csmart-ngc-smart-victim.mjs +4 -4
- package/esm2022/lib/caseNote/caseNote.component.mjs +219 -0
- package/esm2022/lib/common-dialog/common-dialog.component.mjs +26 -0
- package/{esm2020 → esm2022}/lib/common-dialog/common-dialog.module.mjs +34 -34
- package/esm2022/lib/common-dialog/common-dialog.service.mjs +34 -0
- package/esm2022/lib/contact/contact.component.mjs +158 -0
- package/esm2022/lib/email.services.mjs +43 -0
- package/esm2022/lib/intake.service.mjs +59 -0
- package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +105 -0
- package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +146 -0
- package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +372 -0
- package/{esm2020 → esm2022}/lib/shared/app.shared.module.mjs +215 -215
- package/esm2022/lib/shared/validators/date.validator.mjs +59 -0
- package/{esm2020 → esm2022}/lib/shared/validators/index.mjs +1 -1
- package/esm2022/lib/smart-victim-delete-confirm.component.mjs +46 -0
- package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +1141 -0
- package/esm2022/lib/smart-victim.component.mjs +343 -0
- package/esm2022/lib/smart-victim.model.mjs +233 -0
- package/{esm2020 → esm2022}/lib/smart-victim.module.mjs +128 -128
- package/esm2022/lib/smart-victim.service.mjs +357 -0
- package/{esm2020 → esm2022}/lib/victim-routing.module.mjs +41 -41
- package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +8 -0
- package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +37 -0
- package/{esm2020 → esm2022}/public-api.mjs +10 -10
- package/{fesm2020 → fesm2022}/csmart-ngc-smart-victim.mjs +3360 -3065
- package/fesm2022/csmart-ngc-smart-victim.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/caseNote/caseNote.component.d.ts +51 -51
- package/lib/common-dialog/common-dialog.component.d.ts +14 -14
- package/lib/common-dialog/common-dialog.module.d.ts +8 -8
- package/lib/common-dialog/common-dialog.service.d.ts +11 -11
- package/lib/contact/contact.component.d.ts +40 -40
- package/lib/email.services.d.ts +11 -11
- package/lib/intake.service.d.ts +57 -57
- package/lib/safetyPlan/serviceProvider.component.d.ts +19 -19
- package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -54
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -62
- package/lib/shared/app.shared.module.d.ts +33 -33
- package/lib/shared/validators/date.validator.d.ts +9 -9
- package/lib/shared/validators/index.d.ts +1 -1
- package/lib/smart-victim-delete-confirm.component.d.ts +12 -12
- package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -129
- package/lib/smart-victim.component.d.ts +68 -68
- package/lib/smart-victim.model.d.ts +205 -205
- package/lib/smart-victim.module.d.ts +49 -49
- package/lib/smart-victim.service.d.ts +71 -71
- package/lib/victim-routing.module.d.ts +7 -7
- package/lib/victimSearch/VictimSearchFilter.d.ts +7 -7
- package/lib/victimSearch/victimSearchForm.component.d.ts +14 -14
- package/package.json +5 -11
- package/public-api.d.ts +7 -7
- package/esm2020/lib/caseNote/caseNote.component.mjs +0 -194
- package/esm2020/lib/common-dialog/common-dialog.component.mjs +0 -23
- package/esm2020/lib/common-dialog/common-dialog.service.mjs +0 -33
- package/esm2020/lib/contact/contact.component.mjs +0 -140
- package/esm2020/lib/email.services.mjs +0 -42
- package/esm2020/lib/intake.service.mjs +0 -57
- package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +0 -99
- package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +0 -116
- package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +0 -340
- package/esm2020/lib/shared/validators/date.validator.mjs +0 -59
- package/esm2020/lib/smart-victim-delete-confirm.component.mjs +0 -44
- package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +0 -1104
- package/esm2020/lib/smart-victim.component.mjs +0 -314
- package/esm2020/lib/smart-victim.model.mjs +0 -133
- package/esm2020/lib/smart-victim.service.mjs +0 -352
- package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +0 -3
- package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +0 -38
- package/fesm2015/csmart-ngc-smart-victim.mjs +0 -3273
- package/fesm2015/csmart-ngc-smart-victim.mjs.map +0 -1
- package/fesm2020/csmart-ngc-smart-victim.mjs.map +0 -1
@@ -0,0 +1,158 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import { NgcSmartVictimService } from '../smart-victim.service';
|
3
|
+
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
4
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
5
|
+
import { SmartAuthService } from '@csmart/ngc-smart-core';
|
6
|
+
import { dateValidator } from '../shared/validators';
|
7
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "../smart-victim.service";
|
10
|
+
import * as i2 from "@angular/material/snack-bar";
|
11
|
+
import * as i3 from "@angular/router";
|
12
|
+
import * as i4 from "@csmart/ngc-smart-core";
|
13
|
+
import * as i5 from "@angular/common";
|
14
|
+
import * as i6 from "@angular/forms";
|
15
|
+
import * as i7 from "@angular/material/button";
|
16
|
+
import * as i8 from "@angular/material/card";
|
17
|
+
import * as i9 from "@angular/material/toolbar";
|
18
|
+
import * as i10 from "@angular/material/input";
|
19
|
+
import * as i11 from "@angular/material/form-field";
|
20
|
+
import * as i12 from "@angular/cdk/text-field";
|
21
|
+
import * as i13 from "@angular/material/datepicker";
|
22
|
+
import * as i14 from "@angular/material/select";
|
23
|
+
import * as i15 from "@angular/material/core";
|
24
|
+
export class ContactComponent {
|
25
|
+
_victimServicesComponent;
|
26
|
+
snackBar;
|
27
|
+
route;
|
28
|
+
router;
|
29
|
+
smartAuthService;
|
30
|
+
offenderId;
|
31
|
+
loginStaff;
|
32
|
+
contact;
|
33
|
+
editContact = {};
|
34
|
+
errorMessage;
|
35
|
+
contactMethods;
|
36
|
+
contactBy;
|
37
|
+
result;
|
38
|
+
victimName;
|
39
|
+
staffId;
|
40
|
+
victimId;
|
41
|
+
hiddenAddNewFlag;
|
42
|
+
contactForm;
|
43
|
+
sub;
|
44
|
+
staff = {};
|
45
|
+
constructor(_victimServicesComponent,
|
46
|
+
//private commonDialogService: CommonDialogService,
|
47
|
+
snackBar, route, router, smartAuthService) {
|
48
|
+
this._victimServicesComponent = _victimServicesComponent;
|
49
|
+
this.snackBar = snackBar;
|
50
|
+
this.route = route;
|
51
|
+
this.router = router;
|
52
|
+
this.smartAuthService = smartAuthService;
|
53
|
+
this.contactForm = new UntypedFormGroup({
|
54
|
+
//contactDate: new FormControl(),
|
55
|
+
contactDate: new UntypedFormControl('', Validators.compose([
|
56
|
+
dateValidator()
|
57
|
+
])),
|
58
|
+
contactMethod: new UntypedFormControl(),
|
59
|
+
contactBy: new UntypedFormControl(),
|
60
|
+
comment: new UntypedFormControl(),
|
61
|
+
nextContactDate: new UntypedFormControl()
|
62
|
+
});
|
63
|
+
}
|
64
|
+
ngAfterViewInit() {
|
65
|
+
this.smartAuthService.setPermission('Victim', this.route.snapshot);
|
66
|
+
}
|
67
|
+
ngOnInit() {
|
68
|
+
var data = this.route.snapshot.data;
|
69
|
+
this.loginStaff = data.loginStaff;
|
70
|
+
this.staffId = this.loginStaff.staffId;
|
71
|
+
this.staff = [
|
72
|
+
{
|
73
|
+
staffId: this.loginStaff.staffId,
|
74
|
+
fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,
|
75
|
+
},
|
76
|
+
];
|
77
|
+
this.sub = this.route.params.subscribe(params => {
|
78
|
+
this.victimId = params['victimId'];
|
79
|
+
console.log('my this.victimId');
|
80
|
+
console.log(this.victimId);
|
81
|
+
});
|
82
|
+
this._victimServicesComponent.getContactMethods().subscribe((items) => {
|
83
|
+
this.contactMethods = items;
|
84
|
+
console.log('this.contactMethods');
|
85
|
+
console.log(this.contactMethods);
|
86
|
+
});
|
87
|
+
// this._victimServicesComponent.getContactBys().subscribe(
|
88
|
+
// (items: any) => {
|
89
|
+
// this.contactBy= items;
|
90
|
+
// }
|
91
|
+
// );
|
92
|
+
// this._victimServicesComponent.getContacts(this.victimId).subscribe(
|
93
|
+
// caseNoteList => {
|
94
|
+
// this.caseNoteList = caseNoteList;
|
95
|
+
// }
|
96
|
+
// );
|
97
|
+
}
|
98
|
+
onEditContact(victimContactId) {
|
99
|
+
// this.hiddenDetailFlag =false;
|
100
|
+
// this.hiddenAddNewFlag = true;
|
101
|
+
// this.addDisableFlag = true;
|
102
|
+
// this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);
|
103
|
+
}
|
104
|
+
// onDeleteCaseNote(victimCaseNoteId: number){
|
105
|
+
// this.commonDialogService
|
106
|
+
// .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
|
107
|
+
// .subscribe(res => {this.result = res;
|
108
|
+
// if (this.result) {
|
109
|
+
// this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
|
110
|
+
// .subscribe(result => {
|
111
|
+
// this.snackBar.open('delete Successfully !', '', { duration: 3000,});
|
112
|
+
// this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
|
113
|
+
// caseNoteList => {
|
114
|
+
// this.caseNoteList = caseNoteList;
|
115
|
+
// }
|
116
|
+
// );
|
117
|
+
// }
|
118
|
+
// );
|
119
|
+
// }
|
120
|
+
// });
|
121
|
+
// }
|
122
|
+
onAddNew() {
|
123
|
+
// this.editCas.caseNoteDate = null;
|
124
|
+
// this.editCaseNote.contactTypeId = null;
|
125
|
+
// this.editCaseNote.victimContactPurposeId = null;
|
126
|
+
// this.editCaseNote.comment = null;
|
127
|
+
}
|
128
|
+
back() {
|
129
|
+
this.router.navigate(['victimDetail', this.victimId]);
|
130
|
+
}
|
131
|
+
saveContact() {
|
132
|
+
const contact = {
|
133
|
+
victimId: this.victimId,
|
134
|
+
victimContactId: 0,
|
135
|
+
contactDate: this.editContact.contactDate,
|
136
|
+
victimContactMethodId: this.editContact.victimContactMethodId,
|
137
|
+
contactMethod: null,
|
138
|
+
contactedByName: null,
|
139
|
+
contactedBy: this.editContact.contactedBy,
|
140
|
+
comment: this.editContact.comment,
|
141
|
+
nextContactDate: this.editContact.nextContactDate,
|
142
|
+
modifiedBy: this.staffId,
|
143
|
+
};
|
144
|
+
this._victimServicesComponent.addContact(contact).subscribe(result => {
|
145
|
+
this.snackBar.open('Saved Successfully !', '', {
|
146
|
+
duration: 3000,
|
147
|
+
});
|
148
|
+
this.router.navigate(['victimDetail', this.victimId]);
|
149
|
+
});
|
150
|
+
}
|
151
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ContactComponent, deps: [{ token: i1.NgcSmartVictimService }, { token: i2.MatSnackBar }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i4.SmartAuthService }], target: i0.ɵɵFactoryTarget.Component });
|
152
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ContactComponent, selector: "ng-component", ngImport: i0, template: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n \r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Contact detail</h4>\r\n </mat-toolbar>\r\n <br>\r\n \r\n\r\n \r\n <mat-card >\r\n <div class='container'> \r\n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\r\n \r\n \r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Contact Date:</mat-label>\r\n <input matInput formControlName=\"contactDate\" \r\n (click)=\"contactDate.open()\" \r\n [matDatepicker]=\"contactDate\" \r\n placeholder=\"Choose a contact date\" \r\n [(ngModel)]=\"editContact.contactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #contactDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"validation-errors\">\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm\r\n .get('contactDate')\r\n .hasError('required') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error>Contact date is\r\n <strong>required</strong></mat-error>\r\n </div>\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm.get('contactDate').hasError('date') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\r\n </div>\r\n </div>\r\n </div> \r\n \r\n \r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Method:</mat-label>\r\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\r\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div> \r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact By:</mat-label>\r\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n\r\n <mat-form-field>\r\n <mat-label>Comments </mat-label>\r\n <textarea \r\n matInput \r\n placeholder=\"\" \r\n required formControlName=\"comment\" \r\n [(ngModel)]=\"editContact.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\">\r\n </textarea> \r\n </mat-form-field>\r\n </div>\r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Next Contact Date: </mat-label>\r\n <input matInput formControlName=\"nextContactDate\" \r\n (click)=\"nextContactDate.open()\" \r\n [matDatepicker]=\"nextContactDate\" \r\n placeholder=\"Choose a next contact date\" \r\n [(ngModel)]=\"editContact.nextContactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #nextContactDate></mat-datepicker>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n <button mat-raised-button color=\"primary\" >Cancel</button>\r\n <button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n \r\n \r\n <br>\r\n \r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>", styles: ["mat-form-field{width:50%}.container{margin:16px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.mat-select-content{width:300px}.mat-select-inner{width:290px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i9.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i12.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i13.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i13.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i13.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i14.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i15.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }] });
|
153
|
+
}
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ContactComponent, decorators: [{
|
155
|
+
type: Component,
|
156
|
+
args: [{ template: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n \r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Contact detail</h4>\r\n </mat-toolbar>\r\n <br>\r\n \r\n\r\n \r\n <mat-card >\r\n <div class='container'> \r\n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\r\n \r\n \r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Contact Date:</mat-label>\r\n <input matInput formControlName=\"contactDate\" \r\n (click)=\"contactDate.open()\" \r\n [matDatepicker]=\"contactDate\" \r\n placeholder=\"Choose a contact date\" \r\n [(ngModel)]=\"editContact.contactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #contactDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"validation-errors\">\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm\r\n .get('contactDate')\r\n .hasError('required') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error>Contact date is\r\n <strong>required</strong></mat-error>\r\n </div>\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm.get('contactDate').hasError('date') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\r\n </div>\r\n </div>\r\n </div> \r\n \r\n \r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Method:</mat-label>\r\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\r\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div> \r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact By:</mat-label>\r\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n\r\n <mat-form-field>\r\n <mat-label>Comments </mat-label>\r\n <textarea \r\n matInput \r\n placeholder=\"\" \r\n required formControlName=\"comment\" \r\n [(ngModel)]=\"editContact.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\">\r\n </textarea> \r\n </mat-form-field>\r\n </div>\r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Next Contact Date: </mat-label>\r\n <input matInput formControlName=\"nextContactDate\" \r\n (click)=\"nextContactDate.open()\" \r\n [matDatepicker]=\"nextContactDate\" \r\n placeholder=\"Choose a next contact date\" \r\n [(ngModel)]=\"editContact.nextContactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #nextContactDate></mat-datepicker>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n <button mat-raised-button color=\"primary\" >Cancel</button>\r\n <button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n \r\n \r\n <br>\r\n \r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>", styles: ["mat-form-field{width:50%}.container{margin:16px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.mat-select-content{width:300px}.mat-select-inner{width:290px}\n"] }]
|
157
|
+
}], ctorParameters: () => [{ type: i1.NgcSmartVictimService }, { type: i2.MatSnackBar }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.SmartAuthService }] });
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFjLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBaUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTyxnQkFBZ0I7SUFvQmpCO0lBRUQ7SUFDQztJQUNBO0lBQ0E7SUF2QlYsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBYTtJQUN2QixPQUFPLENBQVU7SUFDakIsV0FBVyxHQUFxQixFQUFFLENBQUM7SUFDbkMsWUFBWSxDQUFTO0lBQ3JCLGNBQWMsQ0FBUTtJQUN0QixTQUFTLENBQVE7SUFDakIsTUFBTSxDQUFNO0lBQ1osVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBUztJQUNoQixRQUFRLENBQVM7SUFDakIsZ0JBQWdCLENBQVU7SUFDMUIsV0FBVyxDQUFtQjtJQUN0QixHQUFHLENBQU07SUFD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QUM7UUFDdkQsQ0FBQyxDQUNGLENBQUM7SUFDRixDQUFDOzBIQTdKUSxnQkFBZ0I7OEdBQWhCLGdCQUFnQixvRENoQjdCLG82U0EySFc7OzJGRDNHRSxnQkFBZ0I7a0JBSjVCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbmplY3QsT25DaGFuZ2VzLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsQWZ0ZXJWaWV3SW5pdCAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmljdGltLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4vY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZE9mZmVuZGVyLCBMb2dpblN0YWZmIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb250YWN0fSBmcm9tICcuLi9zbWFydC12aWN0aW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IGRhdGVWYWxpZGF0b3IscGFzc0RhdGVWYWxpZGF0b3IsZGF0ZUxlc3NUaGFuIH0gZnJvbSAnLi4vc2hhcmVkL3ZhbGlkYXRvcnMnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQgIHtcclxuXHJcbiAgb2ZmZW5kZXJJZDogbnVtYmVyO1xyXG4gIGxvZ2luU3RhZmY6IExvZ2luU3RhZmY7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICBlZGl0Q29udGFjdDogQ29udGFjdCA9IDxDb250YWN0Pnt9O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbnRhY3RNZXRob2RzOiBhbnlbXTtcclxuICBjb250YWN0Qnk6IGFueVtdO1xyXG4gIHJlc3VsdDogYW55O1xyXG4gIHZpY3RpbU5hbWU6IHN0cmluZztcclxuICBzdGFmZklkOiBudW1iZXI7XHJcbiAgdmljdGltSWQ6IG51bWJlcjtcclxuICBoaWRkZW5BZGROZXdGbGFnOiBib29sZWFuO1xyXG4gIGNvbnRhY3RGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgc3ViOiBhbnk7XHJcbiAgc3RhZmY6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuXHJcbiAgICBwcml2YXRlIF92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudDogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxyXG4gICAgLy9wcml2YXRlIGNvbW1vbkRpYWxvZ1NlcnZpY2U6IENvbW1vbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBzbWFydEF1dGhTZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlLFxyXG4gICAgIFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250YWN0Rm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcclxuICAgICAgLy9jb250YWN0RGF0ZTogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAgIGNvbnRhY3REYXRlOm5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgZGF0ZVZhbGlkYXRvcigpXHQgIF0pKSxcclxuXHJcbiAgICAgIGNvbnRhY3RNZXRob2Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcclxuICAgICAgY29udGFjdEJ5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXHJcbiAgICAgIGNvbW1lbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcclxuICAgICAgbmV4dENvbnRhY3REYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc21hcnRBdXRoU2VydmljZS5zZXRQZXJtaXNzaW9uKCdWaWN0aW0nLCB0aGlzLnJvdXRlLnNuYXBzaG90KTtcclxuICB9XHJcbiBcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHZhciBkYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5sb2dpblN0YWZmID0gZGF0YS5sb2dpblN0YWZmO1xyXG4gICAgdGhpcy5zdGFmZklkID0gIHRoaXMubG9naW5TdGFmZi5zdGFmZklkO1xyXG4gICBcclxuICAgIHRoaXMuc3RhZmYgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBzdGFmZklkOiB0aGlzLmxvZ2luU3RhZmYuc3RhZmZJZCxcclxuICAgICAgICBmdWxsTmFtZTogdGhpcy5sb2dpblN0YWZmLmZpcnN0TmFtZSArICcgJyArIHRoaXMubG9naW5TdGFmZi5sYXN0TmFtZSxcclxuICAgICAgfSxcclxuICAgIF07XHJcblxyXG5cclxuICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMudmljdGltSWQgPSBwYXJhbXNbJ3ZpY3RpbUlkJ107XHJcbiAgICAgIGNvbnNvbGUubG9nKCdteSB0aGlzLnZpY3RpbUlkJyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMudmljdGltSWQpO1xyXG4gXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q29udGFjdE1ldGhvZHMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0TWV0aG9kcyA9IGl0ZW1zO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLmNvbnRhY3RNZXRob2RzJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb250YWN0TWV0aG9kcyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgLy8gdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q29udGFjdEJ5cygpLnN1YnNjcmliZShcclxuICAgIC8vICAgKGl0ZW1zOiBhbnkpID0+IHtcclxuICAgIC8vICAgICB0aGlzLmNvbnRhY3RCeT0gaXRlbXM7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICk7XHJcblxyXG4gICAgXHJcbiAgICAvLyB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0cyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAvLyAgIGNhc2VOb3RlTGlzdCA9PiB7XHJcbiAgICAgXHJcbiAgICAvLyAgICAgdGhpcy5jYXNlTm90ZUxpc3QgPSBjYXNlTm90ZUxpc3Q7IFxyXG4gICAgICBcclxuICAgIC8vICAgfVxyXG4gICAgLy8gKTtcclxuIFxyXG4gIH1cclxuICBvbkVkaXRDb250YWN0KHZpY3RpbUNvbnRhY3RJZDogbnVtYmVyKXtcclxuICBcclxuICAgIC8vIHRoaXMuaGlkZGVuRGV0YWlsRmxhZyA9ZmFsc2U7XHJcbiAgICAvLyB0aGlzLmhpZGRlbkFkZE5ld0ZsYWcgPSB0cnVlO1xyXG5cclxuICAgIC8vIHRoaXMuYWRkRGlzYWJsZUZsYWcgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5lZGl0Q2FzZU5vdGUgPSB0aGlzLmNhc2VOb3RlTGlzdC5maW5kKHggPT4geC52aWN0aW1DYXNlTm90ZUlkID09PSB2aWN0aW1DYXNlTm90ZUlkKTtcclxuXHJcbiAgfVxyXG4gXHJcbiAgLy8gb25EZWxldGVDYXNlTm90ZSh2aWN0aW1DYXNlTm90ZUlkOiBudW1iZXIpe1xyXG4gIC8vICAgIHRoaXMuY29tbW9uRGlhbG9nU2VydmljZVxyXG4gIC8vICAgLmNvbmZpcm0oJycsICdEbyB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBjYXNlIG5vdGU/JywgJ1llcycsICdObycpXHJcbiAgLy8gICAuc3Vic2NyaWJlKHJlcyA9PiB7dGhpcy5yZXN1bHQgPSAgcmVzO1xyXG4gIC8vICAgICAgIGlmICh0aGlzLnJlc3VsdCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5kZWxldGVDYXNlTm90ZSh2aWN0aW1DYXNlTm90ZUlkLCB0aGlzLnN0YWZmSWQpXHJcbiAgLy8gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgLy8gICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ2RlbGV0ZSBTdWNjZXNzZnVsbHkgIScsICcnLCB7IGR1cmF0aW9uOiAzMDAwLH0pO1xyXG5cclxuICAvLyAgICAgICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgLy8gICAgICAgICAgICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAvLyAgICAgICAgICAgICAgIHRoaXMuY2FzZU5vdGVMaXN0ID0gY2FzZU5vdGVMaXN0OyBcclxuICAgICAgICAgICAgICBcclxuICAvLyAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICk7XHJcbiAgLy8gICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgICk7XHJcbiAgLy8gICAgICAgfVxyXG5cclxuICAvLyAgICB9KTtcclxuICAvLyB9XHJcbiAgb25BZGROZXcoKXtcclxuICAgXHJcbiAgICAvLyB0aGlzLmVkaXRDYXMuY2FzZU5vdGVEYXRlID0gbnVsbDtcclxuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLmNvbnRhY3RUeXBlSWQgPSBudWxsO1xyXG4gICAgLy8gdGhpcy5lZGl0Q2FzZU5vdGUudmljdGltQ29udGFjdFB1cnBvc2VJZCA9IG51bGw7XHJcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZS5jb21tZW50ID0gbnVsbDtcclxuICB9XHJcbiAgYmFjaygpe1xyXG5cclxuIFxyXG4gICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyd2aWN0aW1EZXRhaWwnLCB0aGlzLnZpY3RpbUlkIF0pOyBcclxuICB9XHJcbiBcclxuICBzYXZlQ29udGFjdCgpe1xyXG5cclxuICAgICAgICBjb25zdCBjb250YWN0OiBDb250YWN0ID0ge1xyXG4gICAgICAgIHZpY3RpbUlkOnRoaXMudmljdGltSWQsXHJcbiAgICAgICAgdmljdGltQ29udGFjdElkOiAwLFxyXG4gICAgICAgIGNvbnRhY3REYXRlOiB0aGlzLmVkaXRDb250YWN0LmNvbnRhY3REYXRlLFxyXG4gICAgICAgIHZpY3RpbUNvbnRhY3RNZXRob2RJZDogdGhpcy5lZGl0Q29udGFjdC52aWN0aW1Db250YWN0TWV0aG9kSWQsXHJcbiAgICAgICAgY29udGFjdE1ldGhvZDogbnVsbCxcclxuICAgICAgICBjb250YWN0ZWRCeU5hbWU6IG51bGwsXHJcbiAgICAgICAgY29udGFjdGVkQnk6IHRoaXMuZWRpdENvbnRhY3QuY29udGFjdGVkQnksXHJcbiAgICAgICAgY29tbWVudDogdGhpcy5lZGl0Q29udGFjdC5jb21tZW50LFxyXG4gICAgICAgIG5leHRDb250YWN0RGF0ZTogdGhpcy5lZGl0Q29udGFjdC5uZXh0Q29udGFjdERhdGUsXHJcbiAgICAgICAgbW9kaWZpZWRCeTogdGhpcy5zdGFmZklkLFxyXG4gICAgXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuYWRkQ29udGFjdChjb250YWN0KS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdTYXZlZCBTdWNjZXNzZnVsbHkgIScsICcnLCB7XHJcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3ZpY3RpbURldGFpbCcsIHRoaXMudmljdGltSWQgXSk7IFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCJcclxuIDxtYXQtY2FyZD5cclxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG5cclxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC10b29sYmFyICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImNhcmQtaGVhZGVyXCIgPkNvbnRhY3QgZGV0YWlsPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRhaW5lcic+ICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjb250YWN0Rm9ybVwiICNjb250YWN0RGV0YWlsRm9ybT1cIm5nRm9ybVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbnRhY3QgRGF0ZTo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdERhdGVcIiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb250YWN0RGF0ZS5vcGVuKClcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJjb250YWN0RGF0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ2hvb3NlIGEgY29udGFjdCBkYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC5jb250YWN0RGF0ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJjb250YWN0RGF0ZVwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNjb250YWN0RGF0ZT48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWN0Rm9ybVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnY29udGFjdERhdGUnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS5kaXJ0eSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPkNvbnRhY3QgZGF0ZSBpc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+cmVxdWlyZWQ8L3N0cm9uZz48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWN0Rm9ybS5nZXQoJ2NvbnRhY3REYXRlJykuaGFzRXJyb3IoJ2RhdGUnKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250YWN0Rm9ybS5nZXQoJ2NvbnRhY3REYXRlJykuZGlydHkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWN0Rm9ybS5nZXQoJ2NvbnRhY3REYXRlJykudG91Y2hlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciA+ZnV0dXJlIERhdGUgaXMgPHN0cm9uZz5ub3QgYWxsb3dlZDwvc3Ryb25nPiBmb3IgY29udGFjdCBkYXRlPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBNZXRob2Q6PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCAgcGxhY2Vob2xkZXI9XCJjb250YWN0TWV0aG9kXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdE1ldGhvZFwiICByZXF1aXJlZCAgIFsobmdNb2RlbCldPVwiZWRpdENvbnRhY3QudmljdGltQ29udGFjdE1ldGhvZElkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cIiBsZXQgY29udGFjdE1ldGhvZCBvZiBjb250YWN0TWV0aG9kc1wiIFt2YWx1ZV09XCJjb250YWN0TWV0aG9kLnZpY3RpbUNvbnRhY3RNZXRob2RJZFwiID57e2NvbnRhY3RNZXRob2QubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LXNlbGVjdC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbnRhY3QgQnk6PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdEJ5XCIgICByZXF1aXJlZCBbKG5nTW9kZWwpXT1cImVkaXRDb250YWN0LmNvbnRhY3RlZEJ5XCIgY2xhc3M9XCJtYXQtc2VsZWN0LWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cIiBsZXQgaXRlbSBvZiBzdGFmZlwiIFt2YWx1ZV09XCJpdGVtLnN0YWZmSWRcIiA+e3sgaXRlbS5mdWxsTmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbW1lbnRzIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC5jb21tZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RleHRhcmVhPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5OZXh0IENvbnRhY3QgRGF0ZTogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5leHRDb250YWN0RGF0ZVwiICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRDb250YWN0RGF0ZS5vcGVuKClcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJuZXh0Q29udGFjdERhdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZSBhIG5leHQgY29udGFjdCBkYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC5uZXh0Q29udGFjdERhdGVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwibmV4dENvbnRhY3REYXRlXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI25leHRDb250YWN0RGF0ZT48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNvbnRhY3QoKVwiICBbZGlzYWJsZWRdPVwiIWNvbnRhY3RGb3JtLmZvcm0udmFsaWRcIiA+U2F2ZTwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNvbnRhY3QoKVwiIFtkaXNhYmxlZF09XCIhY29udGFjdEZvcm0udmFsaWRcIiA+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOzxidXR0b24gIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICA+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7PGJ1dHRvbiAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImJhY2soKVwiICA+QmFjazwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuXHJcblxyXG48L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+Il19
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { Apollo } from 'apollo-angular';
|
3
|
+
import gql from 'graphql-tag';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "apollo-angular";
|
6
|
+
export class EmailService {
|
7
|
+
apollo;
|
8
|
+
constructor(apollo) {
|
9
|
+
this.apollo = apollo;
|
10
|
+
}
|
11
|
+
createCaseNoteEmail(templateId, offenderId, modifiedBy) {
|
12
|
+
return this.createEmail(templateId, `{\\"offenderId\\": ${offenderId}}`, modifiedBy);
|
13
|
+
}
|
14
|
+
createEmail(emailTemplateId, parameters, modifiedBy) {
|
15
|
+
const mutation = `mutation {
|
16
|
+
createEmail(input: {
|
17
|
+
emailTemplateId: "${emailTemplateId}"
|
18
|
+
parameters: "${parameters}"
|
19
|
+
modifiedBy: ${modifiedBy}
|
20
|
+
}) {
|
21
|
+
message
|
22
|
+
data {
|
23
|
+
emailQueueId
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}`;
|
27
|
+
console.log(mutation);
|
28
|
+
return this.apollo.mutate({
|
29
|
+
mutation: gql `
|
30
|
+
${mutation}
|
31
|
+
`,
|
32
|
+
});
|
33
|
+
}
|
34
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: EmailService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
|
35
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: EmailService, providedIn: 'root' });
|
36
|
+
}
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: EmailService, decorators: [{
|
38
|
+
type: Injectable,
|
39
|
+
args: [{
|
40
|
+
providedIn: 'root',
|
41
|
+
}]
|
42
|
+
}], ctorParameters: () => [{ type: i1.Apollo }] });
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvZW1haWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDOzs7QUFLOUIsTUFBTSxPQUFPLFlBQVk7SUFDSDtJQUFwQixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFdEMsbUJBQW1CLENBQ2pCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFVBQWtCO1FBR3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FDckIsVUFBVSxFQUNWLHNCQUFzQixVQUFVLEdBQUcsRUFDbkMsVUFBVSxDQUNYLENBQUM7SUFFRixDQUFDO0lBR0QsV0FBVyxDQUNULGVBQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLFVBQWtCO1FBRWxCLE1BQU0sUUFBUSxHQUFHOzs0QkFFTyxlQUFlO3VCQUNwQixVQUFVO3NCQUNYLFVBQVU7Ozs7Ozs7TUFPMUIsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsR0FBRyxDQUFBO1VBQ1QsUUFBUTtPQUNYO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzswSEF6Q1UsWUFBWTs4SEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbWFpbFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBvbGxvOiBBcG9sbG8pIHt9XHJcblxyXG4gIGNyZWF0ZUNhc2VOb3RlRW1haWwoXHJcbiAgICB0ZW1wbGF0ZUlkOiBzdHJpbmcsXHJcbiAgICBvZmZlbmRlcklkOiBudW1iZXIsXHJcbiAgICBtb2RpZmllZEJ5OiBudW1iZXIsXHJcbiAgKSA6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBcclxuICByZXR1cm4gdGhpcy5jcmVhdGVFbWFpbChcclxuICAgIHRlbXBsYXRlSWQsXHJcbiAgICBge1xcXFxcIm9mZmVuZGVySWRcXFxcXCI6ICR7b2ZmZW5kZXJJZH19YCxcclxuICAgIG1vZGlmaWVkQnksXHJcbiAgKTtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgY3JlYXRlRW1haWwoXHJcbiAgICBlbWFpbFRlbXBsYXRlSWQ6IHN0cmluZyxcclxuICAgIHBhcmFtZXRlcnM6IHN0cmluZyxcclxuICAgIG1vZGlmaWVkQnk6IG51bWJlcixcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgbXV0YXRpb24gPSBgbXV0YXRpb24ge1xyXG4gICAgICBjcmVhdGVFbWFpbChpbnB1dDoge1xyXG4gICAgICAgIGVtYWlsVGVtcGxhdGVJZDogXCIke2VtYWlsVGVtcGxhdGVJZH1cIlxyXG4gICAgICAgIHBhcmFtZXRlcnM6IFwiJHtwYXJhbWV0ZXJzfVwiXHJcbiAgICAgICAgbW9kaWZpZWRCeTogJHttb2RpZmllZEJ5fVxyXG4gICAgICB9KSB7XHJcbiAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgIGRhdGEge1xyXG4gICAgICAgICAgZW1haWxRdWV1ZUlkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9YDtcclxuICAgIGNvbnNvbGUubG9nKG11dGF0aW9uKTtcclxuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGUoe1xyXG4gICAgICBtdXRhdGlvbjogZ3FsYFxyXG4gICAgICAgICR7bXV0YXRpb259XHJcbiAgICAgIGAsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
2
|
+
import { Injectable, Inject } from '@angular/core';
|
3
|
+
import { SMART_OFFENDER_SERVICE_URL } from './smart-victim.model';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/common/http";
|
6
|
+
const headers = new Headers({ 'Content-Type': 'application/json' });
|
7
|
+
export class IntakeServicesComponent {
|
8
|
+
http;
|
9
|
+
smartOffenderServiceUrl;
|
10
|
+
//serviceData = environment.smartOffenderServiceUrl;
|
11
|
+
constructor(http, smartOffenderServiceUrl) {
|
12
|
+
this.http = http;
|
13
|
+
this.smartOffenderServiceUrl = smartOffenderServiceUrl;
|
14
|
+
}
|
15
|
+
getIntakeByOffender(offenderId) {
|
16
|
+
return this.http
|
17
|
+
.get(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)
|
18
|
+
.pipe();
|
19
|
+
}
|
20
|
+
updateIntakeSteps(offenderId, intakeStepStatus) {
|
21
|
+
return this.http.put(this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId, intakeStepStatus);
|
22
|
+
}
|
23
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: IntakeServicesComponent, deps: [{ token: i1.HttpClient }, { token: SMART_OFFENDER_SERVICE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
24
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: IntakeServicesComponent, providedIn: 'root' });
|
25
|
+
}
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: IntakeServicesComponent, decorators: [{
|
27
|
+
type: Injectable,
|
28
|
+
args: [{
|
29
|
+
providedIn: 'root'
|
30
|
+
}]
|
31
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
32
|
+
type: Inject,
|
33
|
+
args: [SMART_OFFENDER_SERVICE_URL]
|
34
|
+
}] }] });
|
35
|
+
export class IntakeStep {
|
36
|
+
static PhysicalInformation = "PHYSIN";
|
37
|
+
static Photo = "PHOTOS";
|
38
|
+
static HousingInformation = "HOUSE";
|
39
|
+
static DocketInformation = "DOCKET";
|
40
|
+
static Alias = "ALIAS";
|
41
|
+
static IntakeBasicInformation = "INTKBI";
|
42
|
+
static ContactInformation = "CONTCT";
|
43
|
+
static DeceasedInformation = "DEATH";
|
44
|
+
static DriversLicense = "DRVLIC";
|
45
|
+
static EmploymentInformation = "EMPLOY";
|
46
|
+
static GangAffiliation = "GANG";
|
47
|
+
static HealthInsurance = "HLTHINS";
|
48
|
+
static Identification = "IDNTFCTN";
|
49
|
+
static InternetIdentifier = "INTERNETID";
|
50
|
+
static MilitaryService = "MLTSVC";
|
51
|
+
static School = "SCHOOL";
|
52
|
+
static SelectiveService = "SLCTVSVC";
|
53
|
+
static Vehicle = "VEHICLE";
|
54
|
+
static VictimInformation = "VICTIM";
|
55
|
+
static WarrantInformation = "WARRNT";
|
56
|
+
static RunningRecord = "RUNREC";
|
57
|
+
static Signature = "SIGN";
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50YWtlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvaW50YWtlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFHbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBSXBFLE1BQU0sT0FBTyx1QkFBdUI7SUFFZDtJQUMwQjtJQUY5QyxvREFBb0Q7SUFDcEQsWUFBb0IsSUFBZ0IsRUFDVSx1QkFBK0I7UUFEekQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNVLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBUTtJQUN4RSxDQUFDO0lBQ04sbUJBQW1CLENBQUMsVUFBZTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFTLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsR0FBRyxVQUFVLENBQUM7YUFDaEYsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsaUJBQWlCLENBQ2YsVUFBa0IsRUFDbEIsZ0JBQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxvQkFBb0IsR0FBRyxVQUFVLEVBQ2hFLGdCQUFnQixDQUNqQixDQUFDO0lBQ0osQ0FBQzswSEFuQlUsdUJBQXVCLDRDQUd4QiwwQkFBMEI7OEhBSHpCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLDBCQUEwQjs7QUE0Q3RDLE1BQU0sT0FBTyxVQUFVO0lBQ1osTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztJQUN0QyxNQUFNLENBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUN6QixNQUFNLENBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0lBQ3JDLE1BQU0sQ0FBRSxpQkFBaUIsR0FBRyxRQUFRLENBQUM7SUFDckMsTUFBTSxDQUFFLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDeEIsTUFBTSxDQUFFLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztJQUMxQyxNQUFNLENBQUUsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sQ0FBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUM7SUFDdEMsTUFBTSxDQUFFLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFDbEMsTUFBTSxDQUFFLHFCQUFxQixHQUFHLFFBQVEsQ0FBQztJQUN6QyxNQUFNLENBQUUsZUFBZSxHQUFHLE1BQU0sQ0FBQztJQUNqQyxNQUFNLENBQUUsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNwQyxNQUFNLENBQUUsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUNwQyxNQUFNLENBQUUsa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0lBQzFDLE1BQU0sQ0FBRSxlQUFlLEdBQUcsUUFBUSxDQUFDO0lBQ25DLE1BQU0sQ0FBRSxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQzFCLE1BQU0sQ0FBRSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDdEMsTUFBTSxDQUFFLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDNUIsTUFBTSxDQUFFLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztJQUNyQyxNQUFNLENBQUUsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sQ0FBRSxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLE1BQU0sQ0FBRSxTQUFTLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSxJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgIFNNQVJUX09GRkVOREVSX1NFUlZJQ0VfVVJMfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcblxyXG5cclxuY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KTtcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW50YWtlU2VydmljZXNDb21wb25lbnQge1xyXG4gIC8vc2VydmljZURhdGEgPSBlbnZpcm9ubWVudC5zbWFydE9mZmVuZGVyU2VydmljZVVybDtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KFNNQVJUX09GRkVOREVSX1NFUlZJQ0VfVVJMKSBwcml2YXRlIHNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsOiBzdHJpbmcsIFxyXG4gICAgKSB7fVxyXG4gIGdldEludGFrZUJ5T2ZmZW5kZXIob2ZmZW5kZXJJZDogYW55KTogT2JzZXJ2YWJsZTxJbnRha2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxJbnRha2U+KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnSW50YWtlQmFzaWMvb2ZmZW5kZXIvJyArIG9mZmVuZGVySWQpXHJcbiAgICAgIC5waXBlKCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVJbnRha2VTdGVwcyhcclxuICAgIG9mZmVuZGVySWQ6IG51bWJlcixcclxuICAgIGludGFrZVN0ZXBTdGF0dXM6IEludGFrZVN0ZXBTdGF0dXNNb2RlbCxcclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxyXG4gICAgICB0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9JbnRha2VTdGVwU3RhdHVzLycgKyBvZmZlbmRlcklkLFxyXG4gICAgICBpbnRha2VTdGVwU3RhdHVzLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW50YWtlIHtcclxuICBpbnRha2VJZDogbnVtYmVyO1xyXG4gIG9mZmVuZGVySWQ6IG51bWJlcjtcclxuICBpbnRha2VPZmZlbmRlclJlcG9ydFN0YXR1c0lkPzogYW55O1xyXG4gIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gIGVuZERhdGU/OiBhbnk7XHJcbiAgYXNzaWdubWVudElkPzogYW55O1xyXG4gIG1vZGlmaWVkQnk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRha2VTdGVwU3RhdHVzIHtcclxuICBpbnRha2VTdGVwU3RhdHVzSWQ6IG51bWJlcjtcclxuICBpbnRha2VJZDogbnVtYmVyO1xyXG4gIGludGFrZVN0ZXBJZDogc3RyaW5nO1xyXG4gIGNvbXBsZXRlZERhdGU6IERhdGU7XHJcbiAgbW9kaWZpZWRCeTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludGFrZVN0ZXBTdGF0dXNNb2RlbFxyXG57XHJcbiAgICBvZmZlbmRlcklkOiBudW1iZXI7XHJcbiAgICBpbnRha2VTdGVwSWQ6IHN0cmluZztcclxuICAgIG1vZGlmaWVkQnk6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEludGFrZVN0ZXB7XHJcbiAgICBwdWJsaWMgc3RhdGljIFBoeXNpY2FsSW5mb3JtYXRpb24gPSBcIlBIWVNJTlwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgUGhvdG8gPSBcIlBIT1RPU1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgSG91c2luZ0luZm9ybWF0aW9uID0gXCJIT1VTRVwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgRG9ja2V0SW5mb3JtYXRpb24gPSBcIkRPQ0tFVFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgQWxpYXMgPSBcIkFMSUFTXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljICBJbnRha2VCYXNpY0luZm9ybWF0aW9uID0gXCJJTlRLQklcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgIENvbnRhY3RJbmZvcm1hdGlvbiA9IFwiQ09OVENUXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljICBEZWNlYXNlZEluZm9ybWF0aW9uID0gXCJERUFUSFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgRHJpdmVyc0xpY2Vuc2UgPSBcIkRSVkxJQ1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgRW1wbG95bWVudEluZm9ybWF0aW9uID0gXCJFTVBMT1lcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgIEdhbmdBZmZpbGlhdGlvbiA9IFwiR0FOR1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgSGVhbHRoSW5zdXJhbmNlID0gXCJITFRISU5TXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljICBJZGVudGlmaWNhdGlvbiA9IFwiSUROVEZDVE5cIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgIEludGVybmV0SWRlbnRpZmllciA9IFwiSU5URVJORVRJRFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgTWlsaXRhcnlTZXJ2aWNlID0gXCJNTFRTVkNcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgIFNjaG9vbCA9IFwiU0NIT09MXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljICBTZWxlY3RpdmVTZXJ2aWNlID0gXCJTTENUVlNWQ1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgVmVoaWNsZSA9IFwiVkVISUNMRVwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgVmljdGltSW5mb3JtYXRpb24gPSBcIlZJQ1RJTVwiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgV2FycmFudEluZm9ybWF0aW9uID0gXCJXQVJSTlRcIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgIFJ1bm5pbmdSZWNvcmQgPSBcIlJVTlJFQ1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyAgU2lnbmF0dXJlID0gXCJTSUdOXCI7XHJcbn0iXX0=
|
@@ -0,0 +1,105 @@
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
3
|
+
import { UntypedFormBuilder } from '@angular/forms';
|
4
|
+
import { NgcSmartVictimService } from '../smart-victim.service';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/forms";
|
7
|
+
import * as i2 from "@angular/material/dialog";
|
8
|
+
import * as i3 from "../smart-victim.service";
|
9
|
+
import * as i4 from "@angular/common";
|
10
|
+
import * as i5 from "@angular/material/button";
|
11
|
+
import * as i6 from "@angular/material/form-field";
|
12
|
+
import * as i7 from "@angular/material/select";
|
13
|
+
import * as i8 from "@angular/material/core";
|
14
|
+
export class SeriveProviderComponent {
|
15
|
+
formBuilder;
|
16
|
+
dialogRef;
|
17
|
+
_victimServicesComponent;
|
18
|
+
data;
|
19
|
+
spForm;
|
20
|
+
programProviders;
|
21
|
+
constructor(formBuilder, dialogRef, _victimServicesComponent, data) {
|
22
|
+
this.formBuilder = formBuilder;
|
23
|
+
this.dialogRef = dialogRef;
|
24
|
+
this._victimServicesComponent = _victimServicesComponent;
|
25
|
+
this.data = data;
|
26
|
+
this.spForm = this.formBuilder.group({
|
27
|
+
voteeProviderId: [''],
|
28
|
+
});
|
29
|
+
}
|
30
|
+
cancel() {
|
31
|
+
this.dialogRef.close();
|
32
|
+
}
|
33
|
+
ngOnInit() {
|
34
|
+
console.log('data.providerCollections');
|
35
|
+
console.log(this.data);
|
36
|
+
console.log(this.data.serviceTypeId);
|
37
|
+
this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe((items) => {
|
38
|
+
this.programProviders = items.filter((y) => (y.victimServiceTypeId === this.data.serviceTypeId));
|
39
|
+
console.log('this.programProviders');
|
40
|
+
console.log(this.programProviders);
|
41
|
+
});
|
42
|
+
this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {
|
43
|
+
console.log('voteeProviderId in service provider component.');
|
44
|
+
console.log(voteeProviderId);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SeriveProviderComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.MatDialogRef }, { token: i3.NgcSmartVictimService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
48
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: SeriveProviderComponent, selector: "app-service-provider", ngImport: i0, template: `
|
49
|
+
<h1 mat-dialog-title> {{data.serviceType}}</h1>
|
50
|
+
<div mat-dialog-content class="main" [formGroup]="spForm">
|
51
|
+
<mat-form-field>
|
52
|
+
<mat-label>service provider</mat-label>
|
53
|
+
|
54
|
+
<mat-select formControlName="voteeProviderId">
|
55
|
+
<mat-option
|
56
|
+
*ngFor="let providerOption of programProviders"
|
57
|
+
[value]="providerOption.victimProgramProviderId">{{ providerOption.victimProgramProvider }}
|
58
|
+
</mat-option>
|
59
|
+
</mat-select>
|
60
|
+
|
61
|
+
</mat-form-field>
|
62
|
+
|
63
|
+
</div>
|
64
|
+
<div mat-dialog-actions class="actions">
|
65
|
+
<button mat-raised-button color="primary" (click)="cancel()" cdkFocusInitial>
|
66
|
+
Cancel Change
|
67
|
+
</button>
|
68
|
+
<button mat-raised-button color="primary" [mat-dialog-close]="spForm.value" >
|
69
|
+
Save Change
|
70
|
+
</button>
|
71
|
+
</div>
|
72
|
+
`, isInline: true, styles: [".main{width:100%;display:flex;flex-direction:column}.actions{display:flex}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }] });
|
73
|
+
}
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SeriveProviderComponent, decorators: [{
|
75
|
+
type: Component,
|
76
|
+
args: [{ selector: 'app-service-provider', template: `
|
77
|
+
<h1 mat-dialog-title> {{data.serviceType}}</h1>
|
78
|
+
<div mat-dialog-content class="main" [formGroup]="spForm">
|
79
|
+
<mat-form-field>
|
80
|
+
<mat-label>service provider</mat-label>
|
81
|
+
|
82
|
+
<mat-select formControlName="voteeProviderId">
|
83
|
+
<mat-option
|
84
|
+
*ngFor="let providerOption of programProviders"
|
85
|
+
[value]="providerOption.victimProgramProviderId">{{ providerOption.victimProgramProvider }}
|
86
|
+
</mat-option>
|
87
|
+
</mat-select>
|
88
|
+
|
89
|
+
</mat-form-field>
|
90
|
+
|
91
|
+
</div>
|
92
|
+
<div mat-dialog-actions class="actions">
|
93
|
+
<button mat-raised-button color="primary" (click)="cancel()" cdkFocusInitial>
|
94
|
+
Cancel Change
|
95
|
+
</button>
|
96
|
+
<button mat-raised-button color="primary" [mat-dialog-close]="spForm.value" >
|
97
|
+
Save Change
|
98
|
+
</button>
|
99
|
+
</div>
|
100
|
+
`, styles: [".main{width:100%;display:flex;flex-direction:column}.actions{display:flex}\n"] }]
|
101
|
+
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.MatDialogRef }, { type: i3.NgcSmartVictimService }, { type: undefined, decorators: [{
|
102
|
+
type: Inject,
|
103
|
+
args: [MAT_DIALOG_DATA]
|
104
|
+
}] }] });
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZVByb3ZpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zYWZldHlQbGFuL3NlcnZpY2VQcm92aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUErQ2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFLeEI7SUFDRDtJQUNDO0lBQ3dCO0lBUGxDLE1BQU0sQ0FBbUI7SUFDekIsZ0JBQWdCLENBQUk7SUFFcEIsWUFDVSxXQUErQixFQUNoQyxTQUFnRCxFQUMvQyx3QkFBK0MsRUFDdkIsSUFBeUI7UUFIakQsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQXVDO1FBQy9DLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFJekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM5QixlQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FFckIsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVKLE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsd0JBQXdCLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxTQUFTLENBQzdFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FDSixDQUFDO1FBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtZQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBR2hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzswSEF6Q1UsdUJBQXVCLHFIQVF4QixlQUFlOzhHQVJkLHVCQUF1Qiw0REExQ3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7OzJGQWtCVSx1QkFBdUI7a0JBNUNuQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUOzswQkEwQkUsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUHJvdmlkZXJzRGlhbG9nRGF0YX0gZnJvbSAnLi4vc21hcnQtdmljdGltLm1vZGVsJztcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmljdGltLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNlcnZpY2UtcHJvdmlkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aDEgbWF0LWRpYWxvZy10aXRsZT4ge3tkYXRhLnNlcnZpY2VUeXBlfX08L2gxPlxyXG4gICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYWluXCIgW2Zvcm1Hcm91cF09XCJzcEZvcm1cIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+c2VydmljZSBwcm92aWRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInZvdGVlUHJvdmlkZXJJZFwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByb3ZpZGVyT3B0aW9uIG9mIHByb2dyYW1Qcm92aWRlcnNcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJvdmlkZXJPcHRpb24udmljdGltUHJvZ3JhbVByb3ZpZGVySWRcIj57eyBwcm92aWRlck9wdGlvbi52aWN0aW1Qcm9ncmFtUHJvdmlkZXIgfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIFxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cImFjdGlvbnNcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBjZGtGb2N1c0luaXRpYWw+XHJcbiAgICAgICAgQ2FuY2VsIENoYW5nZVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJzcEZvcm0udmFsdWVcIiA+XHJcbiAgICAgICAgU2F2ZSBDaGFuZ2VcclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAubWFpbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYWN0aW9uc3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbn0pXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTZXJpdmVQcm92aWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc3BGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHByb2dyYW1Qcm92aWRlcnM6W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNlcml2ZVByb3ZpZGVyQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50OiBOZ2NTbWFydFZpY3RpbVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFByb3ZpZGVyc0RpYWxvZ0RhdGEsXHJcbiAgKSB7XHJcblxyXG5cclxuICAgIHRoaXMuc3BGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgdm90ZWVQcm92aWRlcklkOiBbJyddLFxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkYXRhLnByb3ZpZGVyQ29sbGVjdGlvbnMnKVxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEuc2VydmljZVR5cGVJZCk7XHJcblxyXG4gICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXR2VmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJzKCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChpdGVtczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3JhbVByb3ZpZGVycyA9IGl0ZW1zLmZpbHRlciggKHkpID0+ICh5LnZpY3RpbVNlcnZpY2VUeXBlSWQgPT09IHRoaXMuZGF0YS5zZXJ2aWNlVHlwZUlkKSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnByb2dyYW1Qcm92aWRlcnMnKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5wcm9ncmFtUHJvdmlkZXJzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICB0aGlzLnNwRm9ybS5nZXQoJ3ZvdGVlUHJvdmlkZXJJZCcpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodm90ZWVQcm92aWRlcklkID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygndm90ZWVQcm92aWRlcklkIGluIHNlcnZpY2UgcHJvdmlkZXIgY29tcG9uZW50LicpXHJcbiAgICAgICAgY29uc29sZS5sb2codm90ZWVQcm92aWRlcklkKVxyXG4gICAgXHJcbiAgICAgXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
|