@hmcts/ccd-case-ui-toolkit 7.1.38-qualifying-questions → 7.1.38

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 (59) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +37 -15
  2. package/esm2022/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.mjs +13 -1
  3. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +3 -2
  4. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +4 -3
  5. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +4 -3
  6. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +5 -4
  7. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +10 -5
  8. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +16 -6
  9. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +9 -5
  10. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +36 -48
  11. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +5 -3
  12. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +3 -3
  13. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +2 -2
  14. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +2 -2
  15. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +9 -9
  16. package/esm2022/lib/shared/components/palette/palette.module.mjs +3 -2
  17. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +20 -12
  18. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +4 -4
  19. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +50 -29
  20. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +158 -104
  21. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +104 -41
  22. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +4 -21
  23. package/esm2022/lib/shared/domain/work-allocation/Task.mjs +1 -1
  24. package/esm2022/lib/shared/services/http/http-error.service.mjs +11 -4
  25. package/esm2022/lib/shared/services/loading/loading.service.mjs +13 -1
  26. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1076 -899
  27. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  28. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +6 -2
  29. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  30. package/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.d.ts +2 -0
  31. package/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.d.ts.map +1 -1
  32. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  33. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  34. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  35. package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
  36. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +3 -2
  37. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  38. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -2
  39. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  40. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts +3 -1
  41. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
  42. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -3
  43. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  44. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  45. package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts.map +1 -1
  46. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -1
  47. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +5 -1
  48. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  49. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +17 -5
  50. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  51. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +17 -5
  52. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -1
  53. package/lib/shared/domain/work-allocation/Task.d.ts +1 -0
  54. package/lib/shared/domain/work-allocation/Task.d.ts.map +1 -1
  55. package/lib/shared/services/http/http-error.service.d.ts +3 -1
  56. package/lib/shared/services/http/http-error.service.d.ts.map +1 -1
  57. package/lib/shared/services/loading/loading.service.d.ts +4 -0
  58. package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
  59. package/package.json +1 -1
@@ -1,13 +1,15 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
2
3
  import { FormGroup } from '@angular/forms';
3
4
  import { take } from 'rxjs/operators';
4
5
  import { CaseNotifier } from '../../../../../case-editor/services';
5
6
  import { RaiseQueryErrorMessage } from '../../../enums';
6
- import { QueryCreateContext, QueryListItem } from '../../../models';
7
+ import { QueryCreateContext, QueryListData, QueryListItem } from '../../../models';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../../../../../case-editor/services";
9
- function QueryWriteRespondToQueryComponent_div_12_p_11_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "p", 15)(1, "span", 16);
10
+ import * as i2 from "@angular/router";
11
+ function QueryWriteRespondToQueryComponent_div_12_div_1_p_10_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "p", 16)(1, "span", 17);
11
13
  i0.ɵɵtext(2);
12
14
  i0.ɵɵpipe(3, "rpxTranslate");
13
15
  i0.ɵɵelementEnd();
@@ -15,66 +17,123 @@ function QueryWriteRespondToQueryComponent_div_12_p_11_Template(rf, ctx) { if (r
15
17
  i0.ɵɵpipe(5, "rpxTranslate");
16
18
  i0.ɵɵelementEnd();
17
19
  } if (rf & 2) {
18
- const ctx_r0 = i0.ɵɵnextContext(2);
20
+ const ctx_r0 = i0.ɵɵnextContext(3);
19
21
  i0.ɵɵadvance(2);
20
22
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 2, "Error:"), " ");
21
23
  i0.ɵɵadvance(2);
22
24
  i0.ɵɵtextInterpolate1("", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? ctx_r0.raiseQueryErrorMessages.RESPOND_QUERY_BODY : i0.ɵɵpipeBind1(5, 4, ctx_r0.raiseQueryErrorMessages.QUERY_BODY), " ");
23
25
  } }
24
- function QueryWriteRespondToQueryComponent_div_12_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "div", 7)(1, "div")(2, "h1", 8);
26
- i0.ɵɵtext(3);
27
- i0.ɵɵpipe(4, "rpxTranslate");
26
+ function QueryWriteRespondToQueryComponent_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "div")(1, "h1", 9);
28
+ i0.ɵɵtext(2);
29
+ i0.ɵɵpipe(3, "rpxTranslate");
28
30
  i0.ɵɵelementEnd();
29
- i0.ɵɵelementStart(5, "div", 9)(6, "div", 10)(7, "div", 11)(8, "label", 12);
30
- i0.ɵɵtext(9);
31
- i0.ɵɵpipe(10, "rpxTranslate");
31
+ i0.ɵɵelementStart(4, "div", 10)(5, "div", 11)(6, "div", 12)(7, "label", 13);
32
+ i0.ɵɵtext(8);
33
+ i0.ɵɵpipe(9, "rpxTranslate");
32
34
  i0.ɵɵelementEnd()();
33
- i0.ɵɵtemplate(11, QueryWriteRespondToQueryComponent_div_12_p_11_Template, 6, 6, "p", 13);
34
- i0.ɵɵelementStart(12, "textarea", 14);
35
- i0.ɵɵtext(13, " ");
36
- i0.ɵɵelementEnd()()()()();
35
+ i0.ɵɵtemplate(10, QueryWriteRespondToQueryComponent_div_12_div_1_p_10_Template, 6, 6, "p", 14);
36
+ i0.ɵɵelementStart(11, "textarea", 15);
37
+ i0.ɵɵtext(12, " ");
38
+ i0.ɵɵelementEnd()()()();
37
39
  } if (rf & 2) {
38
- let tmp_3_0;
39
- let tmp_5_0;
40
+ let tmp_4_0;
40
41
  let tmp_6_0;
41
- const ctx_r0 = i0.ɵɵnextContext();
42
- i0.ɵɵadvance(3);
43
- i0.ɵɵtextInterpolate1(" ", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? "Respond to a query" : i0.ɵɵpipeBind1(4, 9, "Ask a follow-up question"), " ");
42
+ let tmp_7_0;
43
+ const ctx_r0 = i0.ɵɵnextContext(2);
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? "Respond to a query" : i0.ɵɵpipeBind1(3, 9, "Ask a follow-up question"), " ");
44
46
  i0.ɵɵadvance(2);
45
47
  i0.ɵɵproperty("formGroup", ctx_r0.formGroup);
46
48
  i0.ɵɵadvance();
47
- i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.submitted && ((tmp_3_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_3_0.hasError("required")));
49
+ i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.submitted && ((tmp_4_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_4_0.hasError("required")));
48
50
  i0.ɵɵadvance(3);
49
- i0.ɵɵtextInterpolate1(" ", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? "Response detail" : i0.ɵɵpipeBind1(10, 11, "Query Body"), " ");
51
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? "Response detail" : i0.ɵɵpipeBind1(9, 11, "Query Body"), " ");
50
52
  i0.ɵɵadvance(2);
51
- i0.ɵɵproperty("ngIf", ctx_r0.submitted && ((tmp_5_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_5_0.hasError("required")));
53
+ i0.ɵɵproperty("ngIf", ctx_r0.submitted && ((tmp_6_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_6_0.hasError("required")));
52
54
  i0.ɵɵadvance();
53
- i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ((tmp_6_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_6_0.hasError("required")));
55
+ i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ((tmp_7_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_7_0.hasError("required")));
54
56
  i0.ɵɵproperty("formControlName", "body");
55
57
  } }
