@csmart/ngc-smart-victim 0.1.7 → 1.13.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. package/csmart-ngc-smart-victim.d.ts +1 -15
  2. package/esm2020/csmart-ngc-smart-victim.mjs +5 -0
  3. package/esm2020/lib/caseNote/caseNote.component.mjs +185 -0
  4. package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -0
  5. package/esm2020/lib/common-dialog/common-dialog.module.mjs +38 -0
  6. package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -0
  7. package/esm2020/lib/contact/contact.component.mjs +140 -0
  8. package/esm2020/lib/intake.service.mjs +57 -0
  9. package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +115 -0
  10. package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
  11. package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
  12. package/esm2020/lib/shared/app.shared.module.mjs +213 -0
  13. package/esm2020/lib/shared/directives/phone-mask.directive.mjs +53 -0
  14. package/esm2020/lib/shared/validators/date.validator.mjs +59 -0
  15. package/esm2020/lib/shared/validators/index.mjs +2 -0
  16. package/esm2020/lib/smart-victim-delete-confirm.component.mjs +53 -0
  17. package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +961 -0
  18. package/esm2020/lib/smart-victim.component.mjs +310 -0
  19. package/esm2020/lib/smart-victim.model.mjs +133 -0
  20. package/esm2020/lib/smart-victim.module.mjs +138 -0
  21. package/esm2020/lib/smart-victim.service.mjs +347 -0
  22. package/esm2020/lib/victim-routing.module.mjs +42 -0
  23. package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -0
  24. package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -0
  25. package/esm2020/public-api.mjs +12 -0
  26. package/fesm2015/csmart-ngc-smart-victim.mjs +3163 -0
  27. package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -0
  28. package/fesm2020/csmart-ngc-smart-victim.mjs +3152 -0
  29. package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -0
  30. package/lib/caseNote/caseNote.component.d.ts +6 -2
  31. package/lib/common-dialog/common-dialog.component.d.ts +4 -1
  32. package/lib/common-dialog/common-dialog.module.d.ts +6 -0
  33. package/lib/common-dialog/common-dialog.service.d.ts +4 -1
  34. package/lib/contact/contact.component.d.ts +4 -1
  35. package/lib/intake.service.d.ts +3 -0
  36. package/lib/safetyPlan/serviceProvider.component.d.ts +4 -1
  37. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +7 -2
  38. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +7 -2
  39. package/lib/shared/app.shared.module.d.ts +30 -0
  40. package/lib/shared/directives/phone-mask.directive.d.ts +10 -13
  41. package/lib/smart-victim-delete-confirm.component.d.ts +3 -0
  42. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +9 -4
  43. package/lib/smart-victim.component.d.ts +8 -3
  44. package/lib/smart-victim.model.d.ts +2 -1
  45. package/lib/smart-victim.module.d.ts +47 -0
  46. package/lib/smart-victim.service.d.ts +3 -0
  47. package/lib/victim-routing.module.d.ts +5 -0
  48. package/lib/victimSearch/victimSearchForm.component.d.ts +3 -0
  49. package/package.json +28 -18
  50. package/public-api.d.ts +4 -0
  51. package/bundles/csmart-ngc-smart-victim.umd.js +0 -6434
  52. package/bundles/csmart-ngc-smart-victim.umd.js.map +0 -1
  53. package/bundles/csmart-ngc-smart-victim.umd.min.js +0 -16
  54. package/bundles/csmart-ngc-smart-victim.umd.min.js.map +0 -1
  55. package/csmart-ngc-smart-victim.metadata.json +0 -1
  56. package/esm2015/csmart-ngc-smart-victim.js +0 -25
  57. package/esm2015/lib/caseNote/caseNote.component.js +0 -349
  58. package/esm2015/lib/common-dialog/common-dialog.component.js +0 -46
  59. package/esm2015/lib/common-dialog/common-dialog.module.js +0 -32
  60. package/esm2015/lib/common-dialog/common-dialog.service.js +0 -63
  61. package/esm2015/lib/contact/contact.component.js +0 -232
  62. package/esm2015/lib/intake.service.js +0 -183
  63. package/esm2015/lib/safetyPlan/serviceProvider.component.js +0 -130
  64. package/esm2015/lib/safetyPlan/victimSafetyPlan.component.js +0 -257
  65. package/esm2015/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -556
  66. package/esm2015/lib/shared/app.shared.module.js +0 -81
  67. package/esm2015/lib/shared/directives/phone-mask.directive.js +0 -168
  68. package/esm2015/lib/shared/validators/date.validator.js +0 -108
  69. package/esm2015/lib/shared/validators/index.js +0 -7
  70. package/esm2015/lib/smart-victim-delete-confirm.component.js +0 -61
  71. package/esm2015/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1410
  72. package/esm2015/lib/smart-victim.component.js +0 -476
  73. package/esm2015/lib/smart-victim.model.js +0 -631
  74. package/esm2015/lib/smart-victim.module.js +0 -84
  75. package/esm2015/lib/smart-victim.service.js +0 -792
  76. package/esm2015/lib/victim-routing.module.js +0 -40
  77. package/esm2015/lib/victimSearch/VictimSearchFilter.js +0 -20
  78. package/esm2015/lib/victimSearch/victimSearchForm.component.js +0 -59
  79. package/esm2015/public-api.js +0 -13
  80. package/esm5/csmart-ngc-smart-victim.js +0 -25
  81. package/esm5/lib/caseNote/caseNote.component.js +0 -372
  82. package/esm5/lib/common-dialog/common-dialog.component.js +0 -48
  83. package/esm5/lib/common-dialog/common-dialog.module.js +0 -36
  84. package/esm5/lib/common-dialog/common-dialog.service.js +0 -75
  85. package/esm5/lib/contact/contact.component.js +0 -285
  86. package/esm5/lib/intake.service.js +0 -194
  87. package/esm5/lib/safetyPlan/serviceProvider.component.js +0 -99
  88. package/esm5/lib/safetyPlan/victimSafetyPlan.component.js +0 -306
  89. package/esm5/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -628
  90. package/esm5/lib/shared/app.shared.module.js +0 -85
  91. package/esm5/lib/shared/directives/phone-mask.directive.js +0 -184
  92. package/esm5/lib/shared/validators/date.validator.js +0 -108
  93. package/esm5/lib/shared/validators/index.js +0 -7
  94. package/esm5/lib/smart-victim-delete-confirm.component.js +0 -51
  95. package/esm5/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1502
  96. package/esm5/lib/smart-victim.component.js +0 -528
  97. package/esm5/lib/smart-victim.model.js +0 -541
  98. package/esm5/lib/smart-victim.module.js +0 -84
  99. package/esm5/lib/smart-victim.service.js +0 -1063
  100. package/esm5/lib/victim-routing.module.js +0 -44
  101. package/esm5/lib/victimSearch/VictimSearchFilter.js +0 -24
  102. package/esm5/lib/victimSearch/victimSearchForm.component.js +0 -70
  103. package/esm5/public-api.js +0 -13
  104. package/fesm2015/csmart-ngc-smart-victim.js +0 -5690
  105. package/fesm2015/csmart-ngc-smart-victim.js.map +0 -1
  106. package/fesm5/csmart-ngc-smart-victim.js +0 -6211
  107. package/fesm5/csmart-ngc-smart-victim.js.map +0 -1
