@csmart/ngc-smart-victim 1.14.43 → 1.14.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/README.md +25 -25
  2. package/esm2020/csmart-ngc-smart-victim.mjs +4 -4
  3. package/esm2020/lib/caseNote/caseNote.component.mjs +194 -194
  4. package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -23
  5. package/esm2020/lib/common-dialog/common-dialog.module.mjs +34 -34
  6. package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -33
  7. package/esm2020/lib/contact/contact.component.mjs +140 -140
  8. package/esm2020/lib/email.services.mjs +42 -42
  9. package/esm2020/lib/intake.service.mjs +57 -57
  10. package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +99 -99
  11. package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -116
  12. package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -340
  13. package/esm2020/lib/shared/app.shared.module.mjs +215 -215
  14. package/esm2020/lib/shared/validators/date.validator.mjs +59 -59
  15. package/esm2020/lib/shared/validators/index.mjs +1 -1
  16. package/esm2020/lib/smart-victim-delete-confirm.component.mjs +44 -44
  17. package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +1104 -1104
  18. package/esm2020/lib/smart-victim.component.mjs +314 -314
  19. package/esm2020/lib/smart-victim.model.mjs +133 -133
  20. package/esm2020/lib/smart-victim.module.mjs +128 -128
  21. package/esm2020/lib/smart-victim.service.mjs +352 -352
  22. package/esm2020/lib/victim-routing.module.mjs +41 -41
  23. package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -3
  24. package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -38
  25. package/esm2020/public-api.mjs +11 -11
  26. package/fesm2015/csmart-ngc-smart-victim.mjs +3150 -3150
  27. package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -1
  28. package/fesm2020/csmart-ngc-smart-victim.mjs +3138 -3138
  29. package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -1
  30. package/index.d.ts +5 -5
  31. package/lib/caseNote/caseNote.component.d.ts +51 -51
  32. package/lib/common-dialog/common-dialog.component.d.ts +14 -14
  33. package/lib/common-dialog/common-dialog.module.d.ts +8 -8
  34. package/lib/common-dialog/common-dialog.service.d.ts +11 -11
  35. package/lib/contact/contact.component.d.ts +40 -40
  36. package/lib/email.services.d.ts +11 -11
  37. package/lib/intake.service.d.ts +57 -57
  38. package/lib/safetyPlan/serviceProvider.component.d.ts +19 -19
  39. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -54
  40. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -62
  41. package/lib/shared/app.shared.module.d.ts +33 -33
  42. package/lib/shared/validators/date.validator.d.ts +9 -9
  43. package/lib/shared/validators/index.d.ts +1 -1
  44. package/lib/smart-victim-delete-confirm.component.d.ts +12 -12
  45. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -129
  46. package/lib/smart-victim.component.d.ts +68 -68
  47. package/lib/smart-victim.model.d.ts +205 -205
  48. package/lib/smart-victim.module.d.ts +49 -49
  49. package/lib/smart-victim.service.d.ts +71 -71
  50. package/lib/victim-routing.module.d.ts +7 -7
  51. package/lib/victimSearch/VictimSearchFilter.d.ts +7 -7
  52. package/lib/victimSearch/victimSearchForm.component.d.ts +14 -14
  53. package/package.json +1 -1
  54. package/public-api.d.ts +7 -7