58
+ function QueryWriteRespondToQueryComponent_div_12_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "div", 7);
60
+ i0.ɵɵtemplate(1, QueryWriteRespondToQueryComponent_div_12_div_1_Template, 13, 13, "div", 8);
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const ctx_r0 = i0.ɵɵnextContext();
64
+ i0.ɵɵadvance();
65
+ i0.ɵɵproperty("ngIf", !ctx_r0.hasRespondedToQuery);
66
+ } }
56
67
  export class QueryWriteRespondToQueryComponent {
57
68
  caseNotifier;
69
+ route;
58
70
  queryItem;
59
71
  formGroup;
60
72
  queryCreateContext;
61
73
  submitted = false;
74
+ caseQueriesCollections;
62
75
  showForm;
76
+ hasRespondedToQueryTask = new EventEmitter();
63
77
  queryCreateContextEnum = QueryCreateContext;
64
78
  raiseQueryErrorMessages = RaiseQueryErrorMessage;
65
79
  caseId;
80
+ queryItemId;
66
81
  caseDetails;
67
- constructor(caseNotifier) {
82
+ totalNumberOfQueryChildren;
83
+ queryItemDisplay;
84
+ hasRespondedToQuery = false;
85
+ static QUERY_ITEM_RESPOND = '3';
86
+ static QUERY_ITEM_FOLLOWUP = '4';
87
+ constructor(caseNotifier, route) {
68
88
  this.caseNotifier = caseNotifier;
89
+ this.route = route;
69
90
  }
70
91
  ngOnInit() {
71
- this.caseNotifier.caseView.pipe(take(1)).subscribe(caseDetails => {
72
- this.caseId = caseDetails.case_id;
73
- this.caseDetails = caseDetails;
92
+ this.queryItemId = this.route.snapshot.params.qid;
93
+ this.caseNotifier.caseView.pipe(take(1)).subscribe({
94
+ next: (caseDetails) => {
95
+ this.caseId = caseDetails?.case_id ?? '';
96
+ this.caseDetails = caseDetails;
97
+ },
98
+ error: (err) => {
99
+ console.error('Error retrieving case details:', err);
100
+ }
74
101
  });
75
102
  }
76
- static ɵfac = function QueryWriteRespondToQueryComponent_Factory(t) { return new (t || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(i1.CaseNotifier)); };
77
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", showForm: "showForm" }, decls: 13, vars: 9, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "query"], ["class", "query-respond", 4, "ngIf"], [1, "query-respond"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
103
+ ngOnChanges() {
104
+ if (this.queryItemId === QueryWriteRespondToQueryComponent.QUERY_ITEM_RESPOND
105
+ && this.caseQueriesCollections?.length > 0) {
106
+ if (!this.caseQueriesCollections[0]) {
107
+ console.error('caseQueriesCollections[0] is undefined!', this.caseQueriesCollections);
108
+ return;
109
+ }
110
+ const numberOfQueryChildren = new QueryListData(this.caseQueriesCollections[0]);
111
+ this.totalNumberOfQueryChildren = numberOfQueryChildren?.queries?.[0]?.children?.length || 0;
112
+ const messageId = this.route.snapshot.params.dataid;
113
+ if (!messageId) {
114
+ console.warn('No messageId found in route params:', this.route.snapshot.params);
115
+ return;
116
+ }
117
+ const filteredMessages = this.caseQueriesCollections
118
+ .map((caseData) => caseData?.caseMessages || []) // Ensure caseMessages is always an array
119
+ .flat() // Flatten into a single array of messages
120
+ .filter((message) => message?.value?.id === messageId); // Safe access
121
+ if (filteredMessages.length > 0) {
122
+ const matchingMessage = filteredMessages[0]?.value;
123
+ if (matchingMessage) {
124
+ this.queryItemDisplay = new QueryListItem();
125
+ Object.assign(this.queryItemDisplay, matchingMessage);
126
+ this.queryItem = this.queryItemDisplay;
127
+ }
128
+ }
129
+ }
130
+ }
131
+ hasResponded(value) {
132
+ this.hasRespondedToQuery = value;
133
+ this.hasRespondedToQueryTask.emit(value);
134
+ }
135
+ static ɵfac = function QueryWriteRespondToQueryComponent_Factory(t) { return new (t || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(i1.CaseNotifier), i0.ɵɵdirectiveInject(i2.ActivatedRoute)); };
136
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", caseQueriesCollections: "caseQueriesCollections", showForm: "showForm" }, outputs: { hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 10, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "hasResponded", "query", "totalNumberOfQueryChildren"], ["class", "query-respond", 4, "ngIf"], [1, "query-respond"], [4, "ngIf"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
78
137
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
79
138
  i0.ɵɵtext(3);
80
139
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -86,27 +145,27 @@ export class QueryWriteRespondToQueryComponent {
86
145
  i0.ɵɵelementStart(8, "div", 3);
87
146
  i0.ɵɵelement(9, "ccd-query-case-details-header", 4);
88
147
  i0.ɵɵelementEnd();
89
- i0.ɵɵelementStart(10, "div");
90
- i0.ɵɵelement(11, "ccd-query-details", 5);
91
- i0.ɵɵelementEnd()();
92
- i0.ɵɵtemplate(12, QueryWriteRespondToQueryComponent_div_12_Template, 14, 13, "div", 6);
148
+ i0.ɵɵelementStart(10, "div")(11, "ccd-query-details", 5);
149
+ i0.ɵɵlistener("hasResponded", function QueryWriteRespondToQueryComponent_Template_ccd_query_details_hasResponded_11_listener($event) { return ctx.hasResponded($event); });
150
+ i0.ɵɵelementEnd()()();
151
+ i0.ɵɵtemplate(12, QueryWriteRespondToQueryComponent_div_12_Template, 2, 1, "div", 6);
93
152
  } if (rf & 2) {
94
153
  i0.ɵɵadvance(3);
95
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 5, "Respond to a query"));
154
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, "Respond to a query"));
96
155
  i0.ɵɵadvance(3);
97
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 7, "Query details"));
156
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 8, "Query details"));
98
157
  i0.ɵɵadvance(3);
99
158
  i0.ɵɵproperty("caseDetails", ctx.caseDetails);
100
159
  i0.ɵɵadvance(2);
101
- i0.ɵɵproperty("query", ctx.queryItem);
160
+ i0.ɵɵproperty("query", ctx.queryItem)("totalNumberOfQueryChildren", ctx.totalNumberOfQueryChildren);
102
161
  i0.ɵɵadvance();
103
162
  i0.ɵɵproperty("ngIf", ctx.showForm);
104
163
  } }, styles: [".query-respond[_ngcontent-%COMP%]{width:100%;max-width:720px}"] });
105
164
  }
106
165
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
107
166
  type: Component,
108
- args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryItem\"></ccd-query-details>\n </div>\n</div>\n\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div>\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
109
- }], () => [{ type: i1.CaseNotifier }], { queryItem: [{
167
+ args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryItem\"\n [totalNumberOfQueryChildren]=\"totalNumberOfQueryChildren\"\n (hasResponded)=\"hasResponded($event)\"></ccd-query-details>\n </div>\n</div>\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div *ngIf=\"!hasRespondedToQuery\">\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
168
+ }], () => [{ type: i1.CaseNotifier }, { type: i2.ActivatedRoute }], { queryItem: [{
110
169
  type: Input
111
170
  }], formGroup: [{
112
171
  type: Input
@@ -114,8 +173,12 @@ export class QueryWriteRespondToQueryComponent {
114
173
  type: Input
115
174
  }], submitted: [{
116
175
  type: Input
176
+ }], caseQueriesCollections: [{
177
+ type: Input
117
178
  }], showForm: [{
118
179
  type: Input
180
+ }], hasRespondedToQueryTask: [{
181
+ type: Output
119
182
  }] }); })();
