@csmart/ngc-smart-victim 1.14.44 → 1.14.45
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +25 -25
- package/esm2020/lib/caseNote/caseNote.component.mjs +194 -0
- package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -0
- package/esm2020/lib/common-dialog/common-dialog.module.mjs +34 -0
- package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -0
- package/esm2020/lib/contact/contact.component.mjs +140 -0
- package/esm2020/lib/email.services.mjs +42 -0
- package/esm2020/lib/intake.service.mjs +57 -0
- package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +99 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
- package/esm2020/lib/shared/app.shared.module.mjs +215 -0
- package/esm2020/lib/shared/validators/date.validator.mjs +59 -0
- package/esm2020/lib/smart-victim-delete-confirm.component.mjs +44 -0
- package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +1104 -0
- package/esm2020/lib/smart-victim.component.mjs +314 -0
- package/esm2020/lib/smart-victim.model.mjs +133 -0
- package/esm2020/lib/smart-victim.module.mjs +128 -0
- package/esm2020/lib/smart-victim.service.mjs +352 -0
- package/{esm2022 → esm2020}/lib/victim-routing.module.mjs +5 -5
- package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -0
- package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -0
- package/{esm2022 → esm2020}/public-api.mjs +1 -1
- package/fesm2015/csmart-ngc-smart-victim.mjs +3273 -0
- package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs +3261 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -0
- package/lib/caseNote/caseNote.component.d.ts +2 -2
- package/lib/common-dialog/common-dialog.component.d.ts +1 -1
- package/lib/contact/contact.component.d.ts +1 -1
- package/lib/safetyPlan/serviceProvider.component.d.ts +1 -1
- package/lib/safetyPlan/victimSafetyPlan.component.d.ts +2 -2
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +2 -2
- package/lib/smart-victim-delete-confirm.component.d.ts +1 -1
- package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +2 -2
- package/lib/smart-victim.component.d.ts +2 -2
- package/lib/victimSearch/victimSearchForm.component.d.ts +1 -1
- package/package.json +11 -5
- package/esm2022/lib/caseNote/caseNote.component.mjs +0 -219
- package/esm2022/lib/common-dialog/common-dialog.component.mjs +0 -26
- package/esm2022/lib/common-dialog/common-dialog.module.mjs +0 -34
- package/esm2022/lib/common-dialog/common-dialog.service.mjs +0 -34
- package/esm2022/lib/contact/contact.component.mjs +0 -158
- package/esm2022/lib/email.services.mjs +0 -43
- package/esm2022/lib/intake.service.mjs +0 -59
- package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +0 -105
- package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +0 -146
- package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +0 -372
- package/esm2022/lib/shared/app.shared.module.mjs +0 -215
- package/esm2022/lib/shared/validators/date.validator.mjs +0 -59
- package/esm2022/lib/smart-victim-delete-confirm.component.mjs +0 -46
- package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +0 -1141
- package/esm2022/lib/smart-victim.component.mjs +0 -343
- package/esm2022/lib/smart-victim.model.mjs +0 -233
- package/esm2022/lib/smart-victim.module.mjs +0 -128
- package/esm2022/lib/smart-victim.service.mjs +0 -357
- package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +0 -8
- package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +0 -37
- package/fesm2022/csmart-ngc-smart-victim.mjs +0 -3556
- package/fesm2022/csmart-ngc-smart-victim.mjs.map +0 -1
- /package/{esm2022 → esm2020}/csmart-ngc-smart-victim.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/shared/validators/index.mjs +0 -0
@@ -0,0 +1,140 @@
|
|
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/cdk/text-field";
|
19
|
+
import * as i11 from "@angular/material/form-field";
|
20
|
+
import * as i12 from "@angular/material/input";
|
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
|
+
constructor(_victimServicesComponent,
|
26
|
+
//private commonDialogService: CommonDialogService,
|
27
|
+
snackBar, route, router, smartAuthService) {
|
28
|
+
this._victimServicesComponent = _victimServicesComponent;
|
29
|
+
this.snackBar = snackBar;
|
30
|
+
this.route = route;
|
31
|
+
this.router = router;
|
32
|
+
this.smartAuthService = smartAuthService;
|
33
|
+
this.editContact = {};
|
34
|
+
this.staff = {};
|
35
|
+
this.contactForm = new UntypedFormGroup({
|
36
|
+
//contactDate: new FormControl(),
|
37
|
+
contactDate: new UntypedFormControl('', Validators.compose([
|
38
|
+
dateValidator()
|
39
|
+
])),
|
40
|
+
contactMethod: new UntypedFormControl(),
|
41
|
+
contactBy: new UntypedFormControl(),
|
42
|
+
comment: new UntypedFormControl(),
|
43
|
+
nextContactDate: new UntypedFormControl()
|
44
|
+
});
|
45
|
+
}
|
46
|
+
ngAfterViewInit() {
|
47
|
+
this.smartAuthService.setPermission('Victim', this.route.snapshot);
|
48
|
+
}
|
49
|
+
ngOnInit() {
|
50
|
+
var data = this.route.snapshot.data;
|
51
|
+
this.loginStaff = data.loginStaff;
|
52
|
+
this.staffId = this.loginStaff.staffId;
|
53
|
+
this.staff = [
|
54
|
+
{
|
55
|
+
staffId: this.loginStaff.staffId,
|
56
|
+
fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,
|
57
|
+
},
|
58
|
+
];
|
59
|
+
this.sub = this.route.params.subscribe(params => {
|
60
|
+
this.victimId = params['victimId'];
|
61
|
+
console.log('my this.victimId');
|
62
|
+
console.log(this.victimId);
|
63
|
+
});
|
64
|
+
this._victimServicesComponent.getContactMethods().subscribe((items) => {
|
65
|
+
this.contactMethods = items;
|
66
|
+
console.log('this.contactMethods');
|
67
|
+
console.log(this.contactMethods);
|
68
|
+
});
|
69
|
+
// this._victimServicesComponent.getContactBys().subscribe(
|
70
|
+
// (items: any) => {
|
71
|
+
// this.contactBy= items;
|
72
|
+
// }
|
73
|
+
// );
|
74
|
+
// this._victimServicesComponent.getContacts(this.victimId).subscribe(
|
75
|
+
// caseNoteList => {
|
76
|
+
// this.caseNoteList = caseNoteList;
|
77
|
+
// }
|
78
|
+
// );
|
79
|
+
}
|
80
|
+
onEditContact(victimContactId) {
|
81
|
+
// this.hiddenDetailFlag =false;
|
82
|
+
// this.hiddenAddNewFlag = true;
|
83
|
+
// this.addDisableFlag = true;
|
84
|
+
// this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);
|
85
|
+
}
|
86
|
+
// onDeleteCaseNote(victimCaseNoteId: number){
|
87
|
+
// this.commonDialogService
|
88
|
+
// .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
|
89
|
+
// .subscribe(res => {this.result = res;
|
90
|
+
// if (this.result) {
|
91
|
+
// this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
|
92
|
+
// .subscribe(result => {
|
93
|
+
// this.snackBar.open('delete Successfully !', '', { duration: 3000,});
|
94
|
+
// this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
|
95
|
+
// caseNoteList => {
|
96
|
+
// this.caseNoteList = caseNoteList;
|
97
|
+
// }
|
98
|
+
// );
|
99
|
+
// }
|
100
|
+
// );
|
101
|
+
// }
|
102
|
+
// });
|
103
|
+
// }
|
104
|
+
onAddNew() {
|
105
|
+
// this.editCas.caseNoteDate = null;
|
106
|
+
// this.editCaseNote.contactTypeId = null;
|
107
|
+
// this.editCaseNote.victimContactPurposeId = null;
|
108
|
+
// this.editCaseNote.comment = null;
|
109
|
+
}
|
110
|
+
back() {
|
111
|
+
this.router.navigate(['victimDetail', this.victimId]);
|
112
|
+
}
|
113
|
+
saveContact() {
|
114
|
+
const contact = {
|
115
|
+
victimId: this.victimId,
|
116
|
+
victimContactId: 0,
|
117
|
+
contactDate: this.editContact.contactDate,
|
118
|
+
victimContactMethodId: this.editContact.victimContactMethodId,
|
119
|
+
contactMethod: null,
|
120
|
+
contactedByName: null,
|
121
|
+
contactedBy: this.editContact.contactedBy,
|
122
|
+
comment: this.editContact.comment,
|
123
|
+
nextContactDate: this.editContact.nextContactDate,
|
124
|
+
modifiedBy: this.staffId,
|
125
|
+
};
|
126
|
+
this._victimServicesComponent.addContact(contact).subscribe(result => {
|
127
|
+
this.snackBar.open('Saved Successfully !', '', {
|
128
|
+
duration: 3000,
|
129
|
+
});
|
130
|
+
this.router.navigate(['victimDetail', this.victimId]);
|
131
|
+
});
|
132
|
+
}
|
133
|
+
}
|
134
|
+
/** @nocollapse */ ContactComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.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 });
|
135
|
+
/** @nocollapse */ ContactComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContactComponent, selector: "ng-component", ngImport: i0, template: "\n <mat-card>\n <mat-card-header>\n\n </mat-card-header>\n <mat-card-content>\n \n <mat-toolbar color=\"primary\">\n <h4 class=\"card-header\" >Contact detail</h4>\n </mat-toolbar>\n <br>\n \n\n \n <mat-card >\n <div class='container'> \n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\n \n \n\n <div> \n <mat-form-field>\n <mat-label>Contact Date:</mat-label>\n <input matInput formControlName=\"contactDate\" \n (click)=\"contactDate.open()\" \n [matDatepicker]=\"contactDate\" \n placeholder=\"Choose a contact date\" \n [(ngModel)]=\"editContact.contactDate\" required>\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\n <mat-datepicker #contactDate></mat-datepicker>\n </mat-form-field>\n\n <div class=\"validation-errors\">\n <div\n class=\"help-block\"\n *ngIf=\"\n contactForm\n .get('contactDate')\n .hasError('required') &&\n (contactForm.get('contactDate').dirty ||\n contactForm.get('contactDate').touched)\">\n <mat-error>Contact date is\n <strong>required</strong></mat-error>\n </div>\n <div\n class=\"help-block\"\n *ngIf=\"\n contactForm.get('contactDate').hasError('date') &&\n (contactForm.get('contactDate').dirty ||\n contactForm.get('contactDate').touched)\">\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\n </div>\n </div>\n </div> \n \n \n\n <div>\n <mat-form-field>\n <mat-label>Contact Method:</mat-label>\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n \n <div> \n <mat-form-field class=\"mat-select-content\">\n <mat-label>Contact By:</mat-label>\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div> \n \n <div>\n\n <mat-form-field>\n <mat-label>Comments </mat-label>\n <textarea \n matInput \n placeholder=\"\" \n required formControlName=\"comment\" \n [(ngModel)]=\"editContact.comment\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\">\n </textarea> \n </mat-form-field>\n </div>\n\n <div> \n <mat-form-field>\n <mat-label>Next Contact Date: </mat-label>\n <input matInput formControlName=\"nextContactDate\" \n (click)=\"nextContactDate.open()\" \n [matDatepicker]=\"nextContactDate\" \n placeholder=\"Choose a next contact date\" \n [(ngModel)]=\"editContact.nextContactDate\" required>\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\n <mat-datepicker #nextContactDate></mat-datepicker>\n </mat-form-field>\n </div> \n \n <div>\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\n <button mat-raised-button color=\"primary\" >Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\n </div>\n\n </form>\n </div>\n </mat-card>\n \n \n <br>\n \n\n\n\n</mat-card-content>\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-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i10.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i11.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i12.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: 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: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i15.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContactComponent, decorators: [{
|
137
|
+
type: Component,
|
138
|
+
args: [{ template: "\n <mat-card>\n <mat-card-header>\n\n </mat-card-header>\n <mat-card-content>\n \n <mat-toolbar color=\"primary\">\n <h4 class=\"card-header\" >Contact detail</h4>\n </mat-toolbar>\n <br>\n \n\n \n <mat-card >\n <div class='container'> \n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\n \n \n\n <div> \n <mat-form-field>\n <mat-label>Contact Date:</mat-label>\n <input matInput formControlName=\"contactDate\" \n (click)=\"contactDate.open()\" \n [matDatepicker]=\"contactDate\" \n placeholder=\"Choose a contact date\" \n [(ngModel)]=\"editContact.contactDate\" required>\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\n <mat-datepicker #contactDate></mat-datepicker>\n </mat-form-field>\n\n <div class=\"validation-errors\">\n <div\n class=\"help-block\"\n *ngIf=\"\n contactForm\n .get('contactDate')\n .hasError('required') &&\n (contactForm.get('contactDate').dirty ||\n contactForm.get('contactDate').touched)\">\n <mat-error>Contact date is\n <strong>required</strong></mat-error>\n </div>\n <div\n class=\"help-block\"\n *ngIf=\"\n contactForm.get('contactDate').hasError('date') &&\n (contactForm.get('contactDate').dirty ||\n contactForm.get('contactDate').touched)\">\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\n </div>\n </div>\n </div> \n \n \n\n <div>\n <mat-form-field>\n <mat-label>Contact Method:</mat-label>\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n \n <div> \n <mat-form-field class=\"mat-select-content\">\n <mat-label>Contact By:</mat-label>\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div> \n \n <div>\n\n <mat-form-field>\n <mat-label>Comments </mat-label>\n <textarea \n matInput \n placeholder=\"\" \n required formControlName=\"comment\" \n [(ngModel)]=\"editContact.comment\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\">\n </textarea> \n </mat-form-field>\n </div>\n\n <div> \n <mat-form-field>\n <mat-label>Next Contact Date: </mat-label>\n <input matInput formControlName=\"nextContactDate\" \n (click)=\"nextContactDate.open()\" \n [matDatepicker]=\"nextContactDate\" \n placeholder=\"Choose a next contact date\" \n [(ngModel)]=\"editContact.nextContactDate\" required>\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\n <mat-datepicker #nextContactDate></mat-datepicker>\n </mat-form-field>\n </div> \n \n <div>\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\n <button mat-raised-button color=\"primary\" >Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\n </div>\n\n </form>\n </div>\n </mat-card>\n \n \n <br>\n \n\n\n\n</mat-card-content>\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"] }]
|
139
|
+
}], ctorParameters: function () { return [{ type: i1.NgcSmartVictimService }, { type: i2.MatSnackBar }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.SmartAuthService }]; } });
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFjLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBaUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTyxnQkFBZ0I7SUFrQjNCLFlBRVUsd0JBQStDO0lBQ3ZELG1EQUFtRDtJQUM1QyxRQUFxQixFQUNwQixLQUFxQixFQUNyQixNQUFjLEVBQ2QsZ0JBQWtDO1FBTGxDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFFaEQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBCNUMsZ0JBQVcsR0FBcUIsRUFBRSxDQUFDO1FBV25DLFVBQUssR0FBUSxFQUFFLENBQUM7UUFZZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDdEMsaUNBQWlDO1lBQ2pDLFdBQVcsRUFBQyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUN4RCxhQUFhLEVBQUU7YUFBSSxDQUFDLENBQUM7WUFFdkIsYUFBYSxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFDdkMsU0FBUyxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFDbkMsT0FBTyxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFDakMsZUFBZSxFQUFFLElBQUksa0JBQWtCLEVBQUU7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVBLGVBQWU7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRXhDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWDtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO2dCQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTthQUNyRTtTQUNGLENBQUM7UUFHRixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0IsQ0FBQyxDQUFDLENBQUM7UUFHSCxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQ3pELENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUNGLENBQUM7UUFFRiwyREFBMkQ7UUFDM0Qsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QixNQUFNO1FBQ04sS0FBSztRQUdMLHNFQUFzRTtRQUN0RSxzQkFBc0I7UUFFdEIseUNBQXlDO1FBRXpDLE1BQU07UUFDTixLQUFLO0lBRVAsQ0FBQztJQUNELGFBQWEsQ0FBQyxlQUF1QjtRQUVuQyxnQ0FBZ0M7UUFDaEMsZ0NBQWdDO1FBRWhDLDhCQUE4QjtRQUM5Qiw0RkFBNEY7SUFFOUYsQ0FBQztJQUVELDhDQUE4QztJQUM5Qyw4QkFBOEI7SUFDOUIsdUVBQXVFO0lBQ3ZFLDJDQUEyQztJQUMzQywyQkFBMkI7SUFDM0IseUZBQXlGO0lBQ3pGLG9DQUFvQztJQUNwQyxxRkFBcUY7SUFFckYsa0ZBQWtGO0lBQ2xGLGdDQUFnQztJQUNoQyxtREFBbUQ7SUFFbkQsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFFVixTQUFTO0lBQ1QsSUFBSTtJQUNKLFFBQVE7UUFFTixvQ0FBb0M7UUFDcEMsMENBQTBDO1FBQzFDLG1EQUFtRDtRQUNuRCxvQ0FBb0M7SUFDdEMsQ0FBQztJQUNELElBQUk7UUFHQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVztRQUVMLE1BQU0sT0FBTyxHQUFZO1lBQ3pCLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUTtZQUN0QixlQUFlLEVBQUUsQ0FBQztZQUNsQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXO1lBQ3pDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCO1lBQzdELGFBQWEsRUFBRSxJQUFJO1lBQ25CLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7WUFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlO1lBQ2pELFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztTQUUzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ3pELE1BQU0sQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxFQUFFO2dCQUM3QyxRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQ0YsQ0FBQztJQUNGLENBQUM7O2dJQTdKUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQixvRENoQjdCLDhxU0EySFc7MkZEM0dFLGdCQUFnQjtrQkFKNUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LEluamVjdCxPbkNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcixBZnRlclZpZXdJbml0ICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmljdGltLnNlcnZpY2UnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBGb3JtQnVpbGRlcixWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi9jb21tb24tZGlhbG9nL2NvbW1vbi1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPZmZlbmRlciwgTG9naW5TdGFmZiB9IGZyb20gJ0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb250YWN0fSBmcm9tICcuLi9zbWFydC12aWN0aW0ubW9kZWwnO1xuaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJ0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUnO1xuaW1wb3J0IHsgZGF0ZVZhbGlkYXRvcixwYXNzRGF0ZVZhbGlkYXRvcixkYXRlTGVzc1RoYW4gfSBmcm9tICcuLi9zaGFyZWQvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQgIHtcblxuICBvZmZlbmRlcklkOiBudW1iZXI7XG4gIGxvZ2luU3RhZmY6IExvZ2luU3RhZmY7XG4gIGNvbnRhY3Q6IENvbnRhY3Q7XG4gIGVkaXRDb250YWN0OiBDb250YWN0ID0gPENvbnRhY3Q+e307XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBjb250YWN0TWV0aG9kczogYW55W107XG4gIGNvbnRhY3RCeTogYW55W107XG4gIHJlc3VsdDogYW55O1xuICB2aWN0aW1OYW1lOiBzdHJpbmc7XG4gIHN0YWZmSWQ6IG51bWJlcjtcbiAgdmljdGltSWQ6IG51bWJlcjtcbiAgaGlkZGVuQWRkTmV3RmxhZzogYm9vbGVhbjtcbiAgY29udGFjdEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHByaXZhdGUgc3ViOiBhbnk7XG4gIHN0YWZmOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcblxuICAgIHByaXZhdGUgX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50OiBOZ2NTbWFydFZpY3RpbVNlcnZpY2UsXG4gICAgLy9wcml2YXRlIGNvbW1vbkRpYWxvZ1NlcnZpY2U6IENvbW1vbkRpYWxvZ1NlcnZpY2UsXG4gICAgcHVibGljIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc21hcnRBdXRoU2VydmljZTogU21hcnRBdXRoU2VydmljZSxcbiAgICAgXG4gICkge1xuICAgIHRoaXMuY29udGFjdEZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAvL2NvbnRhY3REYXRlOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgIGNvbnRhY3REYXRlOm5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIGRhdGVWYWxpZGF0b3IoKVx0ICBdKSksXG5cbiAgICAgIGNvbnRhY3RNZXRob2Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIGNvbnRhY3RCeTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgY29tbWVudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgbmV4dENvbnRhY3REYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKClcbiAgICB9KTtcbiAgfVxuXG4gICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zbWFydEF1dGhTZXJ2aWNlLnNldFBlcm1pc3Npb24oJ1ZpY3RpbScsIHRoaXMucm91dGUuc25hcHNob3QpO1xuICB9XG4gXG4gIG5nT25Jbml0KCkge1xuICAgIHZhciBkYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xuICAgIHRoaXMubG9naW5TdGFmZiA9IGRhdGEubG9naW5TdGFmZjtcbiAgICB0aGlzLnN0YWZmSWQgPSAgdGhpcy5sb2dpblN0YWZmLnN0YWZmSWQ7XG4gICBcbiAgICB0aGlzLnN0YWZmID0gW1xuICAgICAge1xuICAgICAgICBzdGFmZklkOiB0aGlzLmxvZ2luU3RhZmYuc3RhZmZJZCxcbiAgICAgICAgZnVsbE5hbWU6IHRoaXMubG9naW5TdGFmZi5maXJzdE5hbWUgKyAnICcgKyB0aGlzLmxvZ2luU3RhZmYubGFzdE5hbWUsXG4gICAgICB9LFxuICAgIF07XG5cblxuICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICB0aGlzLnZpY3RpbUlkID0gcGFyYW1zWyd2aWN0aW1JZCddO1xuICAgICAgY29uc29sZS5sb2coJ215IHRoaXMudmljdGltSWQnKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMudmljdGltSWQpO1xuIFxuICAgIH0pO1xuXG5cbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0TWV0aG9kcygpLnN1YnNjcmliZShcbiAgICAgIChpdGVtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFjdE1ldGhvZHMgPSBpdGVtcztcbiAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuY29udGFjdE1ldGhvZHMnKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb250YWN0TWV0aG9kcyk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENvbnRhY3RCeXMoKS5zdWJzY3JpYmUoXG4gICAgLy8gICAoaXRlbXM6IGFueSkgPT4ge1xuICAgIC8vICAgICB0aGlzLmNvbnRhY3RCeT0gaXRlbXM7XG4gICAgLy8gICB9XG4gICAgLy8gKTtcblxuICAgIFxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENvbnRhY3RzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcbiAgICAvLyAgIGNhc2VOb3RlTGlzdCA9PiB7XG4gICAgIFxuICAgIC8vICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXG4gICAgICBcbiAgICAvLyAgIH1cbiAgICAvLyApO1xuIFxuICB9XG4gIG9uRWRpdENvbnRhY3QodmljdGltQ29udGFjdElkOiBudW1iZXIpe1xuICBcbiAgICAvLyB0aGlzLmhpZGRlbkRldGFpbEZsYWcgPWZhbHNlO1xuICAgIC8vIHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9IHRydWU7XG5cbiAgICAvLyB0aGlzLmFkZERpc2FibGVGbGFnID0gdHJ1ZTtcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZSA9IHRoaXMuY2FzZU5vdGVMaXN0LmZpbmQoeCA9PiB4LnZpY3RpbUNhc2VOb3RlSWQgPT09IHZpY3RpbUNhc2VOb3RlSWQpO1xuXG4gIH1cbiBcbiAgLy8gb25EZWxldGVDYXNlTm90ZSh2aWN0aW1DYXNlTm90ZUlkOiBudW1iZXIpe1xuICAvLyAgICB0aGlzLmNvbW1vbkRpYWxvZ1NlcnZpY2VcbiAgLy8gICAuY29uZmlybSgnJywgJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGNhc2Ugbm90ZT8nLCAnWWVzJywgJ05vJylcbiAgLy8gICAuc3Vic2NyaWJlKHJlcyA9PiB7dGhpcy5yZXN1bHQgPSAgcmVzO1xuICAvLyAgICAgICBpZiAodGhpcy5yZXN1bHQpIHtcbiAgLy8gICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmRlbGV0ZUNhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQsIHRoaXMuc3RhZmZJZClcbiAgLy8gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gIC8vICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdkZWxldGUgU3VjY2Vzc2Z1bGx5ICEnLCAnJywgeyBkdXJhdGlvbjogMzAwMCx9KTtcblxuICAvLyAgICAgICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXG4gIC8vICAgICAgICAgICAgIGNhc2VOb3RlTGlzdCA9PiB7XG4gIC8vICAgICAgICAgICAgICAgdGhpcy5jYXNlTm90ZUxpc3QgPSBjYXNlTm90ZUxpc3Q7IFxuICAgICAgICAgICAgICBcbiAgLy8gICAgICAgICAgICAgfVxuICAvLyAgICAgICAgICAgKTtcbiAgLy8gICAgICAgICAgICAgIH1cbiAgLy8gICAgICAgICAgICApO1xuICAvLyAgICAgICB9XG5cbiAgLy8gICAgfSk7XG4gIC8vIH1cbiAgb25BZGROZXcoKXtcbiAgIFxuICAgIC8vIHRoaXMuZWRpdENhcy5jYXNlTm90ZURhdGUgPSBudWxsO1xuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLmNvbnRhY3RUeXBlSWQgPSBudWxsO1xuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLnZpY3RpbUNvbnRhY3RQdXJwb3NlSWQgPSBudWxsO1xuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLmNvbW1lbnQgPSBudWxsO1xuICB9XG4gIGJhY2soKXtcblxuIFxuICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndmljdGltRGV0YWlsJywgdGhpcy52aWN0aW1JZCBdKTsgXG4gIH1cbiBcbiAgc2F2ZUNvbnRhY3QoKXtcblxuICAgICAgICBjb25zdCBjb250YWN0OiBDb250YWN0ID0ge1xuICAgICAgICB2aWN0aW1JZDp0aGlzLnZpY3RpbUlkLFxuICAgICAgICB2aWN0aW1Db250YWN0SWQ6IDAsXG4gICAgICAgIGNvbnRhY3REYXRlOiB0aGlzLmVkaXRDb250YWN0LmNvbnRhY3REYXRlLFxuICAgICAgICB2aWN0aW1Db250YWN0TWV0aG9kSWQ6IHRoaXMuZWRpdENvbnRhY3QudmljdGltQ29udGFjdE1ldGhvZElkLFxuICAgICAgICBjb250YWN0TWV0aG9kOiBudWxsLFxuICAgICAgICBjb250YWN0ZWRCeU5hbWU6IG51bGwsXG4gICAgICAgIGNvbnRhY3RlZEJ5OiB0aGlzLmVkaXRDb250YWN0LmNvbnRhY3RlZEJ5LFxuICAgICAgICBjb21tZW50OiB0aGlzLmVkaXRDb250YWN0LmNvbW1lbnQsXG4gICAgICAgIG5leHRDb250YWN0RGF0ZTogdGhpcy5lZGl0Q29udGFjdC5uZXh0Q29udGFjdERhdGUsXG4gICAgICAgIG1vZGlmaWVkQnk6IHRoaXMuc3RhZmZJZCxcbiAgICBcbiAgICB9O1xuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmFkZENvbnRhY3QoY29udGFjdCkuc3Vic2NyaWJlKFxuICAgICAgcmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdTYXZlZCBTdWNjZXNzZnVsbHkgIScsICcnLCB7XG4gICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyd2aWN0aW1EZXRhaWwnLCB0aGlzLnZpY3RpbUlkIF0pOyBcbiAgICAgIH1cbiAgICApO1xuICAgIH1cblxufVxuIiwiXG4gPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRvb2xiYXIgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImNhcmQtaGVhZGVyXCIgPkNvbnRhY3QgZGV0YWlsPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250YWluZXInPiAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbnRhY3RGb3JtXCIgI2NvbnRhY3REZXRhaWxGb3JtPVwibmdGb3JtXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBEYXRlOjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdERhdGVcIiAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udGFjdERhdGUub3BlbigpXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImNvbnRhY3REYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ2hvb3NlIGEgY29udGFjdCBkYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdENvbnRhY3QuY29udGFjdERhdGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cImNvbnRhY3REYXRlXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNjb250YWN0RGF0ZT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdEZvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdjb250YWN0RGF0ZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250YWN0Rm9ybS5nZXQoJ2NvbnRhY3REYXRlJykuZGlydHkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdEZvcm0uZ2V0KCdjb250YWN0RGF0ZScpLnRvdWNoZWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPkNvbnRhY3QgZGF0ZSBpc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWN0Rm9ybS5nZXQoJ2NvbnRhY3REYXRlJykuaGFzRXJyb3IoJ2RhdGUnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udGFjdEZvcm0uZ2V0KCdjb250YWN0RGF0ZScpLmRpcnR5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS50b3VjaGVkKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciA+ZnV0dXJlIERhdGUgaXMgPHN0cm9uZz5ub3QgYWxsb3dlZDwvc3Ryb25nPiBmb3IgY29udGFjdCBkYXRlPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBNZXRob2Q6PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgIHBsYWNlaG9sZGVyPVwiY29udGFjdE1ldGhvZFwiIGZvcm1Db250cm9sTmFtZT1cImNvbnRhY3RNZXRob2RcIiAgcmVxdWlyZWQgICBbKG5nTW9kZWwpXT1cImVkaXRDb250YWN0LnZpY3RpbUNvbnRhY3RNZXRob2RJZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBjb250YWN0TWV0aG9kIG9mIGNvbnRhY3RNZXRob2RzXCIgW3ZhbHVlXT1cImNvbnRhY3RNZXRob2QudmljdGltQ29udGFjdE1ldGhvZElkXCIgPnt7Y29udGFjdE1ldGhvZC5uYW1lfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtc2VsZWN0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbnRhY3QgQnk6PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgIGZvcm1Db250cm9sTmFtZT1cImNvbnRhY3RCeVwiICAgcmVxdWlyZWQgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC5jb250YWN0ZWRCeVwiIGNsYXNzPVwibWF0LXNlbGVjdC1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBpdGVtIG9mIHN0YWZmXCIgW3ZhbHVlXT1cIml0ZW0uc3RhZmZJZFwiID57eyBpdGVtLmZ1bGxOYW1lfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db21tZW50cyA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjb21tZW50XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC5jb21tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrQXV0b3NpemVNYXhSb3dzPVwiNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+ICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPk5leHQgQ29udGFjdCBEYXRlOiA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5leHRDb250YWN0RGF0ZVwiICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0Q29udGFjdERhdGUub3BlbigpXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cIm5leHRDb250YWN0RGF0ZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZSBhIG5leHQgY29udGFjdCBkYXRlXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdENvbnRhY3QubmV4dENvbnRhY3REYXRlXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJuZXh0Q29udGFjdERhdGVcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI25leHRDb250YWN0RGF0ZT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29udGFjdCgpXCIgIFtkaXNhYmxlZF09XCIhY29udGFjdEZvcm0uZm9ybS52YWxpZFwiID5TYXZlPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNvbnRhY3QoKVwiIFtkaXNhYmxlZF09XCIhY29udGFjdEZvcm0udmFsaWRcIiA+U2F2ZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDs8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDs8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYmFjaygpXCIgID5CYWNrPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG48L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPiJdfQ==
|
@@ -0,0 +1,42 @@
|
|
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
|
+
constructor(apollo) {
|
8
|
+
this.apollo = apollo;
|
9
|
+
}
|
10
|
+
createCaseNoteEmail(templateId, offenderId, modifiedBy) {
|
11
|
+
return this.createEmail(templateId, `{\\"offenderId\\": ${offenderId}}`, modifiedBy);
|
12
|
+
}
|
13
|
+
createEmail(emailTemplateId, parameters, modifiedBy) {
|
14
|
+
const mutation = `mutation {
|
15
|
+
createEmail(input: {
|
16
|
+
emailTemplateId: "${emailTemplateId}"
|
17
|
+
parameters: "${parameters}"
|
18
|
+
modifiedBy: ${modifiedBy}
|
19
|
+
}) {
|
20
|
+
message
|
21
|
+
data {
|
22
|
+
emailQueueId
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}`;
|
26
|
+
console.log(mutation);
|
27
|
+
return this.apollo.mutate({
|
28
|
+
mutation: gql `
|
29
|
+
${mutation}
|
30
|
+
`,
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}
|
34
|
+
/** @nocollapse */ EmailService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmailService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
|
35
|
+
/** @nocollapse */ EmailService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmailService, providedIn: 'root' });
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmailService, decorators: [{
|
37
|
+
type: Injectable,
|
38
|
+
args: [{
|
39
|
+
providedIn: 'root',
|
40
|
+
}]
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.Apollo }]; } });
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvZW1haWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDOzs7QUFLOUIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLG1CQUFtQixDQUNqQixVQUFrQixFQUNsQixVQUFrQixFQUNsQixVQUFrQjtRQUdwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQ3JCLFVBQVUsRUFDVixzQkFBc0IsVUFBVSxHQUFHLEVBQ25DLFVBQVUsQ0FDWCxDQUFDO0lBRUYsQ0FBQztJQUdELFdBQVcsQ0FDVCxlQUF1QixFQUN2QixVQUFrQixFQUNsQixVQUFrQjtRQUVsQixNQUFNLFFBQVEsR0FBRzs7NEJBRU8sZUFBZTt1QkFDcEIsVUFBVTtzQkFDWCxVQUFVOzs7Ozs7O01BTzFCLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLEdBQUcsQ0FBQTtVQUNULFFBQVE7T0FDWDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzRIQXpDVSxZQUFZO2dJQUFaLFlBQVksY0FGWCxNQUFNOzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwb2xsbzogQXBvbGxvKSB7fVxuXG4gIGNyZWF0ZUNhc2VOb3RlRW1haWwoXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxuICAgIG9mZmVuZGVySWQ6IG51bWJlcixcbiAgICBtb2RpZmllZEJ5OiBudW1iZXIsXG4gICkgOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIFxuICByZXR1cm4gdGhpcy5jcmVhdGVFbWFpbChcbiAgICB0ZW1wbGF0ZUlkLFxuICAgIGB7XFxcXFwib2ZmZW5kZXJJZFxcXFxcIjogJHtvZmZlbmRlcklkfX1gLFxuICAgIG1vZGlmaWVkQnksXG4gICk7XG5cbiAgfVxuXG5cbiAgY3JlYXRlRW1haWwoXG4gICAgZW1haWxUZW1wbGF0ZUlkOiBzdHJpbmcsXG4gICAgcGFyYW1ldGVyczogc3RyaW5nLFxuICAgIG1vZGlmaWVkQnk6IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBtdXRhdGlvbiA9IGBtdXRhdGlvbiB7XG4gICAgICBjcmVhdGVFbWFpbChpbnB1dDoge1xuICAgICAgICBlbWFpbFRlbXBsYXRlSWQ6IFwiJHtlbWFpbFRlbXBsYXRlSWR9XCJcbiAgICAgICAgcGFyYW1ldGVyczogXCIke3BhcmFtZXRlcnN9XCJcbiAgICAgICAgbW9kaWZpZWRCeTogJHttb2RpZmllZEJ5fVxuICAgICAgfSkge1xuICAgICAgICBtZXNzYWdlXG4gICAgICAgIGRhdGEge1xuICAgICAgICAgIGVtYWlsUXVldWVJZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfWA7XG4gICAgY29uc29sZS5sb2cobXV0YXRpb24pO1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb246IGdxbGBcbiAgICAgICAgJHttdXRhdGlvbn1cbiAgICAgIGAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,57 @@
|
|
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
|
+
//serviceData = environment.smartOffenderServiceUrl;
|
9
|
+
constructor(http, smartOffenderServiceUrl) {
|
10
|
+
this.http = http;
|
11
|
+
this.smartOffenderServiceUrl = smartOffenderServiceUrl;
|
12
|
+
}
|
13
|
+
getIntakeByOffender(offenderId) {
|
14
|
+
return this.http
|
15
|
+
.get(this.smartOffenderServiceUrl + 'IntakeBasic/offender/' + offenderId)
|
16
|
+
.pipe();
|
17
|
+
}
|
18
|
+
updateIntakeSteps(offenderId, intakeStepStatus) {
|
19
|
+
return this.http.put(this.smartOffenderServiceUrl + '/IntakeStepStatus/' + offenderId, intakeStepStatus);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
/** @nocollapse */ IntakeServicesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IntakeServicesComponent, deps: [{ token: i1.HttpClient }, { token: SMART_OFFENDER_SERVICE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
23
|
+
/** @nocollapse */ IntakeServicesComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IntakeServicesComponent, providedIn: 'root' });
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IntakeServicesComponent, decorators: [{
|
25
|
+
type: Injectable,
|
26
|
+
args: [{
|
27
|
+
providedIn: 'root'
|
28
|
+
}]
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
30
|
+
type: Inject,
|
31
|
+
args: [SMART_OFFENDER_SERVICE_URL]
|
32
|
+
}] }]; } });
|
33
|
+
export class IntakeStep {
|
34
|
+
}
|
35
|
+
IntakeStep.PhysicalInformation = "PHYSIN";
|
36
|
+
IntakeStep.Photo = "PHOTOS";
|
37
|
+
IntakeStep.HousingInformation = "HOUSE";
|
38
|
+
IntakeStep.DocketInformation = "DOCKET";
|
39
|
+
IntakeStep.Alias = "ALIAS";
|
40
|
+
IntakeStep.IntakeBasicInformation = "INTKBI";
|
41
|
+
IntakeStep.ContactInformation = "CONTCT";
|
42
|
+
IntakeStep.DeceasedInformation = "DEATH";
|
43
|
+
IntakeStep.DriversLicense = "DRVLIC";
|
44
|
+
IntakeStep.EmploymentInformation = "EMPLOY";
|
45
|
+
IntakeStep.GangAffiliation = "GANG";
|
46
|
+
IntakeStep.HealthInsurance = "HLTHINS";
|
47
|
+
IntakeStep.Identification = "IDNTFCTN";
|
48
|
+
IntakeStep.InternetIdentifier = "INTERNETID";
|
49
|
+
IntakeStep.MilitaryService = "MLTSVC";
|
50
|
+
IntakeStep.School = "SCHOOL";
|
51
|
+
IntakeStep.SelectiveService = "SLCTVSVC";
|
52
|
+
IntakeStep.Vehicle = "VEHICLE";
|
53
|
+
IntakeStep.VictimInformation = "VICTIM";
|
54
|
+
IntakeStep.WarrantInformation = "WARRNT";
|
55
|
+
IntakeStep.RunningRecord = "RUNREC";
|
56
|
+
IntakeStep.Signature = "SIGN";
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50YWtlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvaW50YWtlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFHbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBSXBFLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsb0RBQW9EO0lBQ3BELFlBQW9CLElBQWdCLEVBQ1UsdUJBQStCO1FBRHpELFNBQUksR0FBSixJQUFJLENBQVk7UUFDVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7SUFDeEUsQ0FBQztJQUNOLG1CQUFtQixDQUFDLFVBQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBUyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLEdBQUcsVUFBVSxDQUFDO2FBQ2hGLElBQUksRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGlCQUFpQixDQUNmLFVBQWtCLEVBQ2xCLGdCQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsb0JBQW9CLEdBQUcsVUFBVSxFQUNoRSxnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7O3VJQW5CVSx1QkFBdUIsNENBR3hCLDBCQUEwQjsySUFIekIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQywwQkFBMEI7O0FBNEN0QyxNQUFNLE9BQU8sVUFBVTs7QUFDTCw4QkFBbUIsR0FBRyxRQUFRLENBQUM7QUFDOUIsZ0JBQUssR0FBRyxRQUFRLENBQUM7QUFDakIsNkJBQWtCLEdBQUcsT0FBTyxDQUFDO0FBQzdCLDRCQUFpQixHQUFHLFFBQVEsQ0FBQztBQUM3QixnQkFBSyxHQUFHLE9BQU8sQ0FBQztBQUNoQixpQ0FBc0IsR0FBRyxRQUFRLENBQUM7QUFDbEMsNkJBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQzlCLDhCQUFtQixHQUFHLE9BQU8sQ0FBQztBQUM5Qix5QkFBYyxHQUFHLFFBQVEsQ0FBQztBQUMxQixnQ0FBcUIsR0FBRyxRQUFRLENBQUM7QUFDakMsMEJBQWUsR0FBRyxNQUFNLENBQUM7QUFDekIsMEJBQWUsR0FBRyxTQUFTLENBQUM7QUFDNUIseUJBQWMsR0FBRyxVQUFVLENBQUM7QUFDNUIsNkJBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQ2xDLDBCQUFlLEdBQUcsUUFBUSxDQUFDO0FBQzNCLGlCQUFNLEdBQUcsUUFBUSxDQUFDO0FBQ2xCLDJCQUFnQixHQUFHLFVBQVUsQ0FBQztBQUM5QixrQkFBTyxHQUFHLFNBQVMsQ0FBQztBQUNwQiw0QkFBaUIsR0FBRyxRQUFRLENBQUM7QUFDN0IsNkJBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQzlCLHdCQUFhLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLG9CQUFTLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSxJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ICBTTUFSVF9PRkZFTkRFUl9TRVJWSUNFX1VSTH0gZnJvbSAnLi9zbWFydC12aWN0aW0ubW9kZWwnO1xuXG5cbmNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSk7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRha2VTZXJ2aWNlc0NvbXBvbmVudCB7XG4gIC8vc2VydmljZURhdGEgPSBlbnZpcm9ubWVudC5zbWFydE9mZmVuZGVyU2VydmljZVVybDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoU01BUlRfT0ZGRU5ERVJfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnRPZmZlbmRlclNlcnZpY2VVcmw6IHN0cmluZywgXG4gICAgKSB7fVxuICBnZXRJbnRha2VCeU9mZmVuZGVyKG9mZmVuZGVySWQ6IGFueSk6IE9ic2VydmFibGU8SW50YWtlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxJbnRha2U+KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnSW50YWtlQmFzaWMvb2ZmZW5kZXIvJyArIG9mZmVuZGVySWQpXG4gICAgICAucGlwZSgpO1xuICB9XG5cbiAgdXBkYXRlSW50YWtlU3RlcHMoXG4gICAgb2ZmZW5kZXJJZDogbnVtYmVyLFxuICAgIGludGFrZVN0ZXBTdGF0dXM6IEludGFrZVN0ZXBTdGF0dXNNb2RlbCxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoXG4gICAgICB0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9JbnRha2VTdGVwU3RhdHVzLycgKyBvZmZlbmRlcklkLFxuICAgICAgaW50YWtlU3RlcFN0YXR1cyxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50YWtlIHtcbiAgaW50YWtlSWQ6IG51bWJlcjtcbiAgb2ZmZW5kZXJJZDogbnVtYmVyO1xuICBpbnRha2VPZmZlbmRlclJlcG9ydFN0YXR1c0lkPzogYW55O1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgZW5kRGF0ZT86IGFueTtcbiAgYXNzaWdubWVudElkPzogYW55O1xuICBtb2RpZmllZEJ5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50YWtlU3RlcFN0YXR1cyB7XG4gIGludGFrZVN0ZXBTdGF0dXNJZDogbnVtYmVyO1xuICBpbnRha2VJZDogbnVtYmVyO1xuICBpbnRha2VTdGVwSWQ6IHN0cmluZztcbiAgY29tcGxldGVkRGF0ZTogRGF0ZTtcbiAgbW9kaWZpZWRCeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGFrZVN0ZXBTdGF0dXNNb2RlbFxue1xuICAgIG9mZmVuZGVySWQ6IG51bWJlcjtcbiAgICBpbnRha2VTdGVwSWQ6IHN0cmluZztcbiAgICBtb2RpZmllZEJ5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBJbnRha2VTdGVwe1xuICAgIHB1YmxpYyBzdGF0aWMgUGh5c2ljYWxJbmZvcm1hdGlvbiA9IFwiUEhZU0lOXCI7XG4gICAgcHVibGljIHN0YXRpYyAgUGhvdG8gPSBcIlBIT1RPU1wiO1xuICAgIHB1YmxpYyBzdGF0aWMgIEhvdXNpbmdJbmZvcm1hdGlvbiA9IFwiSE9VU0VcIjtcbiAgICBwdWJsaWMgc3RhdGljICBEb2NrZXRJbmZvcm1hdGlvbiA9IFwiRE9DS0VUXCI7XG4gICAgcHVibGljIHN0YXRpYyAgQWxpYXMgPSBcIkFMSUFTXCI7XG4gICAgcHVibGljIHN0YXRpYyAgSW50YWtlQmFzaWNJbmZvcm1hdGlvbiA9IFwiSU5US0JJXCI7XG4gICAgcHVibGljIHN0YXRpYyAgQ29udGFjdEluZm9ybWF0aW9uID0gXCJDT05UQ1RcIjtcbiAgICBwdWJsaWMgc3RhdGljICBEZWNlYXNlZEluZm9ybWF0aW9uID0gXCJERUFUSFwiO1xuICAgIHB1YmxpYyBzdGF0aWMgIERyaXZlcnNMaWNlbnNlID0gXCJEUlZMSUNcIjtcbiAgICBwdWJsaWMgc3RhdGljICBFbXBsb3ltZW50SW5mb3JtYXRpb24gPSBcIkVNUExPWVwiO1xuICAgIHB1YmxpYyBzdGF0aWMgIEdhbmdBZmZpbGlhdGlvbiA9IFwiR0FOR1wiO1xuICAgIHB1YmxpYyBzdGF0aWMgIEhlYWx0aEluc3VyYW5jZSA9IFwiSExUSElOU1wiO1xuICAgIHB1YmxpYyBzdGF0aWMgIElkZW50aWZpY2F0aW9uID0gXCJJRE5URkNUTlwiO1xuICAgIHB1YmxpYyBzdGF0aWMgIEludGVybmV0SWRlbnRpZmllciA9IFwiSU5URVJORVRJRFwiO1xuICAgIHB1YmxpYyBzdGF0aWMgIE1pbGl0YXJ5U2VydmljZSA9IFwiTUxUU1ZDXCI7XG4gICAgcHVibGljIHN0YXRpYyAgU2Nob29sID0gXCJTQ0hPT0xcIjtcbiAgICBwdWJsaWMgc3RhdGljICBTZWxlY3RpdmVTZXJ2aWNlID0gXCJTTENUVlNWQ1wiO1xuICAgIHB1YmxpYyBzdGF0aWMgIFZlaGljbGUgPSBcIlZFSElDTEVcIjtcbiAgICBwdWJsaWMgc3RhdGljICBWaWN0aW1JbmZvcm1hdGlvbiA9IFwiVklDVElNXCI7XG4gICAgcHVibGljIHN0YXRpYyAgV2FycmFudEluZm9ybWF0aW9uID0gXCJXQVJSTlRcIjtcbiAgICBwdWJsaWMgc3RhdGljICBSdW5uaW5nUmVjb3JkID0gXCJSVU5SRUNcIjtcbiAgICBwdWJsaWMgc3RhdGljICBTaWduYXR1cmUgPSBcIlNJR05cIjtcbn0iXX0=
|
@@ -0,0 +1,99 @@
|
|
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
|
+
constructor(formBuilder, dialogRef, _victimServicesComponent, data) {
|
16
|
+
this.formBuilder = formBuilder;
|
17
|
+
this.dialogRef = dialogRef;
|
18
|
+
this._victimServicesComponent = _victimServicesComponent;
|
19
|
+
this.data = data;
|
20
|
+
this.spForm = this.formBuilder.group({
|
21
|
+
voteeProviderId: [''],
|
22
|
+
});
|
23
|
+
}
|
24
|
+
cancel() {
|
25
|
+
this.dialogRef.close();
|
26
|
+
}
|
27
|
+
ngOnInit() {
|
28
|
+
console.log('data.providerCollections');
|
29
|
+
console.log(this.data);
|
30
|
+
console.log(this.data.serviceTypeId);
|
31
|
+
this._victimServicesComponent.getvVictimServiceTypeProgramProviders().subscribe((items) => {
|
32
|
+
this.programProviders = items.filter((y) => (y.victimServiceTypeId === this.data.serviceTypeId));
|
33
|
+
console.log('this.programProviders');
|
34
|
+
console.log(this.programProviders);
|
35
|
+
});
|
36
|
+
this.spForm.get('voteeProviderId').valueChanges.subscribe(voteeProviderId => {
|
37
|
+
console.log('voteeProviderId in service provider component.');
|
38
|
+
console.log(voteeProviderId);
|
39
|
+
});
|
40
|
+
}
|
41
|
+
}
|
42
|
+
/** @nocollapse */ SeriveProviderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SeriveProviderComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.MatDialogRef }, { token: i3.NgcSmartVictimService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
43
|
+
/** @nocollapse */ SeriveProviderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SeriveProviderComponent, selector: "app-service-provider", ngImport: i0, template: `
|
44
|
+
<h1 mat-dialog-title> {{data.serviceType}}</h1>
|
45
|
+
<div mat-dialog-content class="main" [formGroup]="spForm">
|
46
|
+
<mat-form-field>
|
47
|
+
<mat-label>service provider</mat-label>
|
48
|
+
|
49
|
+
<mat-select formControlName="voteeProviderId">
|
50
|
+
<mat-option
|
51
|
+
*ngFor="let providerOption of programProviders"
|
52
|
+
[value]="providerOption.victimProgramProviderId">{{ providerOption.victimProgramProvider }}
|
53
|
+
</mat-option>
|
54
|
+
</mat-select>
|
55
|
+
|
56
|
+
</mat-form-field>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div mat-dialog-actions class="actions">
|
60
|
+
<button mat-raised-button color="primary" (click)="cancel()" cdkFocusInitial>
|
61
|
+
Cancel Change
|
62
|
+
</button>
|
63
|
+
<button mat-raised-button color="primary" [mat-dialog-close]="spForm.value" >
|
64
|
+
Save Change
|
65
|
+
</button>
|
66
|
+
</div>
|
67
|
+
`, 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-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], 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.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SeriveProviderComponent, decorators: [{
|
69
|
+
type: Component,
|
70
|
+
args: [{ selector: 'app-service-provider', template: `
|
71
|
+
<h1 mat-dialog-title> {{data.serviceType}}</h1>
|
72
|
+
<div mat-dialog-content class="main" [formGroup]="spForm">
|
73
|
+
<mat-form-field>
|
74
|
+
<mat-label>service provider</mat-label>
|
75
|
+
|
76
|
+
<mat-select formControlName="voteeProviderId">
|
77
|
+
<mat-option
|
78
|
+
*ngFor="let providerOption of programProviders"
|
79
|
+
[value]="providerOption.victimProgramProviderId">{{ providerOption.victimProgramProvider }}
|
80
|
+
</mat-option>
|
81
|
+
</mat-select>
|
82
|
+
|
83
|
+
</mat-form-field>
|
84
|
+
|
85
|
+
</div>
|
86
|
+
<div mat-dialog-actions class="actions">
|
87
|
+
<button mat-raised-button color="primary" (click)="cancel()" cdkFocusInitial>
|
88
|
+
Cancel Change
|
89
|
+
</button>
|
90
|
+
<button mat-raised-button color="primary" [mat-dialog-close]="spForm.value" >
|
91
|
+
Save Change
|
92
|
+
</button>
|
93
|
+
</div>
|
94
|
+
`, styles: [".main{width:100%;display:flex;flex-direction:column}.actions{display:flex}\n"] }]
|
95
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.MatDialogRef }, { type: i3.NgcSmartVictimService }, { type: undefined, decorators: [{
|
96
|
+
type: Inject,
|
97
|
+
args: [MAT_DIALOG_DATA]
|
98
|
+
}] }]; } });
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZVByb3ZpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zYWZldHlQbGFuL3NlcnZpY2VQcm92aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUErQ2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxXQUErQixFQUNoQyxTQUFnRCxFQUMvQyx3QkFBK0MsRUFDdkIsSUFBeUI7UUFIakQsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQXVDO1FBQy9DLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFJekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM5QixlQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FFckIsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVKLE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsd0JBQXdCLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxTQUFTLENBQzdFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FDSixDQUFDO1FBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtZQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBR2hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7dUlBekNVLHVCQUF1QixxSEFReEIsZUFBZTsySEFSZCx1QkFBdUIsNERBMUN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUOzJGQWtCVSx1QkFBdUI7a0JBNUNuQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUOzswQkEwQkUsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJvdmlkZXJzRGlhbG9nRGF0YX0gZnJvbSAnLi4vc21hcnQtdmljdGltLm1vZGVsJztcbmltcG9ydCB7IE5nY1NtYXJ0VmljdGltU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VydmljZS1wcm92aWRlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+IHt7ZGF0YS5zZXJ2aWNlVHlwZX19PC9oMT5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1haW5cIiBbZm9ybUdyb3VwXT1cInNwRm9ybVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnNlcnZpY2UgcHJvdmlkZXI8L21hdC1sYWJlbD5cbiAgICAgICAgXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInZvdGVlUHJvdmlkZXJJZFwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvdmlkZXJPcHRpb24gb2YgcHJvZ3JhbVByb3ZpZGVyc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJvdmlkZXJPcHRpb24udmljdGltUHJvZ3JhbVByb3ZpZGVySWRcIj57eyBwcm92aWRlck9wdGlvbi52aWN0aW1Qcm9ncmFtUHJvdmlkZXIgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIFxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgXG4gICAgPC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIGNka0ZvY3VzSW5pdGlhbD5cbiAgICAgICAgQ2FuY2VsIENoYW5nZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInNwRm9ybS52YWx1ZVwiID5cbiAgICAgICAgU2F2ZSBDaGFuZ2VcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWFpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAuYWN0aW9uc3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcblxuXG5cbmV4cG9ydCBjbGFzcyBTZXJpdmVQcm92aWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNwRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHJvZ3JhbVByb3ZpZGVyczpbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNlcml2ZVByb3ZpZGVyQ29tcG9uZW50PixcbiAgICBwcml2YXRlIF92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudDogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUHJvdmlkZXJzRGlhbG9nRGF0YSxcbiAgKSB7XG5cblxuICAgIHRoaXMuc3BGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgIHZvdGVlUHJvdmlkZXJJZDogWycnXSxcbiAgICAgICAgICAgXG4gICAgICAgICAgfSk7XG4gICAgIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgICAgY29uc29sZS5sb2coJ2RhdGEucHJvdmlkZXJDb2xsZWN0aW9ucycpXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5kYXRhLnNlcnZpY2VUeXBlSWQpO1xuXG4gICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXR2VmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJzKCkuc3Vic2NyaWJlKFxuICAgICAgICAoaXRlbXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9ncmFtUHJvdmlkZXJzID0gaXRlbXMuZmlsdGVyKCAoeSkgPT4gKHkudmljdGltU2VydmljZVR5cGVJZCA9PT0gdGhpcy5kYXRhLnNlcnZpY2VUeXBlSWQpKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnByb2dyYW1Qcm92aWRlcnMnKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucHJvZ3JhbVByb3ZpZGVycyk7XG4gICAgICAgICAgfVxuICAgICAgKTtcblxuICAgIHRoaXMuc3BGb3JtLmdldCgndm90ZWVQcm92aWRlcklkJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2b3RlZVByb3ZpZGVySWQgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygndm90ZWVQcm92aWRlcklkIGluIHNlcnZpY2UgcHJvdmlkZXIgY29tcG9uZW50LicpXG4gICAgICAgIGNvbnNvbGUubG9nKHZvdGVlUHJvdmlkZXJJZClcbiAgICBcbiAgICAgXG4gICAgfSlcbiAgfVxufVxuIl19
|