@hmcts/ccd-case-ui-toolkit 6.13.10-show-condition-code-fix → 6.14.0-restricted-case-access

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +9346 -6553
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +19 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +6 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +7 -1
  8. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +7 -1
  9. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +10 -6
  10. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +2 -2
  11. package/esm2015/lib/shared/components/palette/index.js +3 -6
  12. package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +126 -0
  13. package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +220 -0
  14. package/esm2015/lib/shared/components/palette/linked-cases/components/index.js +8 -0
  15. package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +572 -0
  16. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +219 -0
  17. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +285 -0
  18. package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +79 -0
  19. package/esm2015/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.js +214 -0
  20. package/esm2015/lib/shared/components/palette/linked-cases/domain/index.js +3 -0
  21. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +2 -0
  22. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +21 -0
  23. package/esm2015/lib/shared/components/palette/linked-cases/enums/index.js +2 -0
  24. package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +35 -0
  25. package/esm2015/lib/shared/components/palette/linked-cases/index.js +6 -0
  26. package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +183 -0
  27. package/esm2015/lib/shared/components/palette/linked-cases/services/index.js +2 -0
  28. package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +134 -0
  29. package/esm2015/lib/shared/components/palette/linked-cases/utils/validators.utils.js +27 -0
  30. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +272 -0
  31. package/esm2015/lib/shared/components/palette/palette.module.js +51 -7
  32. package/esm2015/lib/shared/components/palette/palette.service.js +19 -7
  33. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +12 -0
  34. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
  35. package/esm2015/lib/shared/pipes/index.js +3 -1
  36. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
  37. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
  38. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +28 -0
  39. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  40. package/esm2015/lib/shared/pipes/pipes.module.js +12 -4
  41. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +1 -1
  42. package/esm2015/lib/shared/services/fields/fields.utils.js +7 -1
  43. package/esm2015/lib/shared/services/form/form-value.service.js +33 -2
  44. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +4995 -2513
  45. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  46. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +13 -0
  47. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  48. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  49. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -0
  50. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  51. package/lib/shared/components/case-editor/services/cases.service.d.ts +2 -0
  52. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  53. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  54. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -1
  55. package/lib/shared/components/palette/index.d.ts +2 -5
  56. package/lib/shared/components/palette/index.d.ts.map +1 -1
  57. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +23 -0
  58. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  59. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  60. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  61. package/lib/shared/components/palette/linked-cases/components/index.d.ts +8 -0
  62. package/lib/shared/components/palette/linked-cases/components/index.d.ts.map +1 -0
  63. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +49 -0
  64. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -0
  65. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +38 -0
  66. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  67. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +47 -0
  68. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  69. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +18 -0
  70. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  71. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  72. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  73. package/lib/shared/components/palette/linked-cases/domain/index.d.ts +3 -0
  74. package/lib/shared/components/palette/linked-cases/domain/index.d.ts.map +1 -0
  75. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +12 -0
  76. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -0
  77. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +68 -0
  78. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -0
  79. package/lib/shared/components/palette/linked-cases/enums/index.d.ts +2 -0
  80. package/lib/shared/components/palette/linked-cases/enums/index.d.ts.map +1 -0
  81. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +31 -0
  82. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  83. package/lib/shared/components/palette/linked-cases/index.d.ts +6 -0
  84. package/lib/shared/components/palette/linked-cases/index.d.ts.map +1 -0
  85. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts +38 -0
  86. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -0
  87. package/lib/shared/components/palette/linked-cases/services/index.d.ts +2 -0
  88. package/lib/shared/components/palette/linked-cases/services/index.d.ts.map +1 -0
  89. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +44 -0
  90. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -0
  91. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts +10 -0
  92. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts.map +1 -0
  93. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +43 -0
  94. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -0
  95. package/lib/shared/components/palette/palette.module.d.ts +67 -58
  96. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  97. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  98. package/lib/shared/domain/definition/display-context-enum.model.d.ts +10 -0
  99. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -0
  100. package/lib/shared/pipes/index.d.ts +2 -0
  101. package/lib/shared/pipes/index.d.ts.map +1 -1
  102. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
  103. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
  104. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
  105. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
  106. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +12 -0
  107. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  108. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  109. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  110. package/lib/shared/pipes/pipes.module.d.ts +4 -2
  111. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  112. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
  113. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  114. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  115. package/lib/shared/services/form/form-value.service.d.ts +14 -0
  116. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  117. package/package.json +1 -1