120
183
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 14 }); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0lDMEIxRCxBQUZGLDZCQUNvRSxlQUM5QjtJQUFBLFlBQThCOztJQUFBLGlCQUFPO0lBQUEsWUFDM0U7O0lBQUEsaUJBQUk7OztJQURrQyxlQUE4QjtJQUE5Qiw4REFBOEI7SUFBTyxlQUMzRTtJQUQyRSx5TkFDM0U7OztJQWZKLEFBREYsQUFERiw4QkFBNEMsVUFDckMsWUFDeUI7SUFDMUIsWUFDRjs7SUFBQSxpQkFBSztJQU1DLEFBREYsQUFGRixBQURGLDhCQUE2QixjQUVxRSxjQUM3RCxnQkFDK0M7SUFDNUUsWUFDRjs7SUFDRixBQURFLGlCQUFRLEVBQ0o7SUFDTix3RkFDb0U7SUFHcEUscUNBRXVFO0lBQ3pFLHVCQUFBO0lBSU4sQUFERSxBQURFLEFBREUsQUFEQSxpQkFBVyxFQUNMLEVBQ0YsRUFDRixFQUNGOzs7Ozs7SUF0QkEsZUFDRjtJQURFLDhLQUNGO0lBRUssZUFBdUI7SUFBdkIsNENBQXVCO0lBRXJCLGNBQTBGO0lBQTFGLHVKQUEwRjtJQUd6RixlQUNGO0lBREUsK0pBQ0Y7SUFHRSxlQUE4RDtJQUE5RCxtSUFBOEQ7SUFJeEQsY0FBd0Y7SUFBeEYscUpBQXdGO0lBRHhGLHdDQUEwQjs7QURwQjVDLE1BQU0sT0FBTyxpQ0FBaUM7SUFXZjtJQVZiLFNBQVMsQ0FBZ0I7SUFDekIsU0FBUyxDQUFZO0lBQ3JCLGtCQUFrQixDQUFxQjtJQUN2QyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFFBQVEsQ0FBQztJQUNULHNCQUFzQixHQUFHLGtCQUFrQixDQUFDO0lBQzVDLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0lBQzFELE1BQU0sQ0FBUztJQUNmLFdBQVcsQ0FBQztJQUVuQixZQUE2QixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFJLENBQUM7SUFFckQsUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBRWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsyRkFuQlUsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNYMUMsQUFERixBQURGLDhCQUFxQyxhQUNFLGFBQ047WUFBQSxZQUF5Qzs7WUFBQSxpQkFBTTtZQUM1RSw2QkFBb0Q7WUFBQSxZQUFvQzs7WUFDMUYsQUFEMEYsaUJBQUssRUFDekY7WUFFTiw4QkFBcUM7WUFDbkMsbURBQTJGO1lBQzdGLGlCQUFNO1lBRU4sNEJBQUs7WUFDSCx3Q0FBMkQ7WUFFL0QsQUFERSxpQkFBTSxFQUNGO1lBRU4sc0ZBQTRDOztZQWJYLGVBQXlDO1lBQXpDLGdFQUF5QztZQUNsQixlQUFvQztZQUFwQywyREFBb0M7WUFJekQsZUFBMkI7WUFBM0IsNkNBQTJCO1lBSXZDLGVBQW1CO1lBQW5CLHFDQUFtQjtZQUlkLGNBQWM7WUFBZCxtQ0FBYzs7O2lGREY3QixpQ0FBaUM7Y0FON0MsU0FBUzsyQkFDRSxrQ0FBa0M7NkNBTTVCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usa0JBQWtCO2tCQUFqQyxLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7O2tGQUxLLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzJztcbmltcG9ydCB7IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBRdWVyeUNyZWF0ZUNvbnRleHQsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgUXVlcnlXcml0ZVJlc3BvbmRUb1F1ZXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5SXRlbTogUXVlcnlMaXN0SXRlbTtcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlDcmVhdGVDb250ZXh0OiBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dGb3JtO1xuICBwdWJsaWMgcmVhZG9ubHkgcXVlcnlDcmVhdGVDb250ZXh0RW51bSA9IFF1ZXJ5Q3JlYXRlQ29udGV4dDtcbiAgcHVibGljIHJlYWRvbmx5IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzID0gUmFpc2VRdWVyeUVycm9yTWVzc2FnZTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZURldGFpbHM7XG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY2FzZURldGFpbHMgPT4ge1xuICAgICAgdGhpcy5jYXNlSWQgPSBjYXNlRGV0YWlscy5jYXNlX2lkO1xuXG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNlwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2FwdGlvbi1sXCI+e3sgJ1Jlc3BvbmQgdG8gYSBxdWVyeScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWwgZ292dWstIS1tYXJnaW4tYm90dG9tLTBcIj57eyAnUXVlcnkgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX08L2gxPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICA8Y2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXIgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCI+PC9jY2QtcXVlcnktY2FzZS1kZXRhaWxzLWhlYWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdj5cbiAgICA8Y2NkLXF1ZXJ5LWRldGFpbHMgW3F1ZXJ5XT1cInF1ZXJ5SXRlbVwiPjwvY2NkLXF1ZXJ5LWRldGFpbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJxdWVyeS1yZXNwb25kXCIgKm5nSWY9XCJzaG93Rm9ybVwiPlxuICA8ZGl2PlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbVwiPlxuICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uZCB0byBhIHF1ZXJ5JyA6ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9oMT5cblxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGJvZHktdGV4dGFyZWFcIlxuICAgICAgICAgICBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbSBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBmb3I9XCJib2R5XCI+XG4gICAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25zZSBkZXRhaWwnIDogJ1F1ZXJ5IEJvZHknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGlkPVwiYm9keS1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7ICdFcnJvcjonIHwgcnB4VHJhbnNsYXRlIH19IDwvc3Bhbj57eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlJFU1BPTkRfUVVFUllfQk9EWSA6IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlFVRVJZX0JPRFkgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8dGV4dGFyZWEgW2Zvcm1Db250cm9sTmFtZV09XCInYm9keSdcIiBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5nb3Z1ay10ZXh0YXJlYS0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBpZD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImJvZHlcIiByb3dzPVwiNVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJib2R5LWhpbnQgYm9keS1lcnJvclwiPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztJQzBCaEcs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O2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7MkZBNUVVLGlDQUFpQzs2REFBakMsaUNBQWlDO1lDWDFDLEFBREYsQUFERiw4QkFBcUMsYUFDRSxhQUNOO1lBQUEsWUFBeUM7O1lBQUEsaUJBQU07WUFDNUUsNkJBQW9EO1lBQUEsWUFBb0M7O1lBQzFGLEFBRDBGLGlCQUFLLEVBQ3pGO1lBRU4sOEJBQXFDO1lBQ25DLG1EQUEyRjtZQUM3RixpQkFBTTtZQUdKLEFBREYsNEJBQUssNEJBR3FDO1lBQXRDLDhJQUFnQix3QkFBb0IsSUFBQztZQUUzQyxBQURFLEFBRDBDLGlCQUFvQixFQUN4RCxFQUNGO1lBQ04sb0ZBQTRDOztZQWRYLGVBQXlDO1lBQXpDLGdFQUF5QztZQUNsQixlQUFvQztZQUFwQywyREFBb0M7WUFJekQsZUFBMkI7WUFBM0IsNkNBQTJCO1lBSXZDLGVBQW1CO1lBQ3BDLEFBRGlCLHFDQUFtQiw4REFDcUI7WUFJbkMsY0FBYztZQUFkLG1DQUFjOzs7aUZESDdCLGlDQUFpQztjQU43QyxTQUFTOzJCQUNFLGtDQUFrQzswRUFNNUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNXLHVCQUF1QjtrQkFBdkMsTUFBTTs7a0ZBUEksaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMnO1xuaW1wb3J0IHsgUmFpc2VRdWVyeUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3REYXRhLCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeUl0ZW06IFF1ZXJ5TGlzdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5Q3JlYXRlQ29udGV4dDogUXVlcnlDcmVhdGVDb250ZXh0O1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgQElucHV0KCkgcHVibGljIHNob3dGb3JtO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0gPSBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIHB1YmxpYyByZWFkb25seSByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcyA9IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRGV0YWlscztcbiAgcHVibGljIHRvdGFsTnVtYmVyT2ZRdWVyeUNoaWxkcmVuOiBudW1iZXI7XG4gIHB1YmxpYyBxdWVyeUl0ZW1EaXNwbGF5OiBRdWVyeUxpc3RJdGVtO1xuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWRUb1F1ZXJ5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV1VQID0gJzQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlJdGVtSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQ7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICAgIHRoaXMuY2FzZUlkID0gY2FzZURldGFpbHM/LmNhc2VfaWQgPz8gJyc7XG4gICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZXRyaWV2aW5nIGNhc2UgZGV0YWlsczonLCBlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnF1ZXJ5SXRlbUlkID09PSBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQuUVVFUllfSVRFTV9SRVNQT05EXG4gICAgICAmJiB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnM/Lmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Nhc2VRdWVyaWVzQ29sbGVjdGlvbnNbMF0gaXMgdW5kZWZpbmVkIScsIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbnVtYmVyT2ZRdWVyeUNoaWxkcmVuID0gbmV3IFF1ZXJ5TGlzdERhdGEodGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdKTtcbiAgICAgIHRoaXMudG90YWxOdW1iZXJPZlF1ZXJ5Q2hpbGRyZW4gPSBudW1iZXJPZlF1ZXJ5Q2hpbGRyZW4/LnF1ZXJpZXM/LlswXT8uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwO1xuXG4gICAgICBjb25zdCBtZXNzYWdlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5kYXRhaWQ7XG4gICAgICBpZiAoIW1lc3NhZ2VJZCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ05vIG1lc3NhZ2VJZCBmb3VuZCBpbiByb3V0ZSBwYXJhbXM6JywgdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbHRlcmVkTWVzc2FnZXMgPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcbiAgICAgICAgLm1hcCgoY2FzZURhdGEpID0+IGNhc2VEYXRhPy5jYXNlTWVzc2FnZXMgfHwgW10pIC8vIEVuc3VyZSBjYXNlTWVzc2FnZXMgaXMgYWx3YXlzIGFuIGFycmF5XG4gICAgICAgIC5mbGF0KCkgLy8gRmxhdHRlbiBpbnRvIGEgc2luZ2xlIGFycmF5IG9mIG1lc3NhZ2VzXG4gICAgICAgIC5maWx0ZXIoKG1lc3NhZ2UpID0+IG1lc3NhZ2U/LnZhbHVlPy5pZCA9PT0gbWVzc2FnZUlkKTsgLy8gU2FmZSBhY2Nlc3NcblxuICAgICAgaWYgKGZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtYXRjaGluZ01lc3NhZ2UgPSBmaWx0ZXJlZE1lc3NhZ2VzWzBdPy52YWx1ZTtcblxuICAgICAgICBpZiAobWF0Y2hpbmdNZXNzYWdlKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUl0ZW1EaXNwbGF5ID0gbmV3IFF1ZXJ5TGlzdEl0ZW0oKTtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMucXVlcnlJdGVtRGlzcGxheSwgbWF0Y2hpbmdNZXNzYWdlKTtcbiAgICAgICAgICB0aGlzLnF1ZXJ5SXRlbSA9IHRoaXMucXVlcnlJdGVtRGlzcGxheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnkgPSB2YWx1ZTtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrLmVtaXQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7ICdSZXNwb25kIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+e3sgJ1F1ZXJ5IGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19PC9oMT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGNjZC1xdWVyeS1kZXRhaWxzIFtxdWVyeV09XCJxdWVyeUl0ZW1cIlxuICAgICAgW3RvdGFsTnVtYmVyT2ZRdWVyeUNoaWxkcmVuXT1cInRvdGFsTnVtYmVyT2ZRdWVyeUNoaWxkcmVuXCJcbiAgICAgIChoYXNSZXNwb25kZWQpPVwiaGFzUmVzcG9uZGVkKCRldmVudClcIj48L2NjZC1xdWVyeS1kZXRhaWxzPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInF1ZXJ5LXJlc3BvbmRcIiAqbmdJZj1cInNob3dGb3JtXCI+XG4gIDxkaXYgKm5nSWY9XCIhaGFzUmVzcG9uZGVkVG9RdWVyeVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbVwiPlxuICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uZCB0byBhIHF1ZXJ5JyA6ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9oMT5cblxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGJvZHktdGV4dGFyZWFcIlxuICAgICAgICAgICBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbSBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBmb3I9XCJib2R5XCI+XG4gICAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25zZSBkZXRhaWwnIDogJ1F1ZXJ5IEJvZHknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGlkPVwiYm9keS1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7ICdFcnJvcjonIHwgcnB4VHJhbnNsYXRlIH19IDwvc3Bhbj57eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlJFU1BPTkRfUVVFUllfQk9EWSA6IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlFVRVJZX0JPRFkgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8dGV4dGFyZWEgW2Zvcm1Db250cm9sTmFtZV09XCInYm9keSdcIiBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5nb3Z1ay10ZXh0YXJlYS0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBpZD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImJvZHlcIiByb3dzPVwiNVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJib2R5LWhpbnQgYm9keS1lcnJvclwiPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -10,7 +10,6 @@ import * as i1 from "@angular/router";
10
10
  import * as i2 from "../../../services";
