@hmcts/ccd-case-ui-toolkit 6.13.10-eui-4157 → 6.13.10-exui-158

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 (45) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +581 -293
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +7 -4
  6. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +2 -2
  7. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -2
  8. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +13 -2
  9. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/index.js +3 -0
  10. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.js +47 -0
  11. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.js +153 -0
  12. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +5 -6
  13. package/esm2015/lib/shared/components/palette/index.js +2 -1
  14. package/esm2015/lib/shared/components/palette/palette.module.js +29 -1
  15. package/esm2015/lib/shared/components/palette/palette.service.js +4 -1
  16. package/esm2015/lib/shared/domain/definition/case-field.model.js +6 -3
  17. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  18. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +14 -11
  19. package/esm2015/lib/shared/services/form/field-type-sanitiser.js +16 -1
  20. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +610 -361
  21. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  22. package/lib/shared/components/case-editor/services/cases.service.d.ts +3 -1
  23. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  24. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +1 -0
  25. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  26. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts +3 -0
  27. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts.map +1 -0
  28. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts +9 -0
  29. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  30. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts +17 -0
  31. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  32. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts +1 -1
  33. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
  34. package/lib/shared/components/palette/index.d.ts +1 -0
  35. package/lib/shared/components/palette/index.d.ts.map +1 -1
  36. package/lib/shared/components/palette/palette.module.d.ts +61 -59
  37. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  38. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  39. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  40. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  41. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  42. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  43. package/lib/shared/services/form/field-type-sanitiser.d.ts +2 -0
  44. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -116,13 +116,13 @@ function FooterComponent_div_3_Template(rf, ctx) { if (rf & 1) {
116
116
  i0.ɵɵadvance(3);
117
117
  i0.ɵɵtextInterpolate(ctx_r1.workhours);
118
118
  } }
119
- const _c0$_ = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
119
+ const _c0$$ = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
120
120
  const _c1$s = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
121
121
  class FooterComponent {
122
122
  }
123
123
  FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
124
124
  FooterComponent.ɵcmp = i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$s, decls: 4, vars: 4, consts: [["id", "footer", "role", "footer", 1, "group", "js-footer"], [1, "footer-wrapper"], ["class", "footer-meta", 4, "ngIf"], [1, "footer-meta"], [1, "footer-meta-inner"], [1, "open-government-licence"], [1, "logo"], ["href", "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/", "rel", "license"], [1, "copyright"], ["href", "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/"], [1, "title"], [1, "footer-text"], [1, "email"], [3, "href"], [1, "phone"], [1, "work-hours"]], template: function FooterComponent_Template(rf, ctx) { if (rf & 1) {
125
- i0.ɵɵprojectionDef(_c0$_);
125
+ i0.ɵɵprojectionDef(_c0$$);
126
126
  i0.ɵɵelementStart(0, "footer", 0);
127
127
  i0.ɵɵelementStart(1, "div", 1);
128
128
  i0.ɵɵtemplate(2, FooterComponent_div_2_Template, 15, 0, "div", 2);
@@ -189,7 +189,7 @@ function HeaderBarComponent_div_9_Template(rf, ctx) { if (rf & 1) {
189
189
  i0.ɵɵadvance(3);
190
190
  i0.ɵɵtextInterpolate(ctx_r2.title);
191
191
  } }
192
- const _c0$Z = [[["", "headerNavigation", ""]]];
192
+ const _c0$_ = [[["", "headerNavigation", ""]]];
193
193
  const _c1$r = ["[headerNavigation]"];
194
194
  class HeaderBarComponent {
195
195
  constructor() {
@@ -201,7 +201,7 @@ class HeaderBarComponent {
201
201
  }
202
202
  HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
203
203
  HeaderBarComponent.ɵcmp = i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$r, decls: 15, vars: 8, consts: [["role", "banner", "id", "global-header", 1, "with-proposition"], [1, "header-wrapper"], [1, "header-global"], [4, "ngIf"], ["class", "global-header", 4, "ngIf"], [1, "header-proposition"], [1, "content"], ["href", "#proposition-links", 1, "js-header-toggle", "menu"], ["id", "proposition-menu", 4, "ngIf"], [1, "proposition-right"], ["id", "user-name"], ["id", "sign-out", "href", "javascript:void(0)", 3, "click"], ["href", "https://www.gov.uk", "title", "Go to the GOV.UK homepage", "id", "logo", 1, "content", 2, "margin-left", "0px"], ["src", "/img/gov.uk_logotype_crown_invert_trans.png?0.23.0", "width", "36", "height", "32", "alt", ""], [1, "global-header"], [1, "title"], ["id", "proposition-menu"], [1, "title-solicitor"], ["id", "proposition-name"]], template: function HeaderBarComponent_Template(rf, ctx) { if (rf & 1) {
204
- i0.ɵɵprojectionDef(_c0$Z);
204
+ i0.ɵɵprojectionDef(_c0$_);
205
205
  i0.ɵɵelementStart(0, "header", 0);
206
206
  i0.ɵɵelementStart(1, "div", 1);
207
207
  i0.ɵɵelementStart(2, "div", 2);
@@ -258,13 +258,13 @@ HeaderBarComponent.ɵcmp = i0.ɵɵdefineComponent({ type: HeaderBarComponent, se
258
258
  type: Output
259
259
  }] }); })();
260
260
 
261
- const _c0$Y = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
261
+ const _c0$Z = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
262
262
  const _c1$q = ["[leftNavLinks]", "[rightNavLinks]"];
263
263
  class NavigationComponent {
264
264
  }
265
265
  NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
266
266
  NavigationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$q, decls: 4, vars: 2, consts: [[1, "cut-nav-bar"]], template: function NavigationComponent_Template(rf, ctx) { if (rf & 1) {
267
- i0.ɵɵprojectionDef(_c0$Y);
267
+ i0.ɵɵprojectionDef(_c0$Z);
268
268
  i0.ɵɵelementStart(0, "div");
269
269
  i0.ɵɵelementStart(1, "nav", 0);
270
270
  i0.ɵɵprojection(2);
@@ -381,13 +381,13 @@ HeadersModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[CommonModule, RouterMod
381
381
  }]
382
382
  }], null, null); })();
383
383
 
384
- const _c0$X = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
384
+ const _c0$Y = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
385
385
  const _c1$p = ["[topBody]", "[leftBody]", "[rightBody]"];
386
386
  class BodyComponent {
387
387
  }
388
388
  BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
389
389
  BodyComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$p, decls: 4, vars: 0, consts: [[1, "global-display"]], template: function BodyComponent_Template(rf, ctx) { if (rf & 1) {
390
- i0.ɵɵprojectionDef(_c0$X);
390
+ i0.ɵɵprojectionDef(_c0$Y);
391
391
  i0.ɵɵelementStart(0, "div", 0);
392
392
  i0.ɵɵprojection(1);
393
393
  i0.ɵɵprojection(2, 1);
@@ -404,7 +404,7 @@ BodyComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [
404
404
  }]
405
405
  }], null, null); })();
406
406
 
407
- const _c0$W = function (a0) { return { "govuk-input--error": a0 }; };
407
+ const _c0$X = function (a0) { return { "govuk-input--error": a0 }; };
408
408
  function DateInputComponent_div_16_Template(rf, ctx) { if (rf & 1) {
409
409
  const _r8 = i0.ɵɵgetCurrentView();
410
410
  i0.ɵɵelementStart(0, "div", 12);
@@ -420,7 +420,7 @@ function DateInputComponent_div_16_Template(rf, ctx) { if (rf & 1) {
420
420
  i0.ɵɵadvance(1);
421
421
  i0.ɵɵproperty("for", ctx_r3.hourId());
422
422
  i0.ɵɵadvance(2);
423
- i0.ɵɵproperty("id", ctx_r3.hourId())("name", ctx_r3.hourId())("value", ctx_r3.displayHour)("ngClass", i0.ɵɵpureFunction1(5, _c0$W, ctx_r3.isInvalid));
423
+ i0.ɵɵproperty("id", ctx_r3.hourId())("name", ctx_r3.hourId())("value", ctx_r3.displayHour)("ngClass", i0.ɵɵpureFunction1(5, _c0$X, ctx_r3.isInvalid));
424
424
  } }
425
425
  function DateInputComponent_div_17_Template(rf, ctx) { if (rf & 1) {
426
426
  const _r13 = i0.ɵɵgetCurrentView();
@@ -437,7 +437,7 @@ function DateInputComponent_div_17_Template(rf, ctx) { if (rf & 1) {
437
437
  i0.ɵɵadvance(1);
438
438
  i0.ɵɵproperty("for", ctx_r4.minuteId());
439
439
  i0.ɵɵadvance(2);
440
- i0.ɵɵproperty("id", ctx_r4.minuteId())("name", ctx_r4.minuteId())("value", ctx_r4.displayMinute)("ngClass", i0.ɵɵpureFunction1(5, _c0$W, ctx_r4.isInvalid));
440
+ i0.ɵɵproperty("id", ctx_r4.minuteId())("name", ctx_r4.minuteId())("value", ctx_r4.displayMinute)("ngClass", i0.ɵɵpureFunction1(5, _c0$X, ctx_r4.isInvalid));
441
441
  } }
442
442
  function DateInputComponent_div_18_Template(rf, ctx) { if (rf & 1) {
443
443
  const _r18 = i0.ɵɵgetCurrentView();
@@ -454,7 +454,7 @@ function DateInputComponent_div_18_Template(rf, ctx) { if (rf & 1) {
454
454
  i0.ɵɵadvance(1);
455
455
  i0.ɵɵproperty("for", ctx_r5.secondId());
456
456
  i0.ɵɵadvance(2);
457
- i0.ɵɵproperty("id", ctx_r5.secondId())("name", ctx_r5.secondId())("value", ctx_r5.displaySecond)("ngClass", i0.ɵɵpureFunction1(5, _c0$W, ctx_r5.isInvalid));
457
+ i0.ɵɵproperty("id", ctx_r5.secondId())("name", ctx_r5.secondId())("value", ctx_r5.displaySecond)("ngClass", i0.ɵɵpureFunction1(5, _c0$X, ctx_r5.isInvalid));
458
458
  } }
459
459
  class DateInputComponent {
460
460
  constructor() {
@@ -683,15 +683,15 @@ DateInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: DateInputComponent, se
683
683
  i0.ɵɵadvance(2);
684
684
  i0.ɵɵproperty("for", ctx.dayId());
685
685
  i0.ɵɵadvance(2);
686
- i0.ɵɵproperty("id", ctx.dayId())("name", ctx.dayId())("value", ctx.displayDay)("ngClass", i0.ɵɵpureFunction1(18, _c0$W, ctx.isInvalid));
686
+ i0.ɵɵproperty("id", ctx.dayId())("name", ctx.dayId())("value", ctx.displayDay)("ngClass", i0.ɵɵpureFunction1(18, _c0$X, ctx.isInvalid));
687
687
  i0.ɵɵadvance(3);
688
688
  i0.ɵɵproperty("for", ctx.monthId());
689
689
  i0.ɵɵadvance(2);
690
- i0.ɵɵproperty("id", ctx.monthId())("name", ctx.monthId())("value", ctx.displayMonth)("ngClass", i0.ɵɵpureFunction1(20, _c0$W, ctx.isInvalid));
690
+ i0.ɵɵproperty("id", ctx.monthId())("name", ctx.monthId())("value", ctx.displayMonth)("ngClass", i0.ɵɵpureFunction1(20, _c0$X, ctx.isInvalid));
691
691
  i0.ɵɵadvance(3);
692
692
  i0.ɵɵproperty("for", ctx.yearId());
693
693
  i0.ɵɵadvance(2);
694
- i0.ɵɵproperty("id", ctx.yearId())("name", ctx.yearId())("value", ctx.displayYear)("ngClass", i0.ɵɵpureFunction1(22, _c0$W, ctx.isInvalid));
694
+ i0.ɵɵproperty("id", ctx.yearId())("name", ctx.yearId())("value", ctx.displayYear)("ngClass", i0.ɵɵpureFunction1(22, _c0$X, ctx.isInvalid));
695
695
  i0.ɵɵadvance(2);
696
696
  i0.ɵɵproperty("ngIf", ctx.isDateTime);
697
697
  i0.ɵɵadvance(1);
@@ -761,7 +761,7 @@ function AlertComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
761
761
  i0.ɵɵelementEnd();
762
762
  i0.ɵɵelementContainerEnd();
763
763
  } }
764
- const _c0$V = ["*"];
764
+ const _c0$W = ["*"];
765
765
  var AlertMessageType;
766
766
  (function (AlertMessageType) {
767
767
  AlertMessageType["WARNING"] = "warning";
@@ -781,7 +781,7 @@ AlertComponent.TYPE_SUCCESS = 'success';
781
781
  AlertComponent.TYPE_ERROR = 'error';
782
782
  AlertComponent.TYPE_INFORMATION = 'information';
783
783
  AlertComponent.ɵfac = function AlertComponent_Factory(t) { return new (t || AlertComponent)(); };
784
- AlertComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AlertComponent, selectors: [["cut-alert"]], inputs: { type: "type", showIcon: "showIcon" }, ngContentSelectors: _c0$V, decls: 10, vars: 10, consts: [[1, "hmcts-banner"], [3, "ngSwitch"], [4, "ngSwitchCase"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], ["d", "M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"], ["d", "M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"]], template: function AlertComponent_Template(rf, ctx) { if (rf & 1) {
784
+ AlertComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AlertComponent, selectors: [["cut-alert"]], inputs: { type: "type", showIcon: "showIcon" }, ngContentSelectors: _c0$W, decls: 10, vars: 10, consts: [[1, "hmcts-banner"], [3, "ngSwitch"], [4, "ngSwitchCase"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], ["d", "M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"], ["d", "M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"]], template: function AlertComponent_Template(rf, ctx) { if (rf & 1) {
785
785
  i0.ɵɵprojectionDef();
786
786
  i0.ɵɵelementStart(0, "div", 0);
787
787
  i0.ɵɵelementContainerStart(1, 1);
@@ -1012,7 +1012,7 @@ NotificationBannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: NotificationB
1012
1012
  type: Output
1013
1013
  }] }); })();
1014
1014
 
1015
- const _c0$U = function (a0) { return { "js-hidden": a0 }; };
1015
+ const _c0$V = function (a0) { return { "js-hidden": a0 }; };
1016
1016
  const _c1$o = ["*"];
1017
1017
  class TabComponent {
1018
1018
  }
@@ -1023,7 +1023,7 @@ TabComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["
1023
1023
  i0.ɵɵprojection(1);
1024
1024
  i0.ɵɵelementEnd();
1025
1025
  } if (rf & 2) {
1026
- i0.ɵɵproperty("id", ctx.id)("ngClass", i0.ɵɵpureFunction1(3, _c0$U, !ctx.selected));
1026
+ i0.ɵɵproperty("id", ctx.id)("ngClass", i0.ɵɵpureFunction1(3, _c0$V, !ctx.selected));
1027
1027
  i0.ɵɵattribute("aria-hidden", !ctx.selected);
1028
1028
  } }, directives: [i1.NgClass], styles: [".tabs-toggle[_ngcontent-%COMP%]{display:block;padding:10px 15px 3px;margin-bottom:8px}.tabs-toggle[aria-selected=true][_ngcontent-%COMP%]{color:#0b0c0c;text-decoration:none;border-bottom:none}.tabs-toggle[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#005ea5}@media (max-width:640px){.tabs-list[_ngcontent-%COMP%]{border-bottom:1px solid #bfc1c3;margin-left:-15px;margin-right:-15px}.tabs-toggle[_ngcontent-%COMP%]{border-top:1px solid #bfc1c3}.tabs-toggle[_ngcontent-%COMP%]:focus{color:#0b0c0c;outline:none}}@media (min-width:641px){.tabs-panel[_ngcontent-%COMP%]{border-top:1px solid #bfc1c3;clear:both;overflow:hidden}.tabs-list[_ngcontent-%COMP%]{float:left}.tabs-list-item[_ngcontent-%COMP%]{float:left;position:relative;bottom:-1px;padding-top:10px}.tabs-toggle[_ngcontent-%COMP%]{background-color:#dee0e2;border:1px solid transparent;float:left;margin:0 6px 0 0;text-decoration:none}.tabs-toggle[_ngcontent-%COMP%]:visited{color:#005ea5}.tabs-toggle-selected[_ngcontent-%COMP%], .tabs-toggle[aria-selected=true][_ngcontent-%COMP%]{background-color:#fff;border-bottom:0;border-color:#bfc1c3;padding-bottom:11px;margin-bottom:0;color:#0b0c0c}}"] });
1029
1029
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabComponent, [{
@@ -1043,7 +1043,7 @@ TabComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["
1043
1043
  type: Input
1044
1044
  }] }); })();