@@ -1,140 +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: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n \r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Contact detail</h4>\r\n </mat-toolbar>\r\n <br>\r\n \r\n\r\n \r\n <mat-card >\r\n <div class='container'> \r\n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\r\n \r\n \r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Contact Date:</mat-label>\r\n <input matInput formControlName=\"contactDate\" \r\n (click)=\"contactDate.open()\" \r\n [matDatepicker]=\"contactDate\" \r\n placeholder=\"Choose a contact date\" \r\n [(ngModel)]=\"editContact.contactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #contactDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"validation-errors\">\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm\r\n .get('contactDate')\r\n .hasError('required') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error>Contact date is\r\n <strong>required</strong></mat-error>\r\n </div>\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm.get('contactDate').hasError('date') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\r\n </div>\r\n </div>\r\n </div> \r\n \r\n \r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Method:</mat-label>\r\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\r\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div> \r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact By:</mat-label>\r\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n\r\n <mat-form-field>\r\n <mat-label>Comments </mat-label>\r\n <textarea \r\n matInput \r\n placeholder=\"\" \r\n required formControlName=\"comment\" \r\n [(ngModel)]=\"editContact.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\">\r\n </textarea> \r\n </mat-form-field>\r\n </div>\r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Next Contact Date: </mat-label>\r\n <input matInput formControlName=\"nextContactDate\" \r\n (click)=\"nextContactDate.open()\" \r\n [matDatepicker]=\"nextContactDate\" \r\n placeholder=\"Choose a next contact date\" \r\n [(ngModel)]=\"editContact.nextContactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #nextContactDate></mat-datepicker>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n \r\n \r\n <br>\r\n \r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>", 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: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n \r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Contact detail</h4>\r\n </mat-toolbar>\r\n <br>\r\n \r\n\r\n \r\n <mat-card >\r\n <div class='container'> \r\n <form [formGroup]=\"contactForm\" #contactDetailForm=\"ngForm\" >\r\n \r\n \r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Contact Date:</mat-label>\r\n <input matInput formControlName=\"contactDate\" \r\n (click)=\"contactDate.open()\" \r\n [matDatepicker]=\"contactDate\" \r\n placeholder=\"Choose a contact date\" \r\n [(ngModel)]=\"editContact.contactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"contactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #contactDate></mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"validation-errors\">\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm\r\n .get('contactDate')\r\n .hasError('required') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error>Contact date is\r\n <strong>required</strong></mat-error>\r\n </div>\r\n <div\r\n class=\"help-block\"\r\n *ngIf=\"\r\n contactForm.get('contactDate').hasError('date') &&\r\n (contactForm.get('contactDate').dirty ||\r\n contactForm.get('contactDate').touched)\">\r\n <mat-error >future Date is <strong>not allowed</strong> for contact date</mat-error>\r\n </div>\r\n </div>\r\n </div> \r\n \r\n \r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Method:</mat-label>\r\n <mat-select placeholder=\"contactMethod\" formControlName=\"contactMethod\" required [(ngModel)]=\"editContact.victimContactMethodId\">\r\n <mat-option *ngFor=\" let contactMethod of contactMethods\" [value]=\"contactMethod.victimContactMethodId\" >{{contactMethod.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div> \r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact By:</mat-label>\r\n <mat-select formControlName=\"contactBy\" required [(ngModel)]=\"editContact.contactedBy\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let item of staff\" [value]=\"item.staffId\" >{{ item.fullName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n\r\n <mat-form-field>\r\n <mat-label>Comments </mat-label>\r\n <textarea \r\n matInput \r\n placeholder=\"\" \r\n required formControlName=\"comment\" \r\n [(ngModel)]=\"editContact.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\">\r\n </textarea> \r\n </mat-form-field>\r\n </div>\r\n\r\n <div> \r\n <mat-form-field>\r\n <mat-label>Next Contact Date: </mat-label>\r\n <input matInput formControlName=\"nextContactDate\" \r\n (click)=\"nextContactDate.open()\" \r\n [matDatepicker]=\"nextContactDate\" \r\n placeholder=\"Choose a next contact date\" \r\n [(ngModel)]=\"editContact.nextContactDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"nextContactDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #nextContactDate></mat-datepicker>\r\n </mat-form-field>\r\n </div> \r\n \r\n <div>\r\n <!-- <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.form.valid\" >Save</button> -->\r\n <button mat-raised-button color=\"primary\" (click)=\"saveContact()\" [disabled]=\"!contactForm.valid\" >Save</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\r\n &nbsp;&nbsp;<button mat-raised-button color=\"primary\" (click)=\"back()\" >Back</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n \r\n \r\n <br>\r\n \r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFjLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBaUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTyxnQkFBZ0I7SUFrQjNCLFlBRVUsd0JBQStDO0lBQ3ZELG1EQUFtRDtJQUM1QyxRQUFxQixFQUNwQixLQUFxQixFQUNyQixNQUFjLEVBQ2QsZ0JBQWtDO1FBTGxDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFFaEQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBCNUMsZ0JBQVcsR0FBcUIsRUFBRSxDQUFDO1FBV25DLFVBQUssR0FBUSxF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QUFJLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVztRQUVMLE1BQU0sT0FBTyxHQUFZO1lBQ3pCLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUTtZQUN0QixlQUFlLEVBQUUsQ0FBQztZQUNsQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXO1lBQ3pDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCO1lBQzdELGFBQWEsRUFBRSxJQUFJO1lBQ25CLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7WUFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlO1lBQ2pELFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztTQUUzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ3pELE1BQU0sQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxFQUFFO2dCQUM3QyxRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQ0YsQ0FBQztJQUNGLENBQUM7O2dJQTdKUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQixvRENoQjdCLG82U0EySFc7MkZEM0dFLGdCQUFnQjtrQkFKNUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LEluamVjdCxPbkNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcixBZnRlclZpZXdJbml0ICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2NTbWFydFZpY3RpbVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC12aWN0aW0uc2VydmljZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi9jb21tb24tZGlhbG9nL2NvbW1vbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEF9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIsIExvZ2luU3RhZmYgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbnRhY3R9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgZGF0ZVZhbGlkYXRvcixwYXNzRGF0ZVZhbGlkYXRvcixkYXRlTGVzc1RoYW4gfSBmcm9tICcuLi9zaGFyZWQvdmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsQWZ0ZXJWaWV3SW5pdCAge1xyXG5cclxuICBvZmZlbmRlcklkOiBudW1iZXI7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuICBjb250YWN0OiBDb250YWN0O1xyXG4gIGVkaXRDb250YWN0OiBDb250YWN0ID0gPENvbnRhY3Q+e307XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgY29udGFjdE1ldGhvZHM6IGFueVtdO1xyXG4gIGNvbnRhY3RCeTogYW55W107XHJcbiAgcmVzdWx0OiBhbnk7XHJcbiAgdmljdGltTmFtZTogc3RyaW5nO1xyXG4gIHN0YWZmSWQ6IG51bWJlcjtcclxuICB2aWN0aW1JZDogbnVtYmVyO1xyXG4gIGhpZGRlbkFkZE5ld0ZsYWc6IGJvb2xlYW47XHJcbiAgY29udGFjdEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBzdWI6IGFueTtcclxuICBzdGFmZjogYW55ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG5cclxuICAgIHByaXZhdGUgX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50OiBOZ2NTbWFydFZpY3RpbVNlcnZpY2UsXHJcbiAgICAvL3ByaXZhdGUgY29tbW9uRGlhbG9nU2VydmljZTogQ29tbW9uRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNtYXJ0QXV0aFNlcnZpY2U6IFNtYXJ0QXV0aFNlcnZpY2UsXHJcbiAgICAgXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRhY3RGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG4gICAgICAvL2NvbnRhY3REYXRlOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgICAgY29udGFjdERhdGU6bmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICBkYXRlVmFsaWRhdG9yKClcdCAgXSkpLFxyXG5cclxuICAgICAgY29udGFjdE1ldGhvZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxyXG4gICAgICBjb250YWN0Qnk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcclxuICAgICAgY29tbWVudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxyXG4gICAgICBuZXh0Q29udGFjdERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zbWFydEF1dGhTZXJ2aWNlLnNldFBlcm1pc3Npb24oJ1ZpY3RpbScsIHRoaXMucm91dGUuc25hcHNob3QpO1xyXG4gIH1cclxuIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdmFyIGRhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGE7XHJcbiAgICB0aGlzLmxvZ2luU3RhZmYgPSBkYXRhLmxvZ2luU3RhZmY7XHJcbiAgICB0aGlzLnN0YWZmSWQgPSAgdGhpcy5sb2dpblN0YWZmLnN0YWZmSWQ7XHJcbiAgIFxyXG4gICAgdGhpcy5zdGFmZiA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHN0YWZmSWQ6IHRoaXMubG9naW5TdGFmZi5zdGFmZklkLFxyXG4gICAgICAgIGZ1bGxOYW1lOiB0aGlzLmxvZ2luU3RhZmYuZmlyc3ROYW1lICsgJyAnICsgdGhpcy5sb2dpblN0YWZmLmxhc3ROYW1lLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuXHJcblxyXG4gICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy52aWN0aW1JZCA9IHBhcmFtc1sndmljdGltSWQnXTtcclxuICAgICAgY29uc29sZS5sb2coJ215IHRoaXMudmljdGltSWQnKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy52aWN0aW1JZCk7XHJcbiBcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0TWV0aG9kcygpLnN1YnNjcmliZShcclxuICAgICAgKGl0ZW1zOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RNZXRob2RzID0gaXRlbXM7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuY29udGFjdE1ldGhvZHMnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnRhY3RNZXRob2RzKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0QnlzKCkuc3Vic2NyaWJlKFxyXG4gICAgLy8gICAoaXRlbXM6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMuY29udGFjdEJ5PSBpdGVtcztcclxuICAgIC8vICAgfVxyXG4gICAgLy8gKTtcclxuXHJcbiAgICBcclxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENvbnRhY3RzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAgIC8vICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAgICBcclxuICAgIC8vICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXHJcbiAgICAgIFxyXG4gICAgLy8gICB9XHJcbiAgICAvLyApO1xyXG4gXHJcbiAgfVxyXG4gIG9uRWRpdENvbnRhY3QodmljdGltQ29udGFjdElkOiBudW1iZXIpe1xyXG4gIFxyXG4gICAgLy8gdGhpcy5oaWRkZW5EZXRhaWxGbGFnID1mYWxzZTtcclxuICAgIC8vIHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9IHRydWU7XHJcblxyXG4gICAgLy8gdGhpcy5hZGREaXNhYmxlRmxhZyA9IHRydWU7XHJcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZSA9IHRoaXMuY2FzZU5vdGVMaXN0LmZpbmQoeCA9PiB4LnZpY3RpbUNhc2VOb3RlSWQgPT09IHZpY3RpbUNhc2VOb3RlSWQpO1xyXG5cclxuICB9XHJcbiBcclxuICAvLyBvbkRlbGV0ZUNhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQ6IG51bWJlcil7XHJcbiAgLy8gICAgdGhpcy5jb21tb25EaWFsb2dTZXJ2aWNlXHJcbiAgLy8gICAuY29uZmlybSgnJywgJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGNhc2Ugbm90ZT8nLCAnWWVzJywgJ05vJylcclxuICAvLyAgIC5zdWJzY3JpYmUocmVzID0+IHt0aGlzLnJlc3VsdCA9ICByZXM7XHJcbiAgLy8gICAgICAgaWYgKHRoaXMucmVzdWx0KSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmRlbGV0ZUNhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQsIHRoaXMuc3RhZmZJZClcclxuICAvLyAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAvLyAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignZGVsZXRlIFN1Y2Nlc3NmdWxseSAhJywgJycsIHsgZHVyYXRpb246IDMwMDAsfSk7XHJcblxyXG4gIC8vICAgICAgICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDYXNldE5vdGVzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAvLyAgICAgICAgICAgICBjYXNlTm90ZUxpc3QgPT4ge1xyXG4gIC8vICAgICAgICAgICAgICAgdGhpcy5jYXNlTm90ZUxpc3QgPSBjYXNlTm90ZUxpc3Q7IFxyXG4gICAgICAgICAgICAgIFxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgKTtcclxuICAvLyAgICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgKTtcclxuICAvLyAgICAgICB9XHJcblxyXG4gIC8vICAgIH0pO1xyXG4gIC8vIH1cclxuICBvbkFkZE5ldygpe1xyXG4gICBcclxuICAgIC8vIHRoaXMuZWRpdENhcy5jYXNlTm90ZURhdGUgPSBudWxsO1xyXG4gICAgLy8gdGhpcy5lZGl0Q2FzZU5vdGUuY29udGFjdFR5cGVJZCA9IG51bGw7XHJcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZS52aWN0aW1Db250YWN0UHVycG9zZUlkID0gbnVsbDtcclxuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLmNvbW1lbnQgPSBudWxsO1xyXG4gIH1cclxuICBiYWNrKCl7XHJcblxyXG4gXHJcbiAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3ZpY3RpbURldGFpbCcsIHRoaXMudmljdGltSWQgXSk7IFxyXG4gIH1cclxuIFxyXG4gIHNhdmVDb250YWN0KCl7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbnRhY3Q6IENvbnRhY3QgPSB7XHJcbiAgICAgICAgdmljdGltSWQ6dGhpcy52aWN0aW1JZCxcclxuICAgICAgICB2aWN0aW1Db250YWN0SWQ6IDAsXHJcbiAgICAgICAgY29udGFjdERhdGU6IHRoaXMuZWRpdENvbnRhY3QuY29udGFjdERhdGUsXHJcbiAgICAgICAgdmljdGltQ29udGFjdE1ldGhvZElkOiB0aGlzLmVkaXRDb250YWN0LnZpY3RpbUNvbnRhY3RNZXRob2RJZCxcclxuICAgICAgICBjb250YWN0TWV0aG9kOiBudWxsLFxyXG4gICAgICAgIGNvbnRhY3RlZEJ5TmFtZTogbnVsbCxcclxuICAgICAgICBjb250YWN0ZWRCeTogdGhpcy5lZGl0Q29udGFjdC5jb250YWN0ZWRCeSxcclxuICAgICAgICBjb21tZW50OiB0aGlzLmVkaXRDb250YWN0LmNvbW1lbnQsXHJcbiAgICAgICAgbmV4dENvbnRhY3REYXRlOiB0aGlzLmVkaXRDb250YWN0Lm5leHRDb250YWN0RGF0ZSxcclxuICAgICAgICBtb2RpZmllZEJ5OiB0aGlzLnN0YWZmSWQsXHJcbiAgICBcclxuICAgIH07XHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5hZGRDb250YWN0KGNvbnRhY3QpLnN1YnNjcmliZShcclxuICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NhdmVkIFN1Y2Nlc3NmdWxseSAhJywgJycsIHtcclxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndmljdGltRGV0YWlsJywgdGhpcy52aWN0aW1JZCBdKTsgXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIlxyXG4gPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcblxyXG4gICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRvb2xiYXIgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiY2FyZC1oZWFkZXJcIiA+Q29udGFjdCBkZXRhaWw8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10b29sYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGFpbmVyJz4gICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbnRhY3RGb3JtXCIgI2NvbnRhY3REZXRhaWxGb3JtPVwibmdGb3JtXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBEYXRlOjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0RGF0ZVwiICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRhY3REYXRlLm9wZW4oKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImNvbnRhY3REYXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDaG9vc2UgYSBjb250YWN0IGRhdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRDb250YWN0LmNvbnRhY3REYXRlXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cImNvbnRhY3REYXRlXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2NvbnRhY3REYXRlPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RGb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdjb250YWN0RGF0ZScpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udGFjdEZvcm0uZ2V0KCdjb250YWN0RGF0ZScpLmRpcnR5IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdEZvcm0uZ2V0KCdjb250YWN0RGF0ZScpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+Q29udGFjdCBkYXRlIGlzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5yZXF1aXJlZDwvc3Ryb25nPjwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS5oYXNFcnJvcignZGF0ZScpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS5kaXJ0eSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RGb3JtLmdldCgnY29udGFjdERhdGUnKS50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yID5mdXR1cmUgRGF0ZSBpcyA8c3Ryb25nPm5vdCBhbGxvd2VkPC9zdHJvbmc+IGZvciBjb250YWN0IGRhdGU8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db250YWN0IE1ldGhvZDo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICBwbGFjZWhvbGRlcj1cImNvbnRhY3RNZXRob2RcIiBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0TWV0aG9kXCIgIHJlcXVpcmVkICAgWyhuZ01vZGVsKV09XCJlZGl0Q29udGFjdC52aWN0aW1Db250YWN0TWV0aG9kSWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBjb250YWN0TWV0aG9kIG9mIGNvbnRhY3RNZXRob2RzXCIgW3ZhbHVlXT1cImNvbnRhY3RNZXRob2QudmljdGltQ29udGFjdE1ldGhvZElkXCIgPnt7Y29udGFjdE1ldGhvZC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtc2VsZWN0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBCeTo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0QnlcIiAgIHJlcXVpcmVkIFsobmdNb2RlbCldPVwiZWRpdENvbnRhY3QuY29udGFjdGVkQnlcIiBjbGFzcz1cIm1hdC1zZWxlY3QtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBpdGVtIG9mIHN0YWZmXCIgW3ZhbHVlXT1cIml0ZW0uc3RhZmZJZFwiID57eyBpdGVtLmZ1bGxOYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29tbWVudHMgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjb21tZW50XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRDb250YWN0LmNvbW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka0F1dG9zaXplTWF4Um93cz1cIjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPk5leHQgQ29udGFjdCBEYXRlOiA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmV4dENvbnRhY3REYXRlXCIgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dENvbnRhY3REYXRlLm9wZW4oKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cIm5leHRDb250YWN0RGF0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ2hvb3NlIGEgbmV4dCBjb250YWN0IGRhdGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRDb250YWN0Lm5leHRDb250YWN0RGF0ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJuZXh0Q29udGFjdERhdGVcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjbmV4dENvbnRhY3REYXRlPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29udGFjdCgpXCIgIFtkaXNhYmxlZF09XCIhY29udGFjdEZvcm0uZm9ybS52YWxpZFwiID5TYXZlPC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29udGFjdCgpXCIgW2Rpc2FibGVkXT1cIiFjb250YWN0Rm9ybS52YWxpZFwiID5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7PGJ1dHRvbiAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgID5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDs8YnV0dG9uICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYmFjaygpXCIgID5CYWNrPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG5cclxuXHJcbjwvbWF0LWNhcmQtY29udGVudD5cclxuPC9tYXQtY2FyZD4iXX0=
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 &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\n &nbsp;&nbsp;<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 &nbsp;&nbsp;<button mat-raised-button color=\"primary\" >Cancel</button>\n &nbsp;&nbsp;<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==
@@ -1,42 +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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvZW1haWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDOzs7QUFLOUIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLG1CQUFtQixDQUNqQixVQUFrQixFQUNsQixVQUFrQixFQUNsQixVQUFrQjtRQUdwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQ3JCLFVBQVUsRUFDVixzQkFBc0IsVUFBVSxHQUFHLEVBQ25DLFVBQVUsQ0FDWCxDQUFDO0lBRUYsQ0FBQztJQUdELFdBQVcsQ0FDVCxlQUF1QixFQUN2QixVQUFrQixFQUNsQixVQUFrQjtRQUVsQixNQUFNLFFBQVEsR0FBRzs7NEJBRU8sZUFBZTt1QkFDcEIsVUFBVTtzQkFDWCxVQUFVOzs7Ozs7O01BTzFCLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLEdBQUcsQ0FBQTtVQUNULFFBQVE7T0FDWDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzRIQXpDVSxZQUFZO2dJQUFaLFlBQVksY0FGWCxNQUFNOzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1haWxTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwb2xsbzogQXBvbGxvKSB7fVxyXG5cclxuICBjcmVhdGVDYXNlTm90ZUVtYWlsKFxyXG4gICAgdGVtcGxhdGVJZDogc3RyaW5nLFxyXG4gICAgb2ZmZW5kZXJJZDogbnVtYmVyLFxyXG4gICAgbW9kaWZpZWRCeTogbnVtYmVyLFxyXG4gICkgOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgXHJcbiAgcmV0dXJuIHRoaXMuY3JlYXRlRW1haWwoXHJcbiAgICB0ZW1wbGF0ZUlkLFxyXG4gICAgYHtcXFxcXCJvZmZlbmRlcklkXFxcXFwiOiAke29mZmVuZGVySWR9fWAsXHJcbiAgICBtb2RpZmllZEJ5LFxyXG4gICk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGNyZWF0ZUVtYWlsKFxyXG4gICAgZW1haWxUZW1wbGF0ZUlkOiBzdHJpbmcsXHJcbiAgICBwYXJhbWV0ZXJzOiBzdHJpbmcsXHJcbiAgICBtb2RpZmllZEJ5OiBudW1iZXIsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG11dGF0aW9uID0gYG11dGF0aW9uIHtcclxuICAgICAgY3JlYXRlRW1haWwoaW5wdXQ6IHtcclxuICAgICAgICBlbWFpbFRlbXBsYXRlSWQ6IFwiJHtlbWFpbFRlbXBsYXRlSWR9XCJcclxuICAgICAgICBwYXJhbWV0ZXJzOiBcIiR7cGFyYW1ldGVyc31cIlxyXG4gICAgICAgIG1vZGlmaWVkQnk6ICR7bW9kaWZpZWRCeX1cclxuICAgICAgfSkge1xyXG4gICAgICAgIG1lc3NhZ2VcclxuICAgICAgICBkYXRhIHtcclxuICAgICAgICAgIGVtYWlsUXVldWVJZFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfWA7XHJcbiAgICBjb25zb2xlLmxvZyhtdXRhdGlvbik7XHJcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKHtcclxuICAgICAgbXV0YXRpb246IGdxbGBcclxuICAgICAgICAke211dGF0aW9ufVxyXG4gICAgICBgLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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==