11
11
  import * as i3 from "../../case-editor/services/case.notifier";
12
12
  const _c0 = (a0, a1) => ["/query-management", "query", a0, "4", a1];
13
- const _c1 = (a0, a1) => ["/query-management", "query", a0, "3", a1];
14
13
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
15
14
  const _r1 = i0.ɵɵgetCurrentView();
16
15
  i0.ɵɵelementStart(0, "div", 5)(1, "ccd-query-list", 6);
@@ -78,33 +77,17 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template
78
77
  i0.ɵɵadvance();
79
78
  i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0 && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 1)("ngIfElse", queryIsInReview_r5);
80
79
  } }
81
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementContainerStart(0);
83
- i0.ɵɵelementStart(1, "button", 9);
84
- i0.ɵɵtext(2);
85
- i0.ɵɵpipe(3, "rpxTranslate");
86
- i0.ɵɵelementEnd();
87
- i0.ɵɵelementContainerEnd();
88
- } if (rf & 2) {
89
- const ctx_r1 = i0.ɵɵnextContext(2);
90
- i0.ɵɵadvance();
91
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(4, _c1, ctx_r1.caseId, ctx_r1.query.id));
92
- i0.ɵɵadvance();
93
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Respond to a query"), " ");
94
- } }
95
80
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
96
81
  const _r4 = i0.ɵɵgetCurrentView();
97
82
  i0.ɵɵelementStart(0, "ccd-query-details", 7);
98
83
  i0.ɵɵlistener("backClicked", function ReadQueryManagementFieldComponent_ng_template_1_Template_ccd_query_details_backClicked_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showQueryList = true); });
99
84
  i0.ɵɵelementEnd();
100
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template, 4, 7, "ng-container", 8);
85
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8);
101
86
  } if (rf & 2) {
102
87
  const ctx_r1 = i0.ɵɵnextContext();
103
88
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
104
89
  i0.ɵɵadvance();
105
90
  i0.ɵɵproperty("ngIf", !ctx_r1.isCaseworker());
106
- i0.ɵɵadvance();
107
- i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) >= 0 && ctx_r1.isCaseworker() && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 0);
108
91
  } }
109
92
  export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
110
93
  route;
@@ -163,7 +146,7 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
163
146
  }
164
147
  static ɵfac = function ReadQueryManagementFieldComponent_Factory(t) { return new (t || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.SessionStorageService), i0.ɵɵdirectiveInject(i3.CaseNotifier)); };
165
148
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
166
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
149
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
167
150
  } if (rf & 2) {
168
151
  const singleQueryDetails_r6 = i0.ɵɵreference(2);
169
152
  i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
@@ -171,7 +154,7 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
171
154
  }
172
155
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
173
156
  type: Component,
174
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isCaseworker()\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and will respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"query?.children?.length >= 0 && isCaseworker() && query?.children?.length % 2 === 0\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '3', query.id]\"\n >\n {{ 'Respond to a query' | rpxTranslate }}\n </button>\n </ng-container>\n</ng-template>\n" }]
157
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isCaseworker()\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and will respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
175
158
  }], () => [{ type: i1.ActivatedRoute }, { type: i2.SessionStorageService }, { type: i3.CaseNotifier }], null); })();