1045
1045
 
1046
- const _c0$T = ["tab"];
1046
+ const _c0$U = ["tab"];
1047
1047
  const _c1$n = function () { return ["."]; };
1048
1048
  const _c2$3 = function (a0) { return { "tabs-toggle-selected": a0 }; };
1049
1049
  function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
@@ -1088,7 +1088,7 @@ TabsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TabsComponent, selectors: [
1088
1088
  let _t;
1089
1089
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.panels = _t);
1090
1090
  } }, viewQuery: function TabsComponent_Query(rf, ctx) { if (rf & 1) {
1091
- i0.ɵɵviewQuery(_c0$T, 1);
1091
+ i0.ɵɵviewQuery(_c0$U, 1);
1092
1092
  } if (rf & 2) {
1093
1093
  let _t;
1094
1094
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabs = _t);
@@ -1153,7 +1153,7 @@ TabsModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[
1153
1153
  }]
1154
1154
  }], null, null); })();
1155
1155
 
1156
- const _c0$S = function (a0, a1) { return { caseLocked: a0, someoneViewing: a1 }; };
1156
+ const _c0$T = function (a0, a1) { return { caseLocked: a0, someoneViewing: a1 }; };
1157
1157
  class ActivityBannerComponent {
1158
1158
  constructor() { }
1159
1159
  ngOnInit() {
@@ -1170,7 +1170,7 @@ ActivityBannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ActivityBannerCom
1170
1170
  i0.ɵɵelementEnd();
1171
1171
  i0.ɵɵelementEnd();
1172
1172
  } if (rf & 2) {
1173
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(4, _c0$S, ctx.bannerType === "editor", ctx.bannerType === "viewer"));
1173
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(4, _c0$T, ctx.bannerType === "editor", ctx.bannerType === "viewer"));
1174
1174
  i0.ɵɵadvance(2);
1175
1175
  i0.ɵɵpropertyInterpolate("alt", ctx.description);
1176
1176
  i0.ɵɵpropertyInterpolate("src", ctx.imageLink, i0.ɵɵsanitizeUrl);
@@ -2821,9 +2821,12 @@ class CaseField {
2821
2821
  this._list_items = [];
2822
2822
  }