@@ -0,0 +1,183 @@
1
+ import { Component } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { AbstractAppConfig } from '../../../../app.config';
4
+ import { CommonDataService } from '../../../services/common-data-service/common-data-service';
5
+ import { LinkedCasesService } from './services';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "./services";
9
+ import * as i3 from "../../../../app.config";
10
+ import * as i4 from "../../../services/common-data-service/common-data-service";
11
+ function ReadLinkedCasesFieldComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementContainer(0);
13
+ } }
14
+ function ReadLinkedCasesFieldComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementContainer(0);
16
+ } }
17
+ function ReadLinkedCasesFieldComponent_ng_container_14_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementContainer(0);
19
+ } }
20
+ function ReadLinkedCasesFieldComponent_ng_container_15_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementContainer(0);
22
+ } }
23
+ function ReadLinkedCasesFieldComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
24
+ const _r9 = i0.ɵɵgetCurrentView();
25
+ i0.ɵɵelementStart(0, "div", 8);
26
+ i0.ɵɵelementStart(1, "p", 9);
27
+ i0.ɵɵtext(2);
28
+ i0.ɵɵelementEnd();
29
+ i0.ɵɵelementStart(3, "span", 10);
30
+ i0.ɵɵelementStart(4, "a", 11);
31
+ i0.ɵɵlistener("click", function ReadLinkedCasesFieldComponent_ng_template_16_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.reloadCurrentRoute(); });
32
+ i0.ɵɵtext(5, "Reload the Linked cases tab");
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const ctx_r5 = i0.ɵɵnextContext();
38
+ i0.ɵɵadvance(2);
39
+ i0.ɵɵtextInterpolate(ctx_r5.serverLinkedApiError.message);
40
+ } }
41
+ function ReadLinkedCasesFieldComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
42
+ const _r11 = i0.ɵɵgetCurrentView();
43
+ i0.ɵɵelementStart(0, "div", 8);
44
+ i0.ɵɵelementStart(1, "p", 9);
45
+ i0.ɵɵtext(2);
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵelementStart(3, "span", 10);
48
+ i0.ɵɵelementStart(4, "a", 11);
49
+ i0.ɵɵlistener("click", function ReadLinkedCasesFieldComponent_ng_template_18_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.reloadCurrentRoute(); });
50
+ i0.ɵɵtext(5, "Reload the Linked cases tab");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementEnd();
54
+ } if (rf & 2) {
55
+ const ctx_r7 = i0.ɵɵnextContext();
56
+ i0.ɵɵadvance(2);
57
+ i0.ɵɵtextInterpolate(ctx_r7.serverError.message);
58
+ } }
59
+ export class ReadLinkedCasesFieldComponent {
60
+ constructor(route, router, linkedCasesService, appConfig, commonDataService) {
61
+ this.route = route;
62
+ this.router = router;
63
+ this.linkedCasesService = linkedCasesService;
64
+ this.appConfig = appConfig;
65
+ this.commonDataService = commonDataService;
66
+ this.reasonListLoaded = false;
67
+ this.reload = false;
68
+ this.serverError = null;
69
+ this.serverLinkedApiError = null;
70
+ this.isServerReasonCodeError = false;
71
+ this.isServerJurisdictionError = false;
72
+ this.isServerLinkedFromError = false;
73
+ this.isServerLinkedToError = false;
74
+ }
75
+ ngOnInit() {
76
+ var _a;
77
+ if (this.route.snapshot.data.case && this.route.snapshot.data.case.tabs) {
78
+ const tabs = this.route.snapshot.data.case.tabs;
79
+ const tab = tabs === null || tabs === void 0 ? void 0 : tabs.filter(tabItem => { var _a; return (_a = tabItem.fields) === null || _a === void 0 ? void 0 : _a.some(field => field.id === 'caseLinks'); })[0];
80
+ this.caseField = (_a = tab === null || tab === void 0 ? void 0 : tab.fields) === null || _a === void 0 ? void 0 : _a.find(field => field.id === 'caseLinks');
81
+ }
82
+ this.isServerJurisdictionError = this.linkedCasesService.serverJurisdictionError || false;
83
+ const reasonCodeAPIurl = this.appConfig.getRDCommonDataApiUrl() + '/lov/categories/CaseLinkingReasonCode';
84
+ this.commonDataService.getRefData(reasonCodeAPIurl).subscribe({
85
+ next: reasons => {
86
+ this.reasonListLoaded = true;
87
+ this.linkedCasesService.linkCaseReasons = reasons.list_of_values.sort((a, b) => (a.value_en > b.value_en) ? 1 : -1);
88
+ },
89
+ error: () => {
90
+ this.isServerReasonCodeError = true;
91
+ this.linkedCasesService.isServerReasonCodeError = true;
92
+ }
93
+ });
94
+ this.serverLinkedApiError = {
95
+ id: 'backendError', message: 'Some case information is not available at the moment'
96
+ };
97
+ this.serverError = {
98
+ id: 'backendError', message: 'There has been a system error and your request could not be processed.'
99
+ };
100
+ }
101
+ ngAfterViewInit() {
102
+ var _a;
103
+ this.linkedCasesService.caseFieldValue = ((_a = this.caseField) === null || _a === void 0 ? void 0 : _a.value) || [];
104
+ let labelField = document.getElementsByClassName('govuk-heading-l');
105
+ if (labelField && labelField.length) {
106
+ labelField[0].replaceWith('');
107
+ }
108
+ labelField = document.getElementsByClassName('heading-h2');
109
+ if (labelField && labelField.length) {
110
+ labelField[0].replaceWith('');
111
+ }
112
+ labelField = document.getElementsByClassName('case-viewer-label');
113
+ if (labelField && labelField.length) {
114
+ labelField[0].replaceWith('');
115
+ }
116
+ }
117
+ reloadCurrentRoute() {
118
+ this.router.navigate(['cases', 'case-details', this.linkedCasesService.caseDetails.case_id]).then(() => {
119
+ window.location.hash = 'Linked cases';
120
+ });
121
+ }
122
+ getFailureLinkedToNotification(evt) {
123
+ this.isServerLinkedToError = true;
124
+ }
125
+ getFailureLinkedFromNotification(evt) {
126
+ this.isServerLinkedFromError = true;
127
+ }
128
+ }
129
+ ReadLinkedCasesFieldComponent.ɵfac = function ReadLinkedCasesFieldComponent_Factory(t) { return new (t || ReadLinkedCasesFieldComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.LinkedCasesService), i0.ɵɵdirectiveInject(i3.AbstractAppConfig), i0.ɵɵdirectiveInject(i4.CommonDataService)); };
130
+ ReadLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadLinkedCasesFieldComponent, selectors: [["ccd-read-linked-cases-field"]], decls: 20, vars: 10, consts: [[1, "govuk-!-margin-bottom-2"], [1, "heading-h1"], [1, "table-sub-heading"], ["reloadPage", "reload", 3, "caseField", "notifyAPIFailure"], [4, "ngIf", "ngIfThen"], [1, "govuk-!-margin-top-8"], ["singleApiError", ""], ["multiApisError", ""], [1, "govuk-main-wrapper"], [1, "govuk-body"], [1, "govuk-body", "align-left"], ["href", "javascript:void(0)", "id", "reload-linked-cases-tab", 1, "govuk-link", 3, "click"]], template: function ReadLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
131
+ i0.ɵɵelementStart(0, "div");
132
+ i0.ɵɵelementStart(1, "div", 0);
133
+ i0.ɵɵelementStart(2, "h1", 1);
134
+ i0.ɵɵtext(3, "Linked cases");
135
+ i0.ɵɵelementEnd();
136
+ i0.ɵɵelementStart(4, "label", 2);
137
+ i0.ɵɵtext(5, "This case is linked to");
138
+ i0.ɵɵelementEnd();
139
+ i0.ɵɵelementStart(6, "ccd-linked-cases-to-table", 3);
140
+ i0.ɵɵlistener("notifyAPIFailure", function ReadLinkedCasesFieldComponent_Template_ccd_linked_cases_to_table_notifyAPIFailure_6_listener($event) { return ctx.getFailureLinkedToNotification($event); });
141
+ i0.ɵɵelementEnd();
142
+ i0.ɵɵtemplate(7, ReadLinkedCasesFieldComponent_ng_container_7_Template, 1, 0, "ng-container", 4);
143
+ i0.ɵɵtemplate(8, ReadLinkedCasesFieldComponent_ng_container_8_Template, 1, 0, "ng-container", 4);
144
+ i0.ɵɵelementEnd();
145
+ i0.ɵɵelementStart(9, "div", 5);
146
+ i0.ɵɵelementStart(10, "label", 2);
147
+ i0.ɵɵtext(11, "This case is linked from");
148
+ i0.ɵɵelementEnd();
149
+ i0.ɵɵelement(12, "br");
150
+ i0.ɵɵelementStart(13, "ccd-linked-cases-from-table", 3);
151
+ i0.ɵɵlistener("notifyAPIFailure", function ReadLinkedCasesFieldComponent_Template_ccd_linked_cases_from_table_notifyAPIFailure_13_listener($event) { return ctx.getFailureLinkedFromNotification($event); });
152
+ i0.ɵɵelementEnd();
153
+ i0.ɵɵtemplate(14, ReadLinkedCasesFieldComponent_ng_container_14_Template, 1, 0, "ng-container", 4);
154
+ i0.ɵɵtemplate(15, ReadLinkedCasesFieldComponent_ng_container_15_Template, 1, 0, "ng-container", 4);
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵtemplate(16, ReadLinkedCasesFieldComponent_ng_template_16_Template, 6, 1, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
158
+ i0.ɵɵtemplate(18, ReadLinkedCasesFieldComponent_ng_template_18_Template, 6, 1, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
159
+ } if (rf & 2) {
160
+ const _r4 = i0.ɵɵreference(17);
161
+ const _r6 = i0.ɵɵreference(19);
162
+ i0.ɵɵadvance(6);
163
+ i0.ɵɵproperty("caseField", ctx.caseField);
164
+ i0.ɵɵadvance(1);
165
+ i0.ɵɵproperty("ngIf", ctx.isServerLinkedToError && ctx.isServerJurisdictionError && ctx.isServerReasonCodeError)("ngIfThen", _r6);
166
+ i0.ɵɵadvance(1);
167
+ i0.ɵɵproperty("ngIf", !(ctx.isServerLinkedToError && ctx.isServerJurisdictionError && ctx.isServerReasonCodeError) && (ctx.isServerLinkedToError || ctx.isServerJurisdictionError || ctx.isServerReasonCodeError))("ngIfThen", _r4);
168
+ i0.ɵɵadvance(5);
169
+ i0.ɵɵproperty("caseField", ctx.caseField);
170
+ i0.ɵɵadvance(1);
171
+ i0.ɵɵproperty("ngIf", ctx.isServerLinkedFromError && ctx.isServerJurisdictionError && ctx.isServerReasonCodeError)("ngIfThen", _r6);
172
+ i0.ɵɵadvance(1);
173
+ i0.ɵɵproperty("ngIf", !(ctx.isServerLinkedFromError && ctx.isServerJurisdictionError && ctx.isServerReasonCodeError) && (ctx.isServerLinkedFromError || ctx.isServerJurisdictionError || ctx.isServerReasonCodeError))("ngIfThen", _r4);
174
+ } }, styles: [".table-sub-heading[_ngcontent-%COMP%]{font-size:24px;font-weight:700}"] });
175
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadLinkedCasesFieldComponent, [{
176
+ type: Component,
177
+ args: [{
178
+ selector: 'ccd-read-linked-cases-field',
179
+ templateUrl: './read-linked-cases-field.component.html',
180
+ styleUrls: ['./read-linked-cases-field.component.scss']
181
+ }]
182
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.LinkedCasesService }, { type: i3.AbstractAppConfig }, { type: i4.CommonDataService }]; }, null); })();
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3JlYWQtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9yZWFkLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7OztJQ0M1Qyx3QkFFZTs7O0lBQ2Ysd0JBRWU7OztJQU9mLHdCQUVlOzs7SUFDZix3QkFFZTs7OztJQUtqQiw4QkFBZ0M7SUFDOUIsNEJBQXNCO0lBQUEsWUFBZ0M7SUFBQSxpQkFBSTtJQUMxRCxnQ0FBb0M7SUFDbEMsNkJBQTRHO0lBQS9FLDZNQUE4QjtJQUFpRCwyQ0FDdEY7SUFBQSxpQkFBSTtJQUM1QixpQkFBTztJQUNULGlCQUFNOzs7SUFMa0IsZUFBZ0M7SUFBaEMseURBQWdDOzs7O0lBUXhELDhCQUFnQztJQUM5Qiw0QkFBc0I7SUFBQSxZQUF1QjtJQUFBLGlCQUFJO0lBQ2pELGdDQUFv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cm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVRhYiB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtbGlua2VkLWNhc2VzLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZC1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICBwdWJsaWMgcmVhc29uTGlzdExvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgcmVsb2FkID0gZmFsc2U7XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJKdXJpc2RpY3Rpb25FcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJMaW5rZWRGcm9tRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGlzU2VydmVyTGlua2VkVG9FcnJvciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS50YWJzKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UudGFicyBhcyBDYXNlVGFiW107XG4gICAgICBjb25zdCB0YWIgPSB0YWJzPy5maWx0ZXIodGFiSXRlbSA9PiB0YWJJdGVtLmZpZWxkcz8uc29tZShmaWVsZCA9PiBmaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycpKVswXTtcbiAgICAgIHRoaXMuY2FzZUZpZWxkID0gdGFiPy5maWVsZHM/LmZpbmQoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTGlua3MnKTtcbiAgICB9XG4gICAgdGhpcy5pc1NlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVySnVyaXNkaWN0aW9uRXJyb3IgfHwgZmFsc2U7XG4gICAgY29uc3QgcmVhc29uQ29kZUFQSXVybCA9IHRoaXMuYXBwQ29uZmlnLmdldFJEQ29tbW9uRGF0YUFwaVVybCgpICsgJy9sb3YvY2F0ZWdvcmllcy9DYXNlTGlua2luZ1JlYXNvbkNvZGUnO1xuICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVhc29ucyA9PiB7XG4gICAgICAgIHRoaXMucmVhc29uTGlzdExvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucyA9IHJlYXNvbnMubGlzdF9vZl92YWx1ZXMuc29ydCgoYSwgYikgPT4gKGEudmFsdWVfZW4gPiBiLnZhbHVlX2VuKSA/IDEgOiAtMSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNlcnZlckxpbmtlZEFwaUVycm9yID0ge1xuICAgICAgaWQ6ICdiYWNrZW5kRXJyb3InLCBtZXNzYWdlOiAnU29tZSBjYXNlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudCdcbiAgICB9O1xuICAgIHRoaXMuc2VydmVyRXJyb3IgPSB7XG4gICAgICBpZDogJ2JhY2tlbmRFcnJvcicsIG1lc3NhZ2U6ICdUaGVyZSBoYXMgYmVlbiBhIHN5c3RlbSBlcnJvciBhbmQgeW91ciByZXF1ZXN0IGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuJ1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gdGhpcy5jYXNlRmllbGQ/LnZhbHVlIHx8IFtdO1xuICAgIGxldCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ292dWstaGVhZGluZy1sJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgICBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhZGluZy1oMicpO1xuICAgIGlmIChsYWJlbEZpZWxkICYmIGxhYmVsRmllbGQubGVuZ3RoKSB7XG4gICAgICBsYWJlbEZpZWxkWzBdLnJlcGxhY2VXaXRoKCcnKTtcbiAgICB9XG4gICAgbGFiZWxGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Nhc2Utdmlld2VyLWxhYmVsJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRDdXJyZW50Um91dGUoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscy5jYXNlX2lkXSkudGhlbigoKSA9PiB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9ICdMaW5rZWQgY2FzZXMnO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEZhaWx1cmVMaW5rZWRUb05vdGlmaWNhdGlvbihldnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VydmVyTGlua2VkVG9FcnJvciA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmFpbHVyZUxpbmtlZEZyb21Ob3RpZmljYXRpb24oZXZ0KTogdm9pZCB7XG4gICAgdGhpcy5pc1NlcnZlckxpbmtlZEZyb21FcnJvciA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiPlxuICAgIDxoMSBjbGFzcz1cImhlYWRpbmctaDFcIj5MaW5rZWQgY2FzZXM8L2gxPlxuICAgIDxsYWJlbCBjbGFzcz1cInRhYmxlLXN1Yi1oZWFkaW5nXCI+VGhpcyBjYXNlIGlzIGxpbmtlZCB0bzwvbGFiZWw+XG4gICAgPGNjZC1saW5rZWQtY2FzZXMtdG8tdGFibGUgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiAobm90aWZ5QVBJRmFpbHVyZSk9XCJnZXRGYWlsdXJlTGlua2VkVG9Ob3RpZmljYXRpb24oJGV2ZW50KVwiXG4gICAgICByZWxvYWRQYWdlPVwicmVsb2FkXCI+PC9jY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiKGlzU2VydmVyTGlua2VkVG9FcnJvciAmJiBpc1NlcnZlckp1cmlzZGljdGlvbkVycm9yICYmIGlzU2VydmVyUmVhc29uQ29kZUVycm9yKTsgdGhlbiBtdWx0aUFwaXNFcnJvcjtcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiEoaXNTZXJ2ZXJMaW5rZWRUb0Vycm9yICYmIGlzU2VydmVySnVyaXNkaWN0aW9uRXJyb3IgJiYgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpICYmIChpc1NlcnZlckxpbmtlZFRvRXJyb3IgfHwgaXNTZXJ2ZXJKdXJpc2RpY3Rpb25FcnJvciB8fCBpc1NlcnZlclJlYXNvbkNvZGVFcnJvcik7IHRoZW4gc2luZ2xlQXBpRXJyb3I7XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tdG9wLThcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJ0YWJsZS1zdWItaGVhZGluZ1wiPlRoaXMgY2FzZSBpcyBsaW5rZWQgZnJvbTwvbGFiZWw+XG4gICAgPGJyPlxuICAgIDxjY2QtbGlua2VkLWNhc2VzLWZyb20tdGFibGUgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiAobm90aWZ5QVBJRmFpbHVyZSk9XCJnZXRGYWlsdXJlTGlua2VkRnJvbU5vdGlmaWNhdGlvbigkZXZlbnQpXCJcbiAgICAgIHJlbG9hZFBhZ2U9XCJyZWxvYWRcIj48L2NjZC1saW5rZWQtY2FzZXMtZnJvbS10YWJsZT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIihpc1NlcnZlckxpbmtlZEZyb21FcnJvciAmJiBpc1NlcnZlckp1cmlzZGljdGlvbkVycm9yICYmIGlzU2VydmVyUmVhc29uQ29kZUVycm9yKTsgdGhlbiBtdWx0aUFwaXNFcnJvcjtcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiEoaXNTZXJ2ZXJMaW5rZWRGcm9tRXJyb3IgJiYgaXNTZXJ2ZXJKdXJpc2RpY3Rpb25FcnJvciAmJiBpc1NlcnZlclJlYXNvbkNvZGVFcnJvcikgJiYgKGlzU2VydmVyTGlua2VkRnJvbUVycm9yIHx8IGlzU2VydmVySnVyaXNkaWN0aW9uRXJyb3IgfHwgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpOyB0aGVuIHNpbmdsZUFwaUVycm9yO1wiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZUFwaUVycm9yPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4gICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+e3tzZXJ2ZXJMaW5rZWRBcGlFcnJvci5tZXNzYWdlfX08L3A+XG4gICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1ib2R5IGFsaWduLWxlZnRcIj5cbiAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwicmVsb2FkQ3VycmVudFJvdXRlKClcIiBpZD1cInJlbG9hZC1saW5rZWQtY2FzZXMtdGFiXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+UmVsb2FkXG4gICAgICAgIHRoZSBMaW5rZWQgY2FzZXMgdGFiPC9hPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNtdWx0aUFwaXNFcnJvcj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPnt7c2VydmVyRXJyb3IubWVzc2FnZX19PC9wPlxuICAgIDxzcGFuIGNsYXNzPVwiZ292dWstYm9keSBhbGlnbi1sZWZ0XCI+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJlbG9hZEN1cnJlbnRSb3V0ZSgpXCIgaWQ9XCJyZWxvYWQtbGlua2VkLWNhc2VzLXRhYlwiIGNsYXNzPVwiZ292dWstbGlua1wiPlJlbG9hZFxuICAgICAgICB0aGUgTGlua2VkIGNhc2VzIHRhYjwvYT5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './linked-cases.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,134 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { forkJoin } from 'rxjs';
3
+ import { JurisdictionService, SearchService } from '../../../../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../services";
6
+ export class LinkedCasesService {
7
+ constructor(jurisdictionService, searchService) {
8
+ this.jurisdictionService = jurisdictionService;
9
+ this.searchService = searchService;
10
+ this.caseFieldValue = [];
11
+ this.isLinkedCasesEventTrigger = false;
12
+ this.linkCaseReasons = [];
13
+ this.linkedCases = [];
14
+ this.initialCaseLinks = [];
15
+ this.editMode = false;
16
+ this.jurisdictionsResponse = [];
17
+ this.serverError = null;
18
+ this.serverLinkedApiError = null;
19
+ this.isServerReasonCodeError = false;
20
+ this.caseJurisdictionID = null;
21
+ this.groupLinkedCasesByCaseType = (arrObj, key) => {
22
+ return arrObj.reduce((rv, x) => {
23
+ (rv[x.value[key]] = rv[x.value[key]] || []).push(x.value['CaseReference']);
24
+ return rv;
25
+ }, {});
26
+ };
27
+ this.jurisdictionService.getJurisdictions().subscribe((jurisdictions) => {
28
+ this.jurisdictionsResponse = jurisdictions;
29
+ }, (error) => {
30
+ this.serverJurisdictionError = true;
31
+ });
32
+ }
33
+ constructElasticSearchQuery(caseIds, size) {
34
+ return {
35
+ query: {
36
+ terms: {
37
+ reference: caseIds,
38
+ },
39
+ },
40
+ size,
41
+ };
42
+ }
43
+ mapResponse(esSearchCasesResponse) {
44
+ var _a;
45
+ const caseInfo = this.caseFieldValue.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
46
+ return caseInfo && {
47
+ caseReference: esSearchCasesResponse.case_id,
48
+ caseName: esSearchCasesResponse.case_fields.caseNameHmctsInternal || LinkedCasesService.CASE_NAME_MISSING_TEXT,
49
+ caseType: this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', esSearchCasesResponse.case_fields['[CASE_TYPE]']),
50
+ service: this.mapLookupIDToValueFromJurisdictions('JURISDICTION', esSearchCasesResponse.case_fields['[JURISDICTION]']),
51
+ state: this.mapLookupIDToValueFromJurisdictions('STATE', esSearchCasesResponse.case_fields['[STATE]']),
52
+ reasons: (_a = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.value) === null || _a === void 0 ? void 0 : _a.ReasonForLink
53
+ };
54
+ }
55
+ searchCasesByCaseIds(searchCasesResponse) {
56
+ return forkJoin(searchCasesResponse);
57
+ }
58
+ getAllLinkedCaseInformation() {
59
+ const searchCasesResponse = [];
60
+ const linkedCaseIds = this.groupLinkedCasesByCaseType(this.caseFieldValue, 'CaseType');
61
+ Object.keys(linkedCaseIds).forEach(key => {
62
+ const esQuery = this.constructElasticSearchQuery(linkedCaseIds[key], 100);
63
+ const query = this.searchService.searchCasesByIds(key, esQuery, SearchService.VIEW_WORKBASKET);
64
+ searchCasesResponse.push(query);
65
+ });
66
+ if (searchCasesResponse.length) {
67
+ this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
68
+ const casesResponse = [];
69
+ searchCases.forEach(response => {
70
+ response.results.forEach((result) => {
71
+ casesResponse.push(this.mapResponse(result));
72
+ });
73
+ });
74
+ const caseLinks = casesResponse.map(item => {
75
+ return {
76
+ caseReference: item.caseReference,
77
+ caseName: item.caseName,
78
+ caseService: item.service,
79
+ caseType: item.caseType,
80
+ unlink: false,
81
+ reasons: item.reasons && item.reasons.map(reason => {
82
+ return {
83
+ Reason: reason
84
+ };
85
+ }),
86
+ };
87
+ });
88
+ this.linkedCases = caseLinks;
89
+ this.serverLinkedApiError = null;
90
+ }, err => {
91
+ this.serverLinkedApiError = {
92
+ id: 'backendError', message: 'Some case information is not available at the moment'
93
+ };
94
+ });
95
+ }
96
+ }
97
+ mapLookupIDToValueFromJurisdictions(fieldName, fieldValue) {
98
+ const selectedJurisdiction = this.jurisdictionsResponse &&
99
+ this.jurisdictionsResponse.find(item => item.id === this.caseDetails.case_type.jurisdiction.id);
100
+ const selectedCaseType = selectedJurisdiction && selectedJurisdiction.caseTypes.find(item => item.id === this.caseDetails.case_type.id);
101
+ const state = selectedCaseType && selectedCaseType.states.find(item => item.id === fieldValue);
102
+ switch (fieldName) {
103
+ case 'JURISDICTION':
104
+ return selectedJurisdiction && selectedJurisdiction.description;
105
+ case 'CASE_TYPE':
106
+ return selectedCaseType && selectedCaseType.name;
107
+ case 'CASE_TYPE_DESCRIPTION':
108
+ return selectedCaseType && selectedCaseType.description;
109
+ case 'STATE':
110
+ return state && state.name || fieldValue;
111
+ case 'STATE_DESCRIPTION':
112
+ return state && state.description || fieldValue;
113
+ default:
114
+ break;
115
+ }
116
+ }
117
+ getCaseName(searchCasesResponse) {
118
+ let caseName = LinkedCasesService.CASE_NAME_MISSING_TEXT;
119
+ const tabs = searchCasesResponse.tabs.filter(tab => {
120
+ const caseNameHmctsInternalField = tab.fields.find(field => field.id === 'caseNameHmctsInternal');
121
+ if (caseNameHmctsInternalField) {
122
+ caseName = caseNameHmctsInternalField.value;
123
+ }
124
+ });
125
+ return caseName;
126
+ }
127
+ }
128
+ LinkedCasesService.CASE_NAME_MISSING_TEXT = 'Case name missing';
129
+ LinkedCasesService.ɵfac = function LinkedCasesService_Factory(t) { return new (t || LinkedCasesService)(i0.ɵɵinject(i1.JurisdictionService), i0.ɵɵinject(i1.SearchService)); };
130
+ LinkedCasesService.ɵprov = i0.ɵɵdefineInjectable({ token: LinkedCasesService, factory: LinkedCasesService.ɵfac });
131
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesService, [{
132
+ type: Injectable
133
+ }], function () { return [{ type: i1.JurisdictionService }, { type: i1.SearchService }]; }, null); })();
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVB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R0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLENBQUM7WUFDbEcsSUFBSSwwQkFBMEIsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUFySXVCLHlDQUFzQixHQUFHLG1CQUFtQixDQUFDO29GQUYxRCxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSwgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkoY2FzZUlkczogYW55W10sIHNpemU6IG51bWJlcik6IEVTUXVlcnlUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGNhc2VJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IGFueSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8/LnZhbHVlPy5SZWFzb25Gb3JMaW5rXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgbGlua2VkQ2FzZUlkcyA9IHRoaXMuZ3JvdXBMaW5rZWRDYXNlc0J5Q2FzZVR5cGUodGhpcy5jYXNlRmllbGRWYWx1ZSwgJ0Nhc2VUeXBlJyk7XG4gICAgT2JqZWN0LmtleXMobGlua2VkQ2FzZUlkcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgZXNRdWVyeSA9IHRoaXMuY29uc3RydWN0RWxhc3RpY1NlYXJjaFF1ZXJ5KGxpbmtlZENhc2VJZHNba2V5XSwgMTAwKTtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaENhc2VzQnlJZHMoa2V5LCBlc1F1ZXJ5LCBTZWFyY2hTZXJ2aWNlLlZJRVdfV09SS0JBU0tFVCk7XG4gICAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlLnB1c2gocXVlcnkpO1xuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICByZXNwb25zZS5yZXN1bHRzLmZvckVhY2goKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXN1bHQpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gY2FzZXNSZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSBudWxsO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB7XG4gICAgICAgICAgaWQ6ICdiYWNrZW5kRXJyb3InLCBtZXNzYWdlOiAnU29tZSBjYXNlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudCdcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkSnVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UgJiZcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQpO1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FzZVR5cGUgPSBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5jYXNlVHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkKTtcbiAgICBjb25zdCBzdGF0ZSA9IHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5zdGF0ZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGZpZWxkVmFsdWUpO1xuICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICBjYXNlICdKVVJJU0RJQ1RJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdDQVNFX1RZUEUnOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLm5hbWU7XG4gICAgICBjYXNlICdDQVNFX1RZUEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnU1RBVEUnOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUubmFtZSB8fCBmaWVsZFZhbHVlO1xuICAgICAgY2FzZSAnU1RBVEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuZGVzY3JpcHRpb24gfHwgZmllbGRWYWx1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlTmFtZShzZWFyY2hDYXNlc1Jlc3BvbnNlOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgbGV0IGNhc2VOYW1lID0gTGlua2VkQ2FzZXNTZXJ2aWNlLkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQ7XG4gICAgY29uc3QgdGFicyA9IHNlYXJjaENhc2VzUmVzcG9uc2UudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgIGNvbnN0IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZU5hbWVIbWN0c0ludGVybmFsJyk7XG4gICAgICBpZiAoY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQpIHtcbiAgICAgICAgY2FzZU5hbWUgPSBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2FzZU5hbWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ValidatorsUtils {
4
+ numberLengthValidator(inputLength) {
5
+ return (control) => {
6
+ return control.value.length !== inputLength ? { isValid: false } : null;
7
+ };
8
+ }
9
+ formArraySelectedValidator() {
10
+ return (control) => {
11
+ return control.value.every((option) => !option.selected) ? { isValid: false } : null;
12
+ };
13
+ }
14
+ regexPattern(regexPattern) {
15
+ return (control) => {
16
+ const regex = new RegExp(regexPattern);
17
+ return regex.test(control.value) ? null : { isValid: false };
18
+ };
19
+ }
20
+ }
21
+ ValidatorsUtils.ɵfac = function ValidatorsUtils_Factory(t) { return new (t || ValidatorsUtils)(); };
22
+ ValidatorsUtils.ɵprov = i0.ɵɵdefineInjectable({ token: ValidatorsUtils, factory: ValidatorsUtils.ɵfac, providedIn: 'root' });
23
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ValidatorsUtils, [{
24
+ type: Injectable,
25
+ args: [{ providedIn: 'root' }]
26
+ }], null, null); })();
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy91dGlscy92YWxpZGF0b3JzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLHFCQUFxQixDQUFDLFdBQW1CO1FBQzlDLE9BQU8sQ0FBQyxPQUF3QixFQUFpQyxFQUFFO1lBQ2pFLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDTSwwQkFBMEI7UUFDL0IsT0FBTyxDQUFDLE9BQXdCLEVBQWlDLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkYsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNNLFlBQVksQ0FBQyxZQUFvQjtRQUN0QyxPQUFPLENBQUMsT0FBd0IsRUFBaUMsRUFBRTtZQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQy9ELENBQUMsQ0FBQztJQUNKLENBQUM7OzhFQWhCVSxlQUFlO3VEQUFmLGVBQWUsV0FBZixlQUFlLG1CQURGLE1BQU07dUZBQ25CLGVBQWU7Y0FEM0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9yc1V0aWxzIHtcbiAgcHVibGljIG51bWJlckxlbmd0aFZhbGlkYXRvcihpbnB1dExlbmd0aDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUubGVuZ3RoICE9PSBpbnB1dExlbmd0aCA/IHsgaXNWYWxpZDogZmFsc2UgfSA6IG51bGw7XG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZm9ybUFycmF5U2VsZWN0ZWRWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUuZXZlcnkoKG9wdGlvbikgPT4gIW9wdGlvbi5zZWxlY3RlZCkgPyB7IGlzVmFsaWQ6IGZhbHNlIH0gOiBudWxsO1xuICAgIH07XG4gIH1cbiAgcHVibGljIHJlZ2V4UGF0dGVybihyZWdleFBhdHRlcm46IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChyZWdleFBhdHRlcm4pO1xuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkgPyBudWxsIDogeyBpc1ZhbGlkOiBmYWxzZSB9O1xuICAgIH07XG4gIH1cbn1cbiJdfQ==