176
159
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 14 }); })();
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7OztJQ0xsRSxBQURGLDhCQUFnRix3QkFDcUI7SUFBbkYsMFBBQWlCLHVCQUFnQixLQUFDO0lBQ3BELEFBRHFHLGlCQUFpQixFQUNoSDs7O0lBRCtDLGNBQStDO0lBQS9DLGdFQUErQzs7O0lBRnRHLDZCQUEyRTtJQUN6RSxnSEFBZ0Y7Ozs7SUFBMUUsY0FBbUI7SUFBbkIsMkNBQW1COzs7SUFGN0IsNkJBQTZEO0lBQzNE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Q0FBQzt3QkFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUwsc0VBQXNFO1lBQ3RFLDBEQUEwRDtRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDbkYsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLEtBQUs7ZUFDbEMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO21CQUM5QyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzsyRkE3RFUsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNMOUMsQUFSQSxvR0FBNkQsc0hBUTVCOzs7WUFSRyxBQUFyQix3Q0FBcUIsbUNBQXVCOzs7aUZEYTlDLGlDQUFpQztjQUo3QyxTQUFTOzJCQUNFLGlDQUFpQzs7a0ZBR2hDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDYXNlVGFiIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWxldHRlQ29udGV4dCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvcGFsZXR0ZS1jb250ZXh0LmVudW0nO1xuaW1wb3J0IHsgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuL3V0aWxzL3F1ZXJ5LW1hbmFnZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtcXVlcnktbWFuYWdlbWVudC1maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmVhZFF1ZXJ5TWFuYWdlbWVudEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uczogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uW107XG4gIHB1YmxpYyBxdWVyeTogUXVlcnlMaXN0SXRlbTtcbiAgcHVibGljIHNob3dRdWVyeUxpc3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jaWQ7XG4gICAgaWYgKHRoaXMuY29udGV4dCA9PT0gUGFsZXR0ZUNvbnRleHQuREVGQVVMVCkge1xuICAgICAgLy8gRVVJLTgzMDMgVXNpbmcgbW9jayBkYXRhIHVudGlsIENDRCBpcyByZWFkeSB3aXRoIHRoZSBBUEkgYW5kIGRhdGEgY29udHJhY3RcbiAgICAgIC8vIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IGNhc2VNZXNzYWdlc01vY2tEYXRhO1xuXG4gICAgICAvLyBUT0RPOiBBY3R1YWwgaW1wbGVtZW50YXRpb24gb25jZSB0aGUgQ0NEIEFQSSBhbmQgZGF0YSBjb250cmFjdCBpcyBhdmFpbGFibGVcbiAgICAgIC8vIEVhY2ggcGFydGllcyB3aWxsIGhhdmUgYSBzZXBhcmF0ZSBjb2xsZWN0aW9uIG9mIHBhcnR5IG1lc3NhZ2VzXG4gICAgICAvLyBGaW5kIHdoZXRoZXIgcXVlcmllcyB0YWIgaXMgYXZhaWxhYmxlIGluIHRoZSBjYXNlIGRhdGFcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaCh0aGlzLmNhc2VJZClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U/LnRhYnMpIHtcbiAgICAgICAgICAgICAgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gKGNhc2VEZXRhaWxzLnRhYnMgYXMgQ2FzZVRhYltdKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHRhYikgPT4gdGFiLmZpZWxkcz8uc29tZShcbiAgICAgICAgICAgICAgICAgIChjYXNlRmllbGQpID0+IGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wb25lbnRMYXVuY2hlcicgJiYgY2FzZUZpZWxkLmlkID09PSB0aGlzLmNhc2VGaWVsZC5pZCkpXG4gICAgICAgICAgICAgICAgWzBdLmZpZWxkcz8ucmVkdWNlKChhY2MsIGNhc2VGaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID0gUXVlcnlNYW5hZ2VtZW50VXRpbHMuZXh0cmFjdENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZChjYXNlRmllbGQpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkICYmIHR5cGVvZiBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGxpc3Qgb2YgcGFydGllcyBhbmQgdGhlaXIgY2FzZSBxdWVyaWVzIGNvbGxlY3Rpb25zXG4gICAgICAvLyBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5KHF1ZXJ5KTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gZmFsc2U7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgcHVibGljIGJhY2tUb1F1ZXJ5TGlzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2V3b3JrZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdXNlckRldGFpbHMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlPy5nZXRJdGVtKCd1c2VyRGV0YWlscycpKTtcbiAgICByZXR1cm4gdXNlckRldGFpbHMgJiYgdXNlckRldGFpbHMucm9sZXNcbiAgICAgICYmICEodXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ3B1aS1jYXNlLW1hbmFnZXInKVxuICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5zb21lKChyb2xlKSA9PiByb2xlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2p1ZGdlJykpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dRdWVyeUxpc3Q7IGVsc2Ugc2luZ2xlUXVlcnlEZXRhaWxzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhc2VRdWVyaWVzQ29sbGVjdGlvbiBvZiBjYXNlUXVlcmllc0NvbGxlY3Rpb25zXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dRdWVyeUxpc3RcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC04IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04XCI+XG4gICAgICA8Y2NkLXF1ZXJ5LWxpc3QgKHNlbGVjdGVkUXVlcnkpPVwic2V0UXVlcnkoJGV2ZW50KVwiIFtjYXNlUXVlcmllc0NvbGxlY3Rpb25dPVwiY2FzZVF1ZXJpZXNDb2xsZWN0aW9uXCI+PC9jY2QtcXVlcnktbGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaW5nbGVRdWVyeURldGFpbHM+XG4gIDxjY2QtcXVlcnktZGV0YWlsc1xuICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgKGJhY2tDbGlja2VkKT1cInNob3dRdWVyeUxpc3QgPSB0cnVlXCJcbiAgICBbY2FzZUlkXT1cImNhc2VJZFwiXG4gID48L2NjZC1xdWVyeS1kZXRhaWxzPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXNld29ya2VyKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPiAwICYmIHF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoICUgMiA9PT0gMTsgZWxzZSBxdWVyeUlzSW5SZXZpZXdcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhc2stZm9sbG93LXVwLXF1ZXN0aW9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICc0JywgcXVlcnkuaWRdXCI+XG4gICAgICAgIHt7ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcXVlcnlJc0luUmV2aWV3PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyAnWW91ciBxdWVyeSBpcyB1bmRlciByZXZpZXcnIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cD57eyAnT3VyIHRlYW0gd2lsbCByZWFkIHlvdXIgcXVlcnkgYW5kIHdpbGwgcmVzcG9uZC4gRG8gbm90IHN1Ym1pdCB0aGUgc2FtZSBxdWVyeSBtb3JlIHRoYW4gb25jZS4nIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoID49IDAgJiYgaXNDYXNld29ya2VyKCkgJiYgcXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggJSAyID09PSAwXCI+XG4gICAgPGJ1dHRvbiBpZD1cImFzay1mb2xsb3ctdXAtcXVlc3Rpb25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICBbcm91dGVyTGlua109XCJbJy9xdWVyeS1tYW5hZ2VtZW50JywgJ3F1ZXJ5JywgY2FzZUlkLCAnMycsIHF1ZXJ5LmlkXVwiXG4gICAgPlxuICAgIHt7ICdSZXNwb25kIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7O0lDTGxFLEFBREYsOEJBQWdGLHdCQUNxQjtJQUFuRiwwUEFBaUIsdUJBQWdCLEtBQUM7SUFDcEQsQUFEcUcsaUJBQWlCLEVBQ2hIOzs7SUFEK0MsY0FBK0M7SUFBL0MsZ0VBQStDOzs7SUFGdEcsNkJBQTJFO0lBQ3pFLGdIQUFnRjs7OztJQUExRSxjQUFtQjtJQUFuQiwyQ0FBbUI7OztJQUY3Qiw2QkFBNkQ7SUFDM0Qs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bkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNuRixPQUFPLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSztlQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7bUJBQzlDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDOzJGQTdEVSxpQ0FBaUM7NkRBQWpDLGlDQUFpQztZQ0w5QyxBQVJBLG9HQUE2RCxzSEFRNUI7OztZQVJHLEFBQXJCLHdDQUFxQixtQ0FBdUI7OztpRkRhOUMsaUNBQWlDO2NBSjdDLFNBQVM7MkJBQ0UsaUNBQWlDOztrRkFHaEMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENhc2VUYWIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4vdXRpbHMvcXVlcnktbWFuYWdlbWVudC51dGlscyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBwdWJsaWMgc2hvd1F1ZXJ5TGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICBpZiAodGhpcy5jb250ZXh0ID09PSBQYWxldHRlQ29udGV4dC5ERUZBVUxUKSB7XG4gICAgICAvLyBFVUktODMwMyBVc2luZyBtb2NrIGRhdGEgdW50aWwgQ0NEIGlzIHJlYWR5IHdpdGggdGhlIEFQSSBhbmQgZGF0YSBjb250cmFjdFxuICAgICAgLy8gdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gY2FzZU1lc3NhZ2VzTW9ja0RhdGE7XG5cbiAgICAgIC8vIFRPRE86IEFjdHVhbCBpbXBsZW1lbnRhdGlvbiBvbmNlIHRoZSBDQ0QgQVBJIGFuZCBkYXRhIGNvbnRyYWN0IGlzIGF2YWlsYWJsZVxuICAgICAgLy8gRWFjaCBwYXJ0aWVzIHdpbGwgaGF2ZSBhIHNlcGFyYXRlIGNvbGxlY3Rpb24gb2YgcGFydHkgbWVzc2FnZXNcbiAgICAgIC8vIEZpbmQgd2hldGhlciBxdWVyaWVzIHRhYiBpcyBhdmFpbGFibGUgaW4gdGhlIGNhc2UgZGF0YVxuICAgICAgdGhpcy5jYXNlTm90aWZpZXIuZmV0Y2hBbmRSZWZyZXNoKHRoaXMuY2FzZUlkKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZT8udGFicykge1xuICAgICAgICAgICAgICB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSAoY2FzZURldGFpbHMudGFicyBhcyBDYXNlVGFiW10pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB0YWIuZmllbGRzPy5zb21lKFxuICAgICAgICAgICAgICAgICAgKGNhc2VGaWVsZCkgPT4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBvbmVudExhdW5jaGVyJyAmJiBjYXNlRmllbGQuaWQgPT09IHRoaXMuY2FzZUZpZWxkLmlkKSlcbiAgICAgICAgICAgICAgICBbMF0uZmllbGRzPy5yZWR1Y2UoKGFjYywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJ0aWVzIGFuZCB0aGVpciBjYXNlIHF1ZXJpZXMgY29sbGVjdGlvbnNcbiAgICAgIC8vIFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnkocXVlcnkpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBwdWJsaWMgYmFja1RvUXVlcnlMaXN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSB0cnVlO1xuICAgIHRoaXMucXVlcnkgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGlzQ2FzZXdvcmtlcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2U/LmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuICAgIHJldHVybiB1c2VyRGV0YWlscyAmJiB1c2VyRGV0YWlscy5yb2xlc1xuICAgICAgJiYgISh1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygncHVpLWNhc2UtbWFuYWdlcicpXG4gICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLnNvbWUoKHJvbGUpID0+IHJvbGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnanVkZ2UnKSkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdDsgZWxzZSBzaW5nbGVRdWVyeURldGFpbHNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uIG9mIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdFwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tdG9wLTggZ292dWstIS1tYXJnaW4tYm90dG9tLThcIj5cbiAgICAgIDxjY2QtcXVlcnktbGlzdCAoc2VsZWN0ZWRRdWVyeSk9XCJzZXRRdWVyeSgkZXZlbnQpXCIgW2Nhc2VRdWVyaWVzQ29sbGVjdGlvbl09XCJjYXNlUXVlcmllc0NvbGxlY3Rpb25cIj48L2NjZC1xdWVyeS1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZVF1ZXJ5RGV0YWlscz5cbiAgPGNjZC1xdWVyeS1kZXRhaWxzXG4gICAgW3F1ZXJ5XT1cInF1ZXJ5XCJcbiAgICAoYmFja0NsaWNrZWQpPVwic2hvd1F1ZXJ5TGlzdCA9IHRydWVcIlxuICAgIFtjYXNlSWRdPVwiY2FzZUlkXCJcbiAgPjwvY2NkLXF1ZXJ5LWRldGFpbHM+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Nhc2V3b3JrZXIoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgcXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggJSAyID09PSAxOyBlbHNlIHF1ZXJ5SXNJblJldmlld1wiPlxuICAgICAgPGJ1dHRvbiBpZD1cImFzay1mb2xsb3ctdXAtcXVlc3Rpb25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcXVlcnktbWFuYWdlbWVudCcsICdxdWVyeScsIGNhc2VJZCwgJzQnLCBxdWVyeS5pZF1cIj5cbiAgICAgICAge3sgJ0FzayBhIGZvbGxvdy11cCBxdWVzdGlvbicgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNxdWVyeUlzSW5SZXZpZXc+XG4gICAgICA8ZGl2PlxuICAgICAgICA8cCBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7ICdZb3VyIHF1ZXJ5IGlzIHVuZGVyIHJldmlldycgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwPnt7ICdPdXIgdGVhbSB3aWxsIHJlYWQgeW91ciBxdWVyeSBhbmQgd2lsbCByZXNwb25kLiBEbyBub3Qgc3VibWl0IHRoZSBzYW1lIHF1ZXJ5IG1vcmUgdGhhbiBvbmNlLicgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -18,4 +18,4 @@ export var TaskState;
18
18
  TaskState["Terminated"] = "TERMINATED";