2823
2823
  get value() {
2824
- if (this.isDynamic()) {
2824
+ if (this.field_type && (this.field_type.type === 'DynamicList' || this.field_type.type === 'DynamicRadioList')) {
2825
2825
  return this._value && this._value.value ? this._value.value.code : this._value;
2826
2826
  }
2827
+ else if (this.field_type && this.field_type.type === 'DynamicMultiSelectList') {
2828
+ return this._value && this._value.value ? this._value.value : this._value;
2829
+ }
2827
2830
  else {
2828
2831
  return this._value;
2829
2832
  }
@@ -2897,7 +2900,7 @@ class CaseField {
2897
2900
  return this.field_type && this.field_type.type === 'Complex';
2898
2901
  }
2899
2902
  isDynamic() {
2900
- const dynamicFieldTypes = ['DynamicList', 'DynamicRadioList'];
2903
+ const dynamicFieldTypes = ['DynamicList', 'DynamicRadioList', 'DynamicMultiSelectList'];
2901
2904
  if (!this.field_type) {
2902
2905
  return false;
2903
2906
  }
@@ -4968,6 +4971,9 @@ class FieldTypeSanitiser {
4968
4971
  }
4969
4972
  caseFields.forEach(caseField => {
4970
4973
  switch (caseField.field_type.type) {
4974
+ case FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST:
4975
+ this.convertArrayToDynamicListOutput(caseField, data);
4976
+ break;
4971
4977
  case FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_RADIO_LIST:
4972
4978
  case FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_LIST:
4973
4979
  this.convertStringToDynamicListOutput(caseField, data);
@@ -4985,6 +4991,17 @@ class FieldTypeSanitiser {
4985
4991
  }
4986
4992
  });
4987
4993
  }
4994
+ convertArrayToDynamicListOutput(field, data) {
4995
+ const values = data[field.id];
4996
+ if (Array.isArray(values)) {
4997
+ const listItems = this.getListItems(field);
4998
+ const matches = listItems.filter(item => values.map(v => v.code).indexOf(item.code) !== -1);
4999
+ data[field.id] = {
5000
+ value: matches,
5001
+ list_items: listItems
5002
+ };
5003
+ }
5004
+ }
4988
5005
  convertStringToDynamicListOutput(field, data) {
4989
5006
  const stringValue = data[field.id];
4990
5007
  if (typeof stringValue === 'string') {
@@ -5014,6 +5031,7 @@ FieldTypeSanitiser.FIELD_TYPE_COMPLEX = 'Complex';
5014
5031
  FieldTypeSanitiser.FIELD_TYPE_COLLECTION = 'Collection';
5015
5032
  FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_LIST = 'DynamicList';
5016
5033
  FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_RADIO_LIST = 'DynamicRadioList';
5034
+ FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST = 'DynamicMultiSelectList';
5017
5035
  FieldTypeSanitiser.ɵfac = function FieldTypeSanitiser_Factory(t) { return new (t || FieldTypeSanitiser)(); };
5018
5036
  FieldTypeSanitiser.ɵprov = i0.ɵɵdefineInjectable({ token: FieldTypeSanitiser, factory: FieldTypeSanitiser.ɵfac });
5019
5037
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FieldTypeSanitiser, [{
@@ -7192,13 +7210,215 @@ WizardPageFieldToCaseFieldMapper.ɵprov = i0.ɵɵdefineInjectable({ token: Wizar
7192
7210
  }]
7193
7211
  }], null, null); })();
7194
7212
 
7213
+ const MULTIPLE_TASKS_FOUND = 'More than one task found!';
7214
+ class WorkAllocationService {
7215
+ constructor(http, appConfig, errorService, alertService, sessionStorageService) {
7216
+ this.http = http;
7217
+ this.appConfig = appConfig;
7218
+ this.errorService = errorService;
7219
+ this.alertService = alertService;
7220
+ this.sessionStorageService = sessionStorageService;
7221
+ // Check to see if work allocation is enabled
7222
+ }
7223
+ /**
7224
+ * Call the API to get tasks matching the search criteria.
7225
+ * @param searchRequest The search parameters that specify which tasks to match.
7226
+ */
7227
+ searchTasks(searchRequest) {
7228
+ // Do not need to check if WA enabled as parent method will do that
7229
+ const url = `${this.appConfig.getWorkAllocationApiUrl()}/searchForCompletable`;
7230
+ return this.http
7231
+ .post(url, { searchRequest }, null, false)
7232
+ .pipe(map(response => response), catchError(error => {
7233
+ this.errorService.setError(error);
7234
+ // explicitly eat away 401 error and 400 error
7235
+ if (error && error.status && (error.status === 401 || error.status === 400)) {
7236
+ // do nothing
7237
+ console.log('error status 401 or 400', error);
7238
+ }
7239
+ else {
7240
+ return throwError(error);
7241
+ }
7242
+ }));
7243
+ }
7244
+ isWAEnabled(jurisdiction, caseType) {
7245
+ this.features = this.appConfig.getWAServiceConfig();
7246
+ let enabled = false;
7247
+ if (!jurisdiction || !caseType) {
7248
+ const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo'));
7249
+ jurisdiction = caseInfo.jurisdiction;
7250
+ caseType = caseInfo.caseType;
7251
+ }
7252
+ if (!this.features || !this.features.configurations) {
7253
+ return false;
7254
+ }
7255
+ this.features.configurations.forEach(serviceConfig => {
7256
+ if (serviceConfig.serviceName === jurisdiction && (serviceConfig.caseTypes.indexOf(caseType) !== -1)) {
7257
+ enabled = true;
7258
+ }
7259
+ });
7260
+ return enabled;
7261
+ }
7262
+ /**
7263
+ * Call the API to assign a task.
7264
+ * @param taskId specifies which task should be assigned.
7265
+ * @param userId specifies the user the task should be assigned to.
7266
+ */
7267
+ assignTask(taskId, userId) {
7268
+ if (!this.isWAEnabled()) {
7269
+ return of(null);
7270
+ }
7271
+ const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/assign`;
7272
+ return this.http
7273
+ .post(url, { userId })
7274
+ .pipe(catchError(error => {
7275
+ this.errorService.setError(error);
7276
+ return throwError(error);
7277
+ }));
7278
+ }
7279
+ /**
7280
+ * Call the API to complete a task.
7281
+ * @param taskId specifies which task should be completed.
7282
+ */
7283
+ completeTask(taskId) {
7284
+ if (!this.isWAEnabled()) {
7285
+ return of(null);
7286
+ }
7287
+ const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
7288
+ return this.http
7289
+ .post(url, {})
7290
+ .pipe(catchError(error => {
7291
+ this.errorService.setError(error);
7292
+ // this will subscribe to get the user details and decide whether to display an error message
7293
+ this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
7294
+ this.handleTaskCompletionError(response);
7295
+ });
7296
+ return throwError(error);
7297
+ }));
7298
+ }
7299
+ /**
7300
+ * Call the API to assign and complete a task.
7301
+ * @param taskId specifies which task should be completed.
7302
+ */
7303
+ assignAndCompleteTask(taskId) {
7304
+ if (!this.isWAEnabled()) {
7305
+ return of(null);
7306
+ }
7307
+ const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
7308
+ return this.http
7309
+ .post(url, {
7310
+ completion_options: {
7311
+ assign_and_complete: true
7312
+ }
7313
+ })
7314
+ .pipe(catchError(error => {
7315
+ this.errorService.setError(error);
7316
+ // this will subscribe to get the user details and decide whether to display an error message
7317
+ this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
7318
+ this.handleTaskCompletionError(response);
7319
+ });
7320
+ return throwError(error);
7321
+ }));
7322
+ }
7323
+ /**
7324
+ * Handles the response from the observable to get the user details when task is completed.
7325
+ * @param response is the response given from the observable which contains the user detaild.
7326
+ */
7327
+ handleTaskCompletionError(response) {
7328
+ const userDetails = response;
7329
+ if (this.userIsCaseworker(userDetails.userInfo.roles)) {
7330
+ // when submitting the completion of task if not yet rendered cases/case confirm then preserve the alert for re-rendering
7331
+ this.alertService.setPreserveAlerts(true, ['cases/case', 'submit']);
7332
+ this.alertService.warning('A task could not be completed successfully. Please complete the task associated with the case manually.');
7333
+ }
7334
+ }
7335
+ /**
7336
+ * Returns true if the user's role is equivalent to a caseworker.
7337
+ * @param roles is the list of roles found from the current user.
7338
+ */
7339
+ userIsCaseworker(roles) {
7340
+ const lowerCaseRoles = roles.map(role => role.toLowerCase());
7341
+ // When/if lib & target permanently change to es2016, replace indexOf with includes
7342
+ return (lowerCaseRoles.indexOf(WorkAllocationService.iACCaseOfficer) !== -1)
7343
+ || (lowerCaseRoles.indexOf(WorkAllocationService.iACAdmOfficer) !== -1);
7344
+ }
7345
+ /**
7346
+ * Look for open tasks for a case and event combination. There are 5 possible scenarios:
7347
+ * 1. No tasks found => Success.
7348
+ * 2. One task found => Mark as done => Success.
7349
+ * 3. One task found => Mark as done throws error => Failure.
7350
+ * 4. More than one task found => Failure.
7351
+ * 5. Search call throws an error => Failure.
7352
+ * @param ccdId The ID of the case to find tasks for.
7353
+ * @param eventId The ID of the event to find tasks for.
7354
+ */
7355
+ completeAppropriateTask(ccdId, eventId, jurisdiction, caseTypeId) {
7356
+ if (!this.isWAEnabled(jurisdiction, caseTypeId)) {
7357
+ return of(null);
7358
+ }
7359
+ const taskSearchParameter = {
7360
+ ccdId,
7361
+ eventId,
7362
+ jurisdiction,
7363
+ caseTypeId
7364
+ };
7365
+ return this.searchTasks(taskSearchParameter)
7366
+ .pipe(map((response) => {
7367
+ const tasks = response.tasks;
7368
+ if (tasks && tasks.length > 0) {
7369
+ if (tasks.length === 1) {
7370
+ this.completeTask(tasks[0].id).subscribe();
7371
+ }
7372
+ else {
7373
+ // This is a problem. Throw an appropriate error.
7374
+ throw new Error(MULTIPLE_TASKS_FOUND);
7375
+ }
7376
+ }
7377
+ return true; // All good. Nothing to see here.
7378
+ }), catchError(error => {
7379
+ // Simply rethrow it.
7380
+ return throwError(error);
7381
+ }));
7382
+ }
7383
+ /**
7384
+ * Return tasks for case and event.
7385
+ */
7386
+ getTasksByCaseIdAndEventId(eventId, caseId, caseType, jurisdiction) {
7387
+ const defaultPayload = {
7388
+ task_required_for_event: false,
7389
+ tasks: []
7390
+ };
7391
+ if (!this.isWAEnabled()) {
7392
+ return of(defaultPayload);
7393
+ }
7394
+ return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/case/tasks/${caseId}/event/${eventId}/caseType/${caseType}/jurisdiction/${jurisdiction}`);
7395
+ }
7396
+ /**
7397
+ * Call the API to get a task
7398
+ */
7399
+ getTask(taskId) {
7400
+ if (!this.isWAEnabled()) {
7401
+ return of({ task: null });
7402
+ }
7403
+ return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}`);
7404
+ }
7405
+ }
7406
+ WorkAllocationService.iACCaseOfficer = 'caseworker-ia-caseofficer';
7407
+ WorkAllocationService.iACAdmOfficer = 'caseworker-ia-admofficer';
7408
+ WorkAllocationService.ɵfac = function WorkAllocationService_Factory(t) { return new (t || WorkAllocationService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(AlertService), i0.ɵɵinject(SessionStorageService)); };
7409
+ WorkAllocationService.ɵprov = i0.ɵɵdefineInjectable({ token: WorkAllocationService, factory: WorkAllocationService.ɵfac });
7410
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkAllocationService, [{
7411
+ type: Injectable
7412
+ }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }, { type: AlertService }, { type: SessionStorageService }]; }, null); })();
7413
+
7195
7414
  class CasesService {
7196
- constructor(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, loadingService, sessionStorageService) {
7415
+ constructor(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, workAllocationService, loadingService, sessionStorageService) {
7197
7416
  this.http = http;
7198
7417
  this.appConfig = appConfig;
7199
7418
  this.orderService = orderService;
7200
7419
  this.errorService = errorService;
7201
7420
  this.wizardPageFieldToCaseFieldMapper = wizardPageFieldToCaseFieldMapper;
7421
+ this.workAllocationService = workAllocationService;
7202
7422
  this.loadingService = loadingService;
7203
7423
  this.sessionStorageService = sessionStorageService;
7204
7424
  this.get = this.getCaseView;
@@ -7424,11 +7644,11 @@ CasesService.V2_MEDIATYPE_CASE_DATA_VALIDATE = 'application/vnd.uk.gov.hmcts.ccd
7424
7644
  CasesService.V2_MEDIATYPE_CREATE_EVENT = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-event.v2+json;charset=UTF-8';
7425
7645
  CasesService.V2_MEDIATYPE_CREATE_CASE = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-case.v2+json;charset=UTF-8';
7426
7646
  CasesService.PUI_CASE_MANAGER = 'pui-case-manager';
7427
- CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(OrderService), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0.ɵɵinject(LoadingService), i0.ɵɵinject(SessionStorageService)); };
7647
+ CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(OrderService), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0.ɵɵinject(WorkAllocationService), i0.ɵɵinject(LoadingService), i0.ɵɵinject(SessionStorageService)); };
7428
7648
  CasesService.ɵprov = i0.ɵɵdefineInjectable({ token: CasesService, factory: CasesService.ɵfac });
7429
7649
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasesService, [{
7430
7650
  type: Injectable
7431
- }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: LoadingService }, { type: SessionStorageService }]; }, null); })();
7651
+ }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: WorkAllocationService }, { type: LoadingService }, { type: SessionStorageService }]; }, null); })();
7432
7652
 
7433
7653
  class EventTriggerService {
7434
7654
  constructor() {
@@ -7947,290 +8167,89 @@ class EventCompletionStateMachineService {
7947
8167
  }
7948
8168
  addTransitionsForStateTaskCompletedOrCancelled() {
7949
8169
  this.stateTaskCompletedOrCancelled.addTransition(EventCompletionStates.Final, this.stateFinal);
7950
- }
7951
- addTransitionsForStateCompleteEventAndTask() {
7952
- this.stateCompleteEventAndTask.addTransition(EventCompletionStates.Final, this.stateFinal);
7953
- }
7954
- addTransitionsForStateTaskAssignedToAnotherUser() {
7955
- this.stateTaskAssignedToAnotherUser.addTransition(EventCompletionStates.Final, this.stateFinal);
7956
- }
7957
- addTransitionsForStateTaskUnassigned() {
7958
- this.stateTaskUnassigned.addTransition(EventCompletionStates.Final, this.stateFinal);
7959
- }
7960
- }
7961
- EventCompletionStateMachineService.ɵfac = function EventCompletionStateMachineService_Factory(t) { return new (t || EventCompletionStateMachineService)(); };
7962
- EventCompletionStateMachineService.ɵprov = i0.ɵɵdefineInjectable({ token: EventCompletionStateMachineService, factory: EventCompletionStateMachineService.ɵfac });
7963
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventCompletionStateMachineService, [{
7964
- type: Injectable
7965
- }], null, null); })();
7966
-
7967
- class JudicialworkerService {
7968
- constructor(http, appConfig, errorService) {
7969
- this.http = http;
7970
- this.appConfig = appConfig;
7971
- this.errorService = errorService;
7972
- }
7973
- getJudicialworkers(userIds, serviceId) {
7974
- const url = `${this.appConfig.getWorkAllocationApiUrl()}/getJudicialUsers`;
7975
- return this.http
7976
- .post(url, { userIds, services: [serviceId] })
7977
- .pipe(catchError(error => {
7978
- this.errorService.setError(error);
7979
- return throwError(error);
7980
- }));
7981
- }
7982
- }
7983
- JudicialworkerService.ɵfac = function JudicialworkerService_Factory(t) { return new (t || JudicialworkerService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService)); };
7984
- JudicialworkerService.ɵprov = i0.ɵɵdefineInjectable({ token: JudicialworkerService, factory: JudicialworkerService.ɵfac });
7985
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JudicialworkerService, [{
7986
- type: Injectable
7987
- }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }]; }, null); })();
7988
-
7989
- class PageValidationService {
7990
- constructor(caseFieldService) {
7991
- this.caseFieldService = caseFieldService;
7992
- }
7993
- isPageValid(page, editForm) {
7994
- return page.case_fields
7995
- .filter(caseField => !this.caseFieldService.isReadOnly(caseField))
7996
- .filter(caseField => !this.isHidden(caseField, editForm))
7997
- .every(caseField => {
7998
- const theControl = editForm.controls['data'].get(caseField.id);
7999
- return this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl);
8000
- });
8001
- }
8002
- isHidden(caseField, editForm, path) {
8003
- const formFields = editForm.getRawValue();
8004
- const condition = ShowCondition.getInstance(caseField.show_condition);
8005
- if (path && path.indexOf('_' + caseField.id + '_') === -1) {
8006
- path = `${path}${caseField.id}`;
8007
- }
8008
- return !condition.match(formFields.data, path);
8009
- }
8010
- checkDocumentField(caseField, theControl) {
8011
- if (caseField.field_type.id !== 'Document') {
8012
- return true;
8013
- }
8014
- return !(this.checkMandatoryField(caseField, theControl));
8015
- }
8016
- checkOptionalField(caseField, theControl) {
8017
- if (!theControl) {
8018
- return this.caseFieldService.isOptional(caseField);
8019
- }
8020
- else {
8021
- return theControl.valid || theControl.disabled;
8022
- }
8023
- }
8024
- checkMandatoryField(caseField, theControl) {
8025
- return this.caseFieldService.isMandatory(caseField) && theControl === null;
8026
- }
8027
- }
8028
- PageValidationService.ɵfac = function PageValidationService_Factory(t) { return new (t || PageValidationService)(i0.ɵɵinject(CaseFieldService)); };
8029
- PageValidationService.ɵprov = i0.ɵɵdefineInjectable({ token: PageValidationService, factory: PageValidationService.ɵfac });
8030
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageValidationService, [{
8031
- type: Injectable
8032
- }], function () { return [{ type: CaseFieldService }]; }, null); })();
8033
-
8034
- const MULTIPLE_TASKS_FOUND = 'More than one task found!';
8035
- class WorkAllocationService {
8036
- constructor(http, appConfig, errorService, alertService, sessionStorageService) {
8037
- this.http = http;
8038
- this.appConfig = appConfig;
8039
- this.errorService = errorService;
8040
- this.alertService = alertService;
8041
- this.sessionStorageService = sessionStorageService;
8042
- // Check to see if work allocation is enabled
8043
- }
8044
- /**
8045
- * Call the API to get tasks matching the search criteria.
8046
- * @param searchRequest The search parameters that specify which tasks to match.
8047
- */
8048
- searchTasks(searchRequest) {
8049
- // Do not need to check if WA enabled as parent method will do that
8050
- const url = `${this.appConfig.getWorkAllocationApiUrl()}/searchForCompletable`;
8051
- return this.http
8052
- .post(url, { searchRequest }, null, false)
8053
- .pipe(map(response => response), catchError(error => {
8054
- this.errorService.setError(error);
8055
- // explicitly eat away 401 error and 400 error
8056
- if (error && error.status && (error.status === 401 || error.status === 400)) {
8057
- // do nothing
8058
- console.log('error status 401 or 400', error);
8059
- }
8060
- else {
8061
- return throwError(error);
8062
- }
8063
- }));
8064
- }
8065
- isWAEnabled(jurisdiction, caseType) {
8066
- this.features = this.appConfig.getWAServiceConfig();
8067
- let enabled = false;
8068
- if (!jurisdiction || !caseType) {
8069
- const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo'));
8070
- jurisdiction = caseInfo.jurisdiction;
8071
- caseType = caseInfo.caseType;
8072
- }
8073
- if (!this.features || !this.features.configurations) {
8074
- return false;
8075
- }
8076
- this.features.configurations.forEach(serviceConfig => {
8077
- if (serviceConfig.serviceName === jurisdiction && (serviceConfig.caseTypes.indexOf(caseType) !== -1)) {
8078
- enabled = true;
8079
- }
8080
- });
8081
- return enabled;
8082
- }
8083
- /**
8084
- * Call the API to assign a task.
8085
- * @param taskId specifies which task should be assigned.
8086
- * @param userId specifies the user the task should be assigned to.
8087
- */
8088
- assignTask(taskId, userId) {
8089
- if (!this.isWAEnabled()) {
8090
- return of(null);
8091
- }
8092
- const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/assign`;
8093
- return this.http
8094
- .post(url, { userId })
8095
- .pipe(catchError(error => {
8096
- this.errorService.setError(error);
8097
- return throwError(error);
8098
- }));
8099
- }
8100
- /**
8101
- * Call the API to complete a task.
8102
- * @param taskId specifies which task should be completed.
8103
- */
8104
- completeTask(taskId) {
8105
- if (!this.isWAEnabled()) {
8106
- return of(null);
8107
- }
8108
- const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
8109
- return this.http
8110
- .post(url, {})
8111
- .pipe(catchError(error => {
8112
- this.errorService.setError(error);
8113
- // this will subscribe to get the user details and decide whether to display an error message
8114
- this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
8115
- this.handleTaskCompletionError(response);
8116
- });
8117
- return throwError(error);
8118
- }));
8119
- }
8120
- /**
8121
- * Call the API to assign and complete a task.
8122
- * @param taskId specifies which task should be completed.
8123
- */
8124
- assignAndCompleteTask(taskId) {
8125
- if (!this.isWAEnabled()) {
8126
- return of(null);
8127
- }
8128
- const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
8129
- return this.http
8130
- .post(url, {
8131
- completion_options: {
8132
- assign_and_complete: true
8133
- }
8134
- })
8135
- .pipe(catchError(error => {
8136
- this.errorService.setError(error);
8137
- // this will subscribe to get the user details and decide whether to display an error message
8138
- this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
8139
- this.handleTaskCompletionError(response);
8140
- });
8141
- return throwError(error);
8142
- }));
8143
- }
8144
- /**
8145
- * Handles the response from the observable to get the user details when task is completed.
8146
- * @param response is the response given from the observable which contains the user detaild.
8147
- */
8148
- handleTaskCompletionError(response) {
8149
- const userDetails = response;
8150
- if (this.userIsCaseworker(userDetails.userInfo.roles)) {
8151
- // when submitting the completion of task if not yet rendered cases/case confirm then preserve the alert for re-rendering
8152
- this.alertService.setPreserveAlerts(true, ['cases/case', 'submit']);
8153
- this.alertService.warning('A task could not be completed successfully. Please complete the task associated with the case manually.');
8154
- }
8155
- }
8156
- /**
8157
- * Returns true if the user's role is equivalent to a caseworker.
8158
- * @param roles is the list of roles found from the current user.
8159
- */
8160
- userIsCaseworker(roles) {
8161
- const lowerCaseRoles = roles.map(role => role.toLowerCase());
8162
- // When/if lib & target permanently change to es2016, replace indexOf with includes
8163
- return (lowerCaseRoles.indexOf(WorkAllocationService.iACCaseOfficer) !== -1)
8164
- || (lowerCaseRoles.indexOf(WorkAllocationService.iACAdmOfficer) !== -1);
8165
- }
8166
- /**
8167
- * Look for open tasks for a case and event combination. There are 5 possible scenarios:
8168
- * 1. No tasks found => Success.
8169
- * 2. One task found => Mark as done => Success.
8170
- * 3. One task found => Mark as done throws error => Failure.
8171
- * 4. More than one task found => Failure.
8172
- * 5. Search call throws an error => Failure.
8173
- * @param ccdId The ID of the case to find tasks for.
8174
- * @param eventId The ID of the event to find tasks for.
8175
- */
8176
- completeAppropriateTask(ccdId, eventId, jurisdiction, caseTypeId) {
8177
- if (!this.isWAEnabled(jurisdiction, caseTypeId)) {
8178
- return of(null);
8179
- }
8180
- const taskSearchParameter = {
8181
- ccdId,
8182
- eventId,
8183
- jurisdiction,
8184
- caseTypeId
8185
- };
8186
- return this.searchTasks(taskSearchParameter)
8187
- .pipe(map((response) => {
8188
- const tasks = response.tasks;
8189
- if (tasks && tasks.length > 0) {
8190
- if (tasks.length === 1) {
8191
- this.completeTask(tasks[0].id).subscribe();
8192
- }
8193
- else {
8194
- // This is a problem. Throw an appropriate error.
8195
- throw new Error(MULTIPLE_TASKS_FOUND);
8196
- }
8197
- }
8198
- return true; // All good. Nothing to see here.
8199
- }), catchError(error => {
8200
- // Simply rethrow it.
8170
+ }
8171
+ addTransitionsForStateCompleteEventAndTask() {
8172
+ this.stateCompleteEventAndTask.addTransition(EventCompletionStates.Final, this.stateFinal);
8173
+ }
8174
+ addTransitionsForStateTaskAssignedToAnotherUser() {
8175
+ this.stateTaskAssignedToAnotherUser.addTransition(EventCompletionStates.Final, this.stateFinal);
8176
+ }
8177
+ addTransitionsForStateTaskUnassigned() {
8178
+ this.stateTaskUnassigned.addTransition(EventCompletionStates.Final, this.stateFinal);
8179
+ }
8180
+ }
8181
+ EventCompletionStateMachineService.ɵfac = function EventCompletionStateMachineService_Factory(t) { return new (t || EventCompletionStateMachineService)(); };
8182
+ EventCompletionStateMachineService.ɵprov = i0.ɵɵdefineInjectable({ token: EventCompletionStateMachineService, factory: EventCompletionStateMachineService.ɵfac });
8183
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventCompletionStateMachineService, [{
8184
+ type: Injectable
8185
+ }], null, null); })();
8186
+
8187
+ class JudicialworkerService {
8188
+ constructor(http, appConfig, errorService) {
8189
+ this.http = http;
8190
+ this.appConfig = appConfig;
8191
+ this.errorService = errorService;
8192
+ }
8193
+ getJudicialworkers(userIds, serviceId) {
8194
+ const url = `${this.appConfig.getWorkAllocationApiUrl()}/getJudicialUsers`;
8195
+ return this.http
8196
+ .post(url, { userIds, services: [serviceId] })
8197
+ .pipe(catchError(error => {
8198
+ this.errorService.setError(error);
8201
8199
  return throwError(error);
8202
8200
  }));
8203
8201
  }
8204
- /**
8205
- * Return tasks for case and event.
8206
- */
8207
- getTasksByCaseIdAndEventId(eventId, caseId, caseType, jurisdiction) {
8208
- const defaultPayload = {
8209
- task_required_for_event: false,
8210
- tasks: []
8211
- };
8212
- if (!this.isWAEnabled()) {
8213
- return of(defaultPayload);
8202
+ }
8203
+ JudicialworkerService.ɵfac = function JudicialworkerService_Factory(t) { return new (t || JudicialworkerService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService)); };
8204
+ JudicialworkerService.ɵprov = i0.ɵɵdefineInjectable({ token: JudicialworkerService, factory: JudicialworkerService.ɵfac });
8205
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JudicialworkerService, [{
8206
+ type: Injectable
8207
+ }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }]; }, null); })();
8208
+
8209
+ class PageValidationService {
8210
+ constructor(caseFieldService) {
8211
+ this.caseFieldService = caseFieldService;
8212
+ }
8213
+ isPageValid(page, editForm) {
8214
+ return page.case_fields
8215
+ .filter(caseField => !this.caseFieldService.isReadOnly(caseField))
8216
+ .filter(caseField => !this.isHidden(caseField, editForm))
8217
+ .every(caseField => {
8218
+ const theControl = editForm.controls['data'].get(caseField.id);
8219
+ return this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl);
8220
+ });
8221
+ }
8222
+ isHidden(caseField, editForm, path) {
8223
+ const formFields = editForm.getRawValue();
8224
+ const condition = ShowCondition.getInstance(caseField.show_condition);
8225
+ if (path && path.indexOf('_' + caseField.id + '_') === -1) {
8226
+ path = `${path}${caseField.id}`;
8214
8227
  }
8215
- return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/case/tasks/${caseId}/event/${eventId}/caseType/${caseType}/jurisdiction/${jurisdiction}`);
8228
+ return !condition.match(formFields.data, path);
8216
8229
  }
8217
- /**
8218
- * Call the API to get a task
8219
- */
8220
- getTask(taskId) {
8221
- if (!this.isWAEnabled()) {
8222
- return of({ task: null });
8230
+ checkDocumentField(caseField, theControl) {
8231
+ if (caseField.field_type.id !== 'Document') {
8232
+ return true;
8223
8233
  }
8224
- return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}`);
8234
+ return !(this.checkMandatoryField(caseField, theControl));
8235
+ }
8236
+ checkOptionalField(caseField, theControl) {
8237
+ if (!theControl) {
8238
+ return this.caseFieldService.isOptional(caseField);
8239
+ }
8240
+ else {
8241
+ return theControl.valid || theControl.disabled;
8242
+ }
8243
+ }
8244
+ checkMandatoryField(caseField, theControl) {
8245
+ return this.caseFieldService.isMandatory(caseField) && theControl === null;
8225
8246
  }