@@ -1,48 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/common-dialog/common-dialog.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component } from '@angular/core';
7
- import { MatDialogRef } from '@angular/material';
8
- var CommonDialogComponent = /** @class */ (function () {
9
- function CommonDialogComponent(commondialogRef) {
10
- this.commondialogRef = commondialogRef;
11
- this.cmdYesTitle = "Yes";
12
- this.cmdNoTitle = "No";
13
- }
14
- /**
15
- * @return {?}
16
- */
17
- CommonDialogComponent.prototype.ngOnInit = /**
18
- * @return {?}
19
- */
20
- function () {
21
- };
22
- CommonDialogComponent.decorators = [
23
- { type: Component, args: [{
24
- selector: 'app-common-dialog',
25
- template: "\r\n \r\n <mat-card class=\"example-card\"> \r\n <mat-card-content>\r\n <p>{{ title }}</p>\r\n <p>{{ message }}</p>\r\n <br>\r\n\r\n <div class=\"inner\">\r\n <button type=\"button\" mat-raised-button color=\"primary\"\r\n (click)=\"commondialogRef.close(true)\">{{cmdYesTitle}}</button>\r\n </div>\r\n &nbsp;&nbsp;\r\n \r\n <div *ngIf=\"cmdYesTitle!=='Ok'\" class=\"inner\">\r\n <button type=\"button\" mat-raised-button color=\"primary\" \r\n (click)=\"commondialogRef.close()\">{{cmdNoTitle}}</button>\r\n \r\n </div>\r\n \r\n \r\n </mat-card-content>\r\n </mat-card>",
26
- styles: [".md-dialog-container{position:fixed;top:0!important;overflow:hidden}.inner{display:inline-block}"]
27
- }] }
28
- ];
29
- /** @nocollapse */
30
- CommonDialogComponent.ctorParameters = function () { return [
31
- { type: MatDialogRef }
32
- ]; };
33
- return CommonDialogComponent;
34
- }());
35
- export { CommonDialogComponent };
36
- if (false) {
37
- /** @type {?} */
38
- CommonDialogComponent.prototype.title;
39
- /** @type {?} */
40
- CommonDialogComponent.prototype.message;
41
- /** @type {?} */
42
- CommonDialogComponent.prototype.cmdYesTitle;
43
- /** @type {?} */
44
- CommonDialogComponent.prototype.cmdNoTitle;
45
- /** @type {?} */
46
- CommonDialogComponent.prototype.commondialogRef;
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3NtYXJ0L25nYy1zbWFydC12aWN0aW0vIiwic291cmNlcyI6WyJsaWIvY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFZLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTFEO0lBV0UsK0JBQW1CLGVBQW9EO1FBQXBELG9CQUFlLEdBQWYsZUFBZSxDQUFxQztRQUhsRSxnQkFBVyxHQUFVLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQVcsSUFBSSxDQUFDO0lBRTRDLENBQUM7Ozs7SUFFNUUsd0NBQVE7OztJQUFSO0lBRUEsQ0FBQzs7Z0JBZkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLGc5QkFBNkM7O2lCQUU5Qzs7OztnQkFOa0IsWUFBWTs7SUFtQi9CLDRCQUFDO0NBQUEsQUFqQkQsSUFpQkM7U0FaWSxxQkFBcUI7OztJQUNsQyxzQ0FBcUI7O0lBQ3JCLHdDQUF1Qjs7SUFDdkIsNENBQWtDOztJQUNsQywyQ0FBaUM7O0lBRW5CLGdEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbW1vbi1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb21tb24tZGlhbG9nLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxucHVibGljIHRpdGxlOiBzdHJpbmc7XHJcbnB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XHJcbnB1YmxpYyBjbWRZZXNUaXRsZTogc3RyaW5nID1cIlllc1wiO1xyXG5wdWJsaWMgY21kTm9UaXRsZTogc3RyaW5nID0gXCJOb1wiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tbW9uZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tbW9uRGlhbG9nQ29tcG9uZW50PikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICBcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,36 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/common-dialog/common-dialog.module.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- //import { MaterialModule } from '@angular/material';
7
- import { NgModule } from '@angular/core';
8
- import { SharedModule } from '../shared/app.shared.module';
9
- import { CommonDialogComponent } from './common-dialog.component';
10
- var CommonDialogModule = /** @class */ (function () {
11
- function CommonDialogModule() {
12
- }
13
- CommonDialogModule.decorators = [
14
- { type: NgModule, args: [{
15
- imports: [
16
- // MaterialModule.forRoot(),
17
- SharedModule
18
- ],
19
- exports: [
20
- CommonDialogComponent,
21
- ],
22
- declarations: [
23
- CommonDialogComponent,
24
- ],
25
- providers: [
26
- CommonDialogComponent,
27
- ],
28
- entryComponents: [
29
- CommonDialogComponent,
30
- ],
31
- },] }
32
- ];
33
- return CommonDialogModule;
34
- }());
35
- export { CommonDialogModule };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3NtYXJ0L25nYy1zbWFydC12aWN0aW0vIiwic291cmNlcyI6WyJsaWIvY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRTtJQUFBO0lBa0JrQyxDQUFDOztnQkFsQmxDLFFBQVEsU0FBQztvQkFDTixPQUFPLEVBQUU7d0JBQ04sNEJBQTRCO3dCQUM1QixZQUFZO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDTCxxQkFBcUI7cUJBQ3hCO29CQUNELFlBQVksRUFBRTt3QkFDVixxQkFBcUI7cUJBQ3hCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3hCO29CQUNELGVBQWUsRUFBRTt3QkFDYixxQkFBcUI7cUJBQ3hCO2lCQUNKOztJQUNpQyx5QkFBQztDQUFBLEFBbEJuQyxJQWtCbUM7U0FBdEIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uRGlhbG9nU2VydmljZSB9IGZyb20gJy4vY29tbW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuLy9pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL2FwcC5zaGFyZWQubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgIC8vIE1hdGVyaWFsTW9kdWxlLmZvclJvb3QoKSxcclxuICAgICAgIFNoYXJlZE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBDb21tb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQ29tbW9uRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIENvbW1vbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgICAgICBDb21tb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,75 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/common-dialog/common-dialog.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { CommonDialogComponent } from './common-dialog.component';
7
- import { MatDialog } from '@angular/material';
8
- import { Injectable } from '@angular/core';
9
- var CommonDialogService = /** @class */ (function () {
10
- function CommonDialogService(dialog) {
11
- this.dialog = dialog;
12
- }
13
- /**
14
- * @param {?} title
15
- * @param {?} message
16
- * @param {?} cmdYesTitle
17
- * @param {?} cmdNoTitle
18
- * @return {?}
19
- */
20
- CommonDialogService.prototype.confirm = /**
21
- * @param {?} title
22
- * @param {?} message
23
- * @param {?} cmdYesTitle
24
- * @param {?} cmdNoTitle
25
- * @return {?}
26
- */
27
- function (title, message, cmdYesTitle, cmdNoTitle) {
28
- /** @type {?} */
29
- var dialogRef;
30
- dialogRef = this.dialog.open(CommonDialogComponent);
31
- dialogRef.componentInstance.title = title;
32
- dialogRef.componentInstance.message = message;
33
- dialogRef.componentInstance.cmdYesTitle = cmdYesTitle;
34
- dialogRef.componentInstance.cmdNoTitle = cmdNoTitle;
35
- return dialogRef.afterClosed();
36
- };
37
- /**
38
- * @param {?} title
39
- * @param {?} message
40
- * @param {?} cmdOkTitle
41
- * @return {?}
42
- */
43
- CommonDialogService.prototype.warning = /**
44
- * @param {?} title
45
- * @param {?} message
46
- * @param {?} cmdOkTitle
47
- * @return {?}
48
- */
49
- function (title, message, cmdOkTitle) {
50
- /** @type {?} */
51
- var dialogRef;
52
- dialogRef = this.dialog.open(CommonDialogComponent);
53
- dialogRef.componentInstance.title = title;
54
- dialogRef.componentInstance.message = message;
55
- dialogRef.componentInstance.cmdYesTitle = cmdOkTitle;
56
- return dialogRef.afterClosed();
57
- };
58
- CommonDialogService.decorators = [
59
- { type: Injectable }
60
- ];
61
- /** @nocollapse */
62
- CommonDialogService.ctorParameters = function () { return [
63
- { type: MatDialog }
64
- ]; };
65
- return CommonDialogService;
66
- }());
67
- export { CommonDialogService };
68
- if (false) {
69
- /**
70
- * @type {?}
71
- * @private
72
- */
73
- CommonDialogService.prototype.dialog;
74
- }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNzbWFydC9uZ2Mtc21hcnQtdmljdGltLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi1kaWFsb2cvY29tbW9uLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDO0lBR0ksNkJBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBSSxDQUFDOzs7Ozs7OztJQUVuQyxxQ0FBTzs7Ozs7OztJQUFkLFVBQWUsS0FBYSxFQUFFLE9BQWUsRUFBRSxXQUFtQixFQUFFLFVBQWtCOztZQUU5RSxTQUE4QztRQUVsRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMxQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM5QyxTQUFTLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUN0RCxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwRCxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzs7Ozs7O0lBRU0scUNBQU87Ozs7OztJQUFkLFVBQWUsS0FBYSxFQUFFLE9BQWUsRUFBRSxVQUFrQjs7WUFFekQsU0FBOEM7UUFFbEQsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDOUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFFckQsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7Z0JBM0JKLFVBQVU7Ozs7Z0JBSEYsU0FBUzs7SUFnQ2xCLDBCQUFDO0NBQUEsQUE3QkQsSUE2QkM7U0E1QlksbUJBQW1COzs7Ozs7SUFFaEIscUNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21tb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uRGlhbG9nU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gICAgcHVibGljIGNvbmZpcm0odGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBjbWRZZXNUaXRsZTogc3RyaW5nLCBjbWROb1RpdGxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuXHJcbiAgICAgICAgbGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbW1vbkRpYWxvZ0NvbXBvbmVudD47XHJcblxyXG4gICAgICAgIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29tbW9uRGlhbG9nQ29tcG9uZW50KTtcclxuICAgICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSB0aXRsZTtcclxuICAgICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNtZFllc1RpdGxlID0gY21kWWVzVGl0bGU7XHJcbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNtZE5vVGl0bGUgPSBjbWROb1RpdGxlO1xyXG4gICAgICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgd2FybmluZyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGNtZE9rVGl0bGU6IHN0cmluZywgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblxyXG4gICAgICAgIGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb21tb25EaWFsb2dDb21wb25lbnQ+O1xyXG5cclxuICAgICAgICBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbW1vbkRpYWxvZ0NvbXBvbmVudCk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLnRpdGxlID0gdGl0bGU7XHJcbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jbWRZZXNUaXRsZSA9IGNtZE9rVGl0bGU7XHJcbiAgICAgICBcclxuICAgICAgICByZXR1cm4gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,285 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/contact/contact.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component } from '@angular/core';
7
- import { NgcSmartVictimService } from '../smart-victim.service';
8
- import { FormControl, FormGroup, Validators } from '@angular/forms';
9
- import { MatSnackBar } from '@angular/material';
10
- import { Router, ActivatedRoute } from '@angular/router';
11
- import { SmartAuthService } from '@csmart/ngc-smart-core';
12
- import { dateValidator } from '../shared/validators';
13
- var ContactComponent = /** @class */ (function () {
14
- function ContactComponent(_victimServicesComponent, snackBar, route, router, smartAuthService) {
15
- this._victimServicesComponent = _victimServicesComponent;
16
- this.snackBar = snackBar;
17
- this.route = route;
18
- this.router = router;
19
- this.smartAuthService = smartAuthService;
20
- this.editContact = (/** @type {?} */ ({}));
21
- this.staff = {};
22
- this.contactForm = new FormGroup({
23
- //contactDate: new FormControl(),
24
- contactDate: new FormControl('', Validators.compose([
25
- dateValidator()
26
- ])),
27
- contactMethod: new FormControl(),
28
- contactBy: new FormControl(),
29
- comment: new FormControl(),
30
- nextContactDate: new FormControl()
31
- });
32
- }
33
- /**
34
- * @return {?}
35
- */
36
- ContactComponent.prototype.ngAfterViewInit = /**
37
- * @return {?}
38
- */
39
- function () {
40
- this.smartAuthService.setPermission('Victim', this.route.snapshot);
41
- };
42
- /**
43
- * @return {?}
44
- */
45
- ContactComponent.prototype.ngOnInit = /**
46
- * @return {?}
47
- */
48
- function () {
49
- var _this = this;
50
- /** @type {?} */
51
- var data = this.route.snapshot.data;
52
- this.loginStaff = data.loginStaff;
53
- this.staffId = this.loginStaff.staffId;
54
- this.staff = [
55
- {
56
- staffId: this.loginStaff.staffId,
57
- fullName: this.loginStaff.firstName + ' ' + this.loginStaff.lastName,
58
- },
59
- ];
60
- this.sub = this.route.params.subscribe((/**
61
- * @param {?} params
62
- * @return {?}
63
- */
64
- function (params) {
65
- _this.victimId = params['victimId'];
66
- console.log('my this.victimId');
67
- console.log(_this.victimId);
68
- }));
69
- this._victimServicesComponent.getContactMethods().subscribe((/**
70
- * @param {?} items
71
- * @return {?}
72
- */
73
- function (items) {
74
- _this.contactMethods = items;
75
- console.log('this.contactMethods');
76
- console.log(_this.contactMethods);
77
- }));
78
- // this._victimServicesComponent.getContactBys().subscribe(
79
- // (items: any) => {
80
- // this.contactBy= items;
81
- // }
82
- // );
83
- // this._victimServicesComponent.getContacts(this.victimId).subscribe(
84
- // caseNoteList => {
85
- // this.caseNoteList = caseNoteList;
86
- // }
87
- // );
88
- };
89
- /**
90
- * @param {?} victimContactId
91
- * @return {?}
92
- */
93
- ContactComponent.prototype.onEditContact = /**
94
- * @param {?} victimContactId
95
- * @return {?}
96
- */
97
- function (victimContactId) {
98
- // this.hiddenDetailFlag =false;
99
- // this.hiddenAddNewFlag = true;
100
- // this.addDisableFlag = true;
101
- // this.editCaseNote = this.caseNoteList.find(x => x.victimCaseNoteId === victimCaseNoteId);
102
- };
103
- // onDeleteCaseNote(victimCaseNoteId: number){
104
- // this.commonDialogService
105
- // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
106
- // .subscribe(res => {this.result = res;
107
- // if (this.result) {
108
- // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
109
- // .subscribe(result => {
110
- // this.snackBar.open('delete Successfully !', '', { duration: 3000,});
111
- // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
112
- // caseNoteList => {
113
- // this.caseNoteList = caseNoteList;
114
- // }
115
- // );
116
- // }
117
- // );
118
- // }
119
- // });
120
- // }
121
- // onDeleteCaseNote(victimCaseNoteId: number){
122
- // this.commonDialogService
123
- // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
124
- // .subscribe(res => {this.result = res;
125
- // if (this.result) {
126
- // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
127
- // .subscribe(result => {
128
- // this.snackBar.open('delete Successfully !', '', { duration: 3000,});
129
- // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
130
- // caseNoteList => {
131
- // this.caseNoteList = caseNoteList;
132
- // }
133
- // );
134
- // }
135
- // );
136
- // }
137
- // });
138
- // }
139
- /**
140
- * @return {?}
141
- */
142
- ContactComponent.prototype.onAddNew =
143
- // onDeleteCaseNote(victimCaseNoteId: number){
144
- // this.commonDialogService
145
- // .confirm('', 'Do you want to delete this case note?', 'Yes', 'No')
146
- // .subscribe(res => {this.result = res;
147
- // if (this.result) {
148
- // this._victimServicesComponent.deleteCaseNote(victimCaseNoteId, this.staffId)
149
- // .subscribe(result => {
150
- // this.snackBar.open('delete Successfully !', '', { duration: 3000,});
151
- // this._victimServicesComponent.getCasetNotes(this.victimId).subscribe(
152
- // caseNoteList => {
153
- // this.caseNoteList = caseNoteList;
154
- // }
155
- // );
156
- // }
157
- // );
158
- // }
159
- // });
160
- // }
161
- /**
162
- * @return {?}
163
- */
164
- function () {
165
- // this.editCas.caseNoteDate = null;
166
- // this.editCaseNote.contactTypeId = null;
167
- // this.editCaseNote.victimContactPurposeId = null;
168
- // this.editCaseNote.comment = null;
169
- };
170
- /**
171
- * @return {?}
172
- */
173
- ContactComponent.prototype.back = /**
174
- * @return {?}
175
- */
176
- function () {
177
- this.router.navigate(['victimDetail', this.victimId]);
178
- };
179
- /**
180
- * @return {?}
181
- */
182
- ContactComponent.prototype.saveContact = /**
183
- * @return {?}
184
- */
185
- function () {
186
- var _this = this;
187
- /** @type {?} */
188
- var contact = {
189
- victimId: this.victimId,
190
- victimContactId: 0,
191
- contactDate: this.editContact.contactDate,
192
- victimContactMethodId: this.editContact.victimContactMethodId,
193
- contactMethod: null,
194
- contactedByName: null,
195
- contactedBy: this.editContact.contactedBy,
196
- comment: this.editContact.comment,
197
- nextContactDate: this.editContact.nextContactDate,
198
- modifiedBy: this.staffId,
199
- };
200
- this._victimServicesComponent.addContact(contact).subscribe((/**
201
- * @param {?} result
202
- * @return {?}
203
- */
204
- function (result) {
205
- _this.snackBar.open('Saved Successfully !', '', {
206
- duration: 3000,
207
- });
208
- _this.router.navigate(['victimDetail', _this.victimId]);
209
- }));
210
- };
211
- ContactComponent.decorators = [
212
- { type: Component, args: [{
213
- 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>",
214
- styles: ["mat-form-field{width:50%}.container{margin:16px;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[1];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}"]
215
- }] }
216
- ];
217
- /** @nocollapse */
218
- ContactComponent.ctorParameters = function () { return [
219
- { type: NgcSmartVictimService },
220
- { type: MatSnackBar },
221
- { type: ActivatedRoute },
222
- { type: Router },
223
- { type: SmartAuthService }
224
- ]; };
225
- return ContactComponent;
226
- }());
227
- export { ContactComponent };
228
- if (false) {
229
- /** @type {?} */
230
- ContactComponent.prototype.offenderId;
231
- /** @type {?} */
232
- ContactComponent.prototype.loginStaff;
233
- /** @type {?} */
234
- ContactComponent.prototype.contact;
235
- /** @type {?} */
236
- ContactComponent.prototype.editContact;
237
- /** @type {?} */
238
- ContactComponent.prototype.errorMessage;
239
- /** @type {?} */
240
- ContactComponent.prototype.contactMethods;
241
- /** @type {?} */
242
- ContactComponent.prototype.contactBy;
243
- /** @type {?} */
244
- ContactComponent.prototype.result;
245
- /** @type {?} */
246
- ContactComponent.prototype.victimName;
247
- /** @type {?} */
248
- ContactComponent.prototype.staffId;
249
- /** @type {?} */
250
- ContactComponent.prototype.victimId;
251
- /** @type {?} */
252
- ContactComponent.prototype.hiddenAddNewFlag;
253
- /** @type {?} */
254
- ContactComponent.prototype.contactForm;
255
- /**
256
- * @type {?}
257
- * @private
258
- */
259
- ContactComponent.prototype.sub;
260
- /** @type {?} */
261
- ContactComponent.prototype.staff;
262
- /**
263
- * @type {?}
264
- * @private
265
- */
266
- ContactComponent.prototype._victimServicesComponent;
267
- /** @type {?} */
268
- ContactComponent.prototype.snackBar;
269
- /**
270
- * @type {?}
271
- * @private
272
- */
273
- ContactComponent.prototype.route;
274
- /**
275
- * @type {?}
276
- * @private
277
- */
278
- ContactComponent.prototype.router;
279
- /**
280
- * @type {?}
281
- * @private
282
- */
283
- ContactComponent.prototype.smartAuthService;
284
- }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3NtYXJ0L25nYy1zbWFydC12aWN0aW0vIiwic291cmNlcyI6WyJsaWIvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLE9BQU8sRUFBMkMsV0FBVyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFeEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFpQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBGO0lBc0JFLDBCQUVVLHdCQUErQyxFQUVoRCxRQUFxQixFQUNwQixLQUFxQixFQUNyQixNQUFjLEVBQ2QsZ0JBQWtDO1FBTGxDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFFaEQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBCNUMsZ0JBQVcsR0FBWSxtQkFBUyxFQUFFLEVBQUEsQ0FBQztRQVduQyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBWWQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFNBQVMsQ0FBQzs7WUFFL0IsV0FBVyxFQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNqRCxhQUFhLEVBQUU7YUFB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LGtDQUFZOztJQUNaLHNDQUFtQjs7SUFDbkIsbUNBQWdCOztJQUNoQixvQ0FBaUI7O0lBQ2pCLDRDQUEwQjs7SUFDMUIsdUNBQXVCOzs7OztJQUN2QiwrQkFBaUI7O0lBQ2pCLGlDQUFnQjs7Ozs7SUFJZCxvREFBdUQ7O0lBRXZELG9DQUE0Qjs7Ozs7SUFDNUIsaUNBQTZCOzs7OztJQUM3QixrQ0FBc0I7Ozs7O0lBQ3RCLDRDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LEluamVjdCxPbkNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcixBZnRlclZpZXdJbml0ICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2NTbWFydFZpY3RpbVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC12aWN0aW0uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4vY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLE1hdFNuYWNrQmFyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIsIExvZ2luU3RhZmYgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbnRhY3R9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgZGF0ZVZhbGlkYXRvcixwYXNzRGF0ZVZhbGlkYXRvcixkYXRlTGVzc1RoYW4gfSBmcm9tICcuLi9zaGFyZWQvdmFsaWRhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQgIHtcclxuXHJcbiAgb2ZmZW5kZXJJZDogbnVtYmVyO1xyXG4gIGxvZ2luU3RhZmY6IExvZ2luU3RhZmY7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICBlZGl0Q29udGFjdDogQ29udGFjdCA9IDxDb250YWN0Pnt9O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbnRhY3RNZXRob2RzOiBhbnlbXTtcclxuICBjb250YWN0Qnk6IGFueVtdO1xyXG4gIHJlc3VsdDogYW55O1xyXG4gIHZpY3RpbU5hbWU6IHN0cmluZztcclxuICBzdGFmZklkOiBudW1iZXI7XHJcbiAgdmljdGltSWQ6IG51bWJlcjtcclxuICBoaWRkZW5BZGROZXdGbGFnOiBib29sZWFuO1xyXG4gIGNvbnRhY3RGb3JtOiBGb3JtR3JvdXA7XHJcbiAgcHJpdmF0ZSBzdWI6IGFueTtcclxuICBzdGFmZjogYW55ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG5cclxuICAgIHByaXZhdGUgX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50OiBOZ2NTbWFydFZpY3RpbVNlcnZpY2UsXHJcbiAgICAvL3ByaXZhdGUgY29tbW9uRGlhbG9nU2VydmljZTogQ29tbW9uRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNtYXJ0QXV0aFNlcnZpY2U6IFNtYXJ0QXV0aFNlcnZpY2UsXHJcbiAgICAgXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRhY3RGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgIC8vY29udGFjdERhdGU6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICBjb250YWN0RGF0ZTpuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgZGF0ZVZhbGlkYXRvcigpXHQgIF0pKSxcclxuXHJcbiAgICAgIGNvbnRhY3RNZXRob2Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICBjb250YWN0Qnk6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICBjb21tZW50OiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgICAgbmV4dENvbnRhY3REYXRlOiBuZXcgRm9ybUNvbnRyb2woKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zbWFydEF1dGhTZXJ2aWNlLnNldFBlcm1pc3Npb24oJ1ZpY3RpbScsIHRoaXMucm91dGUuc25hcHNob3QpO1xyXG4gIH1cclxuIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdmFyIGRhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGE7XHJcbiAgICB0aGlzLmxvZ2luU3RhZmYgPSBkYXRhLmxvZ2luU3RhZmY7XHJcbiAgICB0aGlzLnN0YWZmSWQgPSAgdGhpcy5sb2dpblN0YWZmLnN0YWZmSWQ7XHJcbiAgIFxyXG4gICAgdGhpcy5zdGFmZiA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHN0YWZmSWQ6IHRoaXMubG9naW5TdGFmZi5zdGFmZklkLFxyXG4gICAgICAgIGZ1bGxOYW1lOiB0aGlzLmxvZ2luU3RhZmYuZmlyc3ROYW1lICsgJyAnICsgdGhpcy5sb2dpblN0YWZmLmxhc3ROYW1lLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuXHJcblxyXG4gICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy52aWN0aW1JZCA9IHBhcmFtc1sndmljdGltSWQnXTtcclxuICAgICAgY29uc29sZS5sb2coJ215IHRoaXMudmljdGltSWQnKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy52aWN0aW1JZCk7XHJcbiBcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0TWV0aG9kcygpLnN1YnNjcmliZShcclxuICAgICAgKGl0ZW1zOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RNZXRob2RzID0gaXRlbXM7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuY29udGFjdE1ldGhvZHMnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnRhY3RNZXRob2RzKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0QnlzKCkuc3Vic2NyaWJlKFxyXG4gICAgLy8gICAoaXRlbXM6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMuY29udGFjdEJ5PSBpdGVtcztcclxuICAgIC8vICAgfVxyXG4gICAgLy8gKTtcclxuXHJcbiAgICBcclxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENvbnRhY3RzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAgIC8vICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAgICBcclxuICAgIC8vICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXHJcbiAgICAgIFxyXG4gICAgLy8gICB9XHJcbiAgICAvLyApO1xyXG4gXHJcbiAgfVxyXG4gIG9uRWRpdENvbnRhY3QodmljdGltQ29udGFjdElkOiBudW1iZXIpe1xyXG4gIFxyXG4gICAgLy8gdGhpcy5oaWRkZW5EZXRhaWxGbGFnID1mYWxzZTtcclxuICAgIC8vIHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9IHRydWU7XHJcblxyXG4gICAgLy8gdGhpcy5hZGREaXNhYmxlRmxhZyA9IHRydWU7XHJcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZSA9IHRoaXMuY2FzZU5vdGVMaXN0LmZpbmQoeCA9PiB4LnZpY3RpbUNhc2VOb3RlSWQgPT09IHZpY3RpbUNhc2VOb3RlSWQpO1xyXG5cclxuICB9XHJcbiBcclxuICAvLyBvbkRlbGV0ZUNhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQ6IG51bWJlcil7XHJcbiAgLy8gICAgdGhpcy5jb21tb25EaWFsb2dTZXJ2aWNlXHJcbiAgLy8gICAuY29uZmlybSgnJywgJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGNhc2Ugbm90ZT8nLCAnWWVzJywgJ05vJylcclxuICAvLyAgIC5zdWJzY3JpYmUocmVzID0+IHt0aGlzLnJlc3VsdCA9ICByZXM7XHJcbiAgLy8gICAgICAgaWYgKHRoaXMucmVzdWx0KSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmRlbGV0ZUNhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQsIHRoaXMuc3RhZmZJZClcclxuICAvLyAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAvLyAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignZGVsZXRlIFN1Y2Nlc3NmdWxseSAhJywgJycsIHsgZHVyYXRpb246IDMwMDAsfSk7XHJcblxyXG4gIC8vICAgICAgICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDYXNldE5vdGVzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAvLyAgICAgICAgICAgICBjYXNlTm90ZUxpc3QgPT4ge1xyXG4gIC8vICAgICAgICAgICAgICAgdGhpcy5jYXNlTm90ZUxpc3QgPSBjYXNlTm90ZUxpc3Q7IFxyXG4gICAgICAgICAgICAgIFxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgKTtcclxuICAvLyAgICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgKTtcclxuICAvLyAgICAgICB9XHJcblxyXG4gIC8vICAgIH0pO1xyXG4gIC8vIH1cclxuICBvbkFkZE5ldygpe1xyXG4gICBcclxuICAgIC8vIHRoaXMuZWRpdENhcy5jYXNlTm90ZURhdGUgPSBudWxsO1xyXG4gICAgLy8gdGhpcy5lZGl0Q2FzZU5vdGUuY29udGFjdFR5cGVJZCA9IG51bGw7XHJcbiAgICAvLyB0aGlzLmVkaXRDYXNlTm90ZS52aWN0aW1Db250YWN0UHVycG9zZUlkID0gbnVsbDtcclxuICAgIC8vIHRoaXMuZWRpdENhc2VOb3RlLmNvbW1lbnQgPSBudWxsO1xyXG4gIH1cclxuICBiYWNrKCl7XHJcblxyXG4gXHJcbiAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3ZpY3RpbURldGFpbCcsIHRoaXMudmljdGltSWQgXSk7IFxyXG4gIH1cclxuIFxyXG4gIHNhdmVDb250YWN0KCl7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbnRhY3Q6IENvbnRhY3QgPSB7XHJcbiAgICAgICAgdmljdGltSWQ6dGhpcy52aWN0aW1JZCxcclxuICAgICAgICB2aWN0aW1Db250YWN0SWQ6IDAsXHJcbiAgICAgICAgY29udGFjdERhdGU6IHRoaXMuZWRpdENvbnRhY3QuY29udGFjdERhdGUsXHJcbiAgICAgICAgdmljdGltQ29udGFjdE1ldGhvZElkOiB0aGlzLmVkaXRDb250YWN0LnZpY3RpbUNvbnRhY3RNZXRob2RJZCxcclxuICAgICAgICBjb250YWN0TWV0aG9kOiBudWxsLFxyXG4gICAgICAgIGNvbnRhY3RlZEJ5TmFtZTogbnVsbCxcclxuICAgICAgICBjb250YWN0ZWRCeTogdGhpcy5lZGl0Q29udGFjdC5jb250YWN0ZWRCeSxcclxuICAgICAgICBjb21tZW50OiB0aGlzLmVkaXRDb250YWN0LmNvbW1lbnQsXHJcbiAgICAgICAgbmV4dENvbnRhY3REYXRlOiB0aGlzLmVkaXRDb250YWN0Lm5leHRDb250YWN0RGF0ZSxcclxuICAgICAgICBtb2RpZmllZEJ5OiB0aGlzLnN0YWZmSWQsXHJcbiAgICBcclxuICAgIH07XHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5hZGRDb250YWN0KGNvbnRhY3QpLnN1YnNjcmliZShcclxuICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NhdmVkIFN1Y2Nlc3NmdWxseSAhJywgJycsIHtcclxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndmljdGltRGV0YWlsJywgdGhpcy52aWN0aW1JZCBdKTsgXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==