19
19
  TaskState["PendingReConfiguration"] = "PENDING_RECONFIGURATION";
20
20
  })(TaskState || (TaskState = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEQSxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFVLENBQUE7SUFDVixrQ0FBa0IsQ0FBQTtJQUNsQiw0QkFBWSxDQUFBO0lBQ1osZ0NBQWdCLENBQUE7SUFDaEIsZ0NBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3QixzREFBeUMsQ0FBQTtJQUN6QyxrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QixvQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBeUIsQ0FBQTtJQUN6QiwrREFBa0QsQ0FBQTtBQUNwRCxDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhc2sge1xuICBhc3NpZ25lZT86IHN0cmluZztcbiAgYXV0b19hc3NpZ25lZD86IGJvb2xlYW47XG4gIGNhc2VfY2F0ZWdvcnk6IHN0cmluZztcbiAgY2FzZV9pZDogc3RyaW5nO1xuICBjYXNlX21hbmFnZW1lbnRfY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGNhc2VfbmFtZT86IHN0cmluZztcbiAgY2FzZV90eXBlX2lkPzogc3RyaW5nO1xuICBjcmVhdGVkX2RhdGU6IHN0cmluZztcbiAgZHVlX2RhdGU/OiBzdHJpbmc7XG4gIGV4ZWN1dGlvbl90eXBlPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBqdXJpc2RpY3Rpb246IHN0cmluZztcbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIGxvY2F0aW9uX25hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiB7IHZhbHVlczogUGVybWlzc2lvbnNbXX07XG4gIHJlZ2lvbj86IHN0cmluZztcbiAgc2VjdXJpdHlfY2xhc3NpZmljYXRpb24/OiBzdHJpbmc7XG4gIHRhc2tfc3RhdGU/OiBzdHJpbmc7XG4gIHRhc2tfc3lzdGVtPzogc3RyaW5nO1xuICB0YXNrX3RpdGxlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB3YXJuaW5nX2xpc3Q/OiB7IHZhbHVlczogc3RyaW5nW119O1xuICB3YXJuaW5ncz86IHRydWU7XG4gIHdvcmtfdHlwZV9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyVGFzayB7XG4gIHRhc2tfZGF0YTogVGFzayxcbiAgY29tcGxldGVfdGFzazogYm9vbGVhblxufVxuXG4vLyBRdWVyeTogVXNlcklEIHdpbGwgYmUgcmVtb3ZlZCBvbiBsb2dvdXQvbG9naW4gKGlzIGl0IG5lY2Vzc2FyeSk/XG5leHBvcnQgaW50ZXJmYWNlIFRhc2tFdmVudENvbXBsZXRpb25JbmZvIHtcbiAgdGFza0lkOiBzdHJpbmc7XG4gIGV2ZW50SWQ6IHN0cmluZztcbiAgY2FzZUlkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBjcmVhdGVkVGltZXN0YW1wOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnREZXRhaWxzIHtcbiAgZXZlbnRJZDogc3RyaW5nO1xuICBjYXNlSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGFzc2lnbk5lZWRlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUGVybWlzc2lvbnMge1xuICBPd249ICdPV04nLFxuICBFeGVjdXRlPSAnRVhFQ1VURScsXG4gIFJlYWQ9ICdSRUFEJyxcbiAgTWFuYWdlPSAnTUFOQUdFJyxcbiAgQ2FuY2VsPSAnQ0FOQ0VMJyxcbn1cblxuZXhwb3J0IGVudW0gVGFza1N0YXRlIHtcbiAgVW5Db25maWd1cmVkID0gJ1VOQ09ORklHVVJFRCcsXG4gIFBlbmRpbmdBdXRvQXNzaWduID0gJ1BFTkRJTkdfQVVUT19BU1NJR04nLFxuICBBc3NpZ25lZCA9ICdBU1NJR05FRCcsXG4gIENvbmZpZ3VyZWQgPSAnQ09ORklHVVJFRCcsXG4gIFVuYXNzaWduZWQgPSAnVU5BU1NJR05FRCcsXG4gIENvbXBsZXRlZCA9ICdDT01QTEVURUQnLFxuICBDYW5jZWxsZWQgPSAnQ0FOQ0VMTEVEJyxcbiAgVGVybWluYXRlZCA9ICdURVJNSU5BVEVEJyxcbiAgUGVuZGluZ1JlQ29uZmlndXJhdGlvbiA9ICdQRU5ESU5HX1JFQ09ORklHVVJBVElPTidcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEQSxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFVLENBQUE7SUFDVixrQ0FBa0IsQ0FBQTtJQUNsQiw0QkFBWSxDQUFBO0lBQ1osZ0NBQWdCLENBQUE7SUFDaEIsZ0NBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3QixzREFBeUMsQ0FBQTtJQUN6QyxrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QixvQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBeUIsQ0FBQTtJQUN6QiwrREFBa0QsQ0FBQTtBQUNwRCxDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhc2sge1xuICBhc3NpZ25lZT86IHN0cmluZztcbiAgYXV0b19hc3NpZ25lZD86IGJvb2xlYW47XG4gIGNhc2VfY2F0ZWdvcnk6IHN0cmluZztcbiAgY2FzZV9pZDogc3RyaW5nO1xuICBjYXNlX21hbmFnZW1lbnRfY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGNhc2VfbmFtZT86IHN0cmluZztcbiAgY2FzZV90eXBlX2lkPzogc3RyaW5nO1xuICBjcmVhdGVkX2RhdGU6IHN0cmluZztcbiAgZHVlX2RhdGU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBleGVjdXRpb25fdHlwZT86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAganVyaXNkaWN0aW9uOiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBsb2NhdGlvbl9uYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogeyB2YWx1ZXM6IFBlcm1pc3Npb25zW119O1xuICByZWdpb24/OiBzdHJpbmc7XG4gIHNlY3VyaXR5X2NsYXNzaWZpY2F0aW9uPzogc3RyaW5nO1xuICB0YXNrX3N0YXRlPzogc3RyaW5nO1xuICB0YXNrX3N5c3RlbT86IHN0cmluZztcbiAgdGFza190aXRsZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgd2FybmluZ19saXN0PzogeyB2YWx1ZXM6IHN0cmluZ1tdfTtcbiAgd2FybmluZ3M/OiB0cnVlO1xuICB3b3JrX3R5cGVfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRhc2sge1xuICB0YXNrX2RhdGE6IFRhc2ssXG4gIGNvbXBsZXRlX3Rhc2s6IGJvb2xlYW5cbn1cblxuLy8gUXVlcnk6IFVzZXJJRCB3aWxsIGJlIHJlbW92ZWQgb24gbG9nb3V0L2xvZ2luIChpcyBpdCBuZWNlc3NhcnkpP1xuZXhwb3J0IGludGVyZmFjZSBUYXNrRXZlbnRDb21wbGV0aW9uSW5mbyB7XG4gIHRhc2tJZDogc3RyaW5nO1xuICBldmVudElkOiBzdHJpbmc7XG4gIGNhc2VJZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgY3JlYXRlZFRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50RGV0YWlscyB7XG4gIGV2ZW50SWQ6IHN0cmluZztcbiAgY2FzZUlkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBhc3NpZ25OZWVkZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25zIHtcbiAgT3duPSAnT1dOJyxcbiAgRXhlY3V0ZT0gJ0VYRUNVVEUnLFxuICBSZWFkPSAnUkVBRCcsXG4gIE1hbmFnZT0gJ01BTkFHRScsXG4gIENhbmNlbD0gJ0NBTkNFTCcsXG59XG5cbmV4cG9ydCBlbnVtIFRhc2tTdGF0ZSB7XG4gIFVuQ29uZmlndXJlZCA9ICdVTkNPTkZJR1VSRUQnLFxuICBQZW5kaW5nQXV0b0Fzc2lnbiA9ICdQRU5ESU5HX0FVVE9fQVNTSUdOJyxcbiAgQXNzaWduZWQgPSAnQVNTSUdORUQnLFxuICBDb25maWd1cmVkID0gJ0NPTkZJR1VSRUQnLFxuICBVbmFzc2lnbmVkID0gJ1VOQVNTSUdORUQnLFxuICBDb21wbGV0ZWQgPSAnQ09NUExFVEVEJyxcbiAgQ2FuY2VsbGVkID0gJ0NBTkNFTExFRCcsXG4gIFRlcm1pbmF0ZWQgPSAnVEVSTUlOQVRFRCcsXG4gIFBlbmRpbmdSZUNvbmZpZ3VyYXRpb24gPSAnUEVORElOR19SRUNPTkZJR1VSQVRJT04nXG59XG4iXX0=
@@ -3,12 +3,16 @@ import { Injectable } from '@angular/core';
3
3
  import { throwError } from 'rxjs';
4
4
  import { HttpError } from '../../domain/http/http-error.model';
5
5
  import { AuthService } from '../auth/auth.service';
6
+ import { LoadingService } from '../loading';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../auth/auth.service";
9
+ import * as i2 from "../loading";
8
10
  export class HttpErrorService {
9
11
  authService;
10
- constructor(authService) {
12
+ loadingService;
13
+ constructor(authService, loadingService) {
11
14
  this.authService = authService;
15
+ this.loadingService = loadingService;
12
16
  }
13
17
  static CONTENT_TYPE = 'Content-Type';
14
18
  static JSON = 'json';
@@ -52,16 +56,19 @@ export class HttpErrorService {
52
56
  handle(error, redirectIfNotAuthorised = true) {
53
57
  console.error('Handling error in http error service.');
54
58
  console.error(error);
59
+ if (this.loadingService.hasSharedSpinner()) {
60
+ this.loadingService.unregisterSharedSpinner();
61
+ }
55
62
  const httpError = HttpErrorService.convertToHttpError(error);
56
63
  if (redirectIfNotAuthorised && httpError.status === 401) {
57
64
  this.authService.signIn();
58
65
  }
59
66
  return throwError(httpError);
60
67
  }
61
- static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(i1.AuthService)); };
68
+ static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.LoadingService)); };
62
69
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HttpErrorService, factory: HttpErrorService.ɵfac });
63
70
  }