8226
8247
  }
8227
- WorkAllocationService.iACCaseOfficer = 'caseworker-ia-caseofficer';
8228
- WorkAllocationService.iACAdmOfficer = 'caseworker-ia-admofficer';
8229
- WorkAllocationService.ɵfac = function WorkAllocationService_Factory(t) { return new (t || WorkAllocationService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(AlertService), i0.ɵɵinject(SessionStorageService)); };
8230
- WorkAllocationService.ɵprov = i0.ɵɵdefineInjectable({ token: WorkAllocationService, factory: WorkAllocationService.ɵfac });
8231
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkAllocationService, [{
8248
+ PageValidationService.ɵfac = function PageValidationService_Factory(t) { return new (t || PageValidationService)(i0.ɵɵinject(CaseFieldService)); };
8249
+ PageValidationService.ɵprov = i0.ɵɵdefineInjectable({ token: PageValidationService, factory: PageValidationService.ɵfac });
8250
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageValidationService, [{
8232
8251
  type: Injectable
8233
- }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }, { type: AlertService }, { type: SessionStorageService }]; }, null); })();
8252
+ }], function () { return [{ type: CaseFieldService }]; }, null); })();
8234
8253
 
8235
8254
  class CaseEditComponent {
8236
8255
  constructor(fb, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService) {
@@ -9829,7 +9848,7 @@ WriteComplexFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteComplexFi
9829
9848
  type: Input
9830
9849
  }] }); })();