64
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpErrorService, [{
65
72
  type: Injectable
66
- }], () => [{ type: i1.AuthService }], null); })();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9odHRwL2h0dHAtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFRTtJQUE3QixZQUE2QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFakQsTUFBTSxDQUFVLFlBQVksR0FBRyxjQUFjLENBQUM7SUFDOUMsTUFBTSxDQUFVLElBQUksR0FBRyxNQUFNLENBQUM7SUFFOUIsS0FBSyxDQUFZO0lBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUE4QjtRQUM3RCxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUYsSUFBSSxDQUFDO29CQUNILFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBOEIsRUFBRSx1QkFBdUIsR0FBRyxJQUFJO1FBQzFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUFjLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLElBQUksdUJBQXVCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDOzBFQXJEVSxnQkFBZ0I7Z0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0I7O2lGQUFoQixnQkFBZ0I7Y0FENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vZG9tYWluL2h0dHAvaHR0cC1lcnJvci5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEVycm9yU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ09OVEVOVF9UWVBFID0gJ0NvbnRlbnQtVHlwZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEpTT04gPSAnanNvbic7XG5cbiAgcHJpdmF0ZSBlcnJvcjogSHR0cEVycm9yO1xuICBwdWJsaWMgc3RhdGljIGNvbnZlcnRUb0h0dHBFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpOiBIdHRwRXJyb3Ige1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvcikge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbiAgICBsZXQgaHR0cEVycm9yID0gbmV3IEh0dHBFcnJvcigpO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICBpZiAoZXJyb3IuaGVhZGVycz8uZ2V0KEh0dHBFcnJvclNlcnZpY2UuQ09OVEVOVF9UWVBFKS5pbmRleE9mKEh0dHBFcnJvclNlcnZpY2UuSlNPTikgIT09IC0xKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaHR0cEVycm9yID0gSHR0cEVycm9yLmZyb20oZXJyb3IpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlLCBlLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWh0dHBFcnJvci5zdGF0dXMpIHtcbiAgICAgICAgaHR0cEVycm9yLnN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xuICAgICAgICBodHRwRXJyb3IubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgIGh0dHBFcnJvci5zdGF0dXMgPSBlcnJvci5zdGF0dXM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBodHRwRXJyb3I7XG4gIH1cblxuICBwdWJsaWMgc2V0RXJyb3IoZXJyb3I6IEh0dHBFcnJvcikge1xuICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVFcnJvcigpOiBIdHRwRXJyb3Ige1xuICAgIGNvbnN0IGVycm9yID0gdGhpcy5lcnJvcjtcbiAgICB0aGlzLmVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSwgcmVkaXJlY3RJZk5vdEF1dGhvcmlzZWQgPSB0cnVlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0hhbmRsaW5nIGVycm9yIGluIGh0dHAgZXJyb3Igc2VydmljZS4nKTtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICBjb25zdCBodHRwRXJyb3I6IEh0dHBFcnJvciA9IEh0dHBFcnJvclNlcnZpY2UuY29udmVydFRvSHR0cEVycm9yKGVycm9yKTtcbiAgICBpZiAocmVkaXJlY3RJZk5vdEF1dGhvcmlzZWQgJiYgaHR0cEVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25JbigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcihodHRwRXJyb3IpO1xuICB9XG59XG4iXX0=
73
+ }], () => [{ type: i1.AuthService }, { type: i2.LoadingService }], null); })();
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9odHRwL2h0dHAtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBSTVDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFRTtJQUNOO0lBRHZCLFlBQTZCLFdBQXdCLEVBQzlCLGNBQThCO1FBRHhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNsRCxDQUFDO0lBRUksTUFBTSxDQUFVLFlBQVksR0FBRyxjQUFjLENBQUM7SUFDOUMsTUFBTSxDQUFVLElBQUksR0FBRyxNQUFNLENBQUM7SUFFOUIsS0FBSyxDQUFZO0lBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUE4QjtRQUM3RCxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUYsSUFBSSxDQUFDO29CQUNILFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBOEIsRUFBRSx1QkFBdUIsR0FBRyxJQUFJO1FBQzFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ2hELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBYyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxJQUFJLHVCQUF1QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQzswRUExRFUsZ0JBQWdCO2dFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCOztpRkFBaEIsZ0JBQWdCO2NBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uLy4uL2RvbWFpbi9odHRwL2h0dHAtZXJyb3IubW9kZWwnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL2xvYWRpbmcnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfVFlQRSA9ICdDb250ZW50LVR5cGUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBKU09OID0gJ2pzb24nO1xuXG4gIHByaXZhdGUgZXJyb3I6IEh0dHBFcnJvcjtcbiAgcHVibGljIHN0YXRpYyBjb252ZXJ0VG9IdHRwRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KTogSHR0cEVycm9yIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3IpIHtcbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG4gICAgbGV0IGh0dHBFcnJvciA9IG5ldyBIdHRwRXJyb3IoKTtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgaWYgKGVycm9yLmhlYWRlcnM/LmdldChIdHRwRXJyb3JTZXJ2aWNlLkNPTlRFTlRfVFlQRSkuaW5kZXhPZihIdHRwRXJyb3JTZXJ2aWNlLkpTT04pICE9PSAtMSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGh0dHBFcnJvciA9IEh0dHBFcnJvci5mcm9tKGVycm9yKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSwgZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFodHRwRXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgIGh0dHBFcnJvci5zdGF0dXMgPSBlcnJvci5zdGF0dXM7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgaHR0cEVycm9yLm1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgfVxuICAgICAgaWYgKGVycm9yLnN0YXR1cykge1xuICAgICAgICBodHRwRXJyb3Iuc3RhdHVzID0gZXJyb3Iuc3RhdHVzO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaHR0cEVycm9yO1xuICB9XG5cbiAgcHVibGljIHNldEVycm9yKGVycm9yOiBIdHRwRXJyb3IpIHtcbiAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRXJyb3IoKTogSHR0cEVycm9yIHtcbiAgICBjb25zdCBlcnJvciA9IHRoaXMuZXJyb3I7XG4gICAgdGhpcy5lcnJvciA9IG51bGw7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnksIHJlZGlyZWN0SWZOb3RBdXRob3Jpc2VkID0gdHJ1ZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICBjb25zb2xlLmVycm9yKCdIYW5kbGluZyBlcnJvciBpbiBodHRwIGVycm9yIHNlcnZpY2UuJyk7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgaWYgKHRoaXMubG9hZGluZ1NlcnZpY2UuaGFzU2hhcmVkU3Bpbm5lcigpKXtcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3RlclNoYXJlZFNwaW5uZXIoKTtcbiAgICB9XG4gICAgY29uc3QgaHR0cEVycm9yOiBIdHRwRXJyb3IgPSBIdHRwRXJyb3JTZXJ2aWNlLmNvbnZlcnRUb0h0dHBFcnJvcihlcnJvcik7XG4gICAgaWYgKHJlZGlyZWN0SWZOb3RBdXRob3Jpc2VkICYmIGh0dHBFcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5zaWduSW4oKTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoaHR0cEVycm9yKTtcbiAgfVxufVxuIl19
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export class LoadingService {
6
6
  registered = new Map();
7
7
  loading = new BehaviorSubject(false);
8
+ sharedSpinners = [];
8
9
  get isLoading() {
9
10
  return this.loading.pipe(distinctUntilChanged());
10
11
  }
@@ -18,6 +19,17 @@ export class LoadingService {
18
19
  this.registered.delete(token);
19
20
  this.loading.next(this.registered.size > 0);
20
21
  }
22
+ addSharedSpinner(spinnerId) {
23
+ this.sharedSpinners.push(spinnerId);
24
+ }
25
+ hasSharedSpinner() {
26
+ return this.sharedSpinners.length > 0;
27
+ }
28
+ unregisterSharedSpinner() {
29
+ this.registered.delete(this.sharedSpinners[0]);
30
+ this.sharedSpinners.shift();
31
+ this.loading.next(this.registered.size > 0);
32
+ }
21
33
  generateToken() {
22
34
  const timestamp = window.performance.now();
23
35
  return `toolkit-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
@@ -28,4 +40,4 @@ export class LoadingService {
28
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingService, [{
29
41
  type: Injectable
30
42
  }], null, null); })();
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0MsT0FBTyxtQkFBbUIsU0FBUyxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDakcsQ0FBQzt3RUF2QlUsY0FBYztnRUFBZCxjQUFjLFdBQWQsY0FBYzs7aUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RlcmVkID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGluZy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdlbmVyYXRlVG9rZW4oKTtcbiAgICB0aGlzLnJlZ2lzdGVyZWQuc2V0KHRva2VuLCB0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodG9rZW4pO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcmV0dXJuIGB0b29sa2l0LWxvYWRpbmctJHt0aW1lc3RhbXB9YDsgLy8gZm9ybWF0OiBbc291cmNlLWxpYnJhcnldLVt1bmlxdWUgaW5jcmVtZW50aW5nIG51bWJlcl1cbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRXJDLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFNBQWlCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzNDLE9BQU8sbUJBQW1CLFNBQVMsRUFBRSxDQUFDLENBQUMsd0RBQXdEO0lBQ2pHLENBQUM7d0VBdENVLGNBQWM7Z0VBQWQsY0FBYyxXQUFkLGNBQWM7O2lGQUFkLGNBQWM7Y0FEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0ZXJlZCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlZFNwaW5uZXJzID0gW107XG5cbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGluZy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdlbmVyYXRlVG9rZW4oKTtcbiAgICB0aGlzLnJlZ2lzdGVyZWQuc2V0KHRva2VuLCB0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodG9rZW4pO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwdWJsaWMgYWRkU2hhcmVkU3Bpbm5lcihzcGlubmVySWQ6IHN0cmluZyl7XG4gICAgdGhpcy5zaGFyZWRTcGlubmVycy5wdXNoKHNwaW5uZXJJZCk7XG4gIH1cblxuICBwdWJsaWMgaGFzU2hhcmVkU3Bpbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRTcGlubmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXJTaGFyZWRTcGlubmVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodGhpcy5zaGFyZWRTcGlubmVyc1swXSk7XG4gICAgdGhpcy5zaGFyZWRTcGlubmVycy5zaGlmdCgpO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcmV0dXJuIGB0b29sa2l0LWxvYWRpbmctJHt0aW1lc3RhbXB9YDsgLy8gZm9ybWF0OiBbc291cmNlLWxpYnJhcnldLVt1bmlxdWUgaW5jcmVtZW50aW5nIG51bWJlcl1cbiAgfVxufVxuIl19