9831
9850
 
9832
- const _c0$R = ["writeComplexFieldComponent"];
9851
+ const _c0$S = ["writeComplexFieldComponent"];
9833
9852
  function WriteAddressFieldComponent_div_1_div_4_span_4_Template(rf, ctx) { if (rf & 1) {
9834
9853
  i0.ɵɵelementStart(0, "span", 14);
9835
9854
  i0.ɵɵtext(1, "Enter the Postcode");
@@ -10022,7 +10041,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
10022
10041
  }
10023
10042
  WriteAddressFieldComponent.ɵfac = function WriteAddressFieldComponent_Factory(t) { return new (t || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(AddressesService), i0.ɵɵdirectiveInject(IsCompoundPipe)); };
10024
10043
  WriteAddressFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["ccd-write-address-field"]], viewQuery: function WriteAddressFieldComponent_Query(rf, ctx) { if (rf & 1) {
10025
- i0.ɵɵviewQuery(_c0$R, 1);
10044
+ i0.ɵɵviewQuery(_c0$S, 1);
10026
10045
  i0.ɵɵviewQuery(FocusElementDirective, 1);
10027
10046
  } if (rf & 2) {
10028
10047
  let _t;
@@ -10608,7 +10627,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_7_Template(rf, ctx) { if
10608
10627
  i0.ɵɵadvance(1);
10609
10628
  i0.ɵɵproperty("formGroup", ctx_r10.caseFlagParentFormGroup)("optional", ctx_r10.flagCommentsOptional);
10610
10629
  } }
10611
- const _c0$Q = function (a0) { return { "form-group-error": a0 }; };
10630
+ const _c0$R = function (a0) { return { "form-group-error": a0 }; };
10612
10631
  function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
10613
10632
  i0.ɵɵelementStart(0, "div", 8);
10614
10633
  i0.ɵɵelementStart(1, "div", 9);
@@ -10627,7 +10646,7 @@ function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
10627
10646
  i0.ɵɵadvance(1);
10628
10647
  i0.ɵɵproperty("ngSwitch", ctx_r1.fieldState);
10629
10648
  i0.ɵɵadvance(1);
10630
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$Q, ctx_r1.errorMessages.length > 0));
10649
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$R, ctx_r1.errorMessages.length > 0));
10631
10650
  i0.ɵɵadvance(1);
10632
10651
  i0.ɵɵtextInterpolate1(" ", ctx_r1.createFlagCaption, " ");
10633
10652
  i0.ɵɵadvance(1);
@@ -11064,7 +11083,7 @@ const ɵReadCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInherit
11064
11083
  }]
11065
11084
  }], null, null); })();
11066
11085
 
11067
- const _c0$P = ["writeComplexFieldComponent"];
11086
+ const _c0$Q = ["writeComplexFieldComponent"];
11068
11087
  function WriteCaseLinkFieldComponent_span_2_Template(rf, ctx) { if (rf & 1) {
11069
11088
  i0.ɵɵelementStart(0, "span", 6);
11070
11089
  i0.ɵɵtext(1);
@@ -11142,7 +11161,7 @@ class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
11142
11161
  }
11143
11162
  WriteCaseLinkFieldComponent.ɵfac = function WriteCaseLinkFieldComponent_Factory(t) { return ɵWriteCaseLinkFieldComponent_BaseFactory(t || WriteCaseLinkFieldComponent); };
11144
11163
  WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLinkFieldComponent, selectors: [["ccd-write-case-link-field"]], viewQuery: function WriteCaseLinkFieldComponent_Query(rf, ctx) { if (rf & 1) {
11145
- i0.ɵɵviewQuery(_c0$P, 1);
11164
+ i0.ɵɵviewQuery(_c0$Q, 1);
11146
11165
  } if (rf & 2) {
11147
11166
  let _t;
11148
11167
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.writeComplexFieldComponent = _t.first);
@@ -11180,7 +11199,7 @@ const ɵWriteCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheri
11180
11199
  args: ['writeComplexFieldComponent']
11181
11200
  }] }); })();
11182
11201
 
11183
- const _c0$O = function (a0, a1, a2, a3, a4, a5) { return { id: a0, label: a1, field_type: a2, display_context_parameter: a3, value: a4, hidden: a5 }; };
11202
+ const _c0$P = function (a0, a1, a2, a3, a4, a5) { return { id: a0, label: a1, field_type: a2, display_context_parameter: a3, value: a4, hidden: a5 }; };
11184
11203
  function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) { if (rf & 1) {
11185
11204
  i0.ɵɵelementStart(0, "tbody");
11186
11205
  i0.ɵɵelementStart(1, "tr");
@@ -11193,7 +11212,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) { if (rf
11193
11212
  } if (rf & 2) {
11194
11213
  const ctx_r1 = i0.ɵɵnextContext(2);
11195
11214
  i0.ɵɵadvance(4);
11196
- i0.ɵɵproperty("caseField", i0.ɵɵpureFunction6(3, _c0$O, ctx_r1.caseField.label, ctx_r1.caseField.label, ctx_r1.caseField.field_type.collection_field_type, ctx_r1.caseField.display_context_parameter, ctx_r1.caseField.value, ctx_r1.caseField.hidden))("context", ctx_r1.context)("topLevelFormGroup", ctx_r1.topLevelFormGroup);
11215
+ i0.ɵɵproperty("caseField", i0.ɵɵpureFunction6(3, _c0$P, ctx_r1.caseField.label, ctx_r1.caseField.label, ctx_r1.caseField.field_type.collection_field_type, ctx_r1.caseField.display_context_parameter, ctx_r1.caseField.value, ctx_r1.caseField.hidden))("context", ctx_r1.context)("topLevelFormGroup", ctx_r1.topLevelFormGroup);
11197
11216
  } }
11198
11217
  const _c1$k = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
11199
11218
  function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { if (rf & 1) {
@@ -11321,7 +11340,7 @@ RemoveDialogComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RemoveDialogCompone
11321
11340
  }]
11322
11341
  }], function () { return [{ type: i1$3.MatDialogRef }]; }, null); })();
11323
11342
 
11324
- const _c0$N = ["collectionItem"];
11343
+ const _c0$O = ["collectionItem"];
11325
11344
  function WriteCollectionFieldComponent_h2_7_span_1_Template(rf, ctx) { if (rf & 1) {
11326
11345
  i0.ɵɵelementStart(0, "span", 9);
11327
11346
  i0.ɵɵtext(1);
@@ -11528,7 +11547,12 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
11528
11547
  addItem(doScroll) {
11529
11548
  // Manually resetting errors is required to prevent `ExpressionChangedAfterItHasBeenCheckedError`
11530
11549
  this.formArray.setErrors(null);
11531
- const item = { value: null };
11550
+ let item = { value: null };
11551
+ if (this.isCollectionDynamic()) {
11552
+ item = Object.assign({}, this.caseField.value[this.caseField.value.length - 1]);
11553
+ const key = Number(item['id'][item['id'].length - 1]) + 1;
11554
+ item.id = item['id'].replace(/.$/, key.toString());
11555
+ }
11532
11556
  this.caseField.value.push(item);
11533
11557
  const index = this.caseField.value.length - 1;
11534
11558
  const caseField = this.buildCaseField(item, index, true);
@@ -11551,6 +11575,12 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
11551
11575
  setTimeout(() => this.focusLastItem());
11552
11576
  }
11553
11577
  }
11578
+ isCollectionDynamic() {
11579
+ if (!this.caseField.field_type || !this.caseField.field_type.collection_field_type) {
11580
+ return false;
11581
+ }
11582
+ return this.caseField.field_type.collection_field_type.id === 'DynamicRadioList';
11583
+ }
11554
11584
  newCaseField(id, item, index, isNew = false) {
11555
11585
  const isNotAuthorisedToUpdate = !isNew && this.isNotAuthorisedToUpdate(index);
11556
11586
  const fieldType = plainToClassFromExist(new FieldType(), this.caseField.field_type.collection_field_type);
@@ -11695,7 +11725,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
11695
11725
  }
11696
11726
  WriteCollectionFieldComponent.ɵfac = function WriteCollectionFieldComponent_Factory(t) { return new (t || WriteCollectionFieldComponent)(i0.ɵɵdirectiveInject(i1$3.MatDialog), i0.ɵɵdirectiveInject(i2$1.ScrollToService), i0.ɵɵdirectiveInject(ProfileNotifier)); };
11697
11727
  WriteCollectionFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCollectionFieldComponent, selectors: [["ccd-write-collection-field"]], viewQuery: function WriteCollectionFieldComponent_Query(rf, ctx) { if (rf & 1) {
11698
- i0.ɵɵviewQuery(_c0$N, 1);
11728
+ i0.ɵɵviewQuery(_c0$O, 1);
11699
11729
  } if (rf & 2) {
11700
11730
  let _t;
11701
11731
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.items = _t);
@@ -12015,7 +12045,7 @@ FileUploadStateService.ɵprov = i0.ɵɵdefineInjectable({ token: FileUploadState
12015
12045
  type: Injectable
12016
12046
  }], null, null); })();
12017
12047
 
12018
- const _c0$M = ["fileInput"];
12048
+ const _c0$N = ["fileInput"];
12019
12049
  function WriteDocumentFieldComponent_span_6_Template(rf, ctx) { if (rf & 1) {
12020
12050
  i0.ɵɵelementStart(0, "span", 12);
12021
12051
  i0.ɵɵtext(1);
@@ -12293,7 +12323,7 @@ WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facili
12293
12323
  WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
12294
12324
  WriteDocumentFieldComponent.ɵfac = function WriteDocumentFieldComponent_Factory(t) { return new (t || WriteDocumentFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatDialog), i0.ɵɵdirectiveInject(FileUploadStateService)); };
12295
12325
  WriteDocumentFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) { if (rf & 1) {
12296
- i0.ɵɵviewQuery(_c0$M, 1);
12326
+ i0.ɵɵviewQuery(_c0$N, 1);
12297
12327
  } if (rf & 2) {
12298
12328
  let _t;
12299
12329
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
@@ -12455,7 +12485,7 @@ function WriteDynamicListFieldComponent_option_9_Template(rf, ctx) { if (rf & 1)
12455
12485
  i0.ɵɵadvance(1);
12456
12486
  i0.ɵɵtextInterpolate(type_r5.label);
12457
12487
  } }
12458
- const _c0$L = function (a0) { return { "form-group-error": a0 }; };
12488
+ const _c0$M = function (a0) { return { "form-group-error": a0 }; };
12459
12489
  class WriteDynamicListFieldComponent extends AbstractFieldWriteComponent {
12460
12490
  ngOnInit() {
12461
12491
  /**
@@ -12497,7 +12527,7 @@ WriteDynamicListFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDynam
12497
12527
  i0.ɵɵelementEnd();
12498
12528
  i0.ɵɵelementEnd();
12499
12529
  } if (rf & 2) {
12500
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$L, !ctx.dynamicListFormControl.valid && (ctx.dynamicListFormControl.dirty || ctx.dynamicListFormControl.touched)));
12530
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$M, !ctx.dynamicListFormControl.valid && (ctx.dynamicListFormControl.dirty || ctx.dynamicListFormControl.touched)));
12501
12531
  i0.ɵɵadvance(1);
12502
12532
  i0.ɵɵproperty("for", ctx.id());
12503
12533
  i0.ɵɵadvance(1);
@@ -12618,7 +12648,7 @@ function WriteDynamicRadioListFieldComponent_span_7_Template(rf, ctx) { if (rf &
12618
12648
  i0.ɵɵadvance(1);
12619
12649
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r3.dynamicRadioListControl.errors));
12620
12650
  } }
12621
- const _c0$K = function (a0) { return { selected: a0 }; };
12651
+ const _c0$L = function (a0) { return { selected: a0 }; };
12622
12652
  function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf & 1) {
12623
12653
  i0.ɵɵelementStart(0, "div", 10);
12624
12654
  i0.ɵɵelement(1, "input", 11);
@@ -12629,12 +12659,11 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
12629
12659
  } if (rf & 2) {
12630
12660
  const radioButton_r5 = ctx.$implicit;
12631
12661
  const ctx_r4 = i0.ɵɵnextContext();
12632
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$K, ctx_r4.dynamicRadioListControl.value === radioButton_r5.code));
12662
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$L, ctx_r4.dynamicRadioListControl.value === radioButton_r5.code));
12633
12663
  i0.ɵɵadvance(1);
12634
- i0.ɵɵpropertyInterpolate("name", ctx_r4.id());
12635
- i0.ɵɵproperty("id", ctx_r4.buildElementId(radioButton_r5.code))("formControl", ctx_r4.dynamicRadioListControl)("value", radioButton_r5.code);
12664
+ i0.ɵɵproperty("id", ctx_r4.createElementId(radioButton_r5.code))("name", ctx_r4.createElementId(radioButton_r5.code))("formControl", ctx_r4.dynamicRadioListControl)("value", radioButton_r5.code);
12636
12665
  i0.ɵɵadvance(1);
12637
- i0.ɵɵproperty("for", ctx_r4.buildElementId(radioButton_r5.code));
12666
+ i0.ɵɵproperty("for", ctx_r4.createElementId(radioButton_r5.code));
12638
12667
  i0.ɵɵadvance(1);
12639
12668
  i0.ɵɵtextInterpolate(radioButton_r5.label);
12640
12669
  } }
@@ -12658,8 +12687,8 @@ class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
12658
12687
  this.dynamicRadioListControl = this.registerControl(new FormControl(this.caseField.value));
12659
12688
  this.dynamicRadioListControl.setValue(this.caseField.value);
12660
12689
  }
12661
- buildElementId(name) {
12662
- return `${this.id()}-${name}`;
12690
+ createElementId(name) {
12691
+ return this.parent && this.parent.value ? this.parent.value.id + this.parent.value.value : super.createElementId(name);
12663
12692
  }
12664
12693
  }
12665
12694
  WriteDynamicRadioListFieldComponent.ɵfac = function WriteDynamicRadioListFieldComponent_Factory(t) { return ɵWriteDynamicRadioListFieldComponent_BaseFactory(t || WriteDynamicRadioListFieldComponent); };
@@ -12763,7 +12792,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
12763
12792
  i0.ɵɵadvance(1);
12764
12793
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.emailControl.errors, ctx_r2.caseField.label));
12765
12794
  } }
12766
- const _c0$J = function (a0) { return { "form-group-error": a0 }; };
12795
+ const _c0$K = function (a0) { return { "form-group-error": a0 }; };
12767
12796
  const _c1$h = function (a0) { return { "govuk-input--error": a0 }; };
12768
12797
  class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
12769
12798
  ngOnInit() {
@@ -12781,7 +12810,7 @@ WriteEmailFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteEmailFieldC
12781
12810
  i0.ɵɵelement(5, "input", 5);
12782
12811
  i0.ɵɵelementEnd();
12783
12812
  } if (rf & 2) {
12784
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$J, !ctx.emailControl.valid && (ctx.emailControl.dirty || ctx.emailControl.touched)));
12813
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$K, !ctx.emailControl.valid && (ctx.emailControl.dirty || ctx.emailControl.touched)));
12785
12814
  i0.ɵɵadvance(1);
12786
12815
  i0.ɵɵproperty("for", ctx.id());
12787
12816
  i0.ɵɵadvance(1);
@@ -12883,7 +12912,7 @@ function WriteFixedListFieldComponent_option_8_Template(rf, ctx) { if (rf & 1) {
12883
12912
  i0.ɵɵadvance(1);
12884
12913
  i0.ɵɵtextInterpolate(type_r4.label);
12885
12914
  } }
12886
- const _c0$I = function (a0) { return { "form-group-error": a0 }; };
12915
+ const _c0$J = function (a0) { return { "form-group-error": a0 }; };
12887
12916
  class WriteFixedListFieldComponent extends AbstractFieldWriteComponent {
12888
12917
  get listItems() {
12889
12918
  if (this.caseField) {
@@ -12921,7 +12950,7 @@ WriteFixedListFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteFixedLi
12921
12950
  i0.ɵɵelementEnd();
12922
12951
  i0.ɵɵelementEnd();
12923
12952
  } if (rf & 2) {
12924
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0$I, !ctx.fixedListFormControl.valid && (ctx.fixedListFormControl.dirty || ctx.fixedListFormControl.touched)));
12953
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0$J, !ctx.fixedListFormControl.valid && (ctx.fixedListFormControl.dirty || ctx.fixedListFormControl.touched)));
12925
12954
  i0.ɵɵadvance(1);
12926
12955
  i0.ɵɵproperty("for", ctx.id());
12927
12956
  i0.ɵɵadvance(1);
@@ -13012,7 +13041,7 @@ function WriteFixedRadioListFieldComponent_span_6_Template(rf, ctx) { if (rf & 1
13012
13041
  i0.ɵɵadvance(1);
13013
13042
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.fixedRadioListControl.errors, ctx_r2.caseField.label));
13014
13043
  } }
13015
- const _c0$H = function (a0) { return { selected: a0 }; };
13044
+ const _c0$I = function (a0) { return { selected: a0 }; };
13016
13045
  function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1) {
13017
13046
  i0.ɵɵelementStart(0, "div", 9);
13018
13047
  i0.ɵɵelement(1, "input", 10);
@@ -13023,7 +13052,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1)
13023
13052
  } if (rf & 2) {
13024
13053
  const radioButton_r4 = ctx.$implicit;
13025
13054
  const ctx_r3 = i0.ɵɵnextContext();
13026
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$H, ctx_r3.fixedRadioListControl.value === radioButton_r4.code));
13055
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$I, ctx_r3.fixedRadioListControl.value === radioButton_r4.code));
13027
13056
  i0.ɵɵadvance(1);
13028
13057
  i0.ɵɵproperty("id", ctx_r3.id() + "-" + radioButton_r4.code)("name", ctx_r3.id())("formControl", ctx_r3.fixedRadioListControl)("value", radioButton_r4.code);
13029
13058
  i0.ɵɵadvance(1);
@@ -13154,7 +13183,7 @@ function WriteJudicialUserFieldComponent_span_3_Template(rf, ctx) { if (rf & 1)
13154
13183
  i0.ɵɵadvance(1);
13155
13184
  i0.ɵɵtextInterpolate1(" ", ctx_r1.caseField.hint_text, " ");
13156
13185
  } }
13157
- const _c0$G = function (a0) { return { "hide-autocomplete": a0 }; };
13186
+ const _c0$H = function (a0) { return { "hide-autocomplete": a0 }; };
13158
13187
  function WriteJudicialUserFieldComponent_mat_option_7_Template(rf, ctx) { if (rf & 1) {
13159
13188
  const _r7 = i0.ɵɵgetCurrentView();
13160
13189
  i0.ɵɵelementStart(0, "mat-option", 11);
@@ -13164,7 +13193,7 @@ function WriteJudicialUserFieldComponent_mat_option_7_Template(rf, ctx) { if (rf
13164
13193
  } if (rf & 2) {
13165
13194
  const judicialUser_r5 = ctx.$implicit;
13166
13195
  const ctx_r3 = i0.ɵɵnextContext();
13167
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$G, !ctx_r3.showAutocomplete))("value", judicialUser_r5.idamId);
13196
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$H, !ctx_r3.showAutocomplete))("value", judicialUser_r5.idamId);
13168
13197
  i0.ɵɵadvance(1);
13169
13198
  i0.ɵɵtextInterpolate2(" ", judicialUser_r5.fullName, " (", judicialUser_r5.emailId, ") ");
13170
13199
  } }
@@ -13860,7 +13889,7 @@ function LinkCasesComponent_div_8_div_14_span_3_Template(rf, ctx) { if (rf & 1)
13860
13889
  i0.ɵɵadvance(3);
13861
13890
  i0.ɵɵtextInterpolate1(" ", ctx_r13.caseReasonCommentsError, " ");
13862
13891
  } }
13863
- const _c0$F = function (a0) { return { "govuk-form-group--error": a0 }; };
13892
+ const _c0$G = function (a0) { return { "govuk-form-group--error": a0 }; };
13864
13893
  function LinkCasesComponent_div_8_div_14_Template(rf, ctx) { if (rf & 1) {
13865
13894
  i0.ɵɵelementStart(0, "div", 35);
13866
13895
  i0.ɵɵelementStart(1, "h3", 22);
@@ -13876,7 +13905,7 @@ function LinkCasesComponent_div_8_div_14_Template(rf, ctx) { if (rf & 1) {
13876
13905
  i0.ɵɵelementEnd();
13877
13906
  } if (rf & 2) {
13878
13907
  const ctx_r7 = i0.ɵɵnextContext(2);
13879
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0$F, !!ctx_r7.caseReasonCommentsError));
13908
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0$G, !!ctx_r7.caseReasonCommentsError));
13880
13909
  i0.ɵɵadvance(3);
13881
13910
  i0.ɵɵproperty("ngIf", ctx_r7.caseReasonCommentsError);
13882
13911
  } }
@@ -13927,11 +13956,11 @@ function LinkCasesComponent_div_8_Template(rf, ctx) { if (rf & 1) {
13927
13956
  const ctx_r0 = i0.ɵɵnextContext();
13928
13957
  i0.ɵɵproperty("formGroup", ctx_r0.linkCaseForm);
13929
13958
  i0.ɵɵadvance(1);
13930
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$F, !!ctx_r0.caseNumberError));
13959
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$G, !!ctx_r0.caseNumberError));
13931
13960
  i0.ɵɵadvance(3);
13932
13961
  i0.ɵɵproperty("ngIf", ctx_r0.caseNumberError);
13933
13962
  i0.ɵɵadvance(2);
13934
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$F, !!ctx_r0.caseReasonError));
13963
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$G, !!ctx_r0.caseReasonError));
13935
13964
  i0.ɵɵadvance(5);
13936
13965
  i0.ɵɵproperty("ngIf", ctx_r0.caseReasonError);
13937
13966
  i0.ɵɵadvance(2);
@@ -14342,7 +14371,7 @@ LinkCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkCasesComponent, se
14342
14371
  i0.ɵɵadvance(4);
14343
14372
  i0.ɵɵproperty("ngIf", ctx.linkCaseForm);
14344
14373
  i0.ɵɵadvance(4);
14345
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0$F, !!ctx.noSelectedCaseError));
14374
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0$G, !!ctx.noSelectedCaseError));
14346
14375
  i0.ɵɵadvance(1);
14347
14376
  i0.ɵɵproperty("ngIf", ctx.noSelectedCaseError);
14348
14377
  i0.ɵɵadvance(18);
@@ -14951,7 +14980,7 @@ function UnLinkCasesComponent_div_0_div_4_div_3_Template(rf, ctx) { if (rf & 1)
14951
14980
  i0.ɵɵadvance(1);
14952
14981
  i0.ɵɵtextInterpolate2(" ", case_r4.caseName, " ", i0.ɵɵpipeBind1(4, 6, case_r4.caseReference), " ");
14953
14982
  } }
14954
- const _c0$E = function (a0) { return { "govuk-form-group--error": a0 }; };
14983
+ const _c0$F = function (a0) { return { "govuk-form-group--error": a0 }; };
14955
14984
  function UnLinkCasesComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
14956
14985
  i0.ɵɵelementStart(0, "div", 7);
14957
14986
  i0.ɵɵtemplate(1, UnLinkCasesComponent_div_0_div_4_p_1_Template, 4, 1, "p", 8);
@@ -14961,7 +14990,7 @@ function UnLinkCasesComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
14961
14990
  i0.ɵɵelementEnd();
14962
14991
  } if (rf & 2) {
14963
14992
  const ctx_r1 = i0.ɵɵnextContext(2);
14964
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$E, ctx_r1.unlinkErrorMessage))("formGroup", ctx_r1.unlinkCaseForm);
14993
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$F, ctx_r1.unlinkErrorMessage))("formGroup", ctx_r1.unlinkCaseForm);
14965
14994
  i0.ɵɵadvance(1);
14966
14995
  i0.ɵɵproperty("ngIf", ctx_r1.unlinkErrorMessage);
14967
14996
  i0.ɵɵadvance(2);
@@ -15780,7 +15809,7 @@ function WriteMoneyGbpFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
15780
15809
  i0.ɵɵadvance(1);
15781
15810
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.moneyGbpControl.errors, ctx_r2.caseField.label));
15782
15811
  } }
15783
- const _c0$D = function (a0) { return { "form-group-error": a0 }; };
15812
+ const _c0$E = function (a0) { return { "form-group-error": a0 }; };
15784
15813
  class WriteMoneyGbpFieldComponent extends AbstractFieldWriteComponent {
15785
15814
  ngOnInit() {
15786
15815
  this.moneyGbpControl = this.registerControl(new FormControl(this.caseField.value));
@@ -15803,7 +15832,7 @@ WriteMoneyGbpFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteMoneyGbp
15803
15832
  i0.ɵɵelementEnd();
15804
15833
  i0.ɵɵelementEnd();
15805
15834
  } if (rf & 2) {
15806
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0$D, !ctx.moneyGbpControl.valid && (ctx.moneyGbpControl.dirty || ctx.moneyGbpControl.touched)));
15835
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0$E, !ctx.moneyGbpControl.valid && (ctx.moneyGbpControl.dirty || ctx.moneyGbpControl.touched)));
15807
15836
  i0.ɵɵadvance(1);
15808
15837
  i0.ɵɵproperty("for", ctx.id());
15809
15838
  i0.ɵɵadvance(1);
@@ -15920,7 +15949,7 @@ function WriteMultiSelectListFieldComponent_ng_container_6_Template(rf, ctx) { i
15920
15949
  i0.ɵɵadvance(1);
15921
15950
  i0.ɵɵtextInterpolate(checkbox_r4.label);
15922
15951
  } }
15923
- const _c0$C = function (a0) { return { "error": a0 }; };
15952
+ const _c0$D = function (a0) { return { "error": a0 }; };
15924
15953
  class WriteMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
15925
15954
  ngOnInit() {
15926
15955
  this.checkboxes = new FormArray([]);
@@ -15975,7 +16004,7 @@ WriteMultiSelectListFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteM
15975
16004
  i0.ɵɵelementEnd();
15976
16005
  i0.ɵɵelementEnd();
15977
16006
  } if (rf & 2) {
15978
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$C, !ctx.checkboxes.valid && (ctx.checkboxes.dirty || ctx.checkboxes.touched)))("id", ctx.id());
16007
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$D, !ctx.checkboxes.valid && (ctx.checkboxes.dirty || ctx.checkboxes.touched)))("id", ctx.id());
15979
16008
  i0.ɵɵadvance(3);
15980
16009
  i0.ɵɵproperty("ngIf", ctx.caseField.label);
15981
16010
  i0.ɵɵadvance(1);
@@ -16044,7 +16073,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
16044
16073
  i0.ɵɵadvance(1);
16045
16074
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.numberControl.errors, ctx_r2.caseField.label));
16046
16075
  } }
16047
- const _c0$B = function (a0) { return { "form-group-error": a0 }; };
16076
+ const _c0$C = function (a0) { return { "form-group-error": a0 }; };
16048
16077
  const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
16049
16078
  class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
16050
16079
  ngOnInit() {
@@ -16062,7 +16091,7 @@ WriteNumberFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteNumberFiel
16062
16091
  i0.ɵɵelement(5, "input", 5);
16063
16092
  i0.ɵɵelementEnd();
16064
16093
  } if (rf & 2) {
16065
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$B, !ctx.numberControl.valid && ctx.numberControl.dirty));
16094
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$C, !ctx.numberControl.valid && ctx.numberControl.dirty));
16066
16095
  i0.ɵɵadvance(1);
16067
16096
  i0.ɵɵproperty("for", ctx.id());
16068
16097
  i0.ɵɵadvance(1);
@@ -16312,7 +16341,7 @@ function WriteOrganisationFieldComponent_fieldset_3_div_14_div_4_Template(rf, ct
16312
16341
  i0.ɵɵelementEnd();
16313
16342
  i0.ɵɵelementEnd();
16314
16343
  } }
16315
- const _c0$A = function (a0) { return { "scroll-container ": a0 }; };
16344
+ const _c0$B = function (a0) { return { "scroll-container ": a0 }; };
16316
16345
  function WriteOrganisationFieldComponent_fieldset_3_div_14_Template(rf, ctx) { if (rf & 1) {
16317
16346
  i0.ɵɵelementStart(0, "div", 26);
16318
16347
  i0.ɵɵpipe(1, "async");
@@ -16326,7 +16355,7 @@ function WriteOrganisationFieldComponent_fieldset_3_div_14_Template(rf, ctx) { i
16326
16355
  const ctx_r2 = i0.ɵɵnextContext(2);
16327
16356
  let tmp_0_0 = null;
16328
16357
  let tmp_2_0 = null;
16329
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0$A, ((tmp_0_0 = i0.ɵɵpipeBind1(1, 3, ctx_r2.simpleOrganisations$)) == null ? null : tmp_0_0.length) > 10));
16358
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0$B, ((tmp_0_0 = i0.ɵɵpipeBind1(1, 3, ctx_r2.simpleOrganisations$)) == null ? null : tmp_0_0.length) > 10));
16330
16359
  i0.ɵɵadvance(2);
16331
16360
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 5, ctx_r2.simpleOrganisations$));
16332
16361
  i0.ɵɵadvance(2);
@@ -16676,6 +16705,194 @@ CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: Ca
16676
16705
  }]
16677
16706
  }], function () { return [{ type: AbstractAppConfig }, { type: SessionStorageService }]; }, null); })();
16678
16707
 
16708
+ function ReadDynamicMultiSelectListFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
16709
+ i0.ɵɵelementStart(0, "div");
16710
+ i0.ɵɵtext(1);
16711
+ i0.ɵɵpipe(2, "ccdFixedList");
16712
+ i0.ɵɵelementEnd();
16713
+ } if (rf & 2) {
16714
+ const value_r1 = ctx.$implicit;
16715
+ const ctx_r0 = i0.ɵɵnextContext();
16716
+ i0.ɵɵadvance(1);
16717
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, value_r1.code, ctx_r0.caseField.list_items), "\n");
16718
+ } }
16719
+ class ReadDynamicMultiSelectListFieldComponent extends AbstractFieldReadComponent {
16720
+ ngOnInit() {
16721
+ /**
16722
+ *
16723
+ * Reassigning list_items from formatted_list when list_items is empty
16724
+ */
16725
+ if (!this.caseField.list_items && this.caseField.formatted_value && this.caseField.formatted_value.list_items) {
16726
+ this.caseField.list_items = this.caseField.formatted_value.list_items;
16727
+ }
16728
+ if (!this.caseField.value && this.caseField.formatted_value && this.caseField.formatted_value.value) {
16729
+ this.caseField.value = this.caseField.formatted_value.value;
16730
+ }
16731
+ super.ngOnInit();
16732
+ }
16733
+ }
16734
+ ReadDynamicMultiSelectListFieldComponent.ɵfac = function ReadDynamicMultiSelectListFieldComponent_Factory(t) { return ɵReadDynamicMultiSelectListFieldComponent_BaseFactory(t || ReadDynamicMultiSelectListFieldComponent); };
16735
+ ReadDynamicMultiSelectListFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadDynamicMultiSelectListFieldComponent, selectors: [["ccd-read-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"]], template: function ReadDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
16736
+ i0.ɵɵtemplate(0, ReadDynamicMultiSelectListFieldComponent_div_0_Template, 3, 4, "div", 0);
16737
+ } if (rf & 2) {
16738
+ i0.ɵɵproperty("ngForOf", ctx.caseField.value);
16739
+ } }, directives: [i1.NgForOf], pipes: [FixedListPipe], styles: [".multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{padding:5px 0}.multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child > td[_ngcontent-%COMP%]{border-bottom:none}.multi-select-list-field-table[_ngcontent-%COMP%] td.collection-actions[_ngcontent-%COMP%]{width:1px;white-space:nowrap}"] });
16740
+ const ɵReadDynamicMultiSelectListFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(ReadDynamicMultiSelectListFieldComponent);
16741
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadDynamicMultiSelectListFieldComponent, [{
16742
+ type: Component,
16743
+ args: [{
16744
+ selector: 'ccd-read-dynamic-multi-select-list-field',
16745
+ templateUrl: './read-dynamic-multi-select-list-field.html',
16746
+ styleUrls: ['./read-dynamic-multi-select-list-field.component.scss']
16747
+ }]
16748
+ }], null, null); })();
16749
+
16750
+ function WriteDynamicMultiSelectListFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
16751
+ i0.ɵɵelementStart(0, "span", 5);
16752
+ i0.ɵɵtext(1);
16753
+ i0.ɵɵpipe(2, "ccdFieldLabel");
16754
+ i0.ɵɵelementEnd();
16755
+ } if (rf & 2) {
16756
+ const ctx_r0 = i0.ɵɵnextContext();
16757
+ i0.ɵɵadvance(1);
16758
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField));
16759
+ } }
16760
+ function WriteDynamicMultiSelectListFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
16761
+ i0.ɵɵelementStart(0, "span", 6);
16762
+ i0.ɵɵtext(1);
16763
+ i0.ɵɵelementEnd();
16764
+ } if (rf & 2) {
16765
+ const ctx_r1 = i0.ɵɵnextContext();
16766
+ i0.ɵɵadvance(1);
16767
+ i0.ɵɵtextInterpolate(ctx_r1.caseField.hint_text);
16768
+ } }
16769
+ function WriteDynamicMultiSelectListFieldComponent_span_5_Template(rf, ctx) { if (rf & 1) {
16770
+ i0.ɵɵelementStart(0, "span", 7);
16771
+ i0.ɵɵtext(1);
16772
+ i0.ɵɵpipe(2, "ccdFirstError");
16773
+ i0.ɵɵelementEnd();
16774
+ } if (rf & 2) {
16775
+ const ctx_r2 = i0.ɵɵnextContext();
16776
+ i0.ɵɵadvance(1);
16777
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r2.checkboxes.errors));
16778
+ } }
16779
+ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
16780
+ const _r6 = i0.ɵɵgetCurrentView();
16781
+ i0.ɵɵelementContainerStart(0);
16782
+ i0.ɵɵelementStart(1, "div", 8);
16783
+ i0.ɵɵelementStart(2, "input", 9);
16784
+ i0.ɵɵlistener("change", function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template_input_change_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.onCheckChange($event); });
16785
+ i0.ɵɵelementEnd();
16786
+ i0.ɵɵelementStart(3, "label", 10);
16787
+ i0.ɵɵtext(4);
16788
+ i0.ɵɵelementEnd();
16789
+ i0.ɵɵelementEnd();
16790
+ i0.ɵɵelementContainerEnd();
16791
+ } if (rf & 2) {
16792
+ const checkbox_r4 = ctx.$implicit;
16793
+ const ctx_r3 = i0.ɵɵnextContext();
16794
+ i0.ɵɵadvance(2);
16795
+ i0.ɵɵpropertyInterpolate("id", ctx_r3.createElementId(checkbox_r4.code));
16796
+ i0.ɵɵpropertyInterpolate("name", ctx_r3.id());
16797
+ i0.ɵɵproperty("value", checkbox_r4.code)("checked", ctx_r3.isSelected(checkbox_r4.code));
16798
+ i0.ɵɵadvance(1);
16799
+ i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
16800
+ i0.ɵɵadvance(1);
16801
+ i0.ɵɵtextInterpolate(checkbox_r4.label);
16802
+ } }
16803
+ const _c0$A = function (a0) { return { "error": a0 }; };
16804
+ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
16805
+ ngOnInit() {
16806
+ this.checkboxes = new FormArray([]);
16807
+ this.setInitialCaseList();
16808
+ this.setInitialCaseFieldValue();
16809
+ // Initialise array with existing values
16810
+ if (this.caseField.value && Array.isArray(this.caseField.value)) {
16811
+ const values = this.caseField.value;
16812
+ values.forEach(value => {
16813
+ this.checkboxes.push(new FormControl(value));
16814
+ });
16815
+ }
16816
+ this.dynamicListFormControl = this.registerControl(new FormControl(this.checkboxes.value));
16817
+ this.dynamicListFormControl.setValue(this.checkboxes.value);
16818
+ }
16819
+ onCheckChange(event) {
16820
+ const target = event.target;
16821
+ if (!target || !target.value) {
16822
+ return;
16823
+ }
16824
+ const selectedListItem = this.getValueListItem(target.value);
16825
+ if (!this.isSelected(target.value)) {
16826
+ // Add a new control in the FormArray
16827
+ this.checkboxes.push(new FormControl(selectedListItem));
16828
+ }
16829
+ else {
16830
+ // Remove the control from the FormArray
16831
+ this.checkboxes.controls.forEach((ctrl, i) => {
16832
+ if (ctrl.value.code === target.value) {
16833
+ this.checkboxes.removeAt(i);
16834
+ }
16835
+ });
16836
+ }
16837
+ this.dynamicListFormControl.setValue(this.checkboxes.value);
16838
+ }
16839
+ isSelected(code) {
16840
+ if (this.checkboxes && this.checkboxes.controls) {
16841
+ return this.checkboxes.controls.find(control => control.value.code === code);
16842
+ }
16843
+ }
16844
+ getValueListItem(value) {
16845
+ return this.caseField.list_items.find(i => i.code === value);
16846
+ }
16847
+ setInitialCaseList() {
16848
+ const hasListItems = this.caseField.list_items && this.caseField.list_items.length > 0;
16849
+ const hasFormattedListItems = this.caseField.formatted_value && this.caseField.formatted_value.list_items.length > 0;
16850
+ if (!hasListItems && hasFormattedListItems) {
16851
+ this.caseField.list_items = this.caseField.formatted_value.list_items;
16852
+ }
16853
+ }
16854
+ setInitialCaseFieldValue() {
16855
+ if (!this.caseField.value && this.caseField.formatted_value && this.caseField.formatted_value.value) {
16856
+ this.caseField.value = this.caseField.formatted_value.value;
16857
+ }
16858
+ const isNull = this.caseField.value === undefined || this.caseField.value === '';
16859
+ if (isNull || !Array.isArray(this.caseField.value)) {
16860
+ this.caseField.value = [];
16861
+ }
16862
+ }
16863
+ }
16864
+ WriteDynamicMultiSelectListFieldComponent.ɵfac = function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory(t || WriteDynamicMultiSelectListFieldComponent); };
16865
+ WriteDynamicMultiSelectListFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
16866
+ i0.ɵɵelementStart(0, "div", 0);
16867
+ i0.ɵɵelementStart(1, "fieldset");
16868
+ i0.ɵɵelementStart(2, "legend");
16869
+ i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
16870
+ i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
16871
+ i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
16872
+ i0.ɵɵelementEnd();
16873
+ i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 6, "ng-container", 4);
16874
+ i0.ɵɵelementEnd();
16875
+ i0.ɵɵelementEnd();
16876
+ } if (rf & 2) {
16877
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$A, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
16878
+ i0.ɵɵadvance(3);
16879
+ i0.ɵɵproperty("ngIf", ctx.caseField.label);
16880
+ i0.ɵɵadvance(1);
16881
+ i0.ɵɵproperty("ngIf", ctx.caseField.hint_text);
16882
+ i0.ɵɵadvance(1);
16883
+ i0.ɵɵproperty("ngIf", ctx.checkboxes.errors && ctx.checkboxes.touched);
16884
+ i0.ɵɵadvance(1);
16885
+ i0.ɵɵproperty("ngForOf", ctx.caseField.list_items);
16886
+ } }, directives: [i1.NgClass, i1.NgIf, i1.NgForOf], pipes: [FieldLabelPipe, FirstErrorPipe], encapsulation: 2 });
16887
+ const ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent);
16888
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
16889
+ type: Component,
16890
+ args: [{
16891
+ selector: 'ccd-write-dynamic-multi-select-list-field',
16892
+ templateUrl: './write-dynamic-multi-select-list-field.html'
16893
+ }]
16894
+ }], null, null); })();
16895
+
16679
16896
  class ReadPhoneUKFieldComponent extends AbstractFieldReadComponent {
16680
16897
  }
16681
16898
  ReadPhoneUKFieldComponent.ɵfac = function ReadPhoneUKFieldComponent_Factory(t) { return ɵReadPhoneUKFieldComponent_BaseFactory(t || ReadPhoneUKFieldComponent); };
@@ -17202,6 +17419,8 @@ class PaletteService {
17202
17419
  return write ? WriteFixedListFieldComponent : ReadFixedListFieldComponent;
17203
17420
  case 'DynamicRadioList':
17204
17421
  return write ? WriteDynamicRadioListFieldComponent : ReadDynamicRadioListFieldComponent;
17422
+ case 'DynamicMultiSelectList':
17423
+ return write ? WriteDynamicMultiSelectListFieldComponent : ReadDynamicMultiSelectListFieldComponent;
17205
17424
  case 'FixedRadioList':
17206
17425
  return write ? WriteFixedRadioListFieldComponent : ReadFixedRadioListFieldComponent;
17207
17426
  case 'Complex':
@@ -17268,7 +17487,7 @@ PaletteService.ɵprov = i0.ɵɵdefineInjectable({ token: PaletteService, factory
17268
17487
  }], null, null); })();
17269
17488
 
17270
17489
  const _c0$v = ["fieldContainer"];
17271
- const FIX_CASEFIELD_FOR$1 = ['FixedList', 'DynamicList'];
17490
+ const FIX_CASEFIELD_FOR$1 = ['FixedList', 'DynamicList', 'DynamicMultiSelectList'];
17272
17491
  class FieldReadComponent extends AbstractFieldReadComponent {
17273
17492
  constructor(resolver, paletteService) {
17274
17493
  super();
@@ -17346,7 +17565,7 @@ FieldReadComponent.ɵcmp = i0.ɵɵdefineComponent({ type: FieldReadComponent, se
17346
17565
  }] }); })();
17347
17566
 
17348
17567
  const _c0$u = ["fieldContainer"];
17349
- const FIX_CASEFIELD_FOR = ['FixedList', 'DynamicList'];
17568
+ const FIX_CASEFIELD_FOR = ['FixedList', 'DynamicList', 'DynamicMultiSelectList'];
17350
17569
  class FieldWriteComponent extends AbstractFieldWriteComponent {
17351
17570
  constructor(resolver, paletteService) {
17352
17571
  super();
@@ -21691,23 +21910,26 @@ class ReadFieldsFilterPipe {
21691
21910
  || !ReadFieldsFilterPipe.isEmpty(value[field.id]);
21692
21911
  }
21693
21912
  static getValue(field, values, index) {
21694
- let value;
21695
- if (index >= 0) {
21696
- value = values[index].value[field.id];
21697
- }
21698
- else {
21699
- value = values[field.id];
21913
+ if (ReadFieldsFilterPipe.isEmpty(field.value)) {
21914
+ let value;
21915
+ if (index >= 0) {
21916
+ value = values[index].value[field.id];
21917
+ }
21918
+ else {
21919
+ value = values[field.id];
21920
+ }
21921
+ return value;
21700
21922
  }
21701
- return ReadFieldsFilterPipe.isEmpty(field.value) ? value : field.value;
21923
+ return field.value;
21702
21924
  }
21703
- static evaluateConditionalShow(field, formValue, path, formGroupAvaliable, fieldId) {
21925
+ static evaluateConditionalShow(field, formValue, path, formGroupAvailable, fieldId) {
21704
21926
  if (field.display_context === 'HIDDEN') {
21705
21927
  field.hidden = true;
21706
21928
  }
21707
21929
  else if (field.show_condition) {
21708
21930
  let cond;
21709
- if (fieldId && field.show_condition.indexOf(fieldId) > -1 && !formGroupAvaliable && !!Object.keys(formValue).length) {
21710
- const search = fieldId + '.';
21931
+ if (fieldId && field.show_condition.indexOf(`${fieldId}.`) > -1 && !formGroupAvailable && !!Object.keys(formValue).length) {
21932
+ const search = `${fieldId}.`;
21711
21933
  const searchRegExp = new RegExp(search, 'g');
21712
21934
  const replaceWith = '';
21713
21935
  cond = ShowCondition.getInstance(field.show_condition.replace(searchRegExp, replaceWith));
@@ -22077,6 +22299,8 @@ const PALETTE_COMPONENTS = [
22077
22299
  WriteDocumentFieldComponent,
22078
22300
  WriteDynamicListFieldComponent,
22079
22301
  WriteDynamicRadioListFieldComponent,
22302
+ WriteDynamicMultiSelectListFieldComponent,
22303
+ ReadDynamicMultiSelectListFieldComponent,
22080
22304
  WriteTextFieldComponent,
22081
22305
  WriteDateContainerFieldComponent,
22082
22306
  WriteTextAreaFieldComponent,
@@ -22106,6 +22330,13 @@ const PALETTE_COMPONENTS = [
22106
22330
  CaseFileViewOverlayMenuComponent,
22107
22331
  CaseFileViewFolderDocumentActionsComponent,
22108
22332
  CaseFileViewFolderSelectorComponent,
22333
+ // component for dynamic list
22334
+ WriteDynamicMultiSelectListFieldComponent,
22335
+ WriteDynamicRadioListFieldComponent,
22336
+ WriteDynamicListFieldComponent,
22337
+ ReadDynamicMultiSelectListFieldComponent,
22338
+ ReadDynamicListFieldComponent,
22339
+ ReadDynamicRadioListFieldComponent,
22109
22340
  LinkedCasesToTableComponent,
22110
22341
  LinkedCasesFromTableComponent,
22111
22342
  BeforeYouStartComponent,
@@ -22232,6 +22463,8 @@ PaletteModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
22232
22463
  WriteDocumentFieldComponent,
22233
22464
  WriteDynamicListFieldComponent,
22234
22465
  WriteDynamicRadioListFieldComponent,
22466
+ WriteDynamicMultiSelectListFieldComponent,
22467
+ ReadDynamicMultiSelectListFieldComponent,
22235
22468
  WriteTextFieldComponent,
22236
22469
  WriteDateContainerFieldComponent,
22237
22470
  WriteTextAreaFieldComponent,
@@ -22261,6 +22494,13 @@ PaletteModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
22261
22494
  CaseFileViewOverlayMenuComponent,
22262
22495
  CaseFileViewFolderDocumentActionsComponent,
22263
22496
  CaseFileViewFolderSelectorComponent,
22497
+ // component for dynamic list
22498
+ WriteDynamicMultiSelectListFieldComponent,
22499
+ WriteDynamicRadioListFieldComponent,
22500
+ WriteDynamicListFieldComponent,
22501
+ ReadDynamicMultiSelectListFieldComponent,
22502
+ ReadDynamicListFieldComponent,
22503
+ ReadDynamicRadioListFieldComponent,
22264
22504
  LinkedCasesToTableComponent,
22265
22505
  LinkedCasesFromTableComponent,
22266
22506
  BeforeYouStartComponent,
@@ -22350,6 +22590,8 @@ PaletteModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
22350
22590
  WriteDocumentFieldComponent,
22351
22591
  WriteDynamicListFieldComponent,
22352
22592
  WriteDynamicRadioListFieldComponent,
22593
+ WriteDynamicMultiSelectListFieldComponent,
22594
+ ReadDynamicMultiSelectListFieldComponent,
22353
22595
  WriteTextFieldComponent,
22354
22596
  WriteDateContainerFieldComponent,
22355
22597
  WriteTextAreaFieldComponent,
@@ -22379,6 +22621,13 @@ PaletteModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
22379
22621
  CaseFileViewOverlayMenuComponent,
22380
22622
  CaseFileViewFolderDocumentActionsComponent,
22381
22623
  CaseFileViewFolderSelectorComponent,
22624
+ // component for dynamic list
22625
+ WriteDynamicMultiSelectListFieldComponent,
22626
+ WriteDynamicRadioListFieldComponent,
22627
+ WriteDynamicListFieldComponent,
22628
+ ReadDynamicMultiSelectListFieldComponent,
22629
+ ReadDynamicListFieldComponent,
22630
+ ReadDynamicRadioListFieldComponent,
22382
22631
  LinkedCasesToTableComponent,
22383
22632
  LinkedCasesFromTableComponent,
22384
22633
  BeforeYouStartComponent,
@@ -31197,5 +31446,5 @@ class TestRouteSnapshotBuilder {
31197
31446
  * Generated bundle index. Do not edit.
31198
31447
  */
31199
31448
 
31200
- export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFieldReadComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HasLoadingState, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, MarkdownComponent, MoneyGbpInputComponent, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RouterHelperService, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
31449
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFieldReadComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HasLoadingState, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, MarkdownComponent, MoneyGbpInputComponent, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RouterHelperService, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
31201
31450
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.js.map