@hmcts/ccd-case-ui-toolkit 7.0.47 → 7.0.48-ungrey-back-button-2

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 (91) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +46 -24
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +9 -6
  3. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +7 -4
  4. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
  5. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +92 -0
  6. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +83 -0
  7. package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
  8. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +3 -3
  9. package/esm2022/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +2 -2
  10. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +21 -21
  11. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +22 -22
  12. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +18 -25
  13. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +32 -29
  14. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +21 -28
  15. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +111 -63
  16. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +28 -28
  17. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +107 -105
  18. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +86 -29
  19. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +27 -18
  20. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +19 -7
  21. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +46 -40
  22. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
  23. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +45 -39
  24. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +41 -17
  25. package/esm2022/lib/shared/domain/index.mjs +2 -1
  26. package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
  27. package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
  28. package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
  29. package/esm2022/lib/shared/services/index.mjs +2 -1
  30. package/esm2022/lib/shared/services/journey/index.mjs +2 -0
  31. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +114 -0
  32. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +959 -518
  33. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  34. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +10 -3
  35. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  36. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +3 -2
  37. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  38. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  39. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
  40. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  41. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
  42. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
  43. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
  44. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
  45. package/lib/shared/components/palette/base-field/index.d.ts +2 -0
  46. package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
  47. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  48. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  49. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
  50. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
  51. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -2
  52. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  53. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
  54. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  55. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +4 -2
  56. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  57. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +11 -5
  58. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  59. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +4 -2
  60. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -1
  61. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +6 -3
  62. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  63. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +8 -5
  64. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  65. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -3
  66. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  67. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +6 -2
  68. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +6 -3
  70. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
  72. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +6 -3
  74. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  75. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +6 -3
  76. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  77. package/lib/shared/domain/index.d.ts +1 -0
  78. package/lib/shared/domain/index.d.ts.map +1 -1
  79. package/lib/shared/domain/journey/index.d.ts +3 -0
  80. package/lib/shared/domain/journey/index.d.ts.map +1 -0
  81. package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
  82. package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
  83. package/lib/shared/domain/journey/journey.model.d.ts +16 -0
  84. package/lib/shared/domain/journey/journey.model.d.ts.map +1 -0
  85. package/lib/shared/services/index.d.ts +1 -0
  86. package/lib/shared/services/index.d.ts.map +1 -1
  87. package/lib/shared/services/journey/index.d.ts +2 -0
  88. package/lib/shared/services/journey/index.d.ts.map +1 -0
  89. package/lib/shared/services/journey/multipage-component-state.service.d.ts +25 -0
  90. package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
  91. package/package.json +1 -1
@@ -58,7 +58,7 @@ import * as i10 from '@angular/material/legacy-tabs';
58
58
  import { MatLegacyTabsModule } from '@angular/material/legacy-tabs';
59
59
  import { decompressFromUTF16, compressToUTF16 } from 'lz-string';
60
60
 
61
- const _c0$14 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
61
+ const _c0$16 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
62
62
  const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
63
63
  function FooterComponent_div_2_Template(rf, ctx) { if (rf & 1) {
64
64
  i0.ɵɵelementStart(0, "div", 3)(1, "div", 4);
@@ -136,7 +136,7 @@ class FooterComponent {
136
136
  workhours;
137
137
  static ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
138
138
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$u, 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) {
139
- i0.ɵɵprojectionDef(_c0$14);
139
+ i0.ɵɵprojectionDef(_c0$16);
140
140
  i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
141
141
  i0.ɵɵtemplate(2, FooterComponent_div_2_Template, 20, 15, "div", 2)(3, FooterComponent_div_3_Template, 20, 16, "div", 2);
142
142
  i0.ɵɵelementEnd()();
@@ -163,7 +163,7 @@ class FooterComponent {
163
163
  }] }); })();
164
164
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FooterComponent, { className: "FooterComponent", filePath: "lib/components/footer/footer.component.ts", lineNumber: 8 }); })();
165
165
 
166
- const _c0$13 = [[["", "headerNavigation", ""]]];
166
+ const _c0$15 = [[["", "headerNavigation", ""]]];
167
167
  const _c1$t = ["[headerNavigation]"];
168
168
  function HeaderBarComponent_div_3_Template(rf, ctx) { if (rf & 1) {
169
169
  i0.ɵɵelementStart(0, "div")(1, "a", 12);
@@ -207,7 +207,7 @@ class HeaderBarComponent {
207
207
  }
208
208
  static ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
209
209
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$t, decls: 17, vars: 14, 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) {
210
- i0.ɵɵprojectionDef(_c0$13);
210
+ i0.ɵɵprojectionDef(_c0$15);
211
211
  i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
212
212
  i0.ɵɵtemplate(3, HeaderBarComponent_div_3_Template, 5, 3, "div", 3)(4, HeaderBarComponent_div_4_Template, 5, 3, "div", 4);
213
213
  i0.ɵɵelementEnd();
@@ -257,13 +257,13 @@ class HeaderBarComponent {
257
257
  }] }); })();
258
258
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderBarComponent, { className: "HeaderBarComponent", filePath: "lib/components/header/header-bar/header-bar.component.ts", lineNumber: 8 }); })();
259
259
 
260
- const _c0$12 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
260
+ const _c0$14 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
261
261
  const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
262
262
  class NavigationComponent {
263
263
  isSolicitor;
264
264
  static ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
265
265
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$s, decls: 4, vars: 2, consts: [[1, "cut-nav-bar"]], template: function NavigationComponent_Template(rf, ctx) { if (rf & 1) {
266
- i0.ɵɵprojectionDef(_c0$12);
266
+ i0.ɵɵprojectionDef(_c0$14);
267
267
  i0.ɵɵelementStart(0, "div")(1, "nav", 0);
268
268
  i0.ɵɵprojection(2);
269
269
  i0.ɵɵprojection(3, 1);
@@ -382,12 +382,12 @@ class HeadersModule {
382
382
  }], null, null); })();
383
383
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
384
384
 
385
- const _c0$11 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
385
+ const _c0$13 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
386
386
  const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
387
387
  class BodyComponent {
388
388
  static ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
389
389
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$r, decls: 4, vars: 0, consts: [[1, "global-display"]], template: function BodyComponent_Template(rf, ctx) { if (rf & 1) {
390
- i0.ɵɵprojectionDef(_c0$11);
390
+ i0.ɵɵprojectionDef(_c0$13);
391
391
  i0.ɵɵelementStart(0, "div", 0);
392
392
  i0.ɵɵprojection(1);
393
393
  i0.ɵɵprojection(2, 1);
@@ -401,7 +401,7 @@ class BodyComponent {
401
401
  }], null, null); })();
402
402
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BodyComponent, { className: "BodyComponent", filePath: "lib/components/body/body.component.ts", lineNumber: 9 }); })();
403
403
 
404
- const _c0$10 = a0 => ({ "govuk-input--error": a0 });
404
+ const _c0$12 = a0 => ({ "govuk-input--error": a0 });
405
405
  function DateInputComponent_div_19_Template(rf, ctx) { if (rf & 1) {
406
406
  const _r5 = i0.ɵɵgetCurrentView();
407
407
  i0.ɵɵelementStart(0, "div", 15)(1, "label", 8);
@@ -418,7 +418,7 @@ function DateInputComponent_div_19_Template(rf, ctx) { if (rf & 1) {
418
418
  i0.ɵɵadvance();
419
419
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, "Hour"));
420
420
  i0.ɵɵadvance(2);
421
- i0.ɵɵproperty("id", ctx_r6.hourId())("name", ctx_r6.hourId())("value", ctx_r6.displayHour)("ngClass", i0.ɵɵpureFunction1(8, _c0$10, ctx_r6.isInvalid));
421
+ i0.ɵɵproperty("id", ctx_r6.hourId())("name", ctx_r6.hourId())("value", ctx_r6.displayHour)("ngClass", i0.ɵɵpureFunction1(8, _c0$12, ctx_r6.isInvalid));
422
422
  } }
423
423
  function DateInputComponent_div_20_Template(rf, ctx) { if (rf & 1) {
424
424
  const _r8 = i0.ɵɵgetCurrentView();
@@ -436,7 +436,7 @@ function DateInputComponent_div_20_Template(rf, ctx) { if (rf & 1) {
436
436
  i0.ɵɵadvance();
437
437
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, "Minute"));
438
438
  i0.ɵɵadvance(2);
439
- i0.ɵɵproperty("id", ctx_r6.minuteId())("name", ctx_r6.minuteId())("value", ctx_r6.displayMinute)("ngClass", i0.ɵɵpureFunction1(8, _c0$10, ctx_r6.isInvalid));
439
+ i0.ɵɵproperty("id", ctx_r6.minuteId())("name", ctx_r6.minuteId())("value", ctx_r6.displayMinute)("ngClass", i0.ɵɵpureFunction1(8, _c0$12, ctx_r6.isInvalid));
440
440
  } }
441
441
  function DateInputComponent_div_21_Template(rf, ctx) { if (rf & 1) {
442
442
  const _r10 = i0.ɵɵgetCurrentView();
@@ -454,7 +454,7 @@ function DateInputComponent_div_21_Template(rf, ctx) { if (rf & 1) {
454
454
  i0.ɵɵadvance();
455
455
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, "Second"));
456
456
  i0.ɵɵadvance(2);
457
- i0.ɵɵproperty("id", ctx_r6.secondId())("name", ctx_r6.secondId())("value", ctx_r6.displaySecond)("ngClass", i0.ɵɵpureFunction1(8, _c0$10, ctx_r6.isInvalid));
457
+ i0.ɵɵproperty("id", ctx_r6.secondId())("name", ctx_r6.secondId())("value", ctx_r6.displaySecond)("ngClass", i0.ɵɵpureFunction1(8, _c0$12, ctx_r6.isInvalid));
458
458
  } }
459
459
  class DateInputComponent {
460
460
  id;
@@ -689,19 +689,19 @@ class DateInputComponent {
689
689
  i0.ɵɵadvance();
690
690
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 21, "Day"));
691
691
  i0.ɵɵadvance(2);
692
- i0.ɵɵproperty("id", ctx.dayId())("name", ctx.dayId())("value", ctx.displayDay)("ngClass", i0.ɵɵpureFunction1(27, _c0$10, ctx.isInvalid));
692
+ i0.ɵɵproperty("id", ctx.dayId())("name", ctx.dayId())("value", ctx.displayDay)("ngClass", i0.ɵɵpureFunction1(27, _c0$12, ctx.isInvalid));
693
693
  i0.ɵɵadvance(3);
694
694
  i0.ɵɵproperty("for", ctx.monthId());
695
695
  i0.ɵɵadvance();
696
696
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 23, "Month"));
697
697
  i0.ɵɵadvance(2);
698
- i0.ɵɵproperty("id", ctx.monthId())("name", ctx.monthId())("value", ctx.displayMonth)("ngClass", i0.ɵɵpureFunction1(29, _c0$10, ctx.isInvalid));
698
+ i0.ɵɵproperty("id", ctx.monthId())("name", ctx.monthId())("value", ctx.displayMonth)("ngClass", i0.ɵɵpureFunction1(29, _c0$12, ctx.isInvalid));
699
699
  i0.ɵɵadvance(3);
700
700
  i0.ɵɵproperty("for", ctx.yearId());
701
701
  i0.ɵɵadvance();
702
702
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 25, "Year"));
703
703
  i0.ɵɵadvance(2);
704
- i0.ɵɵproperty("id", ctx.yearId())("name", ctx.yearId())("value", ctx.displayYear)("ngClass", i0.ɵɵpureFunction1(31, _c0$10, ctx.isInvalid));
704
+ i0.ɵɵproperty("id", ctx.yearId())("name", ctx.yearId())("value", ctx.displayYear)("ngClass", i0.ɵɵpureFunction1(31, _c0$12, ctx.isInvalid));
705
705
  i0.ɵɵadvance(2);
706
706
  i0.ɵɵproperty("ngIf", ctx.isDateTime);
707
707
  i0.ɵɵadvance();
@@ -737,7 +737,7 @@ class DateInputComponent {
737
737
  }] }); })();
738
738
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateInputComponent, { className: "DateInputComponent", filePath: "lib/components/form/date-input/date-input.component.ts", lineNumber: 20 }); })();
739
739
 
740
- const _c0$$ = ["*"];
740
+ const _c0$11 = ["*"];
741
741
  function AlertComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
742
742
  i0.ɵɵelementContainerStart(0);
743
743
  i0.ɵɵnamespaceSVG();
@@ -787,7 +787,7 @@ class AlertComponent {
787
787
  showIcon = true;
788
788
  alertMessageType = AlertMessageType;
789
789
  static ɵfac = function AlertComponent_Factory(t) { return new (t || AlertComponent)(); };
790
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AlertComponent, selectors: [["cut-alert"]], inputs: { type: "type", showIcon: "showIcon" }, ngContentSelectors: _c0$$, decls: 11, vars: 12, 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) {
790
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AlertComponent, selectors: [["cut-alert"]], inputs: { type: "type", showIcon: "showIcon" }, ngContentSelectors: _c0$11, decls: 11, vars: 12, 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) {
791
791
  i0.ɵɵprojectionDef();
792
792
  i0.ɵɵelementStart(0, "div", 0);
793
793
  i0.ɵɵelementContainerStart(1, 1);
@@ -1000,14 +1000,14 @@ class NotificationBannerComponent {
1000
1000
  }] }); })();
1001
1001
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NotificationBannerComponent, { className: "NotificationBannerComponent", filePath: "lib/components/banners/notification-banner/notification-banner.component.ts", lineNumber: 10 }); })();
1002
1002
 
1003
- const _c0$_ = ["*"];
1003
+ const _c0$10 = ["*"];
1004
1004
  const _c1$q = a0 => ({ "js-hidden": a0 });
1005
1005
  class TabComponent {
1006
1006
  id;
1007
1007
  title;
1008
1008
  selected;
1009
1009
  static ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
1010
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c0$_, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {
1010
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c0$10, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {
1011
1011
  i0.ɵɵprojectionDef();
1012
1012
  i0.ɵɵelementStart(0, "div", 0);
1013
1013
  i0.ɵɵprojection(1);
@@ -1029,7 +1029,7 @@ class TabComponent {
1029
1029
  }] }); })();
1030
1030
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TabComponent, { className: "TabComponent", filePath: "lib/components/tabs/tab.component.ts", lineNumber: 10 }); })();
1031
1031
 
1032
- const _c0$Z = ["tab"];
1032
+ const _c0$$ = ["tab"];
1033
1033
  const _c1$p = ["*"];
1034
1034
  const _c2$4 = () => ["."];
1035
1035
  const _c3 = a0 => ({ "tabs-toggle-selected": a0 });
@@ -1076,7 +1076,7 @@ class TabsComponent {
1076
1076
  let _t;
1077
1077
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.panels = _t);
1078
1078
  } }, viewQuery: function TabsComponent_Query(rf, ctx) { if (rf & 1) {
1079
- i0.ɵɵviewQuery(_c0$Z, 5);
1079
+ i0.ɵɵviewQuery(_c0$$, 5);
1080
1080
  } if (rf & 2) {
1081
1081
  let _t;
1082
1082
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabs = _t);
@@ -1135,7 +1135,7 @@ class TabsModule {
1135
1135
  RouterModule, i1.RpxTranslationModule], exports: [TabsComponent,
1136
1136
  TabComponent] }); })();
1137
1137
 
1138
- const _c0$Y = (a0, a1) => ({ caseLocked: a0, someoneViewing: a1 });
1138
+ const _c0$_ = (a0, a1) => ({ caseLocked: a0, someoneViewing: a1 });
1139
1139
  class ActivityBannerComponent {
1140
1140
  bannerType;
1141
1141
  description;
@@ -1154,7 +1154,7 @@ class ActivityBannerComponent {
1154
1154
  i0.ɵɵpipe(6, "rpxTranslate");
1155
1155
  i0.ɵɵelementEnd()();
1156
1156
  } if (rf & 2) {
1157
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(8, _c0$Y, ctx.bannerType === "editor", ctx.bannerType === "viewer"));
1157
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(8, _c0$_, ctx.bannerType === "editor", ctx.bannerType === "viewer"));
1158
1158
  i0.ɵɵadvance(2);
1159
1159
  i0.ɵɵpropertyInterpolate("alt", i0.ɵɵpipeBind1(3, 4, ctx.description));
1160
1160
  i0.ɵɵpropertyInterpolate("src", ctx.imageLink, i0.ɵɵsanitizeUrl);
@@ -7048,6 +7048,118 @@ class FormErrorService {
7048
7048
  type: Injectable
7049
7049
  }], null, null); })();
7050
7050
 
7051
+ class MultipageComponentStateService {
7052
+ //is journey at start will help keep track of the progress through the journey.
7053
+ isJourneyAtStart = false;
7054
+ //journey collection references an upto date list of all the journey components currently rendered!!!!
7055
+ journeyCollection = new Array();
7056
+ //the instigator references the case-edit-page component that will invoke the next and previous methods
7057
+ instigator = null;
7058
+ //each journey will store its state here. this could include form data if needed
7059
+ journeyState = new Map();
7060
+ //setJourneyComponent will be called by the app component to update the journey collection
7061
+ setJourneyCollection(journeyCollection) {
7062
+ this.journeyCollection = journeyCollection;
7063
+ }
7064
+ //getJourneyCollection will be called by the app component to get the journey collection
7065
+ getJourneyCollection() {
7066
+ return this.journeyCollection;
7067
+ }
7068
+ //addToJourneyCollection will be called from the journey
7069
+ addTojourneyCollection(journey) {
7070
+ this.journeyCollection.push(journey);
7071
+ }
7072
+ //resetJourneyCollection will be called
7073
+ resetJourneyCollection() {
7074
+ this.journeyCollection = [];
7075
+ }
7076
+ //setInstigator will be called by the app component to update the instigator
7077
+ setInstigator(instigator) {
7078
+ this.instigator = instigator;
7079
+ }
7080
+ //getInstigator will be called by the app component to get the instigator
7081
+ getInstigator() {
7082
+ return this.instigator;
7083
+ }
7084
+ //setJourneyState will be called by the journey component to update the journey state
7085
+ setJourneyState(journey) {
7086
+ this.journeyState.set(journey.journeyId, journey);
7087
+ }
7088
+ //getJourneyState will be called by the journey component to get the journey state
7089
+ getJourneyState(journey) {
7090
+ return this.journeyState.get(journey.journeyId) || null;
7091
+ }
7092
+ //resetJourneyState will be called by the journey component to reset the journey state
7093
+ resetJourneyState() {
7094
+ this.journeyState.clear();
7095
+ }
7096
+ //reset will be called to ensure that the entire state is reset
7097
+ reset() {
7098
+ this.isJourneyAtStart = false;
7099
+ this.journeyState.clear();
7100
+ this.instigator = null;
7101
+ this.journeyCollection = [];
7102
+ }
7103
+ //next will be called by the instigator that will invoke the next method of the journey component that will invoke the next method of the childpage component
7104
+ next() {
7105
+ if (this.journeyCollection.length <= 0) {
7106
+ this.instigator?.onFinalNext();
7107
+ return;
7108
+ }
7109
+ const isAnyObjectNotFinished = this.journeyCollection.some((journey) => !journey.isFinished());
7110
+ if (!isAnyObjectNotFinished) {
7111
+ this.instigator?.onFinalNext();
7112
+ return;
7113
+ }
7114
+ for (const journey of this.journeyCollection) {
7115
+ if (!journey) {
7116
+ continue;
7117
+ }
7118
+ if (!journey?.isFinished()) {
7119
+ journey?.next();
7120
+ break;
7121
+ }
7122
+ }
7123
+ }
7124
+ //previous will be called by the instigator that will invoke the previous method of the journey component that will invoke the previous method of the childpage component
7125
+ previous() {
7126
+ if (this.journeyCollection.length <= 0) {
7127
+ this.instigator?.onFinalPrevious();
7128
+ return;
7129
+ }
7130
+ const isAnyObjectNotAtStart = this.journeyCollection.some((journey) => !journey.isStart());
7131
+ if (!isAnyObjectNotAtStart) {
7132
+ this.instigator?.onFinalPrevious();
7133
+ return;
7134
+ }
7135
+ for (const journey of this.journeyCollection.slice().reverse()) {
7136
+ if (!journey) {
7137
+ continue;
7138
+ }
7139
+ if (!journey?.isStart()) {
7140
+ journey?.previous();
7141
+ break;
7142
+ }
7143
+ }
7144
+ }
7145
+ //isAtStart can be used to inform the instigator if we're at the start.
7146
+ get isAtStart() {
7147
+ return this.isJourneyAtStart;
7148
+ }
7149
+ //isAtStart can be used to update the value from a journey object, so the instigator knows.
7150
+ set isAtStart(isAtStart) {
7151
+ this.isJourneyAtStart = isAtStart;
7152
+ }
7153
+ static ɵfac = function MultipageComponentStateService_Factory(t) { return new (t || MultipageComponentStateService)(); };
7154
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MultipageComponentStateService, factory: MultipageComponentStateService.ɵfac, providedIn: 'root' });
7155
+ }
7156
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultipageComponentStateService, [{
7157
+ type: Injectable,
7158
+ args: [{
7159
+ providedIn: 'root'
7160
+ }]
7161
+ }], null, null); })();
7162
+
7051
7163
  class JurisdictionService {
7052
7164
  httpService;
7053
7165
  // We retain the Subject observable because subscribing code couldn't happen a null value
@@ -10142,25 +10254,24 @@ function CaseEditPageComponent_form_10_div_4_Template(rf, ctx) { if (rf & 1) {
10142
10254
  function CaseEditPageComponent_form_10_Template(rf, ctx) { if (rf & 1) {
10143
10255
  const _r5 = i0.ɵɵgetCurrentView();
10144
10256
  i0.ɵɵelementStart(0, "form", 22);
10145
- i0.ɵɵlistener("submit", function CaseEditPageComponent_form_10_Template_form_submit_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.submit()); });
10257
+ i0.ɵɵlistener("submit", function CaseEditPageComponent_form_10_Template_form_submit_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.nextStep()); });
10146
10258
  i0.ɵɵelementStart(1, "fieldset", 23);
10147
10259
  i0.ɵɵelement(2, "legend", 24);
10148
10260
  i0.ɵɵtemplate(3, CaseEditPageComponent_form_10_ccd_case_edit_form_3_Template, 1, 4, "ccd-case-edit-form", 25)(4, CaseEditPageComponent_form_10_div_4_Template, 5, 6, "div", 26);
10149
10261
  i0.ɵɵelementEnd();
10150
10262
  i0.ɵɵelementStart(5, "div", 27)(6, "button", 28);
10151
- i0.ɵɵpipe(7, "async");
10152
10263
  i0.ɵɵlistener("click", function CaseEditPageComponent_form_10_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toPreviousPage()); });
10153
- i0.ɵɵtext(8);
10154
- i0.ɵɵpipe(9, "rpxTranslate");
10264
+ i0.ɵɵtext(7);
10265
+ i0.ɵɵpipe(8, "rpxTranslate");
10155
10266
  i0.ɵɵelementEnd();
10156
- i0.ɵɵelementStart(10, "button", 29);
10157
- i0.ɵɵtext(11);
10158
- i0.ɵɵpipe(12, "rpxTranslate");
10267
+ i0.ɵɵelementStart(9, "button", 29);
10268
+ i0.ɵɵtext(10);
10269
+ i0.ɵɵpipe(11, "rpxTranslate");
10159
10270
  i0.ɵɵelementEnd()();
10160
- i0.ɵɵelementStart(13, "p", 30)(14, "a", 31);
10161
- i0.ɵɵlistener("click", function CaseEditPageComponent_form_10_Template_a_click_14_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
10162
- i0.ɵɵtext(15);
10163
- i0.ɵɵpipe(16, "rpxTranslate");
10271
+ i0.ɵɵelementStart(12, "p", 30)(13, "a", 31);
10272
+ i0.ɵɵlistener("click", function CaseEditPageComponent_form_10_Template_a_click_13_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
10273
+ i0.ɵɵtext(14);
10274
+ i0.ɵɵpipe(15, "rpxTranslate");
10164
10275
  i0.ɵɵelementEnd()()();
10165
10276
  } if (rf & 2) {
10166
10277
  const ctx_r1 = i0.ɵɵnextContext();
@@ -10170,15 +10281,15 @@ function CaseEditPageComponent_form_10_Template(rf, ctx) { if (rf & 1) {
10170
10281
  i0.ɵɵadvance();
10171
10282
  i0.ɵɵproperty("ngIf", ctx_r1.currentPage.isMultiColumn());
10172
10283
  i0.ɵɵadvance(2);
10173
- i0.ɵɵproperty("disabled", !i0.ɵɵpipeBind1(7, 8, ctx_r1.hasPreviousPage$));
10174
- i0.ɵɵadvance(2);
10175
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 10, "Previous"), " ");
10284
+ i0.ɵɵproperty("disabled", ctx_r1.isAtStart());
10285
+ i0.ɵɵadvance();
10286
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 8, "Previous"), " ");
10176
10287
  i0.ɵɵadvance(2);
10177
10288
  i0.ɵɵproperty("disabled", ctx_r1.submitting());
10178
10289
  i0.ɵɵadvance();
10179
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 12, ctx_r1.triggerText));
10290
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 10, ctx_r1.triggerText));
10180
10291
  i0.ɵɵadvance(4);
10181
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 14, ctx_r1.getCancelText()));
10292
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 12, ctx_r1.getCancelText()));
10182
10293
  } }
10183
10294
  function CaseEditPageComponent_ccd_case_event_completion_11_Template(rf, ctx) { if (rf & 1) {
10184
10295
  const _r7 = i0.ɵɵgetCurrentView();
@@ -10201,6 +10312,7 @@ class CaseEditPageComponent {
10201
10312
  caseEditDataService;
10202
10313
  loadingService;
10203
10314
  validPageListCaseFieldsService;
10315
+ multipageComponentStateService;
10204
10316
  addressService;
10205
10317
  static RESUMED_FORM_DISCARD = 'RESUMED_FORM_DISCARD';
10206
10318
  static NEW_FORM_DISCARD = 'NEW_FORM_DISCARD';
@@ -10242,7 +10354,7 @@ class CaseEditPageComponent {
10242
10354
  topContainer.focus();
10243
10355
  }
10244
10356
  }
10245
- constructor(caseEdit, route, formValueService, formErrorService, cdRef, pageValidationService, dialog, caseFieldService, caseEditDataService, loadingService, validPageListCaseFieldsService, addressService) {
10357
+ constructor(caseEdit, route, formValueService, formErrorService, cdRef, pageValidationService, dialog, caseFieldService, caseEditDataService, loadingService, validPageListCaseFieldsService, multipageComponentStateService, addressService) {
10246
10358
  this.caseEdit = caseEdit;
10247
10359
  this.route = route;
10248
10360
  this.formValueService = formValueService;
@@ -10254,7 +10366,26 @@ class CaseEditPageComponent {
10254
10366
  this.caseEditDataService = caseEditDataService;
10255
10367
  this.loadingService = loadingService;
10256
10368
  this.validPageListCaseFieldsService = validPageListCaseFieldsService;
10369
+ this.multipageComponentStateService = multipageComponentStateService;
10257
10370
  this.addressService = addressService;
10371
+ this.multipageComponentStateService.setInstigator(this);
10372
+ }
10373
+ onFinalNext() {
10374
+ this.submit();
10375
+ }
10376
+ onFinalPrevious() {
10377
+ this.cancel();
10378
+ }
10379
+ isAtStart() {
10380
+ return this.multipageComponentStateService.isAtStart;
10381
+ }
10382
+ // This method will be triggered by the next button in the app component
10383
+ nextStep() {
10384
+ this.multipageComponentStateService.next();
10385
+ }
10386
+ // This method will be triggered by the previous button in the app component
10387
+ previousStep() {
10388
+ this.multipageComponentStateService.previous();
10258
10389
  }
10259
10390
  ngOnInit() {
10260
10391
  initDialog();
@@ -10313,6 +10444,7 @@ class CaseEditPageComponent {
10313
10444
  this.dialogRefAfterClosedSub?.unsubscribe();
10314
10445
  this.saveDraftSub?.unsubscribe();
10315
10446
  this.caseFormValidationErrorsSub?.unsubscribe();
10447
+ this.multipageComponentStateService.reset();
10316
10448
  }
10317
10449
  applyValuesChanged(valuesChanged) {
10318
10450
  this.formValuesChanged = valuesChanged;
@@ -10339,6 +10471,7 @@ class CaseEditPageComponent {
10339
10471
  caseEventData.data = caseEventData.event_data;
10340
10472
  this.updateFormData(caseEventData);
10341
10473
  this.previous();
10474
+ this.previousStep();
10342
10475
  CaseEditPageComponent.setFocusToTop();
10343
10476
  }
10344
10477
  // Adding validation message to show it as Error Summary
@@ -10613,6 +10746,7 @@ class CaseEditPageComponent {
10613
10746
  this.caseEdit.cancelled.emit();
10614
10747
  }
10615
10748
  this.caseEditDataService.clearFormValidationErrors();
10749
+ this.multipageComponentStateService.reset();
10616
10750
  }
10617
10751
  submitting() {
10618
10752
  return this.caseEdit.isSubmitting;
@@ -10765,7 +10899,7 @@ class CaseEditPageComponent {
10765
10899
  }
10766
10900
  });
10767
10901
  }
10768
- static ɵfac = function CaseEditPageComponent_Factory(t) { return new (t || CaseEditPageComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(PageValidationService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(AddressesService)); };
10902
+ static ɵfac = function CaseEditPageComponent_Factory(t) { return new (t || CaseEditPageComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(PageValidationService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(MultipageComponentStateService), i0.ɵɵdirectiveInject(AddressesService)); };
10769
10903
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditPageComponent, selectors: [["ccd-case-edit-page"]], decls: 12, vars: 11, consts: [["titleBlock", ""], ["idBlock", ""], [4, "ngIf"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [3, "error"], [3, "callbackErrorsContext", "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject"], [1, "width-50"], ["class", "form", 3, "formGroup", "submit", 4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], ["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form", 3, "submit", "formGroup"], ["id", "fieldset-case-data"], [2, "display", "none"], ["id", "caseEditForm", 3, "fields", "formGroup", "caseFields", "pageChangeSubject", "valuesChanged", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "form-group", "form-group-related"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], ["id", "caseEditForm", 3, "valuesChanged", "fields", "formGroup", "caseFields", "pageChangeSubject"], [1, "grid-row"], [1, "column-two-thirds", "rightBorderSeparator"], ["id", "caseEditForm1", 3, "fields", "formGroup", "caseFields"], [1, "column-one-third"], ["id", "caseEditForm2", 3, "fields", "formGroup", "caseFields"], [3, "eventCanBeCompleted", "eventCompletionParams"]], template: function CaseEditPageComponent_Template(rf, ctx) { if (rf & 1) {
10770
10904
  const _r1 = i0.ɵɵgetCurrentView();
10771
10905
  i0.ɵɵtemplate(0, CaseEditPageComponent_ng_container_0_Template, 3, 2, "ng-container", 2)(1, CaseEditPageComponent_div_1_Template, 1, 0, "div", 3)(2, CaseEditPageComponent_ng_template_2_Template, 2, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(4, CaseEditPageComponent_ng_template_4_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(6, CaseEditPageComponent_div_6_Template, 5, 4, "div", 4);
@@ -10774,7 +10908,7 @@ class CaseEditPageComponent {
10774
10908
  i0.ɵɵlistener("callbackErrorsContext", function CaseEditPageComponent_Template_ccd_callback_errors_callbackErrorsContext_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.callbackErrorsNotify($event)); });
10775
10909
  i0.ɵɵelementEnd();
10776
10910
  i0.ɵɵelementStart(9, "div", 7);
10777
- i0.ɵɵtemplate(10, CaseEditPageComponent_form_10_Template, 17, 16, "form", 8);
10911
+ i0.ɵɵtemplate(10, CaseEditPageComponent_form_10_Template, 16, 14, "form", 8);
10778
10912
  i0.ɵɵelementEnd();
10779
10913
  i0.ɵɵtemplate(11, CaseEditPageComponent_ccd_case_event_completion_11_Template, 1, 1, "ccd-case-event-completion", 9);
10780
10914
  } if (rf & 2) {
@@ -10797,9 +10931,9 @@ class CaseEditPageComponent {
10797
10931
  }
10798
10932
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditPageComponent, [{
10799
10933
  type: Component,
10800
- args: [{ selector: 'ccd-case-edit-page', template: "<ng-container *ngIf=\"currentPage\">\n <h1 *ngIf=\"!currentPage.label\" class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n <ng-container *ngIf=\"currentPage.label\">\n <span class=\"govuk-caption-l\">{{ eventTrigger.name | rpxTranslate}}</span>\n <h1 class=\"govuk-heading-l\">{{currentPage.label | rpxTranslate}}</h1>\n </ng-container>\n</ng-container>\n\n<!--Case ID or Title -->\n<div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n<ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: caseFields : editForm.controls['data']\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<!-- Error message summary -->\n<div *ngIf=\"validationErrors.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let validationError of validationErrors\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(validationError.id)\" class=\"validation-error\">\n {{ validationError.message | rpxTranslate: getRpxTranslatePipeArgs(validationError.label | rpxTranslate): null }}\n </a>\n </li>\n </ul>\n </div>\n</div>\n\n<ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<div class=\"width-50\">\n <form *ngIf=\"currentPage\" class=\"form\" [formGroup]=\"editForm\" (submit)=\"submit()\">\n <fieldset id=\"fieldset-case-data\">\n <legend style=\"display: none;\"></legend>\n <!-- single column -->\n <ccd-case-edit-form id='caseEditForm' *ngIf=\"!currentPage.isMultiColumn()\" [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"\n [pageChangeSubject]=\"pageChangeSubject\"\n (valuesChanged)=\"applyValuesChanged($event)\"></ccd-case-edit-form>\n <!-- two columns -->\n <div *ngIf=\"currentPage.isMultiColumn()\" class=\"grid-row\">\n <div class=\"column-two-thirds rightBorderSeparator\">\n <ccd-case-edit-form id='caseEditForm1' [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n <div class=\"column-one-third\">\n <ccd-case-edit-form id='caseEditForm2' [fields]=\"currentPage.getCol2Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n </div>\n </fieldset>\n\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" [disabled]=\"!(hasPreviousPage$ | async)\" (click)=\"toPreviousPage()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button class=\"button\" type=\"submit\" [disabled]=\"submitting()\">{{triggerText | rpxTranslate}}</button>\n </div>\n\n <p class=\"cancel\"><a (click)=\"cancel()\" href=\"javascript:void(0)\">{{getCancelText() | rpxTranslate}}</a></p>\n </form>\n</div>\n\n<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\n", styles: [".rightBorderSeparator{border-right-width:4px;border-right-color:#ffcc02;border-right-style:solid}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
10801
- }], () => [{ type: CaseEditComponent }, { type: i1$1.ActivatedRoute }, { type: FormValueService }, { type: FormErrorService }, { type: i0.ChangeDetectorRef }, { type: PageValidationService }, { type: i1$3.MatLegacyDialog }, { type: CaseFieldService }, { type: CaseEditDataService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: AddressesService }], null); })();
10802
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditPageComponent, { className: "CaseEditPageComponent", filePath: "lib/shared/components/case-editor/case-edit-page/case-edit-page.component.ts", lineNumber: 31 }); })();
10934
+ args: [{ selector: 'ccd-case-edit-page', template: "<ng-container *ngIf=\"currentPage\">\n <h1 *ngIf=\"!currentPage.label\" class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n <ng-container *ngIf=\"currentPage.label\">\n <span class=\"govuk-caption-l\">{{ eventTrigger.name | rpxTranslate}}</span>\n <h1 class=\"govuk-heading-l\">{{currentPage.label | rpxTranslate}}</h1>\n </ng-container>\n</ng-container>\n\n<!--Case ID or Title -->\n<div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n<ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: caseFields : editForm.controls['data']\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<!-- Error message summary -->\n<div *ngIf=\"validationErrors.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let validationError of validationErrors\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(validationError.id)\" class=\"validation-error\">\n {{ validationError.message | rpxTranslate: getRpxTranslatePipeArgs(validationError.label | rpxTranslate): null }}\n </a>\n </li>\n </ul>\n </div>\n</div>\n\n<ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<div class=\"width-50\">\n <form *ngIf=\"currentPage\" class=\"form\" [formGroup]=\"editForm\" (submit)=\"nextStep()\">\n <fieldset id=\"fieldset-case-data\">\n <legend style=\"display: none;\"></legend>\n <!-- single column -->\n <ccd-case-edit-form id='caseEditForm' *ngIf=\"!currentPage.isMultiColumn()\" [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"\n [pageChangeSubject]=\"pageChangeSubject\"\n (valuesChanged)=\"applyValuesChanged($event)\"></ccd-case-edit-form>\n <!-- two columns -->\n <div *ngIf=\"currentPage.isMultiColumn()\" class=\"grid-row\">\n <div class=\"column-two-thirds rightBorderSeparator\">\n <ccd-case-edit-form id='caseEditForm1' [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n <div class=\"column-one-third\">\n <ccd-case-edit-form id='caseEditForm2' [fields]=\"currentPage.getCol2Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n </div>\n </fieldset>\n\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"toPreviousPage()\" [disabled]=\"isAtStart()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button class=\"button\" type=\"submit\" [disabled]=\"submitting()\">{{triggerText | rpxTranslate}}</button>\n </div>\n\n <p class=\"cancel\"><a (click)=\"cancel()\" href=\"javascript:void(0)\">{{getCancelText() | rpxTranslate}}</a></p>\n </form>\n</div>\n\n<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\n", styles: [".rightBorderSeparator{border-right-width:4px;border-right-color:#ffcc02;border-right-style:solid}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
10935
+ }], () => [{ type: CaseEditComponent }, { type: i1$1.ActivatedRoute }, { type: FormValueService }, { type: FormErrorService }, { type: i0.ChangeDetectorRef }, { type: PageValidationService }, { type: i1$3.MatLegacyDialog }, { type: CaseFieldService }, { type: CaseEditDataService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: MultipageComponentStateService }, { type: AddressesService }], null); })();
10936
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditPageComponent, { className: "CaseEditPageComponent", filePath: "lib/shared/components/case-editor/case-edit-page/case-edit-page.component.ts", lineNumber: 32 }); })();
10803
10937
 
10804
10938
  class CallbackErrorsContext {
10805
10939
  triggerText;
@@ -10948,7 +11082,7 @@ class CallbackErrorsComponent {
10948
11082
  }] }); })();
10949
11083
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CallbackErrorsComponent, { className: "CallbackErrorsComponent", filePath: "lib/shared/components/error/callback-errors.component.ts", lineNumber: 10 }); })();
10950
11084
 
10951
- const _c0$X = a0 => ["/", "cases", "case-details", a0, "tasks"];
11085
+ const _c0$Z = a0 => ["/", "cases", "case-details", a0, "tasks"];
10952
11086
  class CaseEventCompletionTaskCancelledComponent {
10953
11087
  parentComponent;
10954
11088
  caseId;
@@ -11011,7 +11145,7 @@ class CaseEventCompletionTaskCancelledComponent {
11011
11145
  i0.ɵɵadvance(4);
11012
11146
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(27, 21, "Continue"), " ");
11013
11147
  i0.ɵɵadvance(2);
11014
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction1(25, _c0$X, ctx.caseId));
11148
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction1(25, _c0$Z, ctx.caseId));
11015
11149
  i0.ɵɵadvance();
11016
11150
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(30, 23, "Cancel"), " ");
11017
11151
  } }, dependencies: [i1$1.RouterLink, i1.RpxTranslatePipe], encapsulation: 2 });
@@ -11025,7 +11159,7 @@ class CaseEventCompletionTaskCancelledComponent {
11025
11159
  }] }], null); })();
11026
11160
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventCompletionTaskCancelledComponent, { className: "CaseEventCompletionTaskCancelledComponent", filePath: "lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.ts", lineNumber: 8 }); })();
11027
11161
 
11028
- const _c0$W = a0 => ["/", "cases", "case-details", a0, "tasks"];
11162
+ const _c0$Y = a0 => ["/", "cases", "case-details", a0, "tasks"];
11029
11163
  function CaseEventCompletionTaskReassignedComponent_div_0_Template(rf, ctx) { if (rf & 1) {
11030
11164
  const _r1 = i0.ɵɵgetCurrentView();
11031
11165
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h2", 3);
@@ -11078,7 +11212,7 @@ function CaseEventCompletionTaskReassignedComponent_div_0_Template(rf, ctx) { if
11078
11212
  i0.ɵɵadvance(4);
11079
11213
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(27, 22, "Continue"), " ");
11080
11214
  i0.ɵɵadvance(2);
11081
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction1(26, _c0$W, ctx_r1.caseId));
11215
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction1(26, _c0$Y, ctx_r1.caseId));
11082
11216
  i0.ɵɵadvance();
11083
11217
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(30, 24, "Cancel"), " ");
11084
11218
  } }
@@ -11550,7 +11684,7 @@ class WriteComplexFieldComponent extends AbstractFieldWriteComponent {
11550
11684
  }] }); })();
11551
11685
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteComplexFieldComponent, { className: "WriteComplexFieldComponent", filePath: "lib/shared/components/palette/complex/write-complex-field.component.ts", lineNumber: 21 }); })();
11552
11686
 
11553
- const _c0$V = ["writeComplexFieldComponent"];
11687
+ const _c0$X = ["writeComplexFieldComponent"];
11554
11688
  const _c1$o = a0 => ({ "form-group-error": a0 });
11555
11689
  const _c2$3 = a0 => ({ "govuk-input--error": a0 });
11556
11690
  function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) { if (rf & 1) {
@@ -11792,7 +11926,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
11792
11926
  }
11793
11927
  static ɵfac = function WriteAddressFieldComponent_Factory(t) { return new (t || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(AddressesService), i0.ɵɵdirectiveInject(IsCompoundPipe)); };
11794
11928
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["ccd-write-address-field"]], viewQuery: function WriteAddressFieldComponent_Query(rf, ctx) { if (rf & 1) {
11795
- i0.ɵɵviewQuery(_c0$V, 5);
11929
+ i0.ɵɵviewQuery(_c0$X, 5);
11796
11930
  i0.ɵɵviewQuery(FocusElementDirective, 5);
11797
11931
  } if (rf & 2) {
11798
11932
  let _t;
@@ -11855,6 +11989,172 @@ class AbstractFieldReadComponent extends AbstractFormFieldComponent {
11855
11989
  type: Input
11856
11990
  }] }); })();
11857
11991
 
11992
+ const _c0$W = ["journeyChild"];
11993
+ class AbstractFieldWriteJourneyComponent extends AbstractFieldWriteComponent {
11994
+ multipageComponentStateService;
11995
+ journeyStartPageNumber = 0;
11996
+ journeyEndPageNumber = 0;
11997
+ journeyPageNumber = 0;
11998
+ journeyPreviousPageNumber = 0;
11999
+ journeyId = 'journey';
12000
+ // todo...
12001
+ childJourney;
12002
+ constructor(multipageComponentStateService) {
12003
+ super();
12004
+ this.multipageComponentStateService = multipageComponentStateService;
12005
+ this.multipageComponentStateService.addTojourneyCollection(this);
12006
+ this.journeyPageNumber = this.journeyStartPageNumber;
12007
+ }
12008
+ next() {
12009
+ if (!this.hasNext()) {
12010
+ return;
12011
+ }
12012
+ this.childJourney.next();
12013
+ }
12014
+ previous() {
12015
+ if (!this.hasPrevious()) {
12016
+ return;
12017
+ }
12018
+ if (this.childJourney['cachedFlagType'] && this.childJourney['subJourneyIndex'] !== 0) {
12019
+ this.childJourney.previous();
12020
+ }
12021
+ else {
12022
+ this.previousPage();
12023
+ }
12024
+ }
12025
+ previousPage() {
12026
+ if (this.hasPrevious()) {
12027
+ this.journeyPageNumber--;
12028
+ this.onPageChange();
12029
+ }
12030
+ }
12031
+ nextPage() {
12032
+ if (this.hasNext()) {
12033
+ this.journeyPageNumber++;
12034
+ this.onPageChange();
12035
+ }
12036
+ }
12037
+ ngOnInit() {
12038
+ this.journeyPageNumber = this.journeyStartPageNumber;
12039
+ const state = this.multipageComponentStateService.getJourneyState(this);
12040
+ if (state) {
12041
+ const { journeyPageNumber, journeyStartPageNumber, journeyEndPageNumber } = state;
12042
+ this.journeyPageNumber = journeyPageNumber;
12043
+ this.journeyStartPageNumber = journeyStartPageNumber;
12044
+ this.journeyEndPageNumber = journeyEndPageNumber;
12045
+ }
12046
+ }
12047
+ ngOnDestroy() {
12048
+ this.multipageComponentStateService.setJourneyState(this);
12049
+ }
12050
+ hasNext() { return this.journeyPageNumber < this.journeyEndPageNumber; }
12051
+ ;
12052
+ hasPrevious() { return this.journeyPageNumber > this.journeyStartPageNumber; }
12053
+ ;
12054
+ isFinished() { return this.journeyPageNumber === this.journeyEndPageNumber; }
12055
+ ;
12056
+ isStart() { return this.journeyPageNumber === this.journeyStartPageNumber; }
12057
+ ;
12058
+ getId() { return this.journeyId; }
12059
+ ;
12060
+ onPageChange() { }
12061
+ ;
12062
+ static ɵfac = function AbstractFieldWriteJourneyComponent_Factory(t) { return new (t || AbstractFieldWriteJourneyComponent)(i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
12063
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AbstractFieldWriteJourneyComponent, viewQuery: function AbstractFieldWriteJourneyComponent_Query(rf, ctx) { if (rf & 1) {
12064
+ i0.ɵɵviewQuery(_c0$W, 5);
12065
+ } if (rf & 2) {
12066
+ let _t;
12067
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.childJourney = _t.first);
12068
+ } }, inputs: { journeyId: "journeyId" }, features: [i0.ɵɵInheritDefinitionFeature] });
12069
+ }
12070
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AbstractFieldWriteJourneyComponent, [{
12071
+ type: Directive
12072
+ }], () => [{ type: MultipageComponentStateService }], { journeyId: [{
12073
+ type: Input
12074
+ }], childJourney: [{
12075
+ type: ViewChild,
12076
+ args: ['journeyChild']
12077
+ }] }); })();
12078
+
12079
+ const _c0$V = ["journeyChild"];
12080
+ class AbstractJourneyComponent {
12081
+ multipageComponentStateService;
12082
+ journeyStartPageNumber = 0;
12083
+ journeyEndPageNumber = 0;
12084
+ journeyPageNumber = 0;
12085
+ journeyPreviousPageNumber;
12086
+ journeyId = 'journey';
12087
+ // todo...
12088
+ childJourney;
12089
+ constructor(multipageComponentStateService) {
12090
+ this.multipageComponentStateService = multipageComponentStateService;
12091
+ this.multipageComponentStateService.addTojourneyCollection(this);
12092
+ this.journeyPageNumber = this.journeyStartPageNumber;
12093
+ }
12094
+ next() {
12095
+ if (!this.hasNext()) {
12096
+ return;
12097
+ }
12098
+ this.childJourney.next();
12099
+ }
12100
+ previous() {
12101
+ if (!this.hasPrevious()) {
12102
+ return;
12103
+ }
12104
+ this.previousPage();
12105
+ }
12106
+ previousPage() {
12107
+ if (this.hasPrevious()) {
12108
+ this.journeyPageNumber--;
12109
+ }
12110
+ }
12111
+ ngOnInit() {
12112
+ this.journeyPageNumber = this.journeyStartPageNumber;
12113
+ const state = this.multipageComponentStateService.getJourneyState(this);
12114
+ console.log(this.journeyPageNumber);
12115
+ if (state) {
12116
+ const { journeyPageNumber, journeyStartPageNumber, journeyEndPageNumber } = state;
12117
+ this.journeyPageNumber = journeyPageNumber;
12118
+ this.journeyStartPageNumber = journeyStartPageNumber;
12119
+ this.journeyEndPageNumber = journeyEndPageNumber;
12120
+ }
12121
+ }
12122
+ ngOnDestroy() {
12123
+ this.multipageComponentStateService.setJourneyState(this);
12124
+ }
12125
+ hasNext() {
12126
+ return this.journeyPageNumber < this.journeyEndPageNumber;
12127
+ }
12128
+ hasPrevious() {
12129
+ return this.journeyPageNumber > this.journeyStartPageNumber;
12130
+ }
12131
+ isFinished() {
12132
+ return this.journeyPageNumber === this.journeyEndPageNumber;
12133
+ }
12134
+ isStart() {
12135
+ return this.journeyPageNumber === this.journeyStartPageNumber;
12136
+ }
12137
+ getId() {
12138
+ return this.journeyId;
12139
+ }
12140
+ onPageChange() { }
12141
+ static ɵfac = function AbstractJourneyComponent_Factory(t) { return new (t || AbstractJourneyComponent)(i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
12142
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AbstractJourneyComponent, viewQuery: function AbstractJourneyComponent_Query(rf, ctx) { if (rf & 1) {
12143
+ i0.ɵɵviewQuery(_c0$V, 5);
12144
+ } if (rf & 2) {
12145
+ let _t;
12146
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.childJourney = _t.first);
12147
+ } }, inputs: { journeyId: "journeyId" } });
12148
+ }
12149
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AbstractJourneyComponent, [{
12150
+ type: Directive
12151
+ }], () => [{ type: MultipageComponentStateService }], { journeyId: [{
12152
+ type: Input
12153
+ }], childJourney: [{
12154
+ type: ViewChild,
12155
+ args: ['journeyChild']
12156
+ }] }); })();
12157
+
11858
12158
  var DisplayContextParameter;
11859
12159
  (function (DisplayContextParameter) {
11860
12160
  DisplayContextParameter["Read"] = "READ";
@@ -12314,7 +12614,7 @@ class ReadCaseFlagFieldComponent extends AbstractFieldReadComponent {
12314
12614
 
12315
12615
  function WriteCaseFlagFieldComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
12316
12616
  const _r1 = i0.ɵɵgetCurrentView();
12317
- i0.ɵɵelementStart(0, "div", 5)(1, "ul", 6)(2, "li")(3, "a", 7);
12617
+ i0.ɵɵelementStart(0, "div", 6)(1, "ul", 7)(2, "li")(3, "a", 8);
12318
12618
  i0.ɵɵlistener("click", function WriteCaseFlagFieldComponent_div_0_div_4_Template_a_click_3_listener() { const errorMessage_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.navigateToErrorElement(errorMessage_r2.fieldId)); });
12319
12619
  i0.ɵɵtext(4);
12320
12620
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -12325,11 +12625,11 @@ function WriteCaseFlagFieldComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1)
12325
12625
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 1, errorMessage_r2.description));
12326
12626
  } }
12327
12627
  function WriteCaseFlagFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
12328
- i0.ɵɵelementStart(0, "div", 2)(1, "h2", 3);
12628
+ i0.ɵɵelementStart(0, "div", 3)(1, "h2", 4);
12329
12629
  i0.ɵɵtext(2);
12330
12630
  i0.ɵɵpipe(3, "rpxTranslate");
12331
12631
  i0.ɵɵelementEnd();
12332
- i0.ɵɵtemplate(4, WriteCaseFlagFieldComponent_div_0_div_4_Template, 6, 3, "div", 4);
12632
+ i0.ɵɵtemplate(4, WriteCaseFlagFieldComponent_div_0_div_4_Template, 6, 3, "div", 5);
12333
12633
  i0.ɵɵelementEnd();
12334
12634
  } if (rf & 2) {
12335
12635
  const ctx_r2 = i0.ɵɵnextContext();
@@ -12341,7 +12641,7 @@ function WriteCaseFlagFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
12341
12641
  function WriteCaseFlagFieldComponent_div_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
12342
12642
  const _r4 = i0.ɵɵgetCurrentView();
12343
12643
  i0.ɵɵelementContainerStart(0);
12344
- i0.ɵɵelementStart(1, "ccd-select-flag-location", 11);
12644
+ i0.ɵɵelementStart(1, "ccd-select-flag-location", 12, 0);
12345
12645
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_2_Template_ccd_select_flag_location_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12346
12646
  i0.ɵɵelementEnd();
12347
12647
  i0.ɵɵelementContainerEnd();
@@ -12353,7 +12653,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_2_Template(rf, ctx) { if
12353
12653
  function WriteCaseFlagFieldComponent_div_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
12354
12654
  const _r5 = i0.ɵɵgetCurrentView();
12355
12655
  i0.ɵɵelementContainerStart(0);
12356
- i0.ɵɵelementStart(1, "ccd-select-flag-type", 12);
12656
+ i0.ɵɵelementStart(1, "ccd-select-flag-type", 13, 0);
12357
12657
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_3_Template_ccd_select_flag_type_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); })("flagCommentsOptionalEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_3_Template_ccd_select_flag_type_flagCommentsOptionalEmitter_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onFlagCommentsOptionalEmitted($event)); });
12358
12658
  i0.ɵɵelementEnd();
12359
12659
  i0.ɵɵelementContainerEnd();
@@ -12365,7 +12665,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_3_Template(rf, ctx) { if
12365
12665
  function WriteCaseFlagFieldComponent_div_1_ng_container_4_Template(rf, ctx) { if (rf & 1) {
12366
12666
  const _r6 = i0.ɵɵgetCurrentView();
12367
12667
  i0.ɵɵelementContainerStart(0);
12368
- i0.ɵɵelementStart(1, "ccd-search-language-interpreter", 13);
12668
+ i0.ɵɵelementStart(1, "ccd-search-language-interpreter", 14, 0);
12369
12669
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_4_Template_ccd_search_language_interpreter_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12370
12670
  i0.ɵɵelementEnd();
12371
12671
  i0.ɵɵelementContainerEnd();
@@ -12377,7 +12677,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_4_Template(rf, ctx) { if
12377
12677
  function WriteCaseFlagFieldComponent_div_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
12378
12678
  const _r7 = i0.ɵɵgetCurrentView();
12379
12679
  i0.ɵɵelementContainerStart(0);
12380
- i0.ɵɵelementStart(1, "ccd-add-comments", 14);
12680
+ i0.ɵɵelementStart(1, "ccd-add-comments", 15, 0);
12381
12681
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_5_Template_ccd_add_comments_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12382
12682
  i0.ɵɵelementEnd();
12383
12683
  i0.ɵɵelementContainerEnd();
@@ -12389,7 +12689,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_5_Template(rf, ctx) { if
12389
12689
  function WriteCaseFlagFieldComponent_div_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
12390
12690
  const _r8 = i0.ɵɵgetCurrentView();
12391
12691
  i0.ɵɵelementContainerStart(0);
12392
- i0.ɵɵelementStart(1, "ccd-confirm-flag-status", 15);
12692
+ i0.ɵɵelementStart(1, "ccd-confirm-flag-status", 16, 0);
12393
12693
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_1_ng_container_6_Template_ccd_confirm_flag_status_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12394
12694
  i0.ɵɵelementEnd();
12395
12695
  i0.ɵɵelementContainerEnd();
@@ -12399,8 +12699,8 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_6_Template(rf, ctx) { if
12399
12699
  i0.ɵɵproperty("formGroup", ctx_r2.caseFlagParentFormGroup)("defaultStatus", ctx_r2.flagType.defaultStatus);
12400
12700
  } }
12401
12701
  function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
12402
- i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
12403
- i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_1_ng_container_2_Template, 2, 3, "ng-container", 10)(3, WriteCaseFlagFieldComponent_div_1_ng_container_3_Template, 2, 7, "ng-container", 10)(4, WriteCaseFlagFieldComponent_div_1_ng_container_4_Template, 2, 2, "ng-container", 10)(5, WriteCaseFlagFieldComponent_div_1_ng_container_5_Template, 2, 4, "ng-container", 10)(6, WriteCaseFlagFieldComponent_div_1_ng_container_6_Template, 2, 2, "ng-container", 10);
12702
+ i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
12703
+ i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_1_ng_container_2_Template, 3, 3, "ng-container", 11)(3, WriteCaseFlagFieldComponent_div_1_ng_container_3_Template, 3, 7, "ng-container", 11)(4, WriteCaseFlagFieldComponent_div_1_ng_container_4_Template, 3, 2, "ng-container", 11)(5, WriteCaseFlagFieldComponent_div_1_ng_container_5_Template, 3, 4, "ng-container", 11)(6, WriteCaseFlagFieldComponent_div_1_ng_container_6_Template, 3, 2, "ng-container", 11);
12404
12704
  i0.ɵɵelementEnd()();
12405
12705
  } if (rf & 2) {
12406
12706
  const ctx_r2 = i0.ɵɵnextContext();
@@ -12421,7 +12721,7 @@ function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
12421
12721
  function WriteCaseFlagFieldComponent_div_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
12422
12722
  const _r9 = i0.ɵɵgetCurrentView();
12423
12723
  i0.ɵɵelementContainerStart(0);
12424
- i0.ɵɵelementStart(1, "ccd-manage-case-flags", 16);
12724
+ i0.ɵɵelementStart(1, "ccd-manage-case-flags", 17, 0);
12425
12725
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_2_ng_container_2_Template_ccd_manage_case_flags_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12426
12726
  i0.ɵɵelementEnd();
12427
12727
  i0.ɵɵelementContainerEnd();
@@ -12433,7 +12733,7 @@ function WriteCaseFlagFieldComponent_div_2_ng_container_2_Template(rf, ctx) { if
12433
12733
  function WriteCaseFlagFieldComponent_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
12434
12734
  const _r10 = i0.ɵɵgetCurrentView();
12435
12735
  i0.ɵɵelementContainerStart(0);
12436
- i0.ɵɵelementStart(1, "ccd-update-flag", 17);
12736
+ i0.ɵɵelementStart(1, "ccd-update-flag", 18, 0);
12437
12737
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_2_ng_container_3_Template_ccd_update_flag_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12438
12738
  i0.ɵɵelementEnd();
12439
12739
  i0.ɵɵelementContainerEnd();
@@ -12445,7 +12745,7 @@ function WriteCaseFlagFieldComponent_div_2_ng_container_3_Template(rf, ctx) { if
12445
12745
  function WriteCaseFlagFieldComponent_div_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
12446
12746
  const _r11 = i0.ɵɵgetCurrentView();
12447
12747
  i0.ɵɵelementContainerStart(0);
12448
- i0.ɵɵelementStart(1, "ccd-update-flag-add-translation-form", 18);
12748
+ i0.ɵɵelementStart(1, "ccd-update-flag-add-translation-form", 19, 0);
12449
12749
  i0.ɵɵlistener("caseFlagStateEmitter", function WriteCaseFlagFieldComponent_div_2_ng_container_4_Template_ccd_update_flag_add_translation_form_caseFlagStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCaseFlagStateEmitted($event)); });
12450
12750
  i0.ɵɵelementEnd();
12451
12751
  i0.ɵɵelementContainerEnd();
@@ -12455,8 +12755,8 @@ function WriteCaseFlagFieldComponent_div_2_ng_container_4_Template(rf, ctx) { if
12455
12755
  i0.ɵɵproperty("formGroup", ctx_r2.caseFlagParentFormGroup);
12456
12756
  } }
12457
12757
  function WriteCaseFlagFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
12458
- i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
12459
- i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_2_ng_container_2_Template, 2, 4, "ng-container", 10)(3, WriteCaseFlagFieldComponent_div_2_ng_container_3_Template, 2, 2, "ng-container", 10)(4, WriteCaseFlagFieldComponent_div_2_ng_container_4_Template, 2, 1, "ng-container", 10);
12758
+ i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
12759
+ i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_2_ng_container_2_Template, 3, 4, "ng-container", 11)(3, WriteCaseFlagFieldComponent_div_2_ng_container_3_Template, 3, 2, "ng-container", 11)(4, WriteCaseFlagFieldComponent_div_2_ng_container_4_Template, 3, 1, "ng-container", 11);
12460
12760
  i0.ɵɵelementEnd()();
12461
12761
  } if (rf & 2) {
12462
12762
  const ctx_r2 = i0.ɵɵnextContext();
@@ -12470,11 +12770,12 @@ function WriteCaseFlagFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
12470
12770
  i0.ɵɵadvance();
12471
12771
  i0.ɵɵproperty("ngSwitchCase", ctx_r2.caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION);
12472
12772
  } }
12473
- class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12773
+ class WriteCaseFlagFieldComponent extends AbstractFieldWriteJourneyComponent {
12474
12774
  route;
12475
12775
  caseEditDataService;
12476
12776
  caseFlagStateService;
12477
12777
  rpxTranslationService;
12778
+ //public formGroup: FormGroup;
12478
12779
  fieldState;
12479
12780
  caseFlagFieldState = CaseFlagFieldState;
12480
12781
  errorMessages = [];
@@ -12508,24 +12809,26 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12508
12809
  this.caseFlagParentFormGroup.value.selectedLocation = selectedLocation;
12509
12810
  }
12510
12811
  }
12511
- constructor(route, caseEditDataService, caseFlagStateService, rpxTranslationService) {
12512
- super();
12812
+ constructor(route, caseEditDataService, caseFlagStateService, rpxTranslationService, multipageComponentStateService) {
12813
+ super(multipageComponentStateService);
12513
12814
  this.route = route;
12514
12815
  this.caseEditDataService = caseEditDataService;
12515
12816
  this.caseFlagStateService = caseFlagStateService;
12516
12817
  this.rpxTranslationService = rpxTranslationService;
12517
12818
  }
12518
12819
  ngOnInit() {
12820
+ let navigatedTo = false;
12519
12821
  // If it is start of the journey or navigation from check your answers page then fieldStateToNavigate property
12520
12822
  // in case flag state service will contain the field state to navigate based on create or manage journey
12521
12823
  this.fieldState = this.caseFlagStateService.fieldStateToNavigate;
12522
- if (this.fieldState === undefined ||
12523
- this.fieldState === CaseFlagFieldState.FLAG_LOCATION ||
12524
- this.fieldState === CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS) {
12824
+ if (this.fieldState === undefined) {
12525
12825
  const params = this.route.snapshot.params;
12526
12826
  // Clear the form group, field state to navigate and set the page location
12527
12827
  this.caseFlagStateService.resetCache(`../${params['eid']}/${params['page']}`);
12528
12828
  }
12829
+ else {
12830
+ navigatedTo = true;
12831
+ }
12529
12832
  // Reassign the form group from the case flag state service
12530
12833
  this.caseFlagParentFormGroup = this.caseFlagStateService.formGroup;
12531
12834
  // Clear form validation errors as a new page will be rendered based on field state
@@ -12587,6 +12890,45 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12587
12890
  });
12588
12891
  }
12589
12892
  }
12893
+ // CSFD-16.
12894
+ // Setup the page number to initially be the same value as
12895
+ // the start page number. Provided that some state exists within
12896
+ // the page state service, use that instaead.
12897
+ //
12898
+ // If isDisplayContextParameterUpdate is true, then the starting page must be
12899
+ // the value of 4. Otherwise, it's 0. However, we're using an enum to simplify
12900
+ // this process.
12901
+ //
12902
+ // It might help to take a look at the template file.
12903
+ if (this.isDisplayContextParameterUpdate) {
12904
+ this.journeyStartPageNumber = CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS;
12905
+ this.journeyEndPageNumber = CaseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION;
12906
+ }
12907
+ else {
12908
+ this.journeyStartPageNumber = CaseFlagFieldState.FLAG_LOCATION;
12909
+ this.journeyEndPageNumber = CaseFlagFieldState.FLAG_STATUS;
12910
+ }
12911
+ // Now that we've set the start page number, let's set the current page number.
12912
+ this.journeyPageNumber = this.journeyStartPageNumber;
12913
+ // If we've navigated to this page, then we know by default, we want to set the
12914
+ // journey page number to the field state.
12915
+ if (navigatedTo) {
12916
+ this.journeyPageNumber = this.fieldState;
12917
+ this.journeyPreviousPageNumber = this.journeyEndPageNumber++;
12918
+ }
12919
+ // Provided we have some stored state, i.e. when going backwards, we want
12920
+ // to get the last visited page, etc.
12921
+ const state = this.multipageComponentStateService.getJourneyState(this);
12922
+ if (state) {
12923
+ const { journeyPageNumber, journeyStartPageNumber, journeyEndPageNumber } = state;
12924
+ this.journeyPageNumber = journeyPageNumber;
12925
+ this.journeyStartPageNumber = journeyStartPageNumber;
12926
+ this.journeyEndPageNumber = journeyEndPageNumber;
12927
+ }
12928
+ this.multipageComponentStateService.isAtStart = this.journeyPageNumber === this.journeyStartPageNumber;
12929
+ }
12930
+ onPageChange() {
12931
+ this.multipageComponentStateService.isAtStart = this.journeyPageNumber === this.journeyStartPageNumber;
12590
12932
  }
12591
12933
  setDisplayContextParameterUpdate(displayContextParameter) {
12592
12934
  return displayContextParameter === CaseFlagDisplayContextParameter.UPDATE ||
@@ -12642,6 +12984,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12642
12984
  }
12643
12985
  proceedToNextState() {
12644
12986
  if (!this.isAtFinalState()) {
12987
+ this.journeyPreviousPageNumber = this.fieldState;
12645
12988
  // Skip the "language interpreter" state if current state is CaseFlagFieldState.FLAG_TYPE and the flag type doesn't
12646
12989
  // have a "list of values" - currently, this is present only for those flag types that require language interpreter
12647
12990
  // selection
@@ -12651,6 +12994,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12651
12994
  else {
12652
12995
  this.fieldState++;
12653
12996
  }
12997
+ this.nextPage();
12654
12998
  }
12655
12999
  }
12656
13000
  setFlagsCaseFieldValue() {
@@ -12669,6 +13013,16 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12669
13013
  break;
12670
13014
  }
12671
13015
  }
13016
+ previousPage() {
13017
+ this.journeyPreviousPageNumber = this.fieldState;
13018
+ if (this.hasPrevious() && this.fieldState === CaseFlagFieldState.FLAG_COMMENTS && !this.flagType?.listOfValues) {
13019
+ this.fieldState = CaseFlagFieldState.FLAG_TYPE;
13020
+ }
13021
+ else if (this.hasPrevious()) {
13022
+ this.fieldState--;
13023
+ }
13024
+ super.previousPage();
13025
+ }
12672
13026
  addFlagToCollection() {
12673
13027
  // Ensure no more than one new flag is being added at a time, by iterating through each Flags case field and removing
12674
13028
  // any previous entry from the details array where that entry has no id (hence it is new - and there should be only
@@ -12967,6 +13321,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12967
13321
  }
12968
13322
  }
12969
13323
  ngOnDestroy() {
13324
+ this.multipageComponentStateService.setJourneyState(this);
12970
13325
  // Reset the fieldstateToNavigate as the write journey completes at this point
12971
13326
  this.caseFlagStateService.fieldStateToNavigate = undefined;
12972
13327
  this.caseTitleSubscription?.unsubscribe();
@@ -12978,9 +13333,9 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12978
13333
  setDisplayContextParameter(caseFields) {
12979
13334
  return caseFields.find(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']))?.display_context_parameter;
12980
13335
  }
12981
- static ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(CaseFlagStateService), i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
12982
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteCaseFlagFieldComponent, selectors: [["ccd-write-case-flag-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "caseFlagStateEmitter", "formGroup", "flagsData", "isDisplayContextParameterExternal"], [3, "caseFlagStateEmitter", "flagCommentsOptionalEmitter", "formGroup", "jurisdiction", "caseTypeId", "hmctsServiceId", "isDisplayContextParameterExternal", "isDisplayContextParameter2Point1Enabled", "selectedFlagsLocation"], [3, "caseFlagStateEmitter", "formGroup", "flagType"], [3, "caseFlagStateEmitter", "formGroup", "optional", "isDisplayContextParameterExternal", "isDisplayContextParameter2Point1Enabled"], [3, "caseFlagStateEmitter", "formGroup", "defaultStatus"], [3, "caseFlagStateEmitter", "formGroup", "flagsData", "caseTitle", "displayContextParameter"], [3, "caseFlagStateEmitter", "formGroup", "displayContextParameter"], [3, "caseFlagStateEmitter", "formGroup"]], template: function WriteCaseFlagFieldComponent_Template(rf, ctx) { if (rf & 1) {
12983
- i0.ɵɵtemplate(0, WriteCaseFlagFieldComponent_div_0_Template, 5, 4, "div", 0)(1, WriteCaseFlagFieldComponent_div_1_Template, 7, 7, "div", 1)(2, WriteCaseFlagFieldComponent_div_2_Template, 5, 5, "div", 1);
13336
+ static ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(CaseFlagStateService), i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
13337
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteCaseFlagFieldComponent, selectors: [["ccd-write-case-flag-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["journeyChild", ""], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "caseFlagStateEmitter", "formGroup", "flagsData", "isDisplayContextParameterExternal"], [3, "caseFlagStateEmitter", "flagCommentsOptionalEmitter", "formGroup", "jurisdiction", "caseTypeId", "hmctsServiceId", "isDisplayContextParameterExternal", "isDisplayContextParameter2Point1Enabled", "selectedFlagsLocation"], [3, "caseFlagStateEmitter", "formGroup", "flagType"], [3, "caseFlagStateEmitter", "formGroup", "optional", "isDisplayContextParameterExternal", "isDisplayContextParameter2Point1Enabled"], [3, "caseFlagStateEmitter", "formGroup", "defaultStatus"], [3, "caseFlagStateEmitter", "formGroup", "flagsData", "caseTitle", "displayContextParameter"], [3, "caseFlagStateEmitter", "formGroup", "displayContextParameter"], [3, "caseFlagStateEmitter", "formGroup"]], template: function WriteCaseFlagFieldComponent_Template(rf, ctx) { if (rf & 1) {
13338
+ i0.ɵɵtemplate(0, WriteCaseFlagFieldComponent_div_0_Template, 5, 4, "div", 1)(1, WriteCaseFlagFieldComponent_div_1_Template, 7, 7, "div", 2)(2, WriteCaseFlagFieldComponent_div_2_Template, 5, 5, "div", 2);
12984
13339
  } if (rf & 2) {
12985
13340
  i0.ɵɵproperty("ngIf", ctx.errorMessages.length > 0);
12986
13341
  i0.ɵɵadvance();
@@ -12991,9 +13346,9 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
12991
13346
  }
12992
13347
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCaseFlagFieldComponent, [{
12993
13348
  type: Component,
12994
- args: [{ selector: 'ccd-write-case-flag-field', template: "<!-- Error message summary -->\n<div *ngIf=\"errorMessages.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let errorMessage of errorMessages\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(errorMessage.fieldId)\" class=\"validation-error\">{{errorMessage.description | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"!isDisplayContextParameterUpdate\" class=\"form-group\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"fieldState\">\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_LOCATION\">\n <ccd-select-flag-location\n [formGroup]=\"caseFlagParentFormGroup\" [flagsData]=\"flagsData\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"\n [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n ></ccd-select-flag-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_TYPE\">\n <ccd-select-flag-type [formGroup]=\"caseFlagParentFormGroup\" [jurisdiction]=\"jurisdiction\" [caseTypeId]=\"caseTypeId\"\n [hmctsServiceId]=\"hmctsServiceId\" [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n [isDisplayContextParameter2Point1Enabled]=\"isDisplayContextParameter2Point1Enabled\"\n [selectedFlagsLocation]=\"selectedFlagsLocation\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"\n (flagCommentsOptionalEmitter)=\"onFlagCommentsOptionalEmitted($event)\"></ccd-select-flag-type>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_LANGUAGE_INTERPRETER\">\n <ccd-search-language-interpreter [formGroup]=\"caseFlagParentFormGroup\"\n [flagType]=\"flagType\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-search-language-interpreter>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_COMMENTS\">\n <ccd-add-comments [formGroup]=\"caseFlagParentFormGroup\" [optional]=\"flagCommentsOptional\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"\n [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n [isDisplayContextParameter2Point1Enabled]=\"isDisplayContextParameter2Point1Enabled\">\n </ccd-add-comments>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_STATUS\">\n <ccd-confirm-flag-status [formGroup]=\"caseFlagParentFormGroup\" [defaultStatus]=\"flagType.defaultStatus\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"></ccd-confirm-flag-status>\n </ng-container>\n </div>\n</div>\n<div *ngIf=\"isDisplayContextParameterUpdate\" class=\"form-group\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"fieldState\">\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS\">\n <ccd-manage-case-flags [formGroup]=\"caseFlagParentFormGroup\" [flagsData]=\"flagsData\" [caseTitle]=\"caseTitle\"\n [displayContextParameter]=\"displayContextParameter\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"></ccd-manage-case-flags>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_UPDATE\">\n <ccd-update-flag [formGroup]=\"caseFlagParentFormGroup\"\n [displayContextParameter]=\"displayContextParameter\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"></ccd-update-flag>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION\">\n <ccd-update-flag-add-translation-form\n [formGroup]=\"caseFlagParentFormGroup\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"\n ></ccd-update-flag-add-translation-form>\n </ng-container>\n </div>\n</div>\n", styles: [".validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
12995
- }], () => [{ type: i1$1.ActivatedRoute }, { type: CaseEditDataService }, { type: CaseFlagStateService }, { type: i1.RpxTranslationService }], null); })();
12996
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCaseFlagFieldComponent, { className: "WriteCaseFlagFieldComponent", filePath: "lib/shared/components/palette/case-flag/write-case-flag-field.component.ts", lineNumber: 20 }); })();
13349
+ args: [{ selector: 'ccd-write-case-flag-field', template: "<!-- Error message summary -->\n<div *ngIf=\"errorMessages.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\"\n tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let errorMessage of errorMessages\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(errorMessage.fieldId)\" class=\"validation-error\">{{errorMessage.description |\n rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"!isDisplayContextParameterUpdate\" class=\"form-group\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"fieldState\">\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_LOCATION\">\n <ccd-select-flag-location \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\" \n [flagsData]=\"flagsData\"\n [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-select-flag-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_TYPE\">\n <ccd-select-flag-type \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\" \n [jurisdiction]=\"jurisdiction\"\n [caseTypeId]=\"caseTypeId\" \n [hmctsServiceId]=\"hmctsServiceId\"\n [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n [isDisplayContextParameter2Point1Enabled]=\"isDisplayContextParameter2Point1Enabled\"\n [selectedFlagsLocation]=\"selectedFlagsLocation\" \n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\"\n (flagCommentsOptionalEmitter)=\"onFlagCommentsOptionalEmitted($event)\">\n </ccd-select-flag-type>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_LANGUAGE_INTERPRETER\">\n <ccd-search-language-interpreter \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\" \n [flagType]=\"flagType\" \n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-search-language-interpreter>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_COMMENTS\">\n <ccd-add-comments \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\" \n [optional]=\"flagCommentsOptional\"\n [isDisplayContextParameterExternal]=\"isDisplayContextParameterExternal\"\n [isDisplayContextParameter2Point1Enabled]=\"isDisplayContextParameter2Point1Enabled\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-add-comments>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_STATUS\">\n <ccd-confirm-flag-status \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\"\n [defaultStatus]=\"flagType.defaultStatus\" \n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-confirm-flag-status>\n </ng-container>\n </div>\n</div>\n<div *ngIf=\"isDisplayContextParameterUpdate\" class=\"form-group\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"fieldState\">\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS\">\n <ccd-manage-case-flags \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\" \n [flagsData]=\"flagsData\"\n [caseTitle]=\"caseTitle\" \n [displayContextParameter]=\"displayContextParameter\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-manage-case-flags>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_UPDATE\">\n <ccd-update-flag \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\"\n [displayContextParameter]=\"displayContextParameter\" \n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-update-flag>\n </ng-container>\n <ng-container *ngSwitchCase=\"caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION\">\n <ccd-update-flag-add-translation-form \n #journeyChild \n [formGroup]=\"caseFlagParentFormGroup\"\n (caseFlagStateEmitter)=\"onCaseFlagStateEmitted($event)\">\n </ccd-update-flag-add-translation-form>\n </ng-container>\n </div>\n</div>", styles: [".validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
13350
+ }], () => [{ type: i1$1.ActivatedRoute }, { type: CaseEditDataService }, { type: CaseFlagStateService }, { type: i1.RpxTranslationService }, { type: MultipageComponentStateService }], null); })();
13351
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCaseFlagFieldComponent, { className: "WriteCaseFlagFieldComponent", filePath: "lib/shared/components/palette/case-flag/write-case-flag-field.component.ts", lineNumber: 21 }); })();
12997
13352
 
12998
13353
  class CaseReferencePipe {
12999
13354
  transform(caseReference) {
@@ -15891,7 +16246,7 @@ function BeforeYouStartComponent_div_1_Template(rf, ctx) { if (rf & 1) {
15891
16246
  i0.ɵɵproperty("ngIf", ctx_r1.serverLinkedApiError);
15892
16247
  } }
15893
16248
  function BeforeYouStartComponent_div_2_div_3_Template(rf, ctx) { if (rf & 1) {
15894
- i0.ɵɵelementStart(0, "div", 11)(1, "p", 3);
16249
+ i0.ɵɵelementStart(0, "div", 9)(1, "p", 3);
15895
16250
  i0.ɵɵtext(2, "If a group of linked cases has a lead case, you must start from the lead case.");
15896
16251
  i0.ɵɵelementEnd();
15897
16252
  i0.ɵɵelementStart(3, "p", 3);
@@ -15899,20 +16254,16 @@ function BeforeYouStartComponent_div_2_div_3_Template(rf, ctx) { if (rf & 1) {
15899
16254
  i0.ɵɵelementEnd()();
15900
16255
  } }
15901
16256
  function BeforeYouStartComponent_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
15902
- i0.ɵɵelementStart(0, "div", 12)(1, "p", 3);
16257
+ i0.ɵɵelementStart(0, "div", 10)(1, "p", 3);
15903
16258
  i0.ɵɵtext(2, "If there are linked hearings for the case you need to un-link then you must unlink the hearing first.");
15904
16259
  i0.ɵɵelementEnd()();
15905
16260
  } }
15906
16261
  function BeforeYouStartComponent_div_2_Template(rf, ctx) { if (rf & 1) {
15907
- const _r3 = i0.ɵɵgetCurrentView();
15908
16262
  i0.ɵɵelementStart(0, "div")(1, "h1", 1);
15909
16263
  i0.ɵɵtext(2, "Before you start");
15910
16264
  i0.ɵɵelementEnd();
15911
16265
  i0.ɵɵtemplate(3, BeforeYouStartComponent_div_2_div_3_Template, 5, 0, "div", 7)(4, BeforeYouStartComponent_div_2_div_4_Template, 3, 0, "div", 8);
15912
- i0.ɵɵelementStart(5, "div", 9)(6, "button", 10);
15913
- i0.ɵɵlistener("click", function BeforeYouStartComponent_div_2_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNext()); });
15914
- i0.ɵɵtext(7, "Next");
15915
- i0.ɵɵelementEnd()()();
16266
+ i0.ɵɵelementEnd();
15916
16267
  } if (rf & 2) {
15917
16268
  const ctx_r1 = i0.ɵɵnextContext();
15918
16269
  i0.ɵɵadvance(3);
@@ -15920,14 +16271,15 @@ function BeforeYouStartComponent_div_2_Template(rf, ctx) { if (rf & 1) {
15920
16271
  i0.ɵɵadvance();
15921
16272
  i0.ɵɵproperty("ngIf", !ctx_r1.isLinkCasesJourney);
15922
16273
  } }
15923
- class BeforeYouStartComponent {
16274
+ class BeforeYouStartComponent extends AbstractJourneyComponent {
15924
16275
  router;
15925
16276
  linkedCasesService;
15926
16277
  linkedCasesStateEmitter = new EventEmitter();
15927
16278
  isLinkCasesJourney = false;
15928
16279
  errorMessages;
15929
16280
  serverLinkedApiError;
15930
- constructor(router, linkedCasesService) {
16281
+ constructor(router, linkedCasesService, multipageComponentStateService) {
16282
+ super(multipageComponentStateService);
15931
16283
  this.router = router;
15932
16284
  this.linkedCasesService = linkedCasesService;
15933
16285
  this.isLinkCasesJourney = this.linkedCasesService.isLinkedCasesEventTrigger;
@@ -15944,13 +16296,22 @@ class BeforeYouStartComponent {
15944
16296
  navigateToNextPage: true
15945
16297
  });
15946
16298
  }
16299
+ next() {
16300
+ this.onNext();
16301
+ const isAnArray = Array.isArray(this.errorMessages);
16302
+ const isNotAnArray = !isAnArray;
16303
+ const isValid = (isAnArray && this.errorMessages.length === 0) || isNotAnArray;
16304
+ if (isValid) {
16305
+ super.next();
16306
+ }
16307
+ }
15947
16308
  onBack() {
15948
16309
  this.router.navigate(['cases', 'case-details', this.linkedCasesService.caseId], { fragment: 'Linked cases' });
15949
16310
  }
15950
- static ɵfac = function BeforeYouStartComponent_Factory(t) { return new (t || BeforeYouStartComponent)(i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(LinkedCasesService)); };
15951
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BeforeYouStartComponent, selectors: [["ccd-linked-cases-before-you-start"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, decls: 3, vars: 2, consts: [[4, "ngIf"], [1, "govuk-heading-xl"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], [1, "govuk-body"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "link-cases-journey", 4, "ngIf"], ["id", "manage-link-cases-journey", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", "id", "next-button", 1, "button", "button-primary", 3, "click"], ["id", "link-cases-journey"], ["id", "manage-link-cases-journey"]], template: function BeforeYouStartComponent_Template(rf, ctx) { if (rf & 1) {
16311
+ static ɵfac = function BeforeYouStartComponent_Factory(t) { return new (t || BeforeYouStartComponent)(i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
16312
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BeforeYouStartComponent, selectors: [["ccd-linked-cases-before-you-start"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[4, "ngIf"], [1, "govuk-heading-xl"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], [1, "govuk-body"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "link-cases-journey", 4, "ngIf"], ["id", "manage-link-cases-journey", 4, "ngIf"], ["id", "link-cases-journey"], ["id", "manage-link-cases-journey"]], template: function BeforeYouStartComponent_Template(rf, ctx) { if (rf & 1) {
15952
16313
  i0.ɵɵelementStart(0, "div");
15953
- i0.ɵɵtemplate(1, BeforeYouStartComponent_div_1_Template, 7, 1, "div", 0)(2, BeforeYouStartComponent_div_2_Template, 8, 2, "div", 0);
16314
+ i0.ɵɵtemplate(1, BeforeYouStartComponent_div_1_Template, 7, 1, "div", 0)(2, BeforeYouStartComponent_div_2_Template, 5, 2, "div", 0);
15954
16315
  i0.ɵɵelementEnd();
15955
16316
  } if (rf & 2) {
15956
16317
  i0.ɵɵadvance();
@@ -15961,11 +16322,11 @@ class BeforeYouStartComponent {
15961
16322
  }
15962
16323
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BeforeYouStartComponent, [{
15963
16324
  type: Component,
15964
- args: [{ selector: 'ccd-linked-cases-before-you-start', template: "<div>\n <div *ngIf=\"serverLinkedApiError\">\n <h1 class=\"govuk-heading-xl\">There is a problem</h1>\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"serverLinkedApiError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{serverLinkedApiError.message}}\n </p>\n <p class=\"govuk-body\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">Go back to the Linked cases tab</a>\n </p>\n </div>\n <div *ngIf=\"!serverLinkedApiError\">\n <h1 class=\"govuk-heading-xl\">Before you start</h1>\n <div id=\"link-cases-journey\" *ngIf=\"isLinkCasesJourney\">\n <p class=\"govuk-body\">If a group of linked cases has a lead case, you must start from the lead case.</p>\n <p class=\"govuk-body\">If the cases to be linked has no lead, you can start the linking journey from any of those\n cases.</p>\n </div>\n <div id=\"manage-link-cases-journey\" *ngIf=\"!isLinkCasesJourney\">\n <p class=\"govuk-body\">If there are linked hearings for the case you need to un-link then you must unlink the\n hearing first.</p>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" id=\"next-button\" (click)=\"onNext()\">Next</button>\n </div>\n </div>\n</div>\n" }]
15965
- }], () => [{ type: i1$1.Router }, { type: LinkedCasesService }], { linkedCasesStateEmitter: [{
16325
+ args: [{ selector: 'ccd-linked-cases-before-you-start', template: "<div>\n <div *ngIf=\"serverLinkedApiError\">\n <h1 class=\"govuk-heading-xl\">There is a problem</h1>\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"serverLinkedApiError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{serverLinkedApiError.message}}\n </p>\n <p class=\"govuk-body\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">Go back to the Linked cases tab</a>\n </p>\n </div>\n <div *ngIf=\"!serverLinkedApiError\">\n <h1 class=\"govuk-heading-xl\">Before you start</h1>\n <div id=\"link-cases-journey\" *ngIf=\"isLinkCasesJourney\">\n <p class=\"govuk-body\">If a group of linked cases has a lead case, you must start from the lead case.</p>\n <p class=\"govuk-body\">If the cases to be linked has no lead, you can start the linking journey from any of those\n cases.</p>\n </div>\n <div id=\"manage-link-cases-journey\" *ngIf=\"!isLinkCasesJourney\">\n <p class=\"govuk-body\">If there are linked hearings for the case you need to un-link then you must unlink the\n hearing first.</p>\n </div>\n </div>\n</div>\n" }]
16326
+ }], () => [{ type: i1$1.Router }, { type: LinkedCasesService }, { type: MultipageComponentStateService }], { linkedCasesStateEmitter: [{
15966
16327
  type: Output
15967
16328
  }] }); })();
15968
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BeforeYouStartComponent, { className: "BeforeYouStartComponent", filePath: "lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.ts", lineNumber: 12 }); })();
16329
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BeforeYouStartComponent, { className: "BeforeYouStartComponent", filePath: "lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.ts", lineNumber: 14 }); })();
15969
16330
 
15970
16331
  function CheckYourAnswersComponent_table_4_tr_9_Template(rf, ctx) { if (rf & 1) {
15971
16332
  const _r1 = i0.ɵɵgetCurrentView();
@@ -16087,14 +16448,15 @@ function CheckYourAnswersComponent_tr_18_Template(rf, ctx) { if (rf & 1) {
16087
16448
  i0.ɵɵtext(2, " None ");
16088
16449
  i0.ɵɵelementEnd()();
16089
16450
  } }
16090
- class CheckYourAnswersComponent {
16451
+ class CheckYourAnswersComponent extends AbstractJourneyComponent {
16091
16452
  linkedCasesService;
16092
16453
  linkedCasesStateEmitter = new EventEmitter();
16093
16454
  linkedCases;
16094
16455
  casesToUnlink;
16095
16456
  isLinkCasesJourney;
16096
16457
  linkedCasesTableCaption;
16097
- constructor(linkedCasesService) {
16458
+ constructor(linkedCasesService, multipageComponentStateService) {
16459
+ super(multipageComponentStateService);
16098
16460
  this.linkedCasesService = linkedCasesService;
16099
16461
  }
16100
16462
  ngOnInit() {
@@ -16111,8 +16473,16 @@ class CheckYourAnswersComponent {
16111
16473
  navigateToNextPage: true
16112
16474
  });
16113
16475
  }
16114
- static ɵfac = function CheckYourAnswersComponent_Factory(t) { return new (t || CheckYourAnswersComponent)(i0.ɵɵdirectiveInject(LinkedCasesService)); };
16115
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckYourAnswersComponent, selectors: [["ccd-linked-cases-check-your-answers"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, decls: 19, vars: 5, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["id", "cases-to-unlink-table", "class", "govuk-table", 4, "ngIf"], ["id", "linked-cases-table", 1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header"], ["scope", "col", "class", "govuk-table__header", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], ["id", "cases-to-unlink-table", 1, "govuk-table"], [1, "govuk-table__cell"], ["href", "javascript:void(0)", 1, "govuk-link", "govuk-link--no-visited-state", "float-right", 3, "click"], ["colspan", "2", 1, "govuk-table__cell"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__cell", 4, "ngIf"], [4, "ngIf"], ["colspan", "4", 1, "govuk-table__cell"]], template: function CheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
16476
+ next() {
16477
+ this.linkedCasesStateEmitter.emit({
16478
+ currentLinkedCasesPage: LinkedCasesPages.CHECK_YOUR_ANSWERS,
16479
+ navigateToPreviousPage: false,
16480
+ navigateToNextPage: true
16481
+ });
16482
+ super.next();
16483
+ }
16484
+ static ɵfac = function CheckYourAnswersComponent_Factory(t) { return new (t || CheckYourAnswersComponent)(i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
16485
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckYourAnswersComponent, selectors: [["ccd-linked-cases-check-your-answers"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 5, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["id", "cases-to-unlink-table", "class", "govuk-table", 4, "ngIf"], ["id", "linked-cases-table", 1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header"], ["scope", "col", "class", "govuk-table__header", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], ["id", "cases-to-unlink-table", 1, "govuk-table"], [1, "govuk-table__cell"], ["href", "javascript:void(0)", 1, "govuk-link", "govuk-link--no-visited-state", "float-right", 3, "click"], ["colspan", "2", 1, "govuk-table__cell"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__cell", 4, "ngIf"], [4, "ngIf"], ["colspan", "4", 1, "govuk-table__cell"]], template: function CheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
16116
16486
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
16117
16487
  i0.ɵɵtext(3, "Check your answers");
16118
16488
  i0.ɵɵelementEnd();
@@ -16148,10 +16518,10 @@ class CheckYourAnswersComponent {
16148
16518
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckYourAnswersComponent, [{
16149
16519
  type: Component,
16150
16520
  args: [{ selector: 'ccd-linked-cases-check-your-answers', template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\">Check your answers</h1>\n <!-- Top table for manage link cases journey -->\n <table id=\"cases-to-unlink-table\" class=\"govuk-table\" *ngIf=\"!isLinkCasesJourney\">\n <caption class=\"govuk-table__caption govuk-table__caption--m\">Cases to unlink</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of casesToUnlink\">\n <td class=\"govuk-table__cell\">\n {{case.caseName}} <br> {{case.caseReference | ccdCaseReference}}\n </td>\n <td class=\"govuk-table__cell\">\n <a href=\"javascript:void(0)\" class=\"govuk-link govuk-link--no-visited-state float-right\" (click)=\"onChange()\">Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!casesToUnlink.length\">\n <td class=\"govuk-table__cell\" colspan=\"2\">\n None\n </td>\n </tr>\n </tbody>\n </table>\n <!-- Table for both link case and manage link case journeys -->\n <table id=\"linked-cases-table\" class=\"govuk-table\">\n <caption class=\"govuk-table__caption govuk-table__caption--m\">{{linkedCasesTableCaption}}</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header\">Reasons for case link</th>\n <th scope=\"col\" class=\"govuk-table__header\"></th>\n <th scope=\"col\" class=\"govuk-table__header\" *ngIf=\"isLinkCasesJourney\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of linkedCases\">\n <td class=\"govuk-table__cell\">\n <span>{{case.caseName}} <br> {{case.caseReference | ccdCaseReference}} </span>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngFor=\"let reason of case.reasons; last as isLast\">\n <span *ngIf=\"isLinkCasesJourney\">\n {{reason | ccdLinkCasesReasonValue}}\n </span>\n <span *ngIf=\"!isLinkCasesJourney\">\n {{reason.Reason.value | ccdLinkCasesReasonValue}}\n </span>\n <br *ngIf=\"!isLast\">\n </span>\n </td>\n <td class=\"govuk-table__cell\"></td>\n <td class=\"govuk-table__cell\" *ngIf=\"isLinkCasesJourney\">\n <a href=\"javascript:void(0)\" class=\"govuk-link govuk-link--no-visited-state float-right\" (click)=\"onChange()\">Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!linkedCases.length\">\n <td class=\"govuk-table__cell\" colspan=\"4\">\n None\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n", styles: [".float-right{float:right}\n"] }]
16151
- }], () => [{ type: LinkedCasesService }], { linkedCasesStateEmitter: [{
16521
+ }], () => [{ type: LinkedCasesService }, { type: MultipageComponentStateService }], { linkedCasesStateEmitter: [{
16152
16522
  type: Output
16153
16523
  }] }); })();
16154
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckYourAnswersComponent, { className: "CheckYourAnswersComponent", filePath: "lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.ts", lineNumber: 11 }); })();
16524
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckYourAnswersComponent, { className: "CheckYourAnswersComponent", filePath: "lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.ts", lineNumber: 14 }); })();
16155
16525
 
16156
16526
  class ValidatorsUtils {
16157
16527
  numberLengthValidator(inputLength) {
@@ -16181,7 +16551,7 @@ class ValidatorsUtils {
16181
16551
  const _c0$J = a0 => ({ "govuk-form-group--error": a0 });
16182
16552
  const _c1$g = a0 => ({ "table-group-error": a0 });
16183
16553
  function LinkCasesComponent_div_8_span_4_Template(rf, ctx) { if (rf & 1) {
16184
- i0.ɵɵelementStart(0, "span", 30)(1, "span", 31);
16554
+ i0.ɵɵelementStart(0, "span", 28)(1, "span", 29);
16185
16555
  i0.ɵɵtext(2, "Error:");
16186
16556
  i0.ɵɵelementEnd();
16187
16557
  i0.ɵɵtext(3);
@@ -16192,7 +16562,7 @@ function LinkCasesComponent_div_8_span_4_Template(rf, ctx) { if (rf & 1) {
16192
16562
  i0.ɵɵtextInterpolate1(" ", ctx_r1.caseNumberError, " ");
16193
16563
  } }
16194
16564
  function LinkCasesComponent_div_8_span_11_Template(rf, ctx) { if (rf & 1) {
16195
- i0.ɵɵelementStart(0, "span", 30)(1, "span", 31);
16565
+ i0.ɵɵelementStart(0, "span", 28)(1, "span", 29);
16196
16566
  i0.ɵɵtext(2, "Error:");
16197
16567
  i0.ɵɵelementEnd();
16198
16568
  i0.ɵɵtext(3);
@@ -16204,10 +16574,10 @@ function LinkCasesComponent_div_8_span_11_Template(rf, ctx) { if (rf & 1) {
16204
16574
  } }
16205
16575
  function LinkCasesComponent_div_8_div_13_Template(rf, ctx) { if (rf & 1) {
16206
16576
  const _r3 = i0.ɵɵgetCurrentView();
16207
- i0.ɵɵelementStart(0, "div", 32)(1, "input", 33);
16577
+ i0.ɵɵelementStart(0, "div", 30)(1, "input", 31);
16208
16578
  i0.ɵɵlistener("change", function LinkCasesComponent_div_8_div_13_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleLinkCaseReasonOtherComments($event)); });
16209
16579
  i0.ɵɵelementEnd();
16210
- i0.ɵɵelementStart(2, "label", 34);
16580
+ i0.ɵɵelementStart(2, "label", 32);
16211
16581
  i0.ɵɵtext(3);
16212
16582
  i0.ɵɵelementEnd()();
16213
16583
  } if (rf & 2) {
@@ -16223,7 +16593,7 @@ function LinkCasesComponent_div_8_div_13_Template(rf, ctx) { if (rf & 1) {
16223
16593
  i0.ɵɵtextInterpolate(reason_r4.value_en);
16224
16594
  } }
16225
16595
  function LinkCasesComponent_div_8_div_14_span_3_Template(rf, ctx) { if (rf & 1) {
16226
- i0.ɵɵelementStart(0, "span", 30)(1, "span", 31);
16596
+ i0.ɵɵelementStart(0, "span", 28)(1, "span", 29);
16227
16597
  i0.ɵɵtext(2, "Error:");
16228
16598
  i0.ɵɵelementEnd();
16229
16599
  i0.ɵɵtext(3);
@@ -16234,14 +16604,14 @@ function LinkCasesComponent_div_8_div_14_span_3_Template(rf, ctx) { if (rf & 1)
16234
16604
  i0.ɵɵtextInterpolate1(" ", ctx_r1.caseReasonCommentsError, " ");
16235
16605
  } }
16236
16606
  function LinkCasesComponent_div_8_div_14_Template(rf, ctx) { if (rf & 1) {
16237
- i0.ɵɵelementStart(0, "div", 35)(1, "h3", 22);
16607
+ i0.ɵɵelementStart(0, "div", 33)(1, "h3", 20);
16238
16608
  i0.ɵɵtext(2, "Comments");
16239
16609
  i0.ɵɵelementEnd();
16240
16610
  i0.ɵɵtemplate(3, LinkCasesComponent_div_8_div_14_span_3_Template, 4, 1, "span", 6);
16241
- i0.ɵɵelementStart(4, "textarea", 36);
16611
+ i0.ɵɵelementStart(4, "textarea", 34);
16242
16612
  i0.ɵɵtext(5, " ");
16243
16613
  i0.ɵɵelementEnd();
16244
- i0.ɵɵelementStart(6, "div", 37);
16614
+ i0.ɵɵelementStart(6, "div", 35);
16245
16615
  i0.ɵɵtext(7, " You can enter up to 100 characters ");
16246
16616
  i0.ɵɵelementEnd()();
16247
16617
  } if (rf & 2) {
@@ -16251,7 +16621,7 @@ function LinkCasesComponent_div_8_div_14_Template(rf, ctx) { if (rf & 1) {
16251
16621
  i0.ɵɵproperty("ngIf", ctx_r1.caseReasonCommentsError);
16252
16622
  } }
16253
16623
  function LinkCasesComponent_div_8_span_17_Template(rf, ctx) { if (rf & 1) {
16254
- i0.ɵɵelementStart(0, "span", 30)(1, "span", 31);
16624
+ i0.ɵɵelementStart(0, "span", 28)(1, "span", 29);
16255
16625
  i0.ɵɵtext(2, "Error:");
16256
16626
  i0.ɵɵelementEnd();
16257
16627
  i0.ɵɵtext(3);
@@ -16263,26 +16633,26 @@ function LinkCasesComponent_div_8_span_17_Template(rf, ctx) { if (rf & 1) {
16263
16633
  } }
16264
16634
  function LinkCasesComponent_div_8_Template(rf, ctx) { if (rf & 1) {
16265
16635
  const _r1 = i0.ɵɵgetCurrentView();
16266
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 5)(2, "h3", 22);
16636
+ i0.ɵɵelementStart(0, "div", 19)(1, "div", 5)(2, "h3", 20);
16267
16637
  i0.ɵɵtext(3, "Enter case reference");
16268
16638
  i0.ɵɵelementEnd();
16269
16639
  i0.ɵɵtemplate(4, LinkCasesComponent_div_8_span_4_Template, 4, 1, "span", 6);
16270
- i0.ɵɵelement(5, "input", 23);
16640
+ i0.ɵɵelement(5, "input", 21);
16271
16641
  i0.ɵɵelementEnd();
16272
- i0.ɵɵelementStart(6, "div", 24)(7, "h3", 22);
16642
+ i0.ɵɵelementStart(6, "div", 22)(7, "h3", 20);
16273
16643
  i0.ɵɵtext(8, "Why should these cases be linked?");
16274
16644
  i0.ɵɵelementEnd();
16275
- i0.ɵɵelementStart(9, "div", 25);
16645
+ i0.ɵɵelementStart(9, "div", 23);
16276
16646
  i0.ɵɵtext(10, " Select all that apply. ");
16277
16647
  i0.ɵɵelementEnd();
16278
16648
  i0.ɵɵtemplate(11, LinkCasesComponent_div_8_span_11_Template, 4, 1, "span", 6);
16279
- i0.ɵɵelementStart(12, "div", 26);
16280
- i0.ɵɵtemplate(13, LinkCasesComponent_div_8_div_13_Template, 4, 5, "div", 27);
16649
+ i0.ɵɵelementStart(12, "div", 24);
16650
+ i0.ɵɵtemplate(13, LinkCasesComponent_div_8_div_13_Template, 4, 5, "div", 25);
16281
16651
  i0.ɵɵelementEnd()();
16282
- i0.ɵɵtemplate(14, LinkCasesComponent_div_8_div_14_Template, 8, 4, "div", 28);
16652
+ i0.ɵɵtemplate(14, LinkCasesComponent_div_8_div_14_Template, 8, 4, "div", 26);
16283
16653
  i0.ɵɵelement(15, "br")(16, "br");
16284
16654
  i0.ɵɵtemplate(17, LinkCasesComponent_div_8_span_17_Template, 4, 1, "span", 6);
16285
- i0.ɵɵelementStart(18, "button", 29);
16655
+ i0.ɵɵelementStart(18, "button", 27);
16286
16656
  i0.ɵɵlistener("click", function LinkCasesComponent_div_8_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.submitCaseInfo()); });
16287
16657
  i0.ɵɵtext(19, "Propose case link");
16288
16658
  i0.ɵɵelementEnd()();
@@ -16305,7 +16675,7 @@ function LinkCasesComponent_div_8_Template(rf, ctx) { if (rf & 1) {
16305
16675
  i0.ɵɵproperty("ngIf", ctx_r1.caseSelectionError);
16306
16676
  } }
16307
16677
  function LinkCasesComponent_span_13_Template(rf, ctx) { if (rf & 1) {
16308
- i0.ɵɵelementStart(0, "span", 30)(1, "span", 31);
16678
+ i0.ɵɵelementStart(0, "span", 28)(1, "span", 29);
16309
16679
  i0.ɵɵtext(2, "Error:");
16310
16680
  i0.ɵɵelementEnd();
16311
16681
  i0.ɵɵtext(3);
@@ -16328,27 +16698,27 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) { if (rf & 1) {
16328
16698
  } }
16329
16699
  function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
16330
16700
  const _r6 = i0.ɵɵgetCurrentView();
16331
- i0.ɵɵelementStart(0, "tr", 10)(1, "td", 38);
16332
- i0.ɵɵelement(2, "div", 39);
16701
+ i0.ɵɵelementStart(0, "tr", 10)(1, "td", 36);
16702
+ i0.ɵɵelement(2, "div", 37);
16333
16703
  i0.ɵɵelementStart(3, "span");
16334
16704
  i0.ɵɵtext(4);
16335
16705
  i0.ɵɵelement(5, "br");
16336
16706
  i0.ɵɵtext(6);
16337
16707
  i0.ɵɵpipe(7, "ccdCaseReference");
16338
16708
  i0.ɵɵelementEnd()();
16339
- i0.ɵɵelementStart(8, "td", 40);
16709
+ i0.ɵɵelementStart(8, "td", 38);
16340
16710
  i0.ɵɵtext(9);
16341
16711
  i0.ɵɵelementEnd();
16342
- i0.ɵɵelementStart(10, "td", 38);
16712
+ i0.ɵɵelementStart(10, "td", 36);
16343
16713
  i0.ɵɵtext(11);
16344
16714
  i0.ɵɵelementEnd();
16345
- i0.ɵɵelementStart(12, "td", 40);
16715
+ i0.ɵɵelementStart(12, "td", 38);
16346
16716
  i0.ɵɵtext(13);
16347
16717
  i0.ɵɵelementEnd();
16348
- i0.ɵɵelementStart(14, "td", 38);
16349
- i0.ɵɵtemplate(15, LinkCasesComponent_tr_31_span_15_Template, 4, 3, "span", 41);
16718
+ i0.ɵɵelementStart(14, "td", 36);
16719
+ i0.ɵɵtemplate(15, LinkCasesComponent_tr_31_span_15_Template, 4, 3, "span", 39);
16350
16720
  i0.ɵɵelementEnd();
16351
- i0.ɵɵelementStart(16, "td", 38)(17, "a", 42);
16721
+ i0.ɵɵelementStart(16, "td", 36)(17, "a", 40);
16352
16722
  i0.ɵɵlistener("click", function LinkCasesComponent_tr_31_Template_a_click_17_listener() { const ctx_r7 = i0.ɵɵrestoreView(_r6); const case_r9 = ctx_r7.$implicit; const pos_r10 = ctx_r7.index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectedLinkedCaseRemove(pos_r10, case_r9.caseReference)); });
16353
16723
  i0.ɵɵtext(18, "Remove");
16354
16724
  i0.ɵɵelementEnd()()();
@@ -16377,11 +16747,11 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
16377
16747
  i0.ɵɵattribute("id", case_r9.caseReference);
16378
16748
  } }
16379
16749
  function LinkCasesComponent_tr_32_Template(rf, ctx) { if (rf & 1) {
16380
- i0.ɵɵelementStart(0, "tr", 10)(1, "td", 43);
16750
+ i0.ɵɵelementStart(0, "tr", 10)(1, "td", 41);
16381
16751
  i0.ɵɵtext(2, " None ");
16382
16752
  i0.ɵɵelementEnd()();
16383
16753
  } }
16384
- class LinkCasesComponent {
16754
+ class LinkCasesComponent extends AbstractJourneyComponent {
16385
16755
  casesService;
16386
16756
  fb;
16387
16757
  validatorsUtils;
@@ -16400,7 +16770,8 @@ class LinkCasesComponent {
16400
16770
  linkCaseReasons;
16401
16771
  showComments = false;
16402
16772
  ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS';
16403
- constructor(casesService, fb, validatorsUtils, linkedCasesService) {
16773
+ constructor(casesService, fb, validatorsUtils, linkedCasesService, multipageComponentStateService) {
16774
+ super(multipageComponentStateService);
16404
16775
  this.casesService = casesService;
16405
16776
  this.fb = fb;
16406
16777
  this.validatorsUtils = validatorsUtils;
@@ -16645,8 +17016,14 @@ class LinkCasesComponent {
16645
17016
  }
16646
17017
  this.emitLinkedCasesState(navigateToNextPage);
16647
17018
  }
16648
- static ɵfac = function LinkCasesComponent_Factory(t) { return new (t || LinkCasesComponent)(i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(ValidatorsUtils), i0.ɵɵdirectiveInject(LinkedCasesService)); };
16649
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LinkCasesComponent, selectors: [["ccd-link-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, decls: 36, vars: 11, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-caption-l"], [1, "govuk-heading-xl"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["id", "caseNumber", 1, "govuk-form-group", 3, "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "300", 1, "govuk-table__header"], ["scope", "col", "width", "150", 1, "govuk-table__header"], ["scope", "col", "width", "200", 1, "govuk-table__header"], ["scope", "col", "width", "400", 1, "govuk-table__header"], ["scope", "col", "width", "50", 1, "govuk-table__header"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", "id", "next-button", 1, "button", "button-primary", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-heading-s"], ["formControlName", "caseNumber", "id", "width-20", "name", "width-20", "type", "text", 1, "govuk-input", "govuk-input--width-20"], [1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "waste-hint", 1, "govuk-hint"], ["data-module", "govuk-checkboxes", "formArrayName", "reasonType", "id", "caseReason", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 3, "formGroupName", 4, "ngFor", "ngForOf"], ["id", "other-description-char-limit-error", "class", "govuk-!-margin-top-3", 3, "ngClass", 4, "ngIf"], ["id", "propose", "type", "button", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "click"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item", 3, "formGroupName"], ["formControlName", "selected", "name", "pos", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "other-description-char-limit-error", 1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "otherDescription", "name", "otherDescription", "formControlName", "otherDescription", "rows", "5", "aria-describedby", "other-description-hint other-description-char-limit-info other-description-char-limit-error", 1, "govuk-textarea", "govuk-input--width-30"], ["id", "other-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-table__cell"], [1, "govuk-form-group--error", 3, "ngClass"], [1, "govuk-table__cell", 3, "title"], [4, "ngFor", "ngForOf"], [1, "govuk-link", "no-visited-state", 3, "click"], ["colspan", "6", 1, "govuk-table__cell"]], template: function LinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
17019
+ next() {
17020
+ this.onNext();
17021
+ if (this.errorMessages.length === 0) {
17022
+ super.next();
17023
+ }
17024
+ }
17025
+ static ɵfac = function LinkCasesComponent_Factory(t) { return new (t || LinkCasesComponent)(i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(ValidatorsUtils), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
17026
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LinkCasesComponent, selectors: [["ccd-link-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 11, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-caption-l"], [1, "govuk-heading-xl"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["id", "caseNumber", 1, "govuk-form-group", 3, "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "300", 1, "govuk-table__header"], ["scope", "col", "width", "150", 1, "govuk-table__header"], ["scope", "col", "width", "200", 1, "govuk-table__header"], ["scope", "col", "width", "400", 1, "govuk-table__header"], ["scope", "col", "width", "50", 1, "govuk-table__header"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "form-group", 3, "formGroup"], [1, "govuk-heading-s"], ["formControlName", "caseNumber", "id", "width-20", "name", "width-20", "type", "text", 1, "govuk-input", "govuk-input--width-20"], [1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "waste-hint", 1, "govuk-hint"], ["data-module", "govuk-checkboxes", "formArrayName", "reasonType", "id", "caseReason", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 3, "formGroupName", 4, "ngFor", "ngForOf"], ["id", "other-description-char-limit-error", "class", "govuk-!-margin-top-3", 3, "ngClass", 4, "ngIf"], ["id", "propose", "type", "button", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "click"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item", 3, "formGroupName"], ["formControlName", "selected", "name", "pos", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "other-description-char-limit-error", 1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "otherDescription", "name", "otherDescription", "formControlName", "otherDescription", "rows", "5", "aria-describedby", "other-description-hint other-description-char-limit-info other-description-char-limit-error", 1, "govuk-textarea", "govuk-input--width-30"], ["id", "other-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-table__cell"], [1, "govuk-form-group--error", 3, "ngClass"], [1, "govuk-table__cell", 3, "title"], [4, "ngFor", "ngForOf"], [1, "govuk-link", "no-visited-state", 3, "click"], ["colspan", "6", 1, "govuk-table__cell"]], template: function LinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
16650
17027
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div")(3, "span", 2);
16651
17028
  i0.ɵɵtext(4);
16652
17029
  i0.ɵɵpipe(5, "ccdCaseReference");
@@ -16680,11 +17057,7 @@ class LinkCasesComponent {
16680
17057
  i0.ɵɵelementEnd()();
16681
17058
  i0.ɵɵelementStart(30, "tbody", 16);
16682
17059
  i0.ɵɵtemplate(31, LinkCasesComponent_tr_31_Template, 19, 14, "tr", 17)(32, LinkCasesComponent_tr_32_Template, 3, 0, "tr", 18);
16683
- i0.ɵɵelementEnd()()();
16684
- i0.ɵɵelementStart(33, "div", 19)(34, "button", 20);
16685
- i0.ɵɵlistener("click", function LinkCasesComponent_Template_button_click_34_listener() { return ctx.onNext(); });
16686
- i0.ɵɵtext(35, "Next");
16687
- i0.ɵɵelementEnd()()()()();
17060
+ i0.ɵɵelementEnd()()()()()();
16688
17061
  } if (rf & 2) {
16689
17062
  i0.ɵɵadvance(4);
16690
17063
  i0.ɵɵtextInterpolate2("Link cases to ", ctx.caseName, " ", i0.ɵɵpipeBind1(5, 7, ctx.caseId), "");
@@ -16702,11 +17075,11 @@ class LinkCasesComponent {
16702
17075
  }
16703
17076
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkCasesComponent, [{
16704
17077
  type: Component,
16705
- args: [{ selector: 'ccd-link-cases', template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <div>\n <span class=\"govuk-caption-l\">Link cases to {{caseName}} {{caseId | ccdCaseReference}}</span>\n <h1 class=\"govuk-heading-xl\">Select a&nbsp;case you want to link to this case</h1>\n <div class=\"form-group\" [formGroup]=\"linkCaseForm\" *ngIf=\"linkCaseForm\">\n <div class=\"govuk-form-group\" id=\"caseNumber\" [ngClass]=\"{'govuk-form-group--error': !!caseNumberError}\">\n <h3 class=\"govuk-heading-s\">Enter case reference</h3>\n <span class=\"govuk-error-message\" *ngIf=\"caseNumberError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseNumberError}}\n </span>\n <input class=\"govuk-input govuk-input--width-20\" formControlName=\"caseNumber\" id=\"width-20\" name=\"width-20\"\n type=\"text\">\n </div>\n <div [ngClass]=\"{'govuk-form-group--error': !!caseReasonError}\" class=\"govuk-!-margin-top-3\">\n <h3 class=\"govuk-heading-s\">Why should these cases be linked?</h3>\n <div id=\"waste-hint\" class=\"govuk-hint\">\n Select all that apply.\n </div>\n <span class=\"govuk-error-message\" *ngIf=\"caseReasonError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseReasonError}}\n </span>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\" formArrayName=\"reasonType\" id=\"caseReason\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let reason of linkCaseReasons;index as pos\" [formGroupName]=\"pos\">\n <input class=\"govuk-checkboxes__input\" id=\"{{reason.key}}\" formControlName=\"selected\" name=\"pos\"\n type=\"checkbox\" [value]=\"reason.value_en\" (change)=\"toggleLinkCaseReasonOtherComments($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{reason.key}}\">{{reason.value_en}}</label>\n </div>\n </div>\n </div>\n <div id=\"other-description-char-limit-error\" [ngClass]=\"{'govuk-form-group--error': !!caseReasonCommentsError}\" class=\"govuk-!-margin-top-3\" *ngIf=\"showComments\">\n <h3 class=\"govuk-heading-s\">Comments</h3>\n <span class=\"govuk-error-message\" *ngIf=\"caseReasonCommentsError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseReasonCommentsError}}\n </span>\n <textarea class=\"govuk-textarea govuk-input--width-30\" id=\"otherDescription\"\n name=\"otherDescription\" formControlName=\"otherDescription\" rows=\"5\"\n aria-describedby=\"other-description-hint other-description-char-limit-info other-description-char-limit-error\">\n </textarea>\n <div id=\"other-description-char-limit-info\" aria-live=\"polite\" class=\"govuk-hint govuk-character-count__message\">\n You can enter up to 100 characters\n </div>\n </div>\n <br><br>\n <span class=\"govuk-error-message\" *ngIf=\"caseSelectionError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseSelectionError}}\n </span>\n <button id=\"propose\" type=\"button\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\"\n (click)=\"submitCaseInfo()\">Propose case link</button>\n </div>\n <hr>\n <br><br>\n <div class=\"govuk-form-group\" id=\"caseNumber\" [ngClass]=\"{'govuk-form-group--error': !!noSelectedCaseError}\">\n <span class=\"govuk-error-message\" *ngIf=\"noSelectedCaseError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{noSelectedCaseError}}\n </span>\n <table class=\"govuk-table\">\n <caption class=\"govuk-table__caption govuk-table__caption--m\">Proposed case links </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header\" width=\"300\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"150\">Case type </th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"200\">Service</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"200\">State</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"400\">Reasons for case link</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"50\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of selectedCases; let pos = index\">\n <td class=\"govuk-table__cell\">\n <div class=\"govuk-form-group--error\"\n [ngClass]=\"{'table-group-error':caseSelectionError && case.caseReference === linkCaseForm.value.caseNumber}\">\n </div>\n <span>{{case.caseName}} <br> {{case.caseReference | ccdCaseReference}}</span>\n </td>\n <td class=\"govuk-table__cell\" [title]=\"case.caseTypeDescription\">{{case.caseType}}</td>\n <td class=\"govuk-table__cell\">{{case.caseService}}</td>\n <td class=\"govuk-table__cell\" [title]=\"case.caseStateDescription\">{{case.caseState}}</td>\n <td class=\"govuk-table__cell\"><span\n *ngFor=\"let reason of case.reasons\">{{reason | ccdLinkCasesReasonValue}}<br></span></td>\n <td class=\"govuk-table__cell\"><a [attr.id]=\"case.caseReference\" (click)=\"onSelectedLinkedCaseRemove(pos, case.caseReference);\"\n class=\"govuk-link no-visited-state\">Remove</a></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!selectedCases.length\">\n <td class=\"govuk-table__cell\" colspan=\"6\">\n None\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" id=\"next-button\" (click)=\"onNext()\">Next</button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".no-visited-state{color:#1d70b8;cursor:pointer}.no-visited-state:hover{color:#003078}.govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap;max-height:500px;width:100%;overflow-x:auto;overflow-y:hidden;padding-top:5px}.govuk-checkboxes .govuk-checkboxes__item{display:flex}::ng-deep .govuk-width-container .screen-990 .width-50{width:100%}.govuk-table__row{position:relative}.govuk-table__row .table-group-error{position:absolute;height:calc(100% - 20px);margin-left:-15px}\n"] }]
16706
- }], () => [{ type: CasesService }, { type: i4.FormBuilder }, { type: ValidatorsUtils }, { type: LinkedCasesService }], { linkedCasesStateEmitter: [{
17078
+ args: [{ selector: 'ccd-link-cases', template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <div>\n <span class=\"govuk-caption-l\">Link cases to {{caseName}} {{caseId | ccdCaseReference}}</span>\n <h1 class=\"govuk-heading-xl\">Select a&nbsp;case you want to link to this case</h1>\n <div class=\"form-group\" [formGroup]=\"linkCaseForm\" *ngIf=\"linkCaseForm\">\n <div class=\"govuk-form-group\" id=\"caseNumber\" [ngClass]=\"{'govuk-form-group--error': !!caseNumberError}\">\n <h3 class=\"govuk-heading-s\">Enter case reference</h3>\n <span class=\"govuk-error-message\" *ngIf=\"caseNumberError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseNumberError}}\n </span>\n <input class=\"govuk-input govuk-input--width-20\" formControlName=\"caseNumber\" id=\"width-20\" name=\"width-20\"\n type=\"text\">\n </div>\n <div [ngClass]=\"{'govuk-form-group--error': !!caseReasonError}\" class=\"govuk-!-margin-top-3\">\n <h3 class=\"govuk-heading-s\">Why should these cases be linked?</h3>\n <div id=\"waste-hint\" class=\"govuk-hint\">\n Select all that apply.\n </div>\n <span class=\"govuk-error-message\" *ngIf=\"caseReasonError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseReasonError}}\n </span>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\" formArrayName=\"reasonType\" id=\"caseReason\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let reason of linkCaseReasons;index as pos\" [formGroupName]=\"pos\">\n <input class=\"govuk-checkboxes__input\" id=\"{{reason.key}}\" formControlName=\"selected\" name=\"pos\"\n type=\"checkbox\" [value]=\"reason.value_en\" (change)=\"toggleLinkCaseReasonOtherComments($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{reason.key}}\">{{reason.value_en}}</label>\n </div>\n </div>\n </div>\n <div id=\"other-description-char-limit-error\" [ngClass]=\"{'govuk-form-group--error': !!caseReasonCommentsError}\" class=\"govuk-!-margin-top-3\" *ngIf=\"showComments\">\n <h3 class=\"govuk-heading-s\">Comments</h3>\n <span class=\"govuk-error-message\" *ngIf=\"caseReasonCommentsError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseReasonCommentsError}}\n </span>\n <textarea class=\"govuk-textarea govuk-input--width-30\" id=\"otherDescription\"\n name=\"otherDescription\" formControlName=\"otherDescription\" rows=\"5\"\n aria-describedby=\"other-description-hint other-description-char-limit-info other-description-char-limit-error\">\n </textarea>\n <div id=\"other-description-char-limit-info\" aria-live=\"polite\" class=\"govuk-hint govuk-character-count__message\">\n You can enter up to 100 characters\n </div>\n </div>\n <br><br>\n <span class=\"govuk-error-message\" *ngIf=\"caseSelectionError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{caseSelectionError}}\n </span>\n <button id=\"propose\" type=\"button\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\"\n (click)=\"submitCaseInfo()\">Propose case link</button>\n </div>\n <hr>\n <br><br>\n <div class=\"govuk-form-group\" id=\"caseNumber\" [ngClass]=\"{'govuk-form-group--error': !!noSelectedCaseError}\">\n <span class=\"govuk-error-message\" *ngIf=\"noSelectedCaseError\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{noSelectedCaseError}}\n </span>\n <table class=\"govuk-table\">\n <caption class=\"govuk-table__caption govuk-table__caption--m\">Proposed case links </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header\" width=\"300\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"150\">Case type </th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"200\">Service</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"200\">State</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"400\">Reasons for case link</th>\n <th scope=\"col\" class=\"govuk-table__header\" width=\"50\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of selectedCases; let pos = index\">\n <td class=\"govuk-table__cell\">\n <div class=\"govuk-form-group--error\"\n [ngClass]=\"{'table-group-error':caseSelectionError && case.caseReference === linkCaseForm.value.caseNumber}\">\n </div>\n <span>{{case.caseName}} <br> {{case.caseReference | ccdCaseReference}}</span>\n </td>\n <td class=\"govuk-table__cell\" [title]=\"case.caseTypeDescription\">{{case.caseType}}</td>\n <td class=\"govuk-table__cell\">{{case.caseService}}</td>\n <td class=\"govuk-table__cell\" [title]=\"case.caseStateDescription\">{{case.caseState}}</td>\n <td class=\"govuk-table__cell\"><span\n *ngFor=\"let reason of case.reasons\">{{reason | ccdLinkCasesReasonValue}}<br></span></td>\n <td class=\"govuk-table__cell\"><a [attr.id]=\"case.caseReference\" (click)=\"onSelectedLinkedCaseRemove(pos, case.caseReference);\"\n class=\"govuk-link no-visited-state\">Remove</a></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!selectedCases.length\">\n <td class=\"govuk-table__cell\" colspan=\"6\">\n None\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: [".no-visited-state{color:#1d70b8;cursor:pointer}.no-visited-state:hover{color:#003078}.govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap;max-height:500px;width:100%;overflow-x:auto;overflow-y:hidden;padding-top:5px}.govuk-checkboxes .govuk-checkboxes__item{display:flex}::ng-deep .govuk-width-container .screen-990 .width-50{width:100%}.govuk-table__row{position:relative}.govuk-table__row .table-group-error{position:absolute;height:calc(100% - 20px);margin-left:-15px}\n"] }]
17079
+ }], () => [{ type: CasesService }, { type: i4.FormBuilder }, { type: ValidatorsUtils }, { type: LinkedCasesService }, { type: MultipageComponentStateService }], { linkedCasesStateEmitter: [{
16707
17080
  type: Output
16708
17081
  }] }); })();
16709
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LinkCasesComponent, { className: "LinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.ts", lineNumber: 24 }); })();
17082
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LinkCasesComponent, { className: "LinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.ts", lineNumber: 26 }); })();
16710
17083
 
16711
17084
  function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) { if (rf & 1) {
16712
17085
  const _r1 = i0.ɵɵgetCurrentView();
@@ -17242,11 +17615,12 @@ function NoLinkedCasesComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
17242
17615
  i0.ɵɵtext(1, "There are no cases linked to this one.");
17243
17616
  i0.ɵɵelementEnd();
17244
17617
  } }
17245
- class NoLinkedCasesComponent {
17618
+ class NoLinkedCasesComponent extends AbstractJourneyComponent {
17246
17619
  router;
17247
17620
  linkedCasesService;
17248
17621
  serverLinkedApiError;
17249
- constructor(router, linkedCasesService) {
17622
+ constructor(router, linkedCasesService, multipageComponentStateService) {
17623
+ super(multipageComponentStateService);
17250
17624
  this.router = router;
17251
17625
  this.linkedCasesService = linkedCasesService;
17252
17626
  }
@@ -17256,8 +17630,8 @@ class NoLinkedCasesComponent {
17256
17630
  onBack() {
17257
17631
  this.router.navigate(['cases', 'case-details', this.linkedCasesService.caseId], { fragment: 'Linked cases' });
17258
17632
  }
17259
- static ɵfac = function NoLinkedCasesComponent_Factory(t) { return new (t || NoLinkedCasesComponent)(i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(LinkedCasesService)); };
17260
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NoLinkedCasesComponent, selectors: [["ccd-no-linked-cases"]], decls: 12, vars: 3, consts: [["noLinkedCases", ""], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], ["class", "govuk-heading-xl", 4, "ngIf"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf", "ngIfElse"], [1, "govuk-body"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-button-group"], ["type", "button", "id", "back-button", 1, "button", "button-primary", 3, "click"], [1, "govuk-heading-xl"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function NoLinkedCasesComponent_Template(rf, ctx) { if (rf & 1) {
17633
+ static ɵfac = function NoLinkedCasesComponent_Factory(t) { return new (t || NoLinkedCasesComponent)(i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
17634
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NoLinkedCasesComponent, selectors: [["ccd-no-linked-cases"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 3, consts: [["noLinkedCases", ""], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], ["class", "govuk-heading-xl", 4, "ngIf"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf", "ngIfElse"], [1, "govuk-body"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-button-group"], ["type", "button", "id", "back-button", 1, "button", "button-primary", 3, "click"], [1, "govuk-heading-xl"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function NoLinkedCasesComponent_Template(rf, ctx) { if (rf & 1) {
17261
17635
  const _r1 = i0.ɵɵgetCurrentView();
17262
17636
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
17263
17637
  i0.ɵɵtemplate(2, NoLinkedCasesComponent_h1_2_Template, 2, 0, "h1", 3)(3, NoLinkedCasesComponent_p_3_Template, 4, 1, "p", 4)(4, NoLinkedCasesComponent_ng_template_4_Template, 2, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -17280,70 +17654,66 @@ class NoLinkedCasesComponent {
17280
17654
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NoLinkedCasesComponent, [{
17281
17655
  type: Component,
17282
17656
  args: [{ selector: 'ccd-no-linked-cases', template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\" *ngIf=\"serverLinkedApiError\">There is a problem</h1>\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\"\n *ngIf=\"serverLinkedApiError;else noLinkedCases;\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{serverLinkedApiError.message}}\n </p>\n <ng-template #noLinkedCases>\n <p class=\"govuk-body\">There are no cases linked to this one.</p>\n </ng-template>\n <p class=\"govuk-body\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">Go back to the Linked cases tab</a>\n </p>\n <div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" id=\"back-button\" (click)=\"onBack()\">Back</button>\n </div>\n </div>\n</div>\n" }]
17283
- }], () => [{ type: i1$1.Router }, { type: LinkedCasesService }], null); })();
17284
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NoLinkedCasesComponent, { className: "NoLinkedCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.ts", lineNumber: 9 }); })();
17657
+ }], () => [{ type: i1$1.Router }, { type: LinkedCasesService }, { type: MultipageComponentStateService }], null); })();
17658
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NoLinkedCasesComponent, { className: "NoLinkedCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.ts", lineNumber: 12 }); })();
17285
17659
 
17286
17660
  const _c0$I = a0 => ({ "govuk-form-group--error": a0 });
17287
17661
  function UnLinkCasesComponent_div_0_div_4_p_1_Template(rf, ctx) { if (rf & 1) {
17288
- i0.ɵɵelementStart(0, "p", 11)(1, "span", 12);
17662
+ i0.ɵɵelementStart(0, "p", 9)(1, "span", 10);
17289
17663
  i0.ɵɵtext(2, "Error:");
17290
17664
  i0.ɵɵelementEnd();
17291
17665
  i0.ɵɵtext(3);
17292
17666
  i0.ɵɵelementEnd();
17293
17667
  } if (rf & 2) {
17294
- const ctx_r1 = i0.ɵɵnextContext(3);
17668
+ const ctx_r0 = i0.ɵɵnextContext(3);
17295
17669
  i0.ɵɵadvance(3);
17296
- i0.ɵɵtextInterpolate1(" ", ctx_r1.unlinkErrorMessage, " ");
17670
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.unlinkErrorMessage, " ");
17297
17671
  } }
17298
17672
  function UnLinkCasesComponent_div_0_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
17299
- const _r3 = i0.ɵɵgetCurrentView();
17300
- i0.ɵɵelementStart(0, "div", 13)(1, "input", 14);
17301
- i0.ɵɵlistener("change", function UnLinkCasesComponent_div_0_div_4_div_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onChange($event.target)); });
17673
+ const _r2 = i0.ɵɵgetCurrentView();
17674
+ i0.ɵɵelementStart(0, "div", 11)(1, "input", 12);
17675
+ i0.ɵɵlistener("change", function UnLinkCasesComponent_div_0_div_4_div_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onChange($event.target)); });
17302
17676
  i0.ɵɵelementEnd();
17303
- i0.ɵɵelementStart(2, "label", 15);
17677
+ i0.ɵɵelementStart(2, "label", 13);
17304
17678
  i0.ɵɵtext(3);
17305
17679
  i0.ɵɵpipe(4, "ccdCaseReference");
17306
17680
  i0.ɵɵelementEnd()();
17307
17681
  } if (rf & 2) {
17308
- const case_r4 = ctx.$implicit;
17682
+ const case_r3 = ctx.$implicit;
17309
17683
  i0.ɵɵadvance();
17310
- i0.ɵɵpropertyInterpolate1("id", "case-reference-", case_r4.caseReference, "");
17311
- i0.ɵɵproperty("value", case_r4.caseReference)("checked", case_r4.unlink);
17684
+ i0.ɵɵpropertyInterpolate1("id", "case-reference-", case_r3.caseReference, "");
17685
+ i0.ɵɵproperty("value", case_r3.caseReference)("checked", case_r3.unlink);
17312
17686
  i0.ɵɵadvance();
17313
- i0.ɵɵpropertyInterpolate("for", case_r4.caseReference);
17687
+ i0.ɵɵpropertyInterpolate("for", case_r3.caseReference);
17314
17688
  i0.ɵɵadvance();
17315
- i0.ɵɵtextInterpolate2(" ", case_r4.caseName, " ", i0.ɵɵpipeBind1(4, 7, case_r4.caseReference), " ");
17689
+ i0.ɵɵtextInterpolate2(" ", case_r3.caseName, " ", i0.ɵɵpipeBind1(4, 7, case_r3.caseReference), " ");
17316
17690
  } }
17317
17691
  function UnLinkCasesComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
17318
- i0.ɵɵelementStart(0, "div", 7);
17319
- i0.ɵɵtemplate(1, UnLinkCasesComponent_div_0_div_4_p_1_Template, 4, 1, "p", 8);
17320
- i0.ɵɵelementStart(2, "div", 9);
17321
- i0.ɵɵtemplate(3, UnLinkCasesComponent_div_0_div_4_div_3_Template, 5, 9, "div", 10);
17692
+ i0.ɵɵelementStart(0, "div", 5);
17693
+ i0.ɵɵtemplate(1, UnLinkCasesComponent_div_0_div_4_p_1_Template, 4, 1, "p", 6);
17694
+ i0.ɵɵelementStart(2, "div", 7);
17695
+ i0.ɵɵtemplate(3, UnLinkCasesComponent_div_0_div_4_div_3_Template, 5, 9, "div", 8);
17322
17696
  i0.ɵɵelementEnd()();
17323
17697
  } if (rf & 2) {
17324
- const ctx_r1 = i0.ɵɵnextContext(2);
17325
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$I, ctx_r1.unlinkErrorMessage))("formGroup", ctx_r1.unlinkCaseForm);
17698
+ const ctx_r0 = i0.ɵɵnextContext(2);
17699
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$I, ctx_r0.unlinkErrorMessage))("formGroup", ctx_r0.unlinkCaseForm);
17326
17700
  i0.ɵɵadvance();
17327
- i0.ɵɵproperty("ngIf", ctx_r1.unlinkErrorMessage);
17701
+ i0.ɵɵproperty("ngIf", ctx_r0.unlinkErrorMessage);
17328
17702
  i0.ɵɵadvance(2);
17329
- i0.ɵɵproperty("ngForOf", ctx_r1.linkedCases);
17703
+ i0.ɵɵproperty("ngForOf", ctx_r0.linkedCases);
17330
17704
  } }
17331
17705
  function UnLinkCasesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
17332
- const _r1 = i0.ɵɵgetCurrentView();
17333
17706
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h1", 3);
17334
17707
  i0.ɵɵtext(3, "Select the cases you want to unlink from this case");
17335
17708
  i0.ɵɵelementEnd();
17336
17709
  i0.ɵɵtemplate(4, UnLinkCasesComponent_div_0_div_4_Template, 4, 6, "div", 4);
17337
- i0.ɵɵelementStart(5, "div", 5)(6, "button", 6);
17338
- i0.ɵɵlistener("click", function UnLinkCasesComponent_div_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNext()); });
17339
- i0.ɵɵtext(7, "Next");
17340
- i0.ɵɵelementEnd()()()();
17710
+ i0.ɵɵelementEnd()();
17341
17711
  } if (rf & 2) {
17342
- const ctx_r1 = i0.ɵɵnextContext();
17712
+ const ctx_r0 = i0.ɵɵnextContext();
17343
17713
  i0.ɵɵadvance(4);
17344
- i0.ɵɵproperty("ngIf", ctx_r1.unlinkCaseForm);
17714
+ i0.ɵɵproperty("ngIf", ctx_r0.unlinkCaseForm);
17345
17715
  } }
17346
- class UnLinkCasesComponent {
17716
+ class UnLinkCasesComponent extends AbstractFieldWriteJourneyComponent {
17347
17717
  fb;
17348
17718
  casesService;
17349
17719
  linkedCasesService;
@@ -17358,7 +17728,8 @@ class UnLinkCasesComponent {
17358
17728
  unlinkErrorMessage;
17359
17729
  isLoaded;
17360
17730
  isServerError = false;
17361
- constructor(fb, casesService, linkedCasesService) {
17731
+ constructor(fb, casesService, linkedCasesService, multipageComponentStateService) {
17732
+ super(multipageComponentStateService);
17362
17733
  this.fb = fb;
17363
17734
  this.casesService = casesService;
17364
17735
  this.linkedCasesService = linkedCasesService;
@@ -17451,6 +17822,12 @@ class UnLinkCasesComponent {
17451
17822
  // Return linked cases state and error messages to the parent
17452
17823
  this.emitLinkedCasesState(navigateToNextPage);
17453
17824
  }
17825
+ next() {
17826
+ this.onNext();
17827
+ if (this.errorMessages.length === 0) {
17828
+ super.next();
17829
+ }
17830
+ }
17454
17831
  // Return linked cases state and error messages to the parent
17455
17832
  emitLinkedCasesState(isNavigateToNextPage) {
17456
17833
  this.linkedCasesStateEmitter.emit({
@@ -17463,22 +17840,22 @@ class UnLinkCasesComponent {
17463
17840
  this.errorMessages = [];
17464
17841
  this.unlinkErrorMessage = null;
17465
17842
  }
17466
- static ɵfac = function UnLinkCasesComponent_Factory(t) { return new (t || UnLinkCasesComponent)(i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService)); };
17467
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnLinkCasesComponent, selectors: [["ccd-unlink-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter", notifyAPIFailure: "notifyAPIFailure" }, decls: 1, vars: 1, consts: [["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["class", "govuk-form-group form-group", 3, "ngClass", "formGroup", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", "id", "next-button", 1, "button", "button-primary", 3, "click"], [1, "govuk-form-group", "form-group", 3, "ngClass", "formGroup"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item"], ["formArrayName", "linkedCases", "name", "linkedCases", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value", "checked"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function UnLinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
17468
- i0.ɵɵtemplate(0, UnLinkCasesComponent_div_0_Template, 8, 1, "div", 0);
17843
+ static ɵfac = function UnLinkCasesComponent_Factory(t) { return new (t || UnLinkCasesComponent)(i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
17844
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnLinkCasesComponent, selectors: [["ccd-unlink-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter", notifyAPIFailure: "notifyAPIFailure" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["class", "govuk-form-group form-group", 3, "ngClass", "formGroup", 4, "ngIf"], [1, "govuk-form-group", "form-group", 3, "ngClass", "formGroup"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item"], ["formArrayName", "linkedCases", "name", "linkedCases", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value", "checked"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function UnLinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
17845
+ i0.ɵɵtemplate(0, UnLinkCasesComponent_div_0_Template, 5, 1, "div", 0);
17469
17846
  } if (rf & 2) {
17470
17847
  i0.ɵɵproperty("ngIf", ctx.linkedCases.length > 0);
17471
17848
  } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormArrayName, CaseReferencePipe], encapsulation: 2 });
17472
17849
  }
17473
17850
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnLinkCasesComponent, [{
17474
17851
  type: Component,
17475
- args: [{ selector: 'ccd-unlink-cases', template: "<div class=\"govuk-grid-row\" *ngIf=\"linkedCases.length > 0\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\">Select the cases you want to unlink from this case</h1>\n <div class=\"govuk-form-group form-group\" [ngClass]=\"{'govuk-form-group--error': unlinkErrorMessage}\" [formGroup]=\"unlinkCaseForm\" *ngIf=\"unlinkCaseForm\">\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"unlinkErrorMessage\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{unlinkErrorMessage}}\n </p>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let case of linkedCases\">\n <input class=\"govuk-checkboxes__input\" id=\"case-reference-{{case.caseReference}}\" formArrayName=\"linkedCases\" name=\"linkedCases\"\n type=\"checkbox\" [value]=\"case.caseReference\" [checked]=\"case.unlink\" (change)=\"onChange($event.target)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{case.caseReference}}\">\n {{case.caseName }} {{case.caseReference | ccdCaseReference}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" id=\"next-button\" (click)=\"onNext()\">Next</button>\n </div>\n </div>\n</div>\n" }]
17476
- }], () => [{ type: i4.FormBuilder }, { type: CasesService }, { type: LinkedCasesService }], { linkedCasesStateEmitter: [{
17852
+ args: [{ selector: 'ccd-unlink-cases', template: "<div class=\"govuk-grid-row\" *ngIf=\"linkedCases.length > 0\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\">Select the cases you want to unlink from this case</h1>\n <div class=\"govuk-form-group form-group\" [ngClass]=\"{'govuk-form-group--error': unlinkErrorMessage}\" [formGroup]=\"unlinkCaseForm\" *ngIf=\"unlinkCaseForm\">\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"unlinkErrorMessage\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{unlinkErrorMessage}}\n </p>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let case of linkedCases\">\n <input class=\"govuk-checkboxes__input\" id=\"case-reference-{{case.caseReference}}\" formArrayName=\"linkedCases\" name=\"linkedCases\"\n type=\"checkbox\" [value]=\"case.caseReference\" [checked]=\"case.unlink\" (change)=\"onChange($event.target)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{case.caseReference}}\">\n {{case.caseName }} {{case.caseReference | ccdCaseReference}}\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
17853
+ }], () => [{ type: i4.FormBuilder }, { type: CasesService }, { type: LinkedCasesService }, { type: MultipageComponentStateService }], { linkedCasesStateEmitter: [{
17477
17854
  type: Output
17478
17855
  }], notifyAPIFailure: [{
17479
17856
  type: Output
17480
17857
  }] }); })();
17481
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnLinkCasesComponent, { className: "UnLinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.ts", lineNumber: 14 }); })();
17858
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnLinkCasesComponent, { className: "UnLinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.ts", lineNumber: 16 }); })();
17482
17859
 
17483
17860
  // tslint:disable:variable-name
17484
17861
  class LinkCaseReason {
@@ -17732,7 +18109,7 @@ class ReadLinkedCasesFieldComponent {
17732
18109
  function WriteLinkedCasesFieldComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
17733
18110
  const _r1 = i0.ɵɵgetCurrentView();
17734
18111
  i0.ɵɵelementContainerStart(0);
17735
- i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 3);
18112
+ i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 4, 0);
17736
18113
  i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_2_Template_ccd_linked_cases_before_you_start_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLinkedCasesStateEmitted($event)); });
17737
18114
  i0.ɵɵelementEnd();
17738
18115
  i0.ɵɵelementContainerEnd();
@@ -17740,7 +18117,7 @@ function WriteLinkedCasesFieldComponent_ng_container_2_Template(rf, ctx) { if (r
17740
18117
  function WriteLinkedCasesFieldComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
17741
18118
  const _r3 = i0.ɵɵgetCurrentView();
17742
18119
  i0.ɵɵelementContainerStart(0);
17743
- i0.ɵɵelementStart(1, "ccd-no-linked-cases", 3);
18120
+ i0.ɵɵelementStart(1, "ccd-no-linked-cases", 4, 0);
17744
18121
  i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_3_Template_ccd_no_linked_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLinkedCasesStateEmitted($event)); });
17745
18122
  i0.ɵɵelementEnd();
17746
18123
  i0.ɵɵelementContainerEnd();
@@ -17748,7 +18125,7 @@ function WriteLinkedCasesFieldComponent_ng_container_3_Template(rf, ctx) { if (r
17748
18125
  function WriteLinkedCasesFieldComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
17749
18126
  const _r4 = i0.ɵɵgetCurrentView();
17750
18127
  i0.ɵɵelementContainerStart(0);
17751
- i0.ɵɵelementStart(1, "ccd-link-cases", 3);
18128
+ i0.ɵɵelementStart(1, "ccd-link-cases", 4, 0);
17752
18129
  i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_4_Template_ccd_link_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLinkedCasesStateEmitted($event)); });
17753
18130
  i0.ɵɵelementEnd();
17754
18131
  i0.ɵɵelementContainerEnd();
@@ -17756,7 +18133,7 @@ function WriteLinkedCasesFieldComponent_ng_container_4_Template(rf, ctx) { if (r
17756
18133
  function WriteLinkedCasesFieldComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
17757
18134
  const _r5 = i0.ɵɵgetCurrentView();
17758
18135
  i0.ɵɵelementContainerStart(0);
17759
- i0.ɵɵelementStart(1, "ccd-unlink-cases", 3);
18136
+ i0.ɵɵelementStart(1, "ccd-unlink-cases", 4, 0);
17760
18137
  i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_5_Template_ccd_unlink_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLinkedCasesStateEmitted($event)); });
17761
18138
  i0.ɵɵelementEnd();
17762
18139
  i0.ɵɵelementContainerEnd();
@@ -17764,12 +18141,12 @@ function WriteLinkedCasesFieldComponent_ng_container_5_Template(rf, ctx) { if (r
17764
18141
  function WriteLinkedCasesFieldComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
17765
18142
  const _r6 = i0.ɵɵgetCurrentView();
17766
18143
  i0.ɵɵelementContainerStart(0);
17767
- i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 3);
18144
+ i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 4, 0);
17768
18145
  i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_6_Template_ccd_linked_cases_check_your_answers_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLinkedCasesStateEmitted($event)); });
17769
18146
  i0.ɵɵelementEnd();
17770
18147
  i0.ɵɵelementContainerEnd();
17771
18148
  } }
17772
- class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18149
+ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteJourneyComponent {
17773
18150
  appConfig;
17774
18151
  commonDataService;
17775
18152
  casesService;
@@ -17782,8 +18159,8 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17782
18159
  linkedCasesEventTriggers = LinkedCasesEventTriggers;
17783
18160
  linkedCases = [];
17784
18161
  subscriptions = new Subscription();
17785
- constructor(appConfig, commonDataService, casesService, linkedCasesService, caseEditDataService) {
17786
- super();
18162
+ constructor(appConfig, commonDataService, casesService, linkedCasesService, caseEditDataService, multipageComponentStateService) {
18163
+ super(multipageComponentStateService);
17787
18164
  this.appConfig = appConfig;
17788
18165
  this.commonDataService = commonDataService;
17789
18166
  this.casesService = casesService;
@@ -17808,6 +18185,13 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17808
18185
  this.subscriptions.add(this.caseEditDataService.caseEditForm$.subscribe({
17809
18186
  next: editForm => this.caseEditForm = editForm
17810
18187
  }));
18188
+ this.journeyPageNumber = this.journeyStartPageNumber = LinkedCasesPages.BEFORE_YOU_START;
18189
+ this.journeyEndPageNumber = LinkedCasesPages.CHECK_YOUR_ANSWERS;
18190
+ this.multipageComponentStateService.isAtStart = this.journeyPageNumber === this.journeyStartPageNumber;
18191
+ }
18192
+ onPageChange() {
18193
+ const isAtStart = this.journeyPageNumber === this.journeyStartPageNumber || this.linkedCasesPage === LinkedCasesPages.BEFORE_YOU_START;
18194
+ this.multipageComponentStateService.isAtStart = isAtStart;
17811
18195
  }
17812
18196
  initialiseCaseDetails(caseDetails) {
17813
18197
  if (caseDetails) {
@@ -17865,6 +18249,8 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17865
18249
  }
17866
18250
  proceedToNextPage() {
17867
18251
  if (this.isAtFinalPage()) {
18252
+ // Set the journey page to the end page.
18253
+ this.journeyPageNumber = this.journeyEndPageNumber;
17868
18254
  // Continue button event must be allowed in final page
17869
18255
  this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(true);
17870
18256
  // Trigger validation to clear the "notAtFinalPage" error if now at the final state
@@ -17876,6 +18262,7 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17876
18262
  // Continue button event must not be allowed if not in final page
17877
18263
  this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(false);
17878
18264
  }
18265
+ this.nextPage();
17879
18266
  }
17880
18267
  submitLinkedCases() {
17881
18268
  if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
@@ -17920,10 +18307,22 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17920
18307
  ngOnDestroy() {
17921
18308
  this.subscriptions.unsubscribe();
17922
18309
  }
17923
- static ɵfac = function WriteLinkedCasesFieldComponent_Factory(t) { return new (t || WriteLinkedCasesFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CommonDataService), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(CaseEditDataService)); };
17924
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 7, consts: [[1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
17925
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
17926
- i0.ɵɵtemplate(2, WriteLinkedCasesFieldComponent_ng_container_2_Template, 2, 0, "ng-container", 2)(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 2, 0, "ng-container", 2)(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 2, 0, "ng-container", 2)(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 2, 0, "ng-container", 2)(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 2, 0, "ng-container", 2);
18310
+ previousPage() {
18311
+ if (this.linkedCasesPage === LinkedCasesPages.CHECK_YOUR_ANSWERS) {
18312
+ this.linkedCasesPage = LinkedCasesPages.LINK_CASE;
18313
+ }
18314
+ else if (this.linkedCasesPage === LinkedCasesPages.LINK_CASE) {
18315
+ this.linkedCasesPage = LinkedCasesPages.BEFORE_YOU_START;
18316
+ }
18317
+ else {
18318
+ this.linkedCasesPage--;
18319
+ }
18320
+ super.previousPage();
18321
+ }
18322
+ static ɵfac = function WriteLinkedCasesFieldComponent_Factory(t) { return new (t || WriteLinkedCasesFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CommonDataService), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
18323
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 7, consts: [["journeyChild", ""], [1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
18324
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
18325
+ i0.ɵɵtemplate(2, WriteLinkedCasesFieldComponent_ng_container_2_Template, 3, 0, "ng-container", 3)(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 3, 0, "ng-container", 3)(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 3, 0, "ng-container", 3)(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 3, 0, "ng-container", 3)(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 3, 0, "ng-container", 3);
17927
18326
  i0.ɵɵelementEnd()();
17928
18327
  } if (rf & 2) {
17929
18328
  i0.ɵɵproperty("formGroup", ctx.formGroup);
@@ -17943,9 +18342,9 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
17943
18342
  }
17944
18343
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteLinkedCasesFieldComponent, [{
17945
18344
  type: Component,
17946
- args: [{ selector: 'ccd-write-linked-cases-field', template: "<div class=\"form-group govuk-!-margin-bottom-2\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"linkedCasesPage\">\n <ng-container *ngSwitchCase=\"linkedCasesPages.BEFORE_YOU_START\">\n <ccd-linked-cases-before-you-start\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-before-you-start>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.NO_LINKED_CASES\">\n <ccd-no-linked-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-no-linked-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.LINK_CASE\">\n <ccd-link-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-link-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.UNLINK_CASE\">\n <ccd-unlink-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-unlink-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.CHECK_YOUR_ANSWERS\">\n <ccd-linked-cases-check-your-answers\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-check-your-answers>\n </ng-container>\n </div>\n</div>\n" }]
17947
- }], () => [{ type: AbstractAppConfig }, { type: CommonDataService }, { type: CasesService }, { type: LinkedCasesService }, { type: CaseEditDataService }], null); })();
17948
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 19 }); })();
18345
+ args: [{ selector: 'ccd-write-linked-cases-field', template: "<div class=\"form-group govuk-!-margin-bottom-2\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"linkedCasesPage\">\n <ng-container *ngSwitchCase=\"linkedCasesPages.BEFORE_YOU_START\">\n <ccd-linked-cases-before-you-start\n #journeyChild \n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\">\n </ccd-linked-cases-before-you-start>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.NO_LINKED_CASES\">\n <ccd-no-linked-cases\n #journeyChild \n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\">\n </ccd-no-linked-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.LINK_CASE\">\n <ccd-link-cases\n #journeyChild \n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\">\n </ccd-link-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.UNLINK_CASE\">\n <ccd-unlink-cases\n #journeyChild \n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\">\n </ccd-unlink-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.CHECK_YOUR_ANSWERS\">\n <ccd-linked-cases-check-your-answers\n #journeyChild \n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\">\n </ccd-linked-cases-check-your-answers>\n </ng-container>\n </div>\n</div>\n" }]
18346
+ }], () => [{ type: AbstractAppConfig }, { type: CommonDataService }, { type: CasesService }, { type: LinkedCasesService }, { type: CaseEditDataService }, { type: MultipageComponentStateService }], null); })();
18347
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 20 }); })();
17949
18348
 
17950
18349
  function ReadMoneyGbpFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
17951
18350
  i0.ɵɵelementContainerStart(0);
@@ -22390,7 +22789,7 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
22390
22789
  i0.ɵɵadvance(4);
22391
22790
  i0.ɵɵtextInterpolate1(" ", node_r2.name, " ");
22392
22791
  i0.ɵɵadvance(3);
22393
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "dd MMM YYYY"));
22792
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "dd MMM YYYY HH:mm"));
22394
22793
  i0.ɵɵadvance(3);
22395
22794
  i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
22396
22795
  } }
@@ -22684,7 +23083,7 @@ class CaseFileViewFolderComponent {
22684
23083
  }
22685
23084
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
22686
23085
  type: Component,
22687
- args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
23086
+ args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY HH:mm\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
22688
23087
  }], () => [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }], { categoriesAndDocuments: [{
22689
23088
  type: Input
22690
23089
  }], allowMoving: [{
@@ -22707,10 +23106,10 @@ function AddCommentsComponent_span_7_Template(rf, ctx) { if (rf & 1) {
22707
23106
  i0.ɵɵtextInterpolate1(" (", i0.ɵɵpipeBind1(2, 1, "optional"), ")");
22708
23107
  } }
22709
23108
  function AddCommentsComponent_div_11_Template(rf, ctx) { if (rf & 1) {
22710
- i0.ɵɵelementStart(0, "div", 14)(1, "span", 15);
23109
+ i0.ɵɵelementStart(0, "div", 12)(1, "span", 13);
22711
23110
  i0.ɵɵtext(2, "!");
22712
23111
  i0.ɵɵelementEnd();
22713
- i0.ɵɵelementStart(3, "strong", 16)(4, "span", 17);
23112
+ i0.ɵɵelementStart(3, "strong", 14)(4, "span", 15);
22714
23113
  i0.ɵɵtext(5);
22715
23114
  i0.ɵɵpipe(6, "rpxTranslate");
22716
23115
  i0.ɵɵelementEnd();
@@ -22725,7 +23124,7 @@ function AddCommentsComponent_div_11_Template(rf, ctx) { if (rf & 1) {
22725
23124
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r0.addCommentsStepEnum.WARNING_TEXT), " ");
22726
23125
  } }
22727
23126
  function AddCommentsComponent_div_12_Template(rf, ctx) { if (rf & 1) {
22728
- i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
23127
+ i0.ɵɵelementStart(0, "div", 16)(1, "span", 17);
22729
23128
  i0.ɵɵtext(2);
22730
23129
  i0.ɵɵpipe(3, "rpxTranslate");
22731
23130
  i0.ɵɵelementEnd();
@@ -22740,7 +23139,7 @@ function AddCommentsComponent_div_12_Template(rf, ctx) { if (rf & 1) {
22740
23139
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsNotEnteredErrorMessage), " ");
22741
23140
  } }
22742
23141
  function AddCommentsComponent_div_13_Template(rf, ctx) { if (rf & 1) {
22743
- i0.ɵɵelementStart(0, "div", 20)(1, "span", 19);
23142
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 17);
22744
23143
  i0.ɵɵtext(2);
22745
23144
  i0.ɵɵpipe(3, "rpxTranslate");
22746
23145
  i0.ɵɵelementEnd();
@@ -22754,7 +23153,7 @@ function AddCommentsComponent_div_13_Template(rf, ctx) { if (rf & 1) {
22754
23153
  i0.ɵɵadvance(2);
22755
23154
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsCharLimitErrorMessage), " ");
22756
23155
  } }
22757
- class AddCommentsComponent {
23156
+ class AddCommentsComponent extends AbstractJourneyComponent {
22758
23157
  formGroup;
22759
23158
  optional = false;
22760
23159
  isDisplayContextParameterExternal = false;
@@ -22813,8 +23212,14 @@ class AddCommentsComponent {
22813
23212
  });
22814
23213
  }
22815
23214
  }
22816
- static ɵfac = function AddCommentsComponent_Factory(t) { return new (t || AddCommentsComponent)(); };
22817
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCommentsComponent, selectors: [["ccd-add-comments"]], inputs: { formGroup: "formGroup", optional: "optional", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 22, vars: 24, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], [4, "ngIf"], ["id", "add-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "add-comments-hint add-comments-char-limit-info add-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-comments-char-limit-error", 1, "govuk-error-message"]], template: function AddCommentsComponent_Template(rf, ctx) { if (rf & 1) {
23215
+ next() {
23216
+ this.onNext();
23217
+ if (this.errorMessages.length === 0) {
23218
+ super.next();
23219
+ }
23220
+ }
23221
+ static ɵfac = /*@__PURE__*/ (() => { let ɵAddCommentsComponent_BaseFactory; return function AddCommentsComponent_Factory(t) { return (ɵAddCommentsComponent_BaseFactory || (ɵAddCommentsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AddCommentsComponent)))(t || AddCommentsComponent); }; })();
23222
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCommentsComponent, selectors: [["ccd-add-comments"]], inputs: { formGroup: "formGroup", optional: "optional", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 21, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], [4, "ngIf"], ["id", "add-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "add-comments-hint add-comments-char-limit-info add-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-comments-char-limit-error", 1, "govuk-error-message"]], template: function AddCommentsComponent_Template(rf, ctx) { if (rf & 1) {
22818
23223
  i0.ɵɵelementContainerStart(0, 0);
22819
23224
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h1", 3)(4, "label", 4);
22820
23225
  i0.ɵɵtext(5);
@@ -22832,23 +23237,18 @@ class AddCommentsComponent {
22832
23237
  i0.ɵɵpipe(17, "rpxTranslate");
22833
23238
  i0.ɵɵelementEnd()()();
22834
23239
  i0.ɵɵelementContainerEnd();
22835
- i0.ɵɵelementStart(18, "div", 12)(19, "button", 13);
22836
- i0.ɵɵlistener("click", function AddCommentsComponent_Template_button_click_19_listener() { return ctx.onNext(); });
22837
- i0.ɵɵtext(20);
22838
- i0.ɵɵpipe(21, "rpxTranslate");
22839
- i0.ɵɵelementEnd()();
22840
23240
  } if (rf & 2) {
22841
23241
  i0.ɵɵproperty("formGroup", ctx.formGroup);
22842
23242
  i0.ɵɵadvance(2);
22843
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(22, _c0$s, ctx.errorMessages.length > 0));
23243
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(19, _c0$s, ctx.errorMessages.length > 0));
22844
23244
  i0.ɵɵadvance(2);
22845
23245
  i0.ɵɵproperty("for", ctx.flagCommentsControlName);
22846
23246
  i0.ɵɵadvance();
22847
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 14, ctx.addCommentsTitle), "");
23247
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.addCommentsTitle), "");
22848
23248
  i0.ɵɵadvance(2);
22849
23249
  i0.ɵɵproperty("ngIf", ctx.optional);
22850
23250
  i0.ɵɵadvance(2);
22851
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 16, ctx.addCommentsHint), " ");
23251
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 15, ctx.addCommentsHint), " ");
22852
23252
  i0.ɵɵadvance(2);
22853
23253
  i0.ɵɵproperty("ngIf", !ctx.isDisplayContextParameterExternal && ctx.isDisplayContextParameter2Point1Enabled && !ctx.otherInternalFlagTypeSelected);
22854
23254
  i0.ɵɵadvance();
@@ -22858,14 +23258,12 @@ class AddCommentsComponent {
22858
23258
  i0.ɵɵadvance();
22859
23259
  i0.ɵɵproperty("id", ctx.flagCommentsControlName)("name", ctx.flagCommentsControlName)("formControlName", ctx.flagCommentsControlName);
22860
23260
  i0.ɵɵadvance(2);
22861
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 18, ctx.addCommentsStepEnum.CHARACTER_LIMIT_INFO), " ");
22862
- i0.ɵɵadvance(4);
22863
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 20, "Next"));
23261
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 17, ctx.addCommentsStepEnum.CHARACTER_LIMIT_INFO), " ");
22864
23262
  } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
22865
23263
  }
22866
23264
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCommentsComponent, [{
22867
23265
  type: Component,
22868
- args: [{ selector: 'ccd-add-comments', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper\"><label class=\"govuk-label govuk-label--m\" [for]=\"flagCommentsControlName\">\n {{addCommentsTitle | rpxTranslate}}<span *ngIf=\"optional\"> ({{'optional' | rpxTranslate}})</span>\n </label>\n </h1>\n <div id=\"add-comments-hint\" class=\"govuk-hint\">\n {{addCommentsHint | rpxTranslate}}\n </div>\n <div class=\"govuk-warning-text\"\n *ngIf=\"!isDisplayContextParameterExternal && isDisplayContextParameter2Point1Enabled && !otherInternalFlagTypeSelected\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{addCommentsStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"flag-comments-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"add-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"flagCommentsControlName\"\n [name]=\"flagCommentsControlName\" [formControlName]=\"flagCommentsControlName\" rows=\"5\"\n aria-describedby=\"add-comments-hint add-comments-char-limit-info add-comments-char-limit-error\"></textarea>\n <div id=\"add-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{addCommentsStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n" }]
23266
+ args: [{ selector: 'ccd-add-comments', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper\"><label class=\"govuk-label govuk-label--m\" [for]=\"flagCommentsControlName\">\n {{addCommentsTitle | rpxTranslate}}<span *ngIf=\"optional\"> ({{'optional' | rpxTranslate}})</span>\n </label>\n </h1>\n <div id=\"add-comments-hint\" class=\"govuk-hint\">\n {{addCommentsHint | rpxTranslate}}\n </div>\n <div class=\"govuk-warning-text\"\n *ngIf=\"!isDisplayContextParameterExternal && isDisplayContextParameter2Point1Enabled && !otherInternalFlagTypeSelected\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{addCommentsStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"flag-comments-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"add-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"flagCommentsControlName\"\n [name]=\"flagCommentsControlName\" [formControlName]=\"flagCommentsControlName\" rows=\"5\"\n aria-describedby=\"add-comments-hint add-comments-char-limit-info add-comments-char-limit-error\"></textarea>\n <div id=\"add-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{addCommentsStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>" }]
22869
23267
  }], null, { formGroup: [{
22870
23268
  type: Input
22871
23269
  }], optional: [{
@@ -22877,7 +23275,7 @@ class AddCommentsComponent {
22877
23275
  }], caseFlagStateEmitter: [{
22878
23276
  type: Output
22879
23277
  }] }); })();
22880
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddCommentsComponent, { className: "AddCommentsComponent", filePath: "lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.ts", lineNumber: 11 }); })();
23278
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddCommentsComponent, { className: "AddCommentsComponent", filePath: "lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.ts", lineNumber: 12 }); })();
22881
23279
 
22882
23280
  function CaseFlagSummaryListComponent_dl_0_div_28_Template(rf, ctx) { if (rf & 1) {
22883
23281
  const _r3 = i0.ɵɵgetCurrentView();
@@ -23379,7 +23777,7 @@ class CaseFlagTableComponent {
23379
23777
 
23380
23778
  const _c0$r = a0 => ({ "form-group-error": a0 });
23381
23779
  function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
23382
- i0.ɵɵelementStart(0, "div", 9)(1, "span", 10);
23780
+ i0.ɵɵelementStart(0, "div", 8)(1, "span", 9);
23383
23781
  i0.ɵɵtext(2);
23384
23782
  i0.ɵɵpipe(3, "rpxTranslate");
23385
23783
  i0.ɵɵelementEnd();
@@ -23394,8 +23792,8 @@ function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
23394
23792
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.manageCaseFlagSelectedErrorMessage), " ");
23395
23793
  } }
23396
23794
  function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
23397
- i0.ɵɵelementStart(0, "div", 11);
23398
- i0.ɵɵelement(1, "input", 12)(2, "label", 13);
23795
+ i0.ɵɵelementStart(0, "div", 10);
23796
+ i0.ɵɵelement(1, "input", 11)(2, "label", 12);
23399
23797
  i0.ɵɵpipe(3, "manageCaseFlagsLabelDisplay");
23400
23798
  i0.ɵɵelementEnd();
23401
23799
  } if (rf & 2) {
@@ -23409,18 +23807,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
23409
23807
  i0.ɵɵpropertyInterpolate1("for", "flag-selection-", i_r3, "");
23410
23808
  i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(3, 8, flagDisplay_r2), i0.ɵɵsanitizeHtml);
23411
23809
  } }
23412
- function ManageCaseFlagsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
23413
- const _r4 = i0.ɵɵgetCurrentView();
23414
- i0.ɵɵelementStart(0, "div", 14)(1, "button", 15);
23415
- i0.ɵɵlistener("click", function ManageCaseFlagsComponent_div_10_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onNext()); });
23416
- i0.ɵɵtext(2);
23417
- i0.ɵɵpipe(3, "rpxTranslate");
23418
- i0.ɵɵelementEnd()();
23419
- } if (rf & 2) {
23420
- i0.ɵɵadvance(2);
23421
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "Next"));
23422
- } }
23423
- class ManageCaseFlagsComponent {
23810
+ class ManageCaseFlagsComponent extends AbstractJourneyComponent {
23424
23811
  formGroup;
23425
23812
  flagsData;
23426
23813
  caseTitle;
@@ -23554,8 +23941,14 @@ class ManageCaseFlagsComponent {
23554
23941
  errorMessages: this.errorMessages
23555
23942
  });
23556
23943
  }
23557
- static ɵfac = function ManageCaseFlagsComponent_Factory(t) { return new (t || ManageCaseFlagsComponent)(); };
23558
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
23944
+ next() {
23945
+ this.onNext();
23946
+ if (this.errorMessages.length === 0) {
23947
+ super.next();
23948
+ }
23949
+ }
23950
+ static ɵfac = /*@__PURE__*/ (() => { let ɵManageCaseFlagsComponent_BaseFactory; return function ManageCaseFlagsComponent_Factory(t) { return (ɵManageCaseFlagsComponent_BaseFactory || (ɵManageCaseFlagsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ManageCaseFlagsComponent)))(t || ManageCaseFlagsComponent); }; })();
23951
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 9, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
23559
23952
  i0.ɵɵelementContainerStart(0, 0);
23560
23953
  i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
23561
23954
  i0.ɵɵtext(5);
@@ -23566,24 +23959,21 @@ class ManageCaseFlagsComponent {
23566
23959
  i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 4, 10, "div", 7);
23567
23960
  i0.ɵɵelementEnd()()();
23568
23961
  i0.ɵɵelementContainerEnd();
23569
- i0.ɵɵtemplate(10, ManageCaseFlagsComponent_div_10_Template, 4, 3, "div", 8);
23570
23962
  } if (rf & 2) {
23571
23963
  i0.ɵɵproperty("formGroup", ctx.formGroup);
23572
23964
  i0.ɵɵadvance();
23573
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$r, ctx.errorMessages.length > 0));
23965
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$r, ctx.errorMessages.length > 0));
23574
23966
  i0.ɵɵadvance(4);
23575
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx.manageCaseFlagTitle), " ");
23967
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, ctx.manageCaseFlagTitle), " ");
23576
23968
  i0.ɵɵadvance(2);
23577
23969
  i0.ɵɵproperty("ngIf", ctx.manageCaseFlagSelectedErrorMessage);
23578
23970
  i0.ɵɵadvance(2);
23579
23971
  i0.ɵɵproperty("ngForOf", ctx.flagsDisplayData);
23580
- i0.ɵɵadvance();
23581
- i0.ɵɵproperty("ngIf", !ctx.noFlagsError);
23582
23972
  } }, styles: [".flag-name-and-description{font-weight:700}\n"], encapsulation: 2 });
23583
23973
  }
23584
23974
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageCaseFlagsComponent, [{
23585
23975
  type: Component,
23586
- args: [{ selector: 'ccd-manage-case-flags', encapsulation: ViewEncapsulation.None, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"manage-case-flag-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"manage-case-flag-heading\" class=\"govuk-fieldset__heading\">\n {{manageCaseFlagTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"manage-case-flag-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"manageCaseFlagSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{manageCaseFlagSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagDisplay of flagsDisplayData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-selection-{{i}}\" [name]=\"selectedControlName\"\n type=\"radio\" [value]=\"flagDisplay\" [formControlName]=\"selectedControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-selection-{{i}}\" [innerHtml]=\"flagDisplay | manageCaseFlagsLabelDisplay\"></label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\" *ngIf=\"!noFlagsError\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".flag-name-and-description{font-weight:700}\n"] }]
23976
+ args: [{ selector: 'ccd-manage-case-flags', encapsulation: ViewEncapsulation.None, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"manage-case-flag-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"manage-case-flag-heading\" class=\"govuk-fieldset__heading\">\n {{manageCaseFlagTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"manage-case-flag-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"manageCaseFlagSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{manageCaseFlagSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagDisplay of flagsDisplayData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-selection-{{i}}\" [name]=\"selectedControlName\"\n type=\"radio\" [value]=\"flagDisplay\" [formControlName]=\"selectedControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-selection-{{i}}\" [innerHtml]=\"flagDisplay | manageCaseFlagsLabelDisplay\"></label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>", styles: [".flag-name-and-description{font-weight:700}\n"] }]
23587
23977
  }], null, { formGroup: [{
23588
23978
  type: Input
23589
23979
  }], flagsData: [{
@@ -23595,7 +23985,7 @@ class ManageCaseFlagsComponent {
23595
23985
  }], caseFlagStateEmitter: [{
23596
23986
  type: Output
23597
23987
  }] }); })();
23598
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ManageCaseFlagsComponent, { className: "ManageCaseFlagsComponent", filePath: "lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.ts", lineNumber: 14 }); })();
23988
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ManageCaseFlagsComponent, { className: "ManageCaseFlagsComponent", filePath: "lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.ts", lineNumber: 15 }); })();
23599
23989
 
23600
23990
  // tslint:disable:variable-name
23601
23991
  /**
@@ -23660,7 +24050,7 @@ var SearchLanguageInterpreterControlNames;
23660
24050
 
23661
24051
  const _c0$q = a0 => ({ "form-group-error": a0 });
23662
24052
  function SearchLanguageInterpreterComponent_div_10_Template(rf, ctx) { if (rf & 1) {
23663
- i0.ɵɵelementStart(0, "div", 20)(1, "span", 21);
24053
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
23664
24054
  i0.ɵɵtext(2);
23665
24055
  i0.ɵɵpipe(3, "rpxTranslate");
23666
24056
  i0.ɵɵelementEnd();
@@ -23675,7 +24065,7 @@ function SearchLanguageInterpreterComponent_div_10_Template(rf, ctx) { if (rf &
23675
24065
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.languageNotSelectedErrorMessage), " ");
23676
24066
  } }
23677
24067
  function SearchLanguageInterpreterComponent_div_11_Template(rf, ctx) { if (rf & 1) {
23678
- i0.ɵɵelementStart(0, "div", 22)(1, "span", 21);
24068
+ i0.ɵɵelementStart(0, "div", 20)(1, "span", 19);
23679
24069
  i0.ɵɵtext(2);
23680
24070
  i0.ɵɵpipe(3, "rpxTranslate");
23681
24071
  i0.ɵɵelementEnd();
@@ -23690,7 +24080,7 @@ function SearchLanguageInterpreterComponent_div_11_Template(rf, ctx) { if (rf &
23690
24080
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.languageEnteredInBothFieldsErrorMessage), " ");
23691
24081
  } }
23692
24082
  function SearchLanguageInterpreterComponent_mat_option_15_Template(rf, ctx) { if (rf & 1) {
23693
- i0.ɵɵelementStart(0, "mat-option", 23);
24083
+ i0.ɵɵelementStart(0, "mat-option", 21);
23694
24084
  i0.ɵɵtext(1);
23695
24085
  i0.ɵɵpipe(2, "languageInterpreterDisplay");
23696
24086
  i0.ɵɵelementEnd();
@@ -23701,7 +24091,7 @@ function SearchLanguageInterpreterComponent_mat_option_15_Template(rf, ctx) { if
23701
24091
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, language_r3), " ");
23702
24092
  } }
23703
24093
  function SearchLanguageInterpreterComponent_mat_option_17_Template(rf, ctx) { if (rf & 1) {
23704
- i0.ɵɵelementStart(0, "mat-option", 24);
24094
+ i0.ɵɵelementStart(0, "mat-option", 22);
23705
24095
  i0.ɵɵtext(1);
23706
24096
  i0.ɵɵpipe(2, "rpxTranslate");
23707
24097
  i0.ɵɵelementEnd();
@@ -23710,7 +24100,7 @@ function SearchLanguageInterpreterComponent_mat_option_17_Template(rf, ctx) { if
23710
24100
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "No results found"));
23711
24101
  } }
23712
24102
  function SearchLanguageInterpreterComponent_div_24_div_5_Template(rf, ctx) { if (rf & 1) {
23713
- i0.ɵɵelementStart(0, "div", 30)(1, "span", 21);
24103
+ i0.ɵɵelementStart(0, "div", 28)(1, "span", 19);
23714
24104
  i0.ɵɵtext(2);
23715
24105
  i0.ɵɵpipe(3, "rpxTranslate");
23716
24106
  i0.ɵɵelementEnd();
@@ -23725,7 +24115,7 @@ function SearchLanguageInterpreterComponent_div_24_div_5_Template(rf, ctx) { if
23725
24115
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.languageNotEnteredErrorMessage), " ");
23726
24116
  } }
23727
24117
  function SearchLanguageInterpreterComponent_div_24_div_6_Template(rf, ctx) { if (rf & 1) {
23728
- i0.ɵɵelementStart(0, "div", 31)(1, "span", 21);
24118
+ i0.ɵɵelementStart(0, "div", 29)(1, "span", 19);
23729
24119
  i0.ɵɵtext(2);
23730
24120
  i0.ɵɵpipe(3, "rpxTranslate");
23731
24121
  i0.ɵɵelementEnd();
@@ -23740,12 +24130,12 @@ function SearchLanguageInterpreterComponent_div_24_div_6_Template(rf, ctx) { if
23740
24130
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.languageCharLimitErrorMessage), " ");
23741
24131
  } }
23742
24132
  function SearchLanguageInterpreterComponent_div_24_Template(rf, ctx) { if (rf & 1) {
23743
- i0.ɵɵelementStart(0, "div", 25)(1, "div", 2)(2, "label", 26);
24133
+ i0.ɵɵelementStart(0, "div", 23)(1, "div", 2)(2, "label", 24);
23744
24134
  i0.ɵɵtext(3);
23745
24135
  i0.ɵɵpipe(4, "rpxTranslate");
23746
24136
  i0.ɵɵelementEnd();
23747
- i0.ɵɵtemplate(5, SearchLanguageInterpreterComponent_div_24_div_5_Template, 6, 6, "div", 27)(6, SearchLanguageInterpreterComponent_div_24_div_6_Template, 6, 6, "div", 28);
23748
- i0.ɵɵelement(7, "input", 29);
24137
+ i0.ɵɵtemplate(5, SearchLanguageInterpreterComponent_div_24_div_5_Template, 6, 6, "div", 25)(6, SearchLanguageInterpreterComponent_div_24_div_6_Template, 6, 6, "div", 26);
24138
+ i0.ɵɵelement(7, "input", 27);
23749
24139
  i0.ɵɵelementEnd()();
23750
24140
  } if (rf & 2) {
23751
24141
  const ctx_r1 = i0.ɵɵnextContext();
@@ -23760,7 +24150,7 @@ function SearchLanguageInterpreterComponent_div_24_Template(rf, ctx) { if (rf &
23760
24150
  i0.ɵɵadvance();
23761
24151
  i0.ɵɵproperty("name", ctx_r1.SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY)("formControlName", ctx_r1.SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY);
23762
24152
  } }
23763
- class SearchLanguageInterpreterComponent {
24153
+ class SearchLanguageInterpreterComponent extends AbstractJourneyComponent {
23764
24154
  rpxTranslationService;
23765
24155
  get searchLanguageInterpreterStep() {
23766
24156
  return SearchLanguageInterpreterStep;
@@ -23782,7 +24172,8 @@ class SearchLanguageInterpreterComponent {
23782
24172
  noResults = false;
23783
24173
  languageMaxCharLimit = 80;
23784
24174
  signLanguageFlagCode = 'RA0042';
23785
- constructor(rpxTranslationService) {
24175
+ constructor(rpxTranslationService, multipageComponentStateService) {
24176
+ super(multipageComponentStateService);
23786
24177
  this.rpxTranslationService = rpxTranslationService;
23787
24178
  }
23788
24179
  ngOnInit() {
@@ -23882,8 +24273,14 @@ class SearchLanguageInterpreterComponent {
23882
24273
  !language.value && language.value_cy.toLowerCase().includes(searchTerm.toLowerCase(), 0))
23883
24274
  : [];
23884
24275
  }
23885
- static ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
23886
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 29, vars: 28, consts: [["autoSearchLanguage", "matAutocomplete"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
24276
+ next() {
24277
+ this.onNext();
24278
+ if (this.errorMessages.length === 0) {
24279
+ super.next();
24280
+ }
24281
+ }
24282
+ static ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
24283
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 25, consts: [["autoSearchLanguage", "matAutocomplete"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
23887
24284
  const _r1 = i0.ɵɵgetCurrentView();
23888
24285
  i0.ɵɵelementContainerStart(0, 1);
23889
24286
  i0.ɵɵelementStart(1, "div", 2)(2, "h1", 3)(3, "label", 4);
@@ -23912,22 +24309,17 @@ class SearchLanguageInterpreterComponent {
23912
24309
  i0.ɵɵtemplate(24, SearchLanguageInterpreterComponent_div_24_Template, 8, 10, "div", 17);
23913
24310
  i0.ɵɵelementEnd()();
23914
24311
  i0.ɵɵelementContainerEnd();
23915
- i0.ɵɵelementStart(25, "div", 18)(26, "button", 19);
23916
- i0.ɵɵlistener("click", function SearchLanguageInterpreterComponent_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onNext()); });
23917
- i0.ɵɵtext(27);
23918
- i0.ɵɵpipe(28, "rpxTranslate");
23919
- i0.ɵɵelementEnd()();
23920
24312
  } if (rf & 2) {
23921
24313
  const autoSearchLanguage_r4 = i0.ɵɵreference(14);
23922
24314
  i0.ɵɵproperty("formGroup", ctx.formGroup);
23923
24315
  i0.ɵɵadvance();
23924
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c0$q, ctx.languageNotSelectedErrorMessage || ctx.languageEnteredInBothFieldsErrorMessage));
24316
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0$q, ctx.languageNotSelectedErrorMessage || ctx.languageEnteredInBothFieldsErrorMessage));
23925
24317
  i0.ɵɵadvance(2);
23926
24318
  i0.ɵɵproperty("for", ctx.SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM);
23927
24319
  i0.ɵɵadvance();
23928
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(5, 15, ctx.flagType, "name"), " ");
24320
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(5, 14, ctx.flagType, "name"), " ");
23929
24321
  i0.ɵɵadvance(3);
23930
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 18, ctx.searchLanguageInterpreterHint), " ");
24322
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 17, ctx.searchLanguageInterpreterHint), " ");
23931
24323
  i0.ɵɵadvance(3);
23932
24324
  i0.ɵɵproperty("ngIf", ctx.languageNotSelectedErrorMessage);
23933
24325
  i0.ɵɵadvance();
@@ -23937,32 +24329,30 @@ class SearchLanguageInterpreterComponent {
23937
24329
  i0.ɵɵadvance();
23938
24330
  i0.ɵɵproperty("displayWith", ctx.displayLanguage);
23939
24331
  i0.ɵɵadvance(2);
23940
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(16, 20, ctx.filteredLanguages$));
24332
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(16, 19, ctx.filteredLanguages$));
23941
24333
  i0.ɵɵadvance(2);
23942
24334
  i0.ɵɵproperty("ngIf", ctx.noResults && ctx.searchTerm && ctx.searchTerm.length >= ctx.minSearchCharacters);
23943
24335
  i0.ɵɵadvance(5);
23944
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 22, ctx.searchLanguageInterpreterStep.CHECKBOX_LABEL), " ");
24336
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 21, ctx.searchLanguageInterpreterStep.CHECKBOX_LABEL), " ");
23945
24337
  i0.ɵɵadvance(2);
23946
24338
  i0.ɵɵproperty("ngIf", ctx.isCheckboxEnabled);
23947
- i0.ɵɵadvance(3);
23948
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 24, "Next"));
23949
24339
  } }, styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}.hidden[_ngcontent-%COMP%]{display:none}.search-language__input[_ngcontent-%COMP%]{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}"] });
23950
24340
  }
23951
24341
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLanguageInterpreterComponent, [{
23952
24342
  type: Component,
23953
- args: [{ selector: 'ccd-search-language-interpreter', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotSelectedErrorMessage || languageEnteredInBothFieldsErrorMessage}\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m\" [for]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </h1>\n <div id=\"language-search-box-hint\" class=\"govuk-hint\">\n {{searchLanguageInterpreterHint | rpxTranslate}}\n </div>\n <div class=\"auto-complete-container\">\n <div id=\"language-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-entered-in-both-fields-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageEnteredInBothFieldsErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageEnteredInBothFieldsErrorMessage | rpxTranslate}}\n </div>\n <input aria-label=\"Language search box\" matInput [formControlName]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\" [matAutocomplete]=\"autoSearchLanguage\"\n class=\"govuk-input search-language__input\" type=\"text\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLanguage=\"matAutocomplete\"\n [displayWith]=\"displayLanguage\">\n <mat-option *ngFor=\"let language of filteredLanguages$ | async\" [value]=\"language\">\n {{language | languageInterpreterDisplay}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length >= minSearchCharacters\" disabled>{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </div>\n <div class=\"govuk-checkboxes govuk-checkboxes--small govuk-checkboxes--conditional\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-checkboxes__input\" id=\"enter-language-manually\" name=\"enter-language-manually\" type=\"checkbox\"\n (change)=\"onEnterLanguageManually($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"enter-language-manually\">\n {{searchLanguageInterpreterStep.CHECKBOX_LABEL | rpxTranslate}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"isCheckboxEnabled\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotEnteredErrorMessage || languageCharLimitErrorMessage }\">\n <label class=\"govuk-label\" for=\"manual-language-entry\">{{searchLanguageInterpreterStep.INPUT_LABEL | rpxTranslate}}</label>\n <div id=\"language-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-char-limit-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageCharLimitErrorMessage | rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-input--width-20\" id=\"manual-language-entry\" [name]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\" type=\"text\"\n [formControlName]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\">\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}.hidden{display:none}.search-language__input{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}\n"] }]
23954
- }], () => [{ type: i1.RpxTranslationService }], { formGroup: [{
24343
+ args: [{ selector: 'ccd-search-language-interpreter', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotSelectedErrorMessage || languageEnteredInBothFieldsErrorMessage}\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m\" [for]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </h1>\n <div id=\"language-search-box-hint\" class=\"govuk-hint\">\n {{searchLanguageInterpreterHint | rpxTranslate}}\n </div>\n <div class=\"auto-complete-container\">\n <div id=\"language-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-entered-in-both-fields-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageEnteredInBothFieldsErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageEnteredInBothFieldsErrorMessage | rpxTranslate}}\n </div>\n <input aria-label=\"Language search box\" matInput [formControlName]=\"SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM\" [matAutocomplete]=\"autoSearchLanguage\"\n class=\"govuk-input search-language__input\" type=\"text\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLanguage=\"matAutocomplete\"\n [displayWith]=\"displayLanguage\">\n <mat-option *ngFor=\"let language of filteredLanguages$ | async\" [value]=\"language\">\n {{language | languageInterpreterDisplay}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length >= minSearchCharacters\" disabled>{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </div>\n <div class=\"govuk-checkboxes govuk-checkboxes--small govuk-checkboxes--conditional\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-checkboxes__input\" id=\"enter-language-manually\" name=\"enter-language-manually\" type=\"checkbox\"\n (change)=\"onEnterLanguageManually($event)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"enter-language-manually\">\n {{searchLanguageInterpreterStep.CHECKBOX_LABEL | rpxTranslate}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"isCheckboxEnabled\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': languageNotEnteredErrorMessage || languageCharLimitErrorMessage }\">\n <label class=\"govuk-label\" for=\"manual-language-entry\">{{searchLanguageInterpreterStep.INPUT_LABEL | rpxTranslate}}</label>\n <div id=\"language-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"language-char-limit-error-message\" class=\"govuk-error-message\"\n *ngIf=\"languageCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{languageCharLimitErrorMessage | rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-input--width-20\" id=\"manual-language-entry\" [name]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\" type=\"text\"\n [formControlName]=\"SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY\">\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}.hidden{display:none}.search-language__input{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}\n"] }]
24344
+ }], () => [{ type: i1.RpxTranslationService }, { type: MultipageComponentStateService }], { formGroup: [{
23955
24345
  type: Input
23956
24346
  }], flagType: [{
23957
24347
  type: Input
23958
24348
  }], caseFlagStateEmitter: [{
23959
24349
  type: Output
23960
24350
  }] }); })();
23961
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchLanguageInterpreterComponent, { className: "SearchLanguageInterpreterComponent", filePath: "lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.ts", lineNumber: 17 }); })();
24351
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchLanguageInterpreterComponent, { className: "SearchLanguageInterpreterComponent", filePath: "lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.ts", lineNumber: 20 }); })();
23962
24352
 
23963
24353
  const _c0$p = a0 => ({ "form-group-error": a0 });
23964
24354
  function SelectFlagLocationComponent_div_7_Template(rf, ctx) { if (rf & 1) {
23965
- i0.ɵɵelementStart(0, "div", 9)(1, "span", 10);
24355
+ i0.ɵɵelementStart(0, "div", 8)(1, "span", 9);
23966
24356
  i0.ɵɵtext(2);
23967
24357
  i0.ɵɵpipe(3, "rpxTranslate");
23968
24358
  i0.ɵɵelementEnd();
@@ -23989,7 +24379,7 @@ function SelectFlagLocationComponent_div_9_ng_container_3_ng_container_2_Templat
23989
24379
  function SelectFlagLocationComponent_div_9_ng_container_3_Template(rf, ctx) { if (rf & 1) {
23990
24380
  i0.ɵɵelementContainerStart(0);
23991
24381
  i0.ɵɵtext(1);
23992
- i0.ɵɵtemplate(2, SelectFlagLocationComponent_div_9_ng_container_3_ng_container_2_Template, 3, 3, "ng-container", 14);
24382
+ i0.ɵɵtemplate(2, SelectFlagLocationComponent_div_9_ng_container_3_ng_container_2_Template, 3, 3, "ng-container", 13);
23993
24383
  i0.ɵɵelementContainerEnd();
23994
24384
  } if (rf & 2) {
23995
24385
  const flagsInstance_r2 = i0.ɵɵnextContext().$implicit;
@@ -24009,10 +24399,10 @@ function SelectFlagLocationComponent_div_9_ng_container_4_Template(rf, ctx) { if
24009
24399
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.caseLevelFlagLabel), " ");
24010
24400
  } }
24011
24401
  function SelectFlagLocationComponent_div_9_Template(rf, ctx) { if (rf & 1) {
24012
- i0.ɵɵelementStart(0, "div", 11);
24013
- i0.ɵɵelement(1, "input", 12);
24014
- i0.ɵɵelementStart(2, "label", 13);
24015
- i0.ɵɵtemplate(3, SelectFlagLocationComponent_div_9_ng_container_3_Template, 3, 2, "ng-container", 14)(4, SelectFlagLocationComponent_div_9_ng_container_4_Template, 3, 3, "ng-container", 14);
24402
+ i0.ɵɵelementStart(0, "div", 10);
24403
+ i0.ɵɵelement(1, "input", 11);
24404
+ i0.ɵɵelementStart(2, "label", 12);
24405
+ i0.ɵɵtemplate(3, SelectFlagLocationComponent_div_9_ng_container_3_Template, 3, 2, "ng-container", 13)(4, SelectFlagLocationComponent_div_9_ng_container_4_Template, 3, 3, "ng-container", 13);
24016
24406
  i0.ɵɵelementEnd()();
24017
24407
  } if (rf & 2) {
24018
24408
  const flagsInstance_r2 = ctx.$implicit;
@@ -24028,18 +24418,7 @@ function SelectFlagLocationComponent_div_9_Template(rf, ctx) { if (rf & 1) {
24028
24418
  i0.ɵɵadvance();
24029
24419
  i0.ɵɵproperty("ngIf", !flagsInstance_r2.flags.partyName);
24030
24420
  } }
24031
- function SelectFlagLocationComponent_div_10_Template(rf, ctx) { if (rf & 1) {
24032
- const _r4 = i0.ɵɵgetCurrentView();
24033
- i0.ɵɵelementStart(0, "div", 15)(1, "button", 16);
24034
- i0.ɵɵlistener("click", function SelectFlagLocationComponent_div_10_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onNext()); });
24035
- i0.ɵɵtext(2);
24036
- i0.ɵɵpipe(3, "rpxTranslate");
24037
- i0.ɵɵelementEnd()();
24038
- } if (rf & 2) {
24039
- i0.ɵɵadvance(2);
24040
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "Next"));
24041
- } }
24042
- class SelectFlagLocationComponent {
24421
+ class SelectFlagLocationComponent extends AbstractJourneyComponent {
24043
24422
  formGroup;
24044
24423
  flagsData;
24045
24424
  isDisplayContextParameterExternal = false;
@@ -24114,8 +24493,14 @@ class SelectFlagLocationComponent {
24114
24493
  // Return case flag field state and error messages to the parent
24115
24494
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE, errorMessages: this.errorMessages });
24116
24495
  }
24117
- static ɵfac = function SelectFlagLocationComponent_Factory(t) { return new (t || SelectFlagLocationComponent)(); };
24118
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectFlagLocationComponent, selectors: [["ccd-select-flag-location"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", isDisplayContextParameterExternal: "isDisplayContextParameterExternal" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-location-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "flag-location-heading", 1, "govuk-fieldset__heading"], ["id", "flag-location-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-location-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagLocationComponent_Template(rf, ctx) { if (rf & 1) {
24496
+ next() {
24497
+ this.onNext();
24498
+ if (this.errorMessages.length === 0) {
24499
+ super.next();
24500
+ }
24501
+ }
24502
+ static ɵfac = /*@__PURE__*/ (() => { let ɵSelectFlagLocationComponent_BaseFactory; return function SelectFlagLocationComponent_Factory(t) { return (ɵSelectFlagLocationComponent_BaseFactory || (ɵSelectFlagLocationComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SelectFlagLocationComponent)))(t || SelectFlagLocationComponent); }; })();
24503
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectFlagLocationComponent, selectors: [["ccd-select-flag-location"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", isDisplayContextParameterExternal: "isDisplayContextParameterExternal" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 9, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-location-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "flag-location-heading", 1, "govuk-fieldset__heading"], ["id", "flag-location-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "flag-location-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [4, "ngIf"]], template: function SelectFlagLocationComponent_Template(rf, ctx) { if (rf & 1) {
24119
24504
  i0.ɵɵelementContainerStart(0, 0);
24120
24505
  i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
24121
24506
  i0.ɵɵtext(5);
@@ -24126,24 +24511,21 @@ class SelectFlagLocationComponent {
24126
24511
  i0.ɵɵtemplate(9, SelectFlagLocationComponent_div_9_Template, 5, 9, "div", 7);
24127
24512
  i0.ɵɵelementEnd()()();
24128
24513
  i0.ɵɵelementContainerEnd();
24129
- i0.ɵɵtemplate(10, SelectFlagLocationComponent_div_10_Template, 4, 3, "div", 8);
24130
24514
  } if (rf & 2) {
24131
24515
  i0.ɵɵproperty("formGroup", ctx.formGroup);
24132
24516
  i0.ɵɵadvance();
24133
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$p, ctx.errorMessages.length > 0));
24517
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0$p, ctx.errorMessages.length > 0));
24134
24518
  i0.ɵɵadvance(4);
24135
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx.flagLocationTitle), " ");
24519
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, ctx.flagLocationTitle), " ");
24136
24520
  i0.ɵɵadvance(2);
24137
24521
  i0.ɵɵproperty("ngIf", ctx.flagLocationNotSelectedErrorMessage);
24138
24522
  i0.ɵɵadvance(2);
24139
24523
  i0.ɵɵproperty("ngForOf", ctx.filteredFlagsData);
24140
- i0.ɵɵadvance();
24141
- i0.ɵɵproperty("ngIf", !ctx.caseFlagsConfigError);
24142
24524
  } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
24143
24525
  }
24144
24526
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectFlagLocationComponent, [{
24145
24527
  type: Component,
24146
- args: [{ selector: 'ccd-select-flag-location', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"flag-location-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"flag-location-heading\" class=\"govuk-fieldset__heading\">\n {{flagLocationTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"flag-location-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagLocationNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagLocationNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagsInstance of filteredFlagsData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-location-{{i}}\" [name]=\"selectedLocationControlName\"\n type=\"radio\" [value]=\"flagsInstance\" [formControlName]=\"selectedLocationControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-location-{{i}}\">\n <ng-container *ngIf=\"flagsInstance.flags.partyName\">\n {{flagsInstance.flags.partyName}}\n <ng-container *ngIf=\"flagsInstance.flags.roleOnCase\">\n ({{flagsInstance.flags.roleOnCase | rpxTranslate}})\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!flagsInstance.flags.partyName\">\n {{caseLevelFlagLabel | rpxTranslate}}\n </ng-container>\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\" *ngIf=\"!caseFlagsConfigError\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n" }]
24528
+ args: [{ selector: 'ccd-select-flag-location', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"flag-location-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"flag-location-heading\" class=\"govuk-fieldset__heading\">\n {{flagLocationTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"flag-location-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagLocationNotSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagLocationNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagsInstance of filteredFlagsData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-location-{{i}}\" [name]=\"selectedLocationControlName\"\n type=\"radio\" [value]=\"flagsInstance\" [formControlName]=\"selectedLocationControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-location-{{i}}\">\n <ng-container *ngIf=\"flagsInstance.flags.partyName\">\n {{flagsInstance.flags.partyName}}\n <ng-container *ngIf=\"flagsInstance.flags.roleOnCase\">\n ({{flagsInstance.flags.roleOnCase | rpxTranslate}})\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!flagsInstance.flags.partyName\">\n {{caseLevelFlagLabel | rpxTranslate}}\n </ng-container>\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>" }]
24147
24529
  }], null, { formGroup: [{
24148
24530
  type: Input
24149
24531
  }], flagsData: [{
@@ -24153,7 +24535,7 @@ class SelectFlagLocationComponent {
24153
24535
  }], caseFlagStateEmitter: [{
24154
24536
  type: Output
24155
24537
  }] }); })();
24156
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagLocationComponent, { className: "SelectFlagLocationComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.ts", lineNumber: 11 }); })();
24538
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagLocationComponent, { className: "SelectFlagLocationComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.ts", lineNumber: 12 }); })();
24157
24539
 
24158
24540
  const _c0$o = a0 => ({ "form-group-error": a0 });
24159
24541
  const _c1$8 = a0 => ({ "govuk-input--error": a0 });
@@ -24176,7 +24558,7 @@ function SelectFlagTypeComponent_ng_container_0_ng_template_6_Template(rf, ctx)
24176
24558
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(1, 1, ctx_r0.cachedFlagType, "name"), " ");
24177
24559
  } }
24178
24560
  function SelectFlagTypeComponent_ng_container_0_div_8_Template(rf, ctx) { if (rf & 1) {
24179
- i0.ɵɵelementStart(0, "div", 13)(1, "span", 14);
24561
+ i0.ɵɵelementStart(0, "div", 12)(1, "span", 13);
24180
24562
  i0.ɵɵtext(2);
24181
24563
  i0.ɵɵpipe(3, "rpxTranslate");
24182
24564
  i0.ɵɵelementEnd();
@@ -24191,9 +24573,9 @@ function SelectFlagTypeComponent_ng_container_0_div_8_Template(rf, ctx) { if (rf
24191
24573
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagTypeNotSelectedErrorMessage), " ");
24192
24574
  } }
24193
24575
  function SelectFlagTypeComponent_ng_container_0_div_10_Template(rf, ctx) { if (rf & 1) {
24194
- i0.ɵɵelementStart(0, "div", 15);
24195
- i0.ɵɵelement(1, "input", 16);
24196
- i0.ɵɵelementStart(2, "label", 17);
24576
+ i0.ɵɵelementStart(0, "div", 14);
24577
+ i0.ɵɵelement(1, "input", 15);
24578
+ i0.ɵɵelementStart(2, "label", 16);
24197
24579
  i0.ɵɵtext(3);
24198
24580
  i0.ɵɵpipe(4, "flagFieldDisplay");
24199
24581
  i0.ɵɵelementEnd()();
@@ -24210,7 +24592,7 @@ function SelectFlagTypeComponent_ng_container_0_div_10_Template(rf, ctx) { if (r
24210
24592
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 8, flagType_r2, "name"), " ");
24211
24593
  } }
24212
24594
  function SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template(rf, ctx) { if (rf & 1) {
24213
- i0.ɵɵelementStart(0, "div", 23)(1, "span", 14);
24595
+ i0.ɵɵelementStart(0, "div", 22)(1, "span", 13);
24214
24596
  i0.ɵɵtext(2);
24215
24597
  i0.ɵɵpipe(3, "rpxTranslate");
24216
24598
  i0.ɵɵelementEnd();
@@ -24225,9 +24607,9 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template(rf, ctx) {
24225
24607
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagTypeErrorMessage), " ");
24226
24608
  } }
24227
24609
  function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) { if (rf & 1) {
24228
- i0.ɵɵelementStart(0, "div", 24);
24229
- i0.ɵɵelement(1, "input", 25);
24230
- i0.ɵɵelementStart(2, "label", 26);
24610
+ i0.ɵɵelementStart(0, "div", 23);
24611
+ i0.ɵɵelement(1, "input", 24);
24612
+ i0.ɵɵelementStart(2, "label", 25);
24231
24613
  i0.ɵɵtext(3);
24232
24614
  i0.ɵɵpipe(4, "rpxTranslate");
24233
24615
  i0.ɵɵelementEnd()();
@@ -24239,14 +24621,14 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
24239
24621
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
24240
24622
  } }
24241
24623
  function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
24242
- i0.ɵɵelementStart(0, "div", 18)(1, "div", 4)(2, "label", 19);
24624
+ i0.ɵɵelementStart(0, "div", 17)(1, "div", 3)(2, "label", 18);
24243
24625
  i0.ɵɵtext(3);
24244
24626
  i0.ɵɵpipe(4, "rpxTranslate");
24245
24627
  i0.ɵɵpipe(5, "rpxTranslate");
24246
24628
  i0.ɵɵelementEnd();
24247
- i0.ɵɵtemplate(6, SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template, 6, 6, "div", 20);
24248
- i0.ɵɵelement(7, "input", 21);
24249
- i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template, 5, 5, "div", 22);
24629
+ i0.ɵɵtemplate(6, SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template, 6, 6, "div", 19);
24630
+ i0.ɵɵelement(7, "input", 20);
24631
+ i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template, 5, 5, "div", 21);
24250
24632
  i0.ɵɵelementEnd()();
24251
24633
  } if (rf & 2) {
24252
24634
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -24262,13 +24644,13 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (r
24262
24644
  i0.ɵɵproperty("ngIf", !ctx_r0.isDisplayContextParameterExternal && !ctx_r0.isCaseLevelFlag && ctx_r0.isDisplayContextParameter2Point1Enabled);
24263
24645
  } }
24264
24646
  function SelectFlagTypeComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
24265
- i0.ɵɵelementContainerStart(0, 3);
24266
- i0.ɵɵelementStart(1, "div", 4)(2, "fieldset", 5)(3, "legend", 6)(4, "h1", 7);
24267
- i0.ɵɵtemplate(5, SelectFlagTypeComponent_ng_container_0_ng_container_5_Template, 4, 5, "ng-container", 8)(6, SelectFlagTypeComponent_ng_container_0_ng_template_6_Template, 2, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
24647
+ i0.ɵɵelementContainerStart(0, 2);
24648
+ i0.ɵɵelementStart(1, "div", 3)(2, "fieldset", 4)(3, "legend", 5)(4, "h1", 6);
24649
+ i0.ɵɵtemplate(5, SelectFlagTypeComponent_ng_container_0_ng_container_5_Template, 4, 5, "ng-container", 7)(6, SelectFlagTypeComponent_ng_container_0_ng_template_6_Template, 2, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
24268
24650
  i0.ɵɵelementEnd()();
24269
- i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_8_Template, 6, 6, "div", 9);
24270
- i0.ɵɵelementStart(9, "div", 10);
24271
- i0.ɵɵtemplate(10, SelectFlagTypeComponent_ng_container_0_div_10_Template, 5, 11, "div", 11)(11, SelectFlagTypeComponent_ng_container_0_div_11_Template, 9, 15, "div", 12);
24651
+ i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_8_Template, 6, 6, "div", 8);
24652
+ i0.ɵɵelementStart(9, "div", 9);
24653
+ i0.ɵɵtemplate(10, SelectFlagTypeComponent_ng_container_0_div_10_Template, 5, 11, "div", 10)(11, SelectFlagTypeComponent_ng_container_0_div_11_Template, 9, 15, "div", 11);
24272
24654
  i0.ɵɵelementEnd()()();
24273
24655
  i0.ɵɵelementContainerEnd();
24274
24656
  } if (rf & 2) {
@@ -24278,7 +24660,7 @@ function SelectFlagTypeComponent_ng_container_0_Template(rf, ctx) { if (rf & 1)
24278
24660
  i0.ɵɵadvance();
24279
24661
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0$o, ctx_r0.flagTypeNotSelectedErrorMessage.length > 0));
24280
24662
  i0.ɵɵadvance(4);
24281
- i0.ɵɵproperty("ngIf", !ctx_r0.cachedFlagType)("ngIfElse", priorFlagTypeSelected_r4);
24663
+ i0.ɵɵproperty("ngIf", !ctx_r0.cachedFlagType || ctx_r0.subJourneyIndex == 0)("ngIfElse", priorFlagTypeSelected_r4);
24282
24664
  i0.ɵɵadvance(3);
24283
24665
  i0.ɵɵproperty("ngIf", ctx_r0.flagTypeNotSelectedErrorMessage.length > 0);
24284
24666
  i0.ɵɵadvance(2);
@@ -24286,18 +24668,7 @@ function SelectFlagTypeComponent_ng_container_0_Template(rf, ctx) { if (rf & 1)
24286
24668
  i0.ɵɵadvance();
24287
24669
  i0.ɵɵproperty("ngIf", ctx_r0.otherFlagTypeSelected);
24288
24670
  } }
24289
- function SelectFlagTypeComponent_div_1_Template(rf, ctx) { if (rf & 1) {
24290
- const _r5 = i0.ɵɵgetCurrentView();
24291
- i0.ɵɵelementStart(0, "div", 27)(1, "button", 28);
24292
- i0.ɵɵlistener("click", function SelectFlagTypeComponent_div_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onNext()); });
24293
- i0.ɵɵtext(2);
24294
- i0.ɵɵpipe(3, "rpxTranslate");
24295
- i0.ɵɵelementEnd()();
24296
- } if (rf & 2) {
24297
- i0.ɵɵadvance(2);
24298
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "Next"));
24299
- } }
24300
- class SelectFlagTypeComponent {
24671
+ class SelectFlagTypeComponent extends AbstractJourneyComponent {
24301
24672
  caseFlagRefdataService;
24302
24673
  formGroup;
24303
24674
  jurisdiction;
@@ -24319,6 +24690,8 @@ class SelectFlagTypeComponent {
24319
24690
  flagTypeControlChangesSubscription;
24320
24691
  caseFlagFormField = CaseFlagFormFields;
24321
24692
  isCaseLevelFlag = false;
24693
+ cachedRDFlagTypes;
24694
+ subJourneyIndex = 0;
24322
24695
  maxCharactersForOtherFlagType = 80;
24323
24696
  // Code for "Other" flag type as defined in Reference Data
24324
24697
  otherFlagTypeCode = 'OT0001';
@@ -24326,15 +24699,16 @@ class SelectFlagTypeComponent {
24326
24699
  get caseFlagWizardStepTitle() {
24327
24700
  return CaseFlagWizardStepTitle;
24328
24701
  }
24702
+ constructor(caseFlagRefdataService, pageStateService) {
24703
+ super(pageStateService);
24704
+ this.caseFlagRefdataService = caseFlagRefdataService;
24705
+ }
24329
24706
  get selectedFlagType() {
24330
24707
  return this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.value;
24331
24708
  }
24332
24709
  get otherFlagTypeSelected() {
24333
24710
  return this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.value?.flagCode === this.otherFlagTypeCode;
24334
24711
  }
24335
- constructor(caseFlagRefdataService) {
24336
- this.caseFlagRefdataService = caseFlagRefdataService;
24337
- }
24338
24712
  ngOnInit() {
24339
24713
  this.isCaseLevelFlag = this.selectedFlagsLocation?.flags?.flagsCaseFieldId === this.caseLevelCaseFlagsFieldId;
24340
24714
  this.flagTypes = [];
@@ -24345,7 +24719,7 @@ class SelectFlagTypeComponent {
24345
24719
  this.formGroup.addControl(CaseFlagFormFields.IS_VISIBLE_INTERNALLY_ONLY, new FormControl(false));
24346
24720
  // Should clear descriptionControlName if flagTypeControlName is changed
24347
24721
  this.flagTypeControlChangesSubscription = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.valueChanges
24348
- .subscribe(_ => {
24722
+ .subscribe((_) => {
24349
24723
  this.formGroup.get(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION)?.setValue('');
24350
24724
  this.cachedPath = [];
24351
24725
  // required to clear language interpreter
@@ -24359,8 +24733,8 @@ class SelectFlagTypeComponent {
24359
24733
  this.flagRefdata$ = this.caseFlagRefdataService
24360
24734
  .getCaseFlagsRefdata(this.hmctsServiceId, flagType, true, this.isDisplayContextParameterExternal)
24361
24735
  .subscribe({
24362
- next: flagTypes => this.processFlagTypes(flagTypes),
24363
- error: error => this.onRefdataError(error)
24736
+ next: (flagTypes) => this.processFlagTypes(flagTypes),
24737
+ error: (error) => this.onRefdataError(error)
24364
24738
  });
24365
24739
  }
24366
24740
  else {
@@ -24368,13 +24742,13 @@ class SelectFlagTypeComponent {
24368
24742
  this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetailsByCaseType(this.caseTypeId)
24369
24743
  .pipe(
24370
24744
  // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
24371
- catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
24745
+ catchError((_) => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
24372
24746
  // Use switchMap to return an inner Observable of the flag types data, having received the service details
24373
24747
  // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
24374
- switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType, true, this.isDisplayContextParameterExternal)))
24748
+ switchMap((serviceDetails) => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType, true, this.isDisplayContextParameterExternal)))
24375
24749
  .subscribe({
24376
- next: flagTypes => this.processFlagTypes(flagTypes),
24377
- error: error => this.onRefdataError(error)
24750
+ next: (flagTypes) => this.processFlagTypes(flagTypes),
24751
+ error: (error) => this.onRefdataError(error)
24378
24752
  });
24379
24753
  }
24380
24754
  }
@@ -24402,9 +24776,39 @@ class SelectFlagTypeComponent {
24402
24776
  // when displaying the next set of child flags
24403
24777
  this.cachedFlagType = this.selectedFlagType;
24404
24778
  this.flagTypes = this.selectedFlagType.childFlags;
24405
- this.cachedPath?.shift();
24406
- this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.setValue(this.cachedPath?.length ? this.cachedPath[0] : null, { emitEvent: false });
24779
+ if (this.cachedPath.length !== 0 && this.cachedPath[this.subJourneyIndex] === this.selectedFlagType) {
24780
+ this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.setValue(this.cachedPath[this.subJourneyIndex + 1], { emitEvent: false });
24781
+ }
24782
+ else {
24783
+ this.cachedPath?.shift();
24784
+ const value = this.cachedPath?.length ? this.cachedPath[0] : null;
24785
+ this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.setValue(value, { emitEvent: false });
24786
+ }
24787
+ this.subJourneyIndex++;
24788
+ }
24789
+ }
24790
+ // Simplified version of the onPrevious method with optimized code
24791
+ onPrevious() {
24792
+ if (this.cachedFlagType) {
24793
+ if (this.cachedFlagType.Path.length === 1) {
24794
+ this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.setValue(this.cachedFlagType, { emitEvent: false });
24795
+ this.flagTypes = this.cachedRDFlagTypes[0].childFlags;
24796
+ }
24797
+ else {
24798
+ let currentPath = this.cachedRDFlagTypes[0];
24799
+ const pathToSearch = this.cachedFlagType.Path.slice(1);
24800
+ for (const pathElement of pathToSearch) {
24801
+ const foundFlag = currentPath.childFlags.find((flag) => flag.name === pathElement);
24802
+ if (foundFlag) {
24803
+ currentPath = foundFlag;
24804
+ }
24805
+ }
24806
+ this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)?.setValue(this.cachedFlagType, { emitEvent: false });
24807
+ this.flagTypes = currentPath.childFlags;
24808
+ this.cachedFlagType = currentPath;
24809
+ }
24407
24810
  }
24811
+ this.subJourneyIndex = Math.max(0, this.subJourneyIndex - 1);
24408
24812
  }
24409
24813
  // Identity function for trackBy use by *ngFor for flagTypes in HTML template
24410
24814
  identifyFlagType(_, flagType) {
@@ -24443,18 +24847,33 @@ class SelectFlagTypeComponent {
24443
24847
  }
24444
24848
  }
24445
24849
  processFlagTypes(flagTypes) {
24446
- // First (and only) object in the returned array should be the top-level "Party" flag type
24447
- // The "Other" flag type should be removed from the top level if the user is external
24448
- this.flagTypes = flagTypes[0].childFlags.filter((flag) => this.isDisplayContextParameterExternal ? flag.flagCode !== this.otherFlagTypeCode : true);
24850
+ const prevJourneyPage = this.multipageComponentStateService.getJourneyCollection()[0];
24851
+ const { journeyPreviousPageNumber, journeyPageNumber } = prevJourneyPage;
24852
+ this.cachedRDFlagTypes = flagTypes;
24853
+ if (this.selectedFlagType && (journeyPreviousPageNumber > journeyPageNumber)) {
24854
+ const selectedFlagType = this.selectedFlagType;
24855
+ const pathToSearch = selectedFlagType.Path.slice(1);
24856
+ let currentPath = flagTypes[0];
24857
+ for (const pathElement of pathToSearch) {
24858
+ const foundFlag = currentPath.childFlags.find((flag) => flag.name === pathElement);
24859
+ if (foundFlag) {
24860
+ currentPath = foundFlag;
24861
+ }
24862
+ }
24863
+ this.flagTypes = currentPath.childFlags;
24864
+ this.cachedFlagType = currentPath;
24865
+ }
24866
+ else {
24867
+ this.flagTypes = flagTypes[0].childFlags.filter((flag) => this.isDisplayContextParameterExternal ? flag.flagCode !== this.otherFlagTypeCode : true);
24868
+ }
24449
24869
  const formControl = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE);
24450
24870
  if (formControl?.value) {
24451
- // Cache Path based on existing flagCode -- needed for nested choices
24452
- const [foundFlagType, path] = FlagType.searchPathByFlagTypeObject(formControl.value, this.flagTypes);
24453
- this.cachedPath = [
24454
- ...path,
24455
- foundFlagType
24456
- ];
24457
- formControl.setValue(this.cachedPath[0], { emitEvent: false });
24871
+ const [foundFlagType, path] = FlagType.searchPathByFlagTypeObject(formControl.value, this.cachedRDFlagTypes[0].childFlags);
24872
+ this.cachedPath = [...path, foundFlagType];
24873
+ formControl.setValue((this.selectedFlagType && (journeyPreviousPageNumber > journeyPageNumber)) ? this.cachedPath[this.cachedPath.length - 1] : this.cachedPath[0], { emitEvent: false });
24874
+ if (this.cachedPath.length !== 0) {
24875
+ this.subJourneyIndex = this.cachedPath.length - 1;
24876
+ }
24458
24877
  }
24459
24878
  }
24460
24879
  onRefdataError(error) {
@@ -24465,19 +24884,29 @@ class SelectFlagTypeComponent {
24465
24884
  // Return case flag field state and error messages to the parent
24466
24885
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE, errorMessages: this.errorMessages });
24467
24886
  }
24468
- static ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService)); };
24469
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled", selectedFlagsLocation: "selectedFlagsLocation" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 2, vars: 2, consts: [["priorFlagTypeSelected", ""], [3, "formGroup", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading", "govuk-!-margin-bottom-1"], [4, "ngIf", "ngIfElse"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["class", "govuk-checkboxes__item govuk-!-margin-top-4", 4, "ngIf"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-checkboxes__item", "govuk-!-margin-top-4"], ["id", "is-visible-externally", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "name", "formControlName"], ["for", "is-visible-externally", 1, "govuk-label", "govuk-checkboxes__label"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
24470
- i0.ɵɵtemplate(0, SelectFlagTypeComponent_ng_container_0_Template, 12, 10, "ng-container", 1)(1, SelectFlagTypeComponent_div_1_Template, 4, 3, "div", 2);
24887
+ next() {
24888
+ this.onNext();
24889
+ if (this.errorMessages.length === 0) {
24890
+ super.next();
24891
+ }
24892
+ }
24893
+ previous() {
24894
+ this.onPrevious();
24895
+ if (this.subJourneyIndex <= 0) {
24896
+ super.previous();
24897
+ }
24898
+ }
24899
+ static ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
24900
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled", selectedFlagsLocation: "selectedFlagsLocation" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["priorFlagTypeSelected", ""], [3, "formGroup", 4, "ngIf"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading", "govuk-!-margin-bottom-1"], [4, "ngIf", "ngIfElse"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["class", "govuk-checkboxes__item govuk-!-margin-top-4", 4, "ngIf"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-checkboxes__item", "govuk-!-margin-top-4"], ["id", "is-visible-externally", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "name", "formControlName"], ["for", "is-visible-externally", 1, "govuk-label", "govuk-checkboxes__label"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
24901
+ i0.ɵɵtemplate(0, SelectFlagTypeComponent_ng_container_0_Template, 12, 10, "ng-container", 1);
24471
24902
  } if (rf & 2) {
24472
24903
  i0.ɵɵproperty("ngIf", ctx.flagTypes == null ? null : ctx.flagTypes.length);
24473
- i0.ɵɵadvance();
24474
- i0.ɵɵproperty("ngIf", !ctx.refdataError);
24475
24904
  } }, styles: [".hidden[_ngcontent-%COMP%]{display:none}.validation-error[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:#d4351c}"] });
24476
24905
  }
24477
24906
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectFlagTypeComponent, [{
24478
24907
  type: Component,
24479
- args: [{ selector: 'ccd-select-flag-type', template: "<ng-container *ngIf=\"flagTypes?.length\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': flagTypeNotSelectedErrorMessage.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"flag-type-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"flag-type-heading\" class=\"govuk-fieldset__heading govuk-!-margin-bottom-1\">\n <ng-container *ngIf=\"!cachedFlagType; else priorFlagTypeSelected\">\n {{\n isDisplayContextParameterExternal\n ? (caseFlagWizardStepTitle.SELECT_CASE_FLAG_EXTERNAL | rpxTranslate)\n : (caseFlagWizardStepTitle.SELECT_CASE_FLAG | rpxTranslate)\n }}\n </ng-container>\n <ng-template #priorFlagTypeSelected>\n {{cachedFlagType | flagFieldDisplay:'name'}}\n </ng-template>\n </h1>\n </legend>\n <div id=\"flag-type-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagTypeNotSelectedErrorMessage.length > 0\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagTypeNotSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagType of flagTypes; index as i; trackBy: identifyFlagType\">\n <input class=\"govuk-radios__input\" id=\"flag-type-{{i}}\" [name]=\"caseFlagFormField.FLAG_TYPE\"\n type=\"radio\" [value]=\"flagType\"\n [formControlName]=\"caseFlagFormField.FLAG_TYPE\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-type-{{i}}\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"otherFlagTypeSelected\" id=\"conditional-flagType\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': flagTypeErrorMessage.length > 0}\">\n <label class=\"govuk-label\" for=\"other-flag-type-description\">\n {{\n isDisplayContextParameterExternal\n ? (caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION_EXTERNAL | rpxTranslate)\n : (caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION | rpxTranslate)\n }}\n </label>\n <div id=\"flag-type-error-message\" class=\"govuk-error-message\" *ngIf=\"flagTypeErrorMessage.length > 0\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagTypeErrorMessage | rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-!-width-one-half\"\n [ngClass]=\"{'govuk-input--error': flagTypeErrorMessage.length > 0}\"\n id=\"other-flag-type-description\" [name]=\"caseFlagFormField.OTHER_FLAG_DESCRIPTION\" type=\"text\"\n [formControlName]=\"caseFlagFormField.OTHER_FLAG_DESCRIPTION\"/>\n <div class=\"govuk-checkboxes__item govuk-!-margin-top-4\"\n *ngIf=\"!isDisplayContextParameterExternal && !isCaseLevelFlag && isDisplayContextParameter2Point1Enabled\">\n <input class=\"govuk-checkboxes__input\" id=\"is-visible-externally\" type=\"checkbox\"\n [name]=\"caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY\" [formControlName]=\"caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"is-visible-externally\">\n {{'This flag should only be visible to HMCTS Staff' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\" *ngIf=\"!refdataError\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".hidden{display:none}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
24480
- }], () => [{ type: CaseFlagRefdataService }], { formGroup: [{
24908
+ args: [{ selector: 'ccd-select-flag-type', template: "<ng-container *ngIf=\"flagTypes?.length\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': flagTypeNotSelectedErrorMessage.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"flag-type-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"flag-type-heading\" class=\"govuk-fieldset__heading govuk-!-margin-bottom-1\">\n <ng-container *ngIf=\"!cachedFlagType || subJourneyIndex == 0; else priorFlagTypeSelected\">\n {{\n isDisplayContextParameterExternal\n ? (caseFlagWizardStepTitle.SELECT_CASE_FLAG_EXTERNAL | rpxTranslate)\n : (caseFlagWizardStepTitle.SELECT_CASE_FLAG | rpxTranslate)\n }}\n </ng-container>\n <ng-template #priorFlagTypeSelected>\n {{cachedFlagType | flagFieldDisplay:'name'}}\n </ng-template>\n </h1>\n </legend>\n <div id=\"flag-type-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagTypeNotSelectedErrorMessage.length > 0\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagTypeNotSelectedErrorMessage |\n rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagType of flagTypes; index as i; trackBy: identifyFlagType\">\n <input class=\"govuk-radios__input\" id=\"flag-type-{{i}}\" [name]=\"caseFlagFormField.FLAG_TYPE\" type=\"radio\"\n [value]=\"flagType\" [formControlName]=\"caseFlagFormField.FLAG_TYPE\" />\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-type-{{i}}\">\n {{flagType | flagFieldDisplay:'name'}}\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" *ngIf=\"otherFlagTypeSelected\" id=\"conditional-flagType\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': flagTypeErrorMessage.length > 0}\">\n <label class=\"govuk-label\" for=\"other-flag-type-description\">\n {{\n isDisplayContextParameterExternal\n ? (caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION_EXTERNAL | rpxTranslate)\n : (caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION | rpxTranslate)\n }}\n </label>\n <div id=\"flag-type-error-message\" class=\"govuk-error-message\" *ngIf=\"flagTypeErrorMessage.length > 0\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagTypeErrorMessage |\n rpxTranslate}}\n </div>\n <input class=\"govuk-input govuk-!-width-one-half\"\n [ngClass]=\"{'govuk-input--error': flagTypeErrorMessage.length > 0}\" id=\"other-flag-type-description\"\n [name]=\"caseFlagFormField.OTHER_FLAG_DESCRIPTION\" type=\"text\"\n [formControlName]=\"caseFlagFormField.OTHER_FLAG_DESCRIPTION\" />\n <div class=\"govuk-checkboxes__item govuk-!-margin-top-4\"\n *ngIf=\"!isDisplayContextParameterExternal && !isCaseLevelFlag && isDisplayContextParameter2Point1Enabled\">\n <input class=\"govuk-checkboxes__input\" id=\"is-visible-externally\" type=\"checkbox\"\n [name]=\"caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY\"\n [formControlName]=\"caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"is-visible-externally\">\n {{'This flag should only be visible to HMCTS Staff' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>", styles: [".hidden{display:none}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
24909
+ }], () => [{ type: CaseFlagRefdataService }, { type: MultipageComponentStateService }], { formGroup: [{
24481
24910
  type: Input
24482
24911
  }], jurisdiction: [{
24483
24912
  type: Input
@@ -24496,35 +24925,35 @@ class SelectFlagTypeComponent {
24496
24925
  }], flagCommentsOptionalEmitter: [{
24497
24926
  type: Output
24498
24927
  }] }); })();
24499
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagTypeComponent, { className: "SelectFlagTypeComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.ts", lineNumber: 18 }); })();
24928
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagTypeComponent, { className: "SelectFlagTypeComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.ts", lineNumber: 19 }); })();
24500
24929
 
24501
24930
  const _c0$n = a0 => ({ "form-group-error": a0 });
24502
24931
  const _c1$7 = a0 => ({ "govuk-tag--grey": a0 });
24503
24932
  function UpdateFlagComponent_div_7_Template(rf, ctx) { if (rf & 1) {
24504
- i0.ɵɵelementStart(0, "div", 17);
24933
+ i0.ɵɵelementStart(0, "div", 15);
24505
24934
  i0.ɵɵtext(1);
24506
24935
  i0.ɵɵpipe(2, "updateFlagTitleDisplay");
24507
24936
  i0.ɵɵelementEnd();
24508
24937
  } if (rf & 2) {
24509
- const ctx_r1 = i0.ɵɵnextContext();
24938
+ const ctx_r0 = i0.ɵɵnextContext();
24510
24939
  i0.ɵɵadvance();
24511
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r1.selectedFlag == null ? null : ctx_r1.selectedFlag.flagDetailDisplay == null ? null : ctx_r1.selectedFlag.flagDetailDisplay.flagDetail), " ");
24940
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.selectedFlag == null ? null : ctx_r0.selectedFlag.flagDetailDisplay == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail), " ");
24512
24941
  } }
24513
24942
  function UpdateFlagComponent_div_14_Template(rf, ctx) { if (rf & 1) {
24514
- i0.ɵɵelementStart(0, "div", 18);
24943
+ i0.ɵɵelementStart(0, "div", 16);
24515
24944
  i0.ɵɵtext(1);
24516
24945
  i0.ɵɵpipe(2, "rpxTranslate");
24517
24946
  i0.ɵɵelementEnd();
24518
24947
  } if (rf & 2) {
24519
- const ctx_r1 = i0.ɵɵnextContext();
24948
+ const ctx_r0 = i0.ɵɵnextContext();
24520
24949
  i0.ɵɵadvance();
24521
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r1.updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL), " ");
24950
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL), " ");
24522
24951
  } }
24523
24952
  function UpdateFlagComponent_ng_container_15_div_5_Template(rf, ctx) { if (rf & 1) {
24524
- i0.ɵɵelementStart(0, "div", 25)(1, "span", 26);
24953
+ i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
24525
24954
  i0.ɵɵtext(2, "!");
24526
24955
  i0.ɵɵelementEnd();
24527
- i0.ɵɵelementStart(3, "strong", 27)(4, "span", 28);
24956
+ i0.ɵɵelementStart(3, "strong", 25)(4, "span", 26);
24528
24957
  i0.ɵɵtext(5);
24529
24958
  i0.ɵɵpipe(6, "rpxTranslate");
24530
24959
  i0.ɵɵelementEnd();
@@ -24532,14 +24961,14 @@ function UpdateFlagComponent_ng_container_15_div_5_Template(rf, ctx) { if (rf &
24532
24961
  i0.ɵɵpipe(8, "rpxTranslate");
24533
24962
  i0.ɵɵelementEnd()();
24534
24963
  } if (rf & 2) {
24535
- const ctx_r1 = i0.ɵɵnextContext(2);
24964
+ const ctx_r0 = i0.ɵɵnextContext(2);
24536
24965
  i0.ɵɵadvance(5);
24537
24966
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
24538
24967
  i0.ɵɵadvance(2);
24539
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r1.updateFlagStepEnum.WARNING_TEXT), " ");
24968
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r0.updateFlagStepEnum.WARNING_TEXT), " ");
24540
24969
  } }
24541
24970
  function UpdateFlagComponent_ng_container_15_div_6_Template(rf, ctx) { if (rf & 1) {
24542
- i0.ɵɵelementStart(0, "div", 29)(1, "span", 30);
24971
+ i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
24543
24972
  i0.ɵɵtext(2);
24544
24973
  i0.ɵɵpipe(3, "rpxTranslate");
24545
24974
  i0.ɵɵelementEnd();
@@ -24547,14 +24976,14 @@ function UpdateFlagComponent_ng_container_15_div_6_Template(rf, ctx) { if (rf &
24547
24976
  i0.ɵɵpipe(5, "rpxTranslate");
24548
24977
  i0.ɵɵelementEnd();
24549
24978
  } if (rf & 2) {
24550
- const ctx_r1 = i0.ɵɵnextContext(2);
24979
+ const ctx_r0 = i0.ɵɵnextContext(2);
24551
24980
  i0.ɵɵadvance(2);
24552
24981
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
24553
24982
  i0.ɵɵadvance(2);
24554
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.commentsNotEnteredErrorMessage), " ");
24983
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.commentsNotEnteredErrorMessage), " ");
24555
24984
  } }
24556
24985
  function UpdateFlagComponent_ng_container_15_div_7_Template(rf, ctx) { if (rf & 1) {
24557
- i0.ɵɵelementStart(0, "div", 31)(1, "span", 30);
24986
+ i0.ɵɵelementStart(0, "div", 29)(1, "span", 28);
24558
24987
  i0.ɵɵtext(2);
24559
24988
  i0.ɵɵpipe(3, "rpxTranslate");
24560
24989
  i0.ɵɵelementEnd();
@@ -24562,64 +24991,64 @@ function UpdateFlagComponent_ng_container_15_div_7_Template(rf, ctx) { if (rf &
24562
24991
  i0.ɵɵpipe(5, "rpxTranslate");
24563
24992
  i0.ɵɵelementEnd();
24564
24993
  } if (rf & 2) {
24565
- const ctx_r1 = i0.ɵɵnextContext(2);
24994
+ const ctx_r0 = i0.ɵɵnextContext(2);
24566
24995
  i0.ɵɵadvance(2);
24567
24996
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
24568
24997
  i0.ɵɵadvance(2);
24569
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.commentsCharLimitErrorMessage), " ");
24998
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.commentsCharLimitErrorMessage), " ");
24570
24999
  } }
24571
25000
  function UpdateFlagComponent_ng_container_15_Template(rf, ctx) { if (rf & 1) {
24572
25001
  i0.ɵɵelementContainerStart(0);
24573
- i0.ɵɵelementStart(1, "div", 19);
25002
+ i0.ɵɵelementStart(1, "div", 17);
24574
25003
  i0.ɵɵtext(2);
24575
25004
  i0.ɵɵpipe(3, "rpxTranslate");
24576
25005
  i0.ɵɵpipe(4, "rpxTranslate");
24577
25006
  i0.ɵɵelementEnd();
24578
- i0.ɵɵtemplate(5, UpdateFlagComponent_ng_container_15_div_5_Template, 9, 6, "div", 20)(6, UpdateFlagComponent_ng_container_15_div_6_Template, 6, 6, "div", 21)(7, UpdateFlagComponent_ng_container_15_div_7_Template, 6, 6, "div", 22);
24579
- i0.ɵɵelementStart(8, "textarea", 23);
25007
+ i0.ɵɵtemplate(5, UpdateFlagComponent_ng_container_15_div_5_Template, 9, 6, "div", 18)(6, UpdateFlagComponent_ng_container_15_div_6_Template, 6, 6, "div", 19)(7, UpdateFlagComponent_ng_container_15_div_7_Template, 6, 6, "div", 20);
25008
+ i0.ɵɵelementStart(8, "textarea", 21);
24580
25009
  i0.ɵɵtext(9, " ");
24581
25010
  i0.ɵɵelementEnd();
24582
- i0.ɵɵelementStart(10, "div", 24);
25011
+ i0.ɵɵelementStart(10, "div", 22);
24583
25012
  i0.ɵɵtext(11);
24584
25013
  i0.ɵɵpipe(12, "rpxTranslate");
24585
25014
  i0.ɵɵelementEnd();
24586
25015
  i0.ɵɵelementContainerEnd();
24587
25016
  } if (rf & 2) {
24588
- const ctx_r1 = i0.ɵɵnextContext();
25017
+ const ctx_r0 = i0.ɵɵnextContext();
24589
25018
  i0.ɵɵadvance(2);
24590
- i0.ɵɵtextInterpolate1(" ", ctx_r1.internalUserUpdate ? i0.ɵɵpipeBind1(3, 8, ctx_r1.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL) : i0.ɵɵpipeBind1(4, 10, ctx_r1.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1), " ");
25019
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.internalUserUpdate ? i0.ɵɵpipeBind1(3, 8, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL) : i0.ɵɵpipeBind1(4, 10, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1), " ");
24591
25020
  i0.ɵɵadvance(3);
24592
- i0.ɵɵproperty("ngIf", ctx_r1.internalUser2Point1EnabledUpdate && ctx_r1.externallyVisibleFlag);
25021
+ i0.ɵɵproperty("ngIf", ctx_r0.internalUser2Point1EnabledUpdate && ctx_r0.externallyVisibleFlag);
24593
25022
  i0.ɵɵadvance();
24594
- i0.ɵɵproperty("ngIf", ctx_r1.commentsNotEnteredErrorMessage);
25023
+ i0.ɵɵproperty("ngIf", ctx_r0.commentsNotEnteredErrorMessage);
24595
25024
  i0.ɵɵadvance();
24596
- i0.ɵɵproperty("ngIf", ctx_r1.commentsCharLimitErrorMessage);
25025
+ i0.ɵɵproperty("ngIf", ctx_r0.commentsCharLimitErrorMessage);
24597
25026
  i0.ɵɵadvance();
24598
- i0.ɵɵproperty("id", ctx_r1.caseFlagFormFields.COMMENTS)("name", ctx_r1.caseFlagFormFields.COMMENTS)("formControlName", ctx_r1.caseFlagFormFields.COMMENTS);
25027
+ i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.COMMENTS)("name", ctx_r0.caseFlagFormFields.COMMENTS)("formControlName", ctx_r0.caseFlagFormFields.COMMENTS);
24599
25028
  i0.ɵɵadvance(3);
24600
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 12, ctx_r1.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
25029
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 12, ctx_r0.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
24601
25030
  } }
24602
25031
  function UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
24603
25032
  i0.ɵɵelementContainer(0);
24604
25033
  } }
24605
25034
  function UpdateFlagComponent_ng_template_16_ng_container_0_Template(rf, ctx) { if (rf & 1) {
24606
25035
  i0.ɵɵelementContainerStart(0);
24607
- i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 33);
25036
+ i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 31);
24608
25037
  i0.ɵɵelementContainerEnd();
24609
25038
  } if (rf & 2) {
24610
25039
  i0.ɵɵnextContext(2);
24611
- const updateFlagStatusReason_r3 = i0.ɵɵreference(19);
25040
+ const updateFlagStatusReason_r2 = i0.ɵɵreference(19);
24612
25041
  i0.ɵɵadvance();
24613
- i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r3);
25042
+ i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r2);
24614
25043
  } }
24615
25044
  function UpdateFlagComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
24616
- i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_16_ng_container_0_Template, 2, 1, "ng-container", 32);
25045
+ i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_16_ng_container_0_Template, 2, 1, "ng-container", 30);
24617
25046
  } if (rf & 2) {
24618
- const ctx_r1 = i0.ɵɵnextContext();
24619
- i0.ɵɵproperty("ngIf", ctx_r1.externalUserUpdate);
25047
+ const ctx_r0 = i0.ɵɵnextContext();
25048
+ i0.ɵɵproperty("ngIf", ctx_r0.externalUserUpdate);
24620
25049
  } }
24621
25050
  function UpdateFlagComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1) {
24622
- i0.ɵɵelementStart(0, "div", 38)(1, "span", 30);
25051
+ i0.ɵɵelementStart(0, "div", 36)(1, "span", 28);
24623
25052
  i0.ɵɵtext(2);
24624
25053
  i0.ɵɵpipe(3, "rpxTranslate");
24625
25054
  i0.ɵɵelementEnd();
@@ -24627,14 +25056,14 @@ function UpdateFlagComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1
24627
25056
  i0.ɵɵpipe(5, "rpxTranslate");
24628
25057
  i0.ɵɵelementEnd();
24629
25058
  } if (rf & 2) {
24630
- const ctx_r1 = i0.ɵɵnextContext(2);
25059
+ const ctx_r0 = i0.ɵɵnextContext(2);
24631
25060
  i0.ɵɵadvance(2);
24632
25061
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
24633
25062
  i0.ɵɵadvance(2);
24634
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.statusReasonNotEnteredErrorMessage), " ");
25063
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.statusReasonNotEnteredErrorMessage), " ");
24635
25064
  } }
24636
25065
  function UpdateFlagComponent_ng_template_18_div_1_Template(rf, ctx) { if (rf & 1) {
24637
- i0.ɵɵelementStart(0, "div", 39)(1, "span", 30);
25066
+ i0.ɵɵelementStart(0, "div", 37)(1, "span", 28);
24638
25067
  i0.ɵɵtext(2);
24639
25068
  i0.ɵɵpipe(3, "rpxTranslate");
24640
25069
  i0.ɵɵelementEnd();
@@ -24642,100 +25071,100 @@ function UpdateFlagComponent_ng_template_18_div_1_Template(rf, ctx) { if (rf & 1
24642
25071
  i0.ɵɵpipe(5, "rpxTranslate");
24643
25072
  i0.ɵɵelementEnd();
24644
25073
  } if (rf & 2) {
24645
- const ctx_r1 = i0.ɵɵnextContext(2);
25074
+ const ctx_r0 = i0.ɵɵnextContext(2);
24646
25075
  i0.ɵɵadvance(2);
24647
25076
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
24648
25077
  i0.ɵɵadvance(2);
24649
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.statusReasonCharLimitErrorMessage), " ");
25078
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.statusReasonCharLimitErrorMessage), " ");
24650
25079
  } }
24651
25080
  function UpdateFlagComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
24652
- i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_18_div_0_Template, 6, 6, "div", 34)(1, UpdateFlagComponent_ng_template_18_div_1_Template, 6, 6, "div", 35);
24653
- i0.ɵɵelementStart(2, "textarea", 36);
25081
+ i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_18_div_0_Template, 6, 6, "div", 32)(1, UpdateFlagComponent_ng_template_18_div_1_Template, 6, 6, "div", 33);
25082
+ i0.ɵɵelementStart(2, "textarea", 34);
24654
25083
  i0.ɵɵtext(3, " ");
24655
25084
  i0.ɵɵelementEnd();
24656
- i0.ɵɵelementStart(4, "div", 37);
25085
+ i0.ɵɵelementStart(4, "div", 35);
24657
25086
  i0.ɵɵtext(5);
24658
25087
  i0.ɵɵpipe(6, "rpxTranslate");
24659
25088
  i0.ɵɵelementEnd();
24660
25089
  } if (rf & 2) {
24661
- const ctx_r1 = i0.ɵɵnextContext();
24662
- i0.ɵɵproperty("ngIf", ctx_r1.statusReasonNotEnteredErrorMessage);
25090
+ const ctx_r0 = i0.ɵɵnextContext();
25091
+ i0.ɵɵproperty("ngIf", ctx_r0.statusReasonNotEnteredErrorMessage);
24663
25092
  i0.ɵɵadvance();
24664
- i0.ɵɵproperty("ngIf", ctx_r1.statusReasonCharLimitErrorMessage);
25093
+ i0.ɵɵproperty("ngIf", ctx_r0.statusReasonCharLimitErrorMessage);
24665
25094
  i0.ɵɵadvance();
24666
- i0.ɵɵproperty("id", ctx_r1.caseFlagFormFields.STATUS_CHANGE_REASON)("name", ctx_r1.caseFlagFormFields.STATUS_CHANGE_REASON)("formControlName", ctx_r1.caseFlagFormFields.STATUS_CHANGE_REASON);
25095
+ i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON)("name", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON)("formControlName", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON);
24667
25096
  i0.ɵɵadvance(3);
24668
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx_r1.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
25097
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx_r0.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
24669
25098
  } }
24670
25099
  function UpdateFlagComponent_div_20_div_8_Template(rf, ctx) { if (rf & 1) {
24671
- i0.ɵɵelementStart(0, "div", 47);
24672
- i0.ɵɵelement(1, "input", 48);
24673
- i0.ɵɵelementStart(2, "label", 49);
25100
+ i0.ɵɵelementStart(0, "div", 45);
25101
+ i0.ɵɵelement(1, "input", 46);
25102
+ i0.ɵɵelementStart(2, "label", 47);
24674
25103
  i0.ɵɵtext(3);
24675
25104
  i0.ɵɵpipe(4, "rpxTranslate");
24676
25105
  i0.ɵɵelementEnd()();
24677
25106
  } if (rf & 2) {
24678
- const status_r4 = ctx.$implicit;
24679
- const ctx_r1 = i0.ɵɵnextContext(2);
25107
+ const status_r3 = ctx.$implicit;
25108
+ const ctx_r0 = i0.ɵɵnextContext(2);
24680
25109
  i0.ɵɵadvance();
24681
- i0.ɵɵproperty("id", ctx_r1.caseFlagFormFields.STATUS + "_" + status_r4)("name", ctx_r1.caseFlagFormFields.STATUS)("formControlName", ctx_r1.caseFlagFormFields.STATUS)("value", status_r4);
25110
+ i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS + "_" + status_r3)("name", ctx_r0.caseFlagFormFields.STATUS)("formControlName", ctx_r0.caseFlagFormFields.STATUS)("value", status_r3);
24682
25111
  i0.ɵɵadvance();
24683
- i0.ɵɵproperty("for", ctx_r1.caseFlagFormFields.STATUS + "_" + status_r4);
25112
+ i0.ɵɵproperty("for", ctx_r0.caseFlagFormFields.STATUS + "_" + status_r3);
24684
25113
  i0.ɵɵadvance();
24685
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, ctx_r1.caseFlagStatusEnum[status_r4]), " ");
25114
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, ctx_r0.caseFlagStatusEnum[status_r3]), " ");
24686
25115
  } }
24687
25116
  function UpdateFlagComponent_div_20_ng_container_12_Template(rf, ctx) { if (rf & 1) {
24688
25117
  i0.ɵɵelementContainer(0);
24689
25118
  } }
24690
25119
  function UpdateFlagComponent_div_20_Template(rf, ctx) { if (rf & 1) {
24691
- i0.ɵɵelementStart(0, "div", 40)(1, "fieldset", 41)(2, "legend", 42)(3, "h1", 43);
25120
+ i0.ɵɵelementStart(0, "div", 38)(1, "fieldset", 39)(2, "legend", 40)(3, "h1", 41);
24692
25121
  i0.ɵɵtext(4);
24693
25122
  i0.ɵɵpipe(5, "rpxTranslate");
24694
25123
  i0.ɵɵpipe(6, "rpxTranslate");
24695
25124
  i0.ɵɵelementEnd()();
24696
- i0.ɵɵelementStart(7, "div", 44);
24697
- i0.ɵɵtemplate(8, UpdateFlagComponent_div_20_div_8_Template, 5, 8, "div", 45);
25125
+ i0.ɵɵelementStart(7, "div", 42);
25126
+ i0.ɵɵtemplate(8, UpdateFlagComponent_div_20_div_8_Template, 5, 8, "div", 43);
24698
25127
  i0.ɵɵelementEnd()();
24699
- i0.ɵɵelementStart(9, "div", 46);
25128
+ i0.ɵɵelementStart(9, "div", 44);
24700
25129
  i0.ɵɵtext(10);
24701
25130
  i0.ɵɵpipe(11, "rpxTranslate");
24702
25131
  i0.ɵɵelementEnd();
24703
- i0.ɵɵtemplate(12, UpdateFlagComponent_div_20_ng_container_12_Template, 1, 0, "ng-container", 33);
25132
+ i0.ɵɵtemplate(12, UpdateFlagComponent_div_20_ng_container_12_Template, 1, 0, "ng-container", 31);
24704
25133
  i0.ɵɵelementEnd();
24705
25134
  } if (rf & 2) {
24706
- const ctx_r1 = i0.ɵɵnextContext();
24707
- const updateFlagStatusReason_r3 = i0.ɵɵreference(19);
25135
+ const ctx_r0 = i0.ɵɵnextContext();
25136
+ const updateFlagStatusReason_r2 = i0.ɵɵreference(19);
24708
25137
  i0.ɵɵadvance(4);
24709
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 6, ctx_r1.updateFlagTitle), " ", i0.ɵɵpipeBind1(6, 8, "status"), " ");
25138
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 6, ctx_r0.updateFlagTitle), " ", i0.ɵɵpipeBind1(6, 8, "status"), " ");
24710
25139
  i0.ɵɵadvance(3);
24711
- i0.ɵɵproperty("id", ctx_r1.caseFlagFormFields.STATUS);
25140
+ i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS);
24712
25141
  i0.ɵɵadvance();
24713
- i0.ɵɵproperty("ngForOf", ctx_r1.validStatusProgressions);
25142
+ i0.ɵɵproperty("ngForOf", ctx_r0.validStatusProgressions);
24714
25143
  i0.ɵɵadvance(2);
24715
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 10, ctx_r1.updateFlagStepEnum.STATUS_HINT_TEXT), " ");
25144
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 10, ctx_r0.updateFlagStepEnum.STATUS_HINT_TEXT), " ");
24716
25145
  i0.ɵɵadvance(2);
24717
- i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r3);
25146
+ i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r2);
24718
25147
  } }
24719
25148
  function UpdateFlagComponent_div_21_Template(rf, ctx) { if (rf & 1) {
24720
- i0.ɵɵelementStart(0, "div", 50)(1, "div", 51)(2, "div", 52);
24721
- i0.ɵɵelement(3, "input", 53);
24722
- i0.ɵɵelementStart(4, "label", 54);
25149
+ i0.ɵɵelementStart(0, "div", 48)(1, "div", 49)(2, "div", 50);
25150
+ i0.ɵɵelement(3, "input", 51);
25151
+ i0.ɵɵelementStart(4, "label", 52);
24723
25152
  i0.ɵɵtext(5);
24724
25153
  i0.ɵɵpipe(6, "rpxTranslate");
24725
25154
  i0.ɵɵelementEnd()()()();
24726
25155
  } if (rf & 2) {
24727
- const ctx_r1 = i0.ɵɵnextContext();
25156
+ const ctx_r0 = i0.ɵɵnextContext();
24728
25157
  i0.ɵɵadvance(3);
24729
- i0.ɵɵproperty("formControlName", ctx_r1.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("id", ctx_r1.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("name", ctx_r1.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
25158
+ i0.ɵɵproperty("formControlName", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("id", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("name", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
24730
25159
  i0.ɵɵadvance();
24731
- i0.ɵɵproperty("for", ctx_r1.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
25160
+ i0.ɵɵproperty("for", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
24732
25161
  i0.ɵɵadvance();
24733
25162
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, "I need to add a translation"), " ");
24734
25163
  } }
24735
25164
  function UpdateFlagComponent_div_22_button_10_Template(rf, ctx) { if (rf & 1) {
24736
- const _r5 = i0.ɵɵgetCurrentView();
24737
- i0.ɵɵelementStart(0, "button", 59);
24738
- i0.ɵɵlistener("click", function UpdateFlagComponent_div_22_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onMakeInactive()); });
25165
+ const _r4 = i0.ɵɵgetCurrentView();
25166
+ i0.ɵɵelementStart(0, "button", 57);
25167
+ i0.ɵɵlistener("click", function UpdateFlagComponent_div_22_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onMakeInactive()); });
24739
25168
  i0.ɵɵtext(1);
24740
25169
  i0.ɵɵpipe(2, "rpxTranslate");
24741
25170
  i0.ɵɵelementEnd();
@@ -24744,28 +25173,28 @@ function UpdateFlagComponent_div_22_button_10_Template(rf, ctx) { if (rf & 1) {
24744
25173
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "Make inactive"), " ");
24745
25174
  } }
24746
25175
  function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
24747
- i0.ɵɵelementStart(0, "div", 55)(1, "div", 56)(2, "p");
25176
+ i0.ɵɵelementStart(0, "div", 53)(1, "div", 54)(2, "p");
24748
25177
  i0.ɵɵtext(3);
24749
25178
  i0.ɵɵpipe(4, "rpxTranslate");
24750
- i0.ɵɵelementStart(5, "span")(6, "strong", 57);
25179
+ i0.ɵɵelementStart(5, "span")(6, "strong", 55);
24751
25180
  i0.ɵɵtext(7);
24752
25181
  i0.ɵɵpipe(8, "rpxTranslate");
24753
25182
  i0.ɵɵelementEnd()()()();
24754
- i0.ɵɵelementStart(9, "div", 56);
24755
- i0.ɵɵtemplate(10, UpdateFlagComponent_div_22_button_10_Template, 3, 3, "button", 58);
25183
+ i0.ɵɵelementStart(9, "div", 54);
25184
+ i0.ɵɵtemplate(10, UpdateFlagComponent_div_22_button_10_Template, 3, 3, "button", 56);
24756
25185
  i0.ɵɵelementEnd()();
24757
25186
  } if (rf & 2) {
24758
- const ctx_r1 = i0.ɵɵnextContext();
25187
+ const ctx_r0 = i0.ɵɵnextContext();
24759
25188
  i0.ɵɵadvance(3);
24760
25189
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 4, "Flag status:"), " ");
24761
25190
  i0.ɵɵadvance(3);
24762
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$7, ctx_r1.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
25191
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$7, ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
24763
25192
  i0.ɵɵadvance();
24764
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 6, ctx_r1.selectedFlag == null ? null : ctx_r1.selectedFlag.flagDetailDisplay == null ? null : ctx_r1.selectedFlag.flagDetailDisplay.flagDetail == null ? null : ctx_r1.selectedFlag.flagDetailDisplay.flagDetail.status), " ");
25193
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 6, ctx_r0.selectedFlag == null ? null : ctx_r0.selectedFlag.flagDetailDisplay == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status), " ");
24765
25194
  i0.ɵɵadvance(3);
24766
- i0.ɵɵproperty("ngIf", ctx_r1.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
25195
+ i0.ɵɵproperty("ngIf", ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
24767
25196
  } }
24768
- class UpdateFlagComponent {
25197
+ class UpdateFlagComponent extends AbstractJourneyComponent {
24769
25198
  rpxTranslationService;
24770
25199
  formGroup;
24771
25200
  displayContextParameter;
@@ -24791,7 +25220,8 @@ class UpdateFlagComponent {
24791
25220
  get externallyVisibleFlag() {
24792
25221
  return this.selectedFlag.flagDetailDisplay.visibility?.toLowerCase() === 'external';
24793
25222
  }
24794
- constructor(rpxTranslationService) {
25223
+ constructor(rpxTranslationService, multipageComponentStateService) {
25224
+ super(multipageComponentStateService);
24795
25225
  this.rpxTranslationService = rpxTranslationService;
24796
25226
  }
24797
25227
  ngOnInit() {
@@ -24938,9 +25368,14 @@ class UpdateFlagComponent {
24938
25368
  });
24939
25369
  }
24940
25370
  }
24941
- static ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
24942
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 27, vars: 25, consts: [["externalUser", ""], ["updateFlagStatusReason", ""], [3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--m"], ["id", "update-flag-hint-external", "class", "govuk-hint", 4, "ngIf"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "update-flag-comments-hint-external", "class", "govuk-hint", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["id", "flag-status-container-v2_1", "class", "govuk-!-margin-bottom-4", 4, "ngIf"], ["id", "translation-checkbox-container", "class", "govuk-!-margin-bottom-6", 4, "ngIf"], ["id", "flag-status-container-v1", "class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-button-group"], ["id", "updateFlagNextButton", "type", "button", 1, "govuk-button", 3, "click"], ["id", "update-flag-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "update-flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "update-flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-comments-char-limit-error", 1, "govuk-error-message"], [4, "ngIf"], [4, "ngTemplateOutlet"], ["id", "update-flag-status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "update-flag-status-reason-not-entered-error-message", 1, "govuk-error-message"], ["id", "update-flag-status-reason-char-limit-error", 1, "govuk-error-message"], ["id", "flag-status-container-v2_1", 1, "govuk-!-margin-bottom-4"], ["aria-describedby", "update-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--s"], ["id", "update-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4", 3, "id"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "update-flag-status-hint", 1, "govuk-hint"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "formControlName", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "translation-checkbox-container", 1, "govuk-!-margin-bottom-6"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "formControlName", "id", "name"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "flag-status-container-v1", 1, "govuk-grid-row"], [1, "govuk-grid-column-one-half"], [1, "govuk-tag", 3, "ngClass"], ["class", "button button-secondary", "type", "button", 3, "click", 4, "ngIf"], ["type", "button", 1, "button", "button-secondary", 3, "click"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
24943
- const _r1 = i0.ɵɵgetCurrentView();
25371
+ next() {
25372
+ this.onNext();
25373
+ if (this.errorMessages.length === 0) {
25374
+ super.next();
25375
+ }
25376
+ }
25377
+ static ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
25378
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 23, vars: 22, consts: [["externalUser", ""], ["updateFlagStatusReason", ""], [3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--m"], ["id", "update-flag-hint-external", "class", "govuk-hint", 4, "ngIf"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "update-flag-comments-hint-external", "class", "govuk-hint", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["id", "flag-status-container-v2_1", "class", "govuk-!-margin-bottom-4", 4, "ngIf"], ["id", "translation-checkbox-container", "class", "govuk-!-margin-bottom-6", 4, "ngIf"], ["id", "flag-status-container-v1", "class", "govuk-grid-row", 4, "ngIf"], ["id", "update-flag-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "update-flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "update-flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-comments-char-limit-error", 1, "govuk-error-message"], [4, "ngIf"], [4, "ngTemplateOutlet"], ["id", "update-flag-status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "update-flag-status-reason-not-entered-error-message", 1, "govuk-error-message"], ["id", "update-flag-status-reason-char-limit-error", 1, "govuk-error-message"], ["id", "flag-status-container-v2_1", 1, "govuk-!-margin-bottom-4"], ["aria-describedby", "update-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--s"], ["id", "update-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4", 3, "id"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "update-flag-status-hint", 1, "govuk-hint"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "formControlName", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "translation-checkbox-container", 1, "govuk-!-margin-bottom-6"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "formControlName", "id", "name"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "flag-status-container-v1", 1, "govuk-grid-row"], [1, "govuk-grid-column-one-half"], [1, "govuk-tag", 3, "ngClass"], ["class", "button button-secondary", "type", "button", 3, "click", 4, "ngIf"], ["type", "button", 1, "button", "button-secondary", 3, "click"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
24944
25379
  i0.ɵɵelementContainerStart(0, 2);
24945
25380
  i0.ɵɵelementStart(1, "div", 3)(2, "div", 4)(3, "h1", 5)(4, "label", 6);
24946
25381
  i0.ɵɵtext(5);
@@ -24958,53 +25393,46 @@ class UpdateFlagComponent {
24958
25393
  i0.ɵɵtemplate(18, UpdateFlagComponent_ng_template_18_Template, 7, 8, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(20, UpdateFlagComponent_div_20_Template, 13, 12, "div", 12)(21, UpdateFlagComponent_div_21_Template, 7, 7, "div", 13)(22, UpdateFlagComponent_div_22_Template, 11, 10, "div", 14);
24959
25394
  i0.ɵɵelementEnd()();
24960
25395
  i0.ɵɵelementContainerEnd();
24961
- i0.ɵɵelementStart(23, "div", 15)(24, "button", 16);
24962
- i0.ɵɵlistener("click", function UpdateFlagComponent_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onNext()); });
24963
- i0.ɵɵtext(25);
24964
- i0.ɵɵpipe(26, "rpxTranslate");
24965
- i0.ɵɵelementEnd()();
24966
25396
  } if (rf & 2) {
24967
- const externalUser_r6 = i0.ɵɵreference(17);
25397
+ const externalUser_r5 = i0.ɵɵreference(17);
24968
25398
  i0.ɵɵproperty("formGroup", ctx.formGroup);
24969
25399
  i0.ɵɵadvance(2);
24970
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0$n, ctx.errorMessages.length > 0));
25400
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0$n, ctx.errorMessages.length > 0));
24971
25401
  i0.ɵɵadvance(3);
24972
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
25402
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, ctx.updateFlagTitle), " ");
24973
25403
  i0.ɵɵadvance(2);
24974
25404
  i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
24975
25405
  i0.ɵɵadvance(2);
24976
25406
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
24977
25407
  i0.ɵɵadvance();
24978
- i0.ɵɵtextInterpolate1(" ", ctx.externalUserUpdate ? i0.ɵɵpipeBind1(11, 15, ctx.updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL) : i0.ɵɵpipeBind1(12, 17, ctx.updateFlagTitle) + i0.ɵɵpipeBind1(13, 19, " comments"), " ");
25408
+ i0.ɵɵtextInterpolate1(" ", ctx.externalUserUpdate ? i0.ɵɵpipeBind1(11, 14, ctx.updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL) : i0.ɵɵpipeBind1(12, 16, ctx.updateFlagTitle) + i0.ɵɵpipeBind1(13, 18, " comments"), " ");
24979
25409
  i0.ɵɵadvance(4);
24980
25410
  i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
24981
25411
  i0.ɵɵadvance();
24982
- i0.ɵɵproperty("ngIf", ctx.internalUserUpdate || ctx.internalUser2Point1EnabledUpdate || ctx.displayContextParameter === "")("ngIfElse", externalUser_r6);
25412
+ i0.ɵɵproperty("ngIf", ctx.internalUserUpdate || ctx.internalUser2Point1EnabledUpdate || ctx.displayContextParameter === "")("ngIfElse", externalUser_r5);
24983
25413
  i0.ɵɵadvance(5);
24984
25414
  i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
24985
25415
  i0.ɵɵadvance();
24986
25416
  i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
24987
25417
  i0.ɵɵadvance();
24988
25418
  i0.ɵɵproperty("ngIf", ctx.internalUserUpdate);
24989
- i0.ɵɵadvance(3);
24990
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(26, 21, "Next"), " ");
24991
25419
  } }, encapsulation: 2 });
24992
25420
  }
24993
25421
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagComponent, [{
24994
25422
  type: Component,
24995
- args: [{ selector: 'ccd-update-flag', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--m\">\n {{updateFlagTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"update-flag-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail | updateFlagTitleDisplay}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--s\" [for]=\"caseFlagFormFields.COMMENTS\">\n {{\n externalUserUpdate\n ? (updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL | rpxTranslate)\n : (updateFlagTitle | rpxTranslate) + (' comments' | rpxTranslate)\n }}\n </label>\n <div id=\"update-flag-comments-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL | rpxTranslate}}\n </div>\n <ng-container *ngIf=\"internalUserUpdate || internalUser2Point1EnabledUpdate || displayContextParameter === '';\n else externalUser\">\n <div id=\"update-flag-comments-hint\" class=\"govuk-hint\">\n {{\n internalUserUpdate\n ? (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL | rpxTranslate)\n : (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1 | rpxTranslate)\n }}\n </div>\n <div class=\"govuk-warning-text\" *ngIf=\"internalUser2Point1EnabledUpdate && externallyVisibleFlag\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{updateFlagStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"update-flag-comments-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"commentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-comments-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"commentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error\">\n </textarea>\n <div id=\"update-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-container>\n <ng-template #externalUser>\n <ng-container *ngIf=\"externalUserUpdate\">\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </ng-container>\n </ng-template>\n </div>\n\n <ng-template #updateFlagStatusReason>\n <div id=\"update-flag-status-reason-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-status-reason-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [name]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [formControlName]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error\">\n </textarea>\n <div id=\"update-flag-status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-template>\n\n <div id=\"flag-status-container-v2_1\" class=\"govuk-!-margin-bottom-4\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"update-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s\">\n <h1 id=\"update-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{updateFlagTitle | rpxTranslate}} {{'status' | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" [id]=\"caseFlagFormFields.STATUS\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of validStatusProgressions\">\n <input class=\"govuk-radios__input\" type=\"radio\"\n [id]=\"caseFlagFormFields.STATUS + '_' + status\"\n [name]=\"caseFlagFormFields.STATUS\"\n [formControlName]=\"caseFlagFormFields.STATUS\"\n [value]=\"status\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"caseFlagFormFields.STATUS + '_' + status\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div id=\"update-flag-status-hint\" class=\"govuk-hint\">\n {{updateFlagStepEnum.STATUS_HINT_TEXT | rpxTranslate}}\n </div>\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </div>\n\n <div id=\"translation-checkbox-container\" class=\"govuk-!-margin-bottom-6\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\"\n [formControlName]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [id]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [name]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n <label class=\"govuk-label govuk-checkboxes__label\"\n [for]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n {{'I need to add a translation' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n\n <div id=\"flag-status-container-v1\" class=\"govuk-grid-row\" *ngIf=\"internalUserUpdate\">\n <div class=\"govuk-grid-column-one-half\">\n <p>{{'Flag status:' | rpxTranslate}}\n <span>\n <strong class=\"govuk-tag\" [ngClass]=\"{'govuk-tag--grey': selectedFlag.flagDetailDisplay.flagDetail.status === 'Inactive'}\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail?.status | rpxTranslate}}\n </strong>\n </span>\n </p>\n </div>\n <div class=\"govuk-grid-column-one-half\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"onMakeInactive()\" *ngIf=\"selectedFlag.flagDetailDisplay.flagDetail.status === 'Active'\">\n {{'Make inactive' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button id=\"updateFlagNextButton\" class=\"govuk-button\" type=\"button\" (click)=\"onNext()\">\n {{'Next' | rpxTranslate}}\n </button>\n</div>\n" }]
24996
- }], () => [{ type: i1.RpxTranslationService }], { formGroup: [{
25423
+ args: [{ selector: 'ccd-update-flag', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--m\">\n {{updateFlagTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"update-flag-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail | updateFlagTitleDisplay}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--s\" [for]=\"caseFlagFormFields.COMMENTS\">\n {{\n externalUserUpdate\n ? (updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL | rpxTranslate)\n : (updateFlagTitle | rpxTranslate) + (' comments' | rpxTranslate)\n }}\n </label>\n <div id=\"update-flag-comments-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL | rpxTranslate}}\n </div>\n <ng-container *ngIf=\"internalUserUpdate || internalUser2Point1EnabledUpdate || displayContextParameter === '';\n else externalUser\">\n <div id=\"update-flag-comments-hint\" class=\"govuk-hint\">\n {{\n internalUserUpdate\n ? (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL | rpxTranslate)\n : (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1 | rpxTranslate)\n }}\n </div>\n <div class=\"govuk-warning-text\" *ngIf=\"internalUser2Point1EnabledUpdate && externallyVisibleFlag\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{updateFlagStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"update-flag-comments-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"commentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-comments-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"commentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error\">\n </textarea>\n <div id=\"update-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-container>\n <ng-template #externalUser>\n <ng-container *ngIf=\"externalUserUpdate\">\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </ng-container>\n </ng-template>\n </div>\n\n <ng-template #updateFlagStatusReason>\n <div id=\"update-flag-status-reason-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-status-reason-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [name]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [formControlName]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error\">\n </textarea>\n <div id=\"update-flag-status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-template>\n\n <div id=\"flag-status-container-v2_1\" class=\"govuk-!-margin-bottom-4\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"update-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s\">\n <h1 id=\"update-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{updateFlagTitle | rpxTranslate}} {{'status' | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" [id]=\"caseFlagFormFields.STATUS\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of validStatusProgressions\">\n <input class=\"govuk-radios__input\" type=\"radio\"\n [id]=\"caseFlagFormFields.STATUS + '_' + status\"\n [name]=\"caseFlagFormFields.STATUS\"\n [formControlName]=\"caseFlagFormFields.STATUS\"\n [value]=\"status\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"caseFlagFormFields.STATUS + '_' + status\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div id=\"update-flag-status-hint\" class=\"govuk-hint\">\n {{updateFlagStepEnum.STATUS_HINT_TEXT | rpxTranslate}}\n </div>\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </div>\n\n <div id=\"translation-checkbox-container\" class=\"govuk-!-margin-bottom-6\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\"\n [formControlName]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [id]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [name]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n <label class=\"govuk-label govuk-checkboxes__label\"\n [for]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n {{'I need to add a translation' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n\n <div id=\"flag-status-container-v1\" class=\"govuk-grid-row\" *ngIf=\"internalUserUpdate\">\n <div class=\"govuk-grid-column-one-half\">\n <p>{{'Flag status:' | rpxTranslate}}\n <span>\n <strong class=\"govuk-tag\" [ngClass]=\"{'govuk-tag--grey': selectedFlag.flagDetailDisplay.flagDetail.status === 'Inactive'}\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail?.status | rpxTranslate}}\n </strong>\n </span>\n </p>\n </div>\n <div class=\"govuk-grid-column-one-half\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"onMakeInactive()\" *ngIf=\"selectedFlag.flagDetailDisplay.flagDetail.status === 'Active'\">\n {{'Make inactive' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n </div>\n</ng-container>" }]
25424
+ }], () => [{ type: i1.RpxTranslationService }, { type: MultipageComponentStateService }], { formGroup: [{
24997
25425
  type: Input
24998
25426
  }], displayContextParameter: [{
24999
25427
  type: Input
25000
25428
  }], caseFlagStateEmitter: [{
25001
25429
  type: Output
25002
25430
  }] }); })();
25003
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagComponent, { className: "UpdateFlagComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.ts", lineNumber: 20 }); })();
25431
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagComponent, { className: "UpdateFlagComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.ts", lineNumber: 22 }); })();
25004
25432
 
25005
25433
  const _c0$m = a0 => ({ "form-group-error": a0 });
25006
25434
  function UpdateFlagAddTranslationFormComponent_div_14_Template(rf, ctx) { if (rf & 1) {
25007
- i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
25435
+ i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
25008
25436
  i0.ɵɵtext(2);
25009
25437
  i0.ɵɵpipe(3, "rpxTranslate");
25010
25438
  i0.ɵɵelementEnd();
@@ -25019,7 +25447,7 @@ function UpdateFlagAddTranslationFormComponent_div_14_Template(rf, ctx) { if (rf
25019
25447
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.otherFlagDescriptionCharLimitErrorMessage), " ");
25020
25448
  } }
25021
25449
  function UpdateFlagAddTranslationFormComponent_div_24_Template(rf, ctx) { if (rf & 1) {
25022
- i0.ɵɵelementStart(0, "div", 21)(1, "span", 20);
25450
+ i0.ɵɵelementStart(0, "div", 19)(1, "span", 18);
25023
25451
  i0.ɵɵtext(2);
25024
25452
  i0.ɵɵpipe(3, "rpxTranslate");
25025
25453
  i0.ɵɵelementEnd();
@@ -25034,7 +25462,7 @@ function UpdateFlagAddTranslationFormComponent_div_24_Template(rf, ctx) { if (rf
25034
25462
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.otherFlagDescriptionWelshCharLimitErrorMessage), " ");
25035
25463
  } }
25036
25464
  function UpdateFlagAddTranslationFormComponent_div_34_Template(rf, ctx) { if (rf & 1) {
25037
- i0.ɵɵelementStart(0, "div", 22)(1, "span", 20);
25465
+ i0.ɵɵelementStart(0, "div", 20)(1, "span", 18);
25038
25466
  i0.ɵɵtext(2);
25039
25467
  i0.ɵɵpipe(3, "rpxTranslate");
25040
25468
  i0.ɵɵelementEnd();
@@ -25049,7 +25477,7 @@ function UpdateFlagAddTranslationFormComponent_div_34_Template(rf, ctx) { if (rf
25049
25477
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsCharLimitErrorMessage), " ");
25050
25478
  } }
25051
25479
  function UpdateFlagAddTranslationFormComponent_div_44_Template(rf, ctx) { if (rf & 1) {
25052
- i0.ɵɵelementStart(0, "div", 23)(1, "span", 20);
25480
+ i0.ɵɵelementStart(0, "div", 21)(1, "span", 18);
25053
25481
  i0.ɵɵtext(2);
25054
25482
  i0.ɵɵpipe(3, "rpxTranslate");
25055
25483
  i0.ɵɵelementEnd();
@@ -25063,7 +25491,7 @@ function UpdateFlagAddTranslationFormComponent_div_44_Template(rf, ctx) { if (rf
25063
25491
  i0.ɵɵadvance(2);
25064
25492
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsWelshCharLimitErrorMessage), " ");
25065
25493
  } }
25066
- class UpdateFlagAddTranslationFormComponent {
25494
+ class UpdateFlagAddTranslationFormComponent extends AbstractJourneyComponent {
25067
25495
  formGroup;
25068
25496
  caseFlagStateEmitter = new EventEmitter();
25069
25497
  selectedFlag;
@@ -25137,8 +25565,14 @@ class UpdateFlagAddTranslationFormComponent {
25137
25565
  });
25138
25566
  }
25139
25567
  }
25140
- static ɵfac = function UpdateFlagAddTranslationFormComponent_Factory(t) { return new (t || UpdateFlagAddTranslationFormComponent)(); };
25141
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagAddTranslationFormComponent, selectors: [["ccd-update-flag-add-translation-form"]], inputs: { formGroup: "formGroup" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 54, vars: 57, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-6"], [1, "govuk-label", "govuk-label--m"], ["id", "add-translation-form-hint", 1, "govuk-hint"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "add-translation-other-flag-description-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-translation-other-flag-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-other-flag-description-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["id", "updateFlagNextButton", "type", "button", 1, "govuk-button", 3, "click"], ["id", "add-translation-other-flag-description-char-limit-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", 1, "govuk-error-message"]], template: function UpdateFlagAddTranslationFormComponent_Template(rf, ctx) { if (rf & 1) {
25568
+ next() {
25569
+ this.onNext();
25570
+ if (this.errorMessages.length === 0) {
25571
+ super.next();
25572
+ }
25573
+ }
25574
+ static ɵfac = /*@__PURE__*/ (() => { let ɵUpdateFlagAddTranslationFormComponent_BaseFactory; return function UpdateFlagAddTranslationFormComponent_Factory(t) { return (ɵUpdateFlagAddTranslationFormComponent_BaseFactory || (ɵUpdateFlagAddTranslationFormComponent_BaseFactory = i0.ɵɵgetInheritedFactory(UpdateFlagAddTranslationFormComponent)))(t || UpdateFlagAddTranslationFormComponent); }; })();
25575
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagAddTranslationFormComponent, selectors: [["ccd-update-flag-add-translation-form"]], inputs: { formGroup: "formGroup" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 50, vars: 54, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-6"], [1, "govuk-label", "govuk-label--m"], ["id", "add-translation-form-hint", 1, "govuk-hint"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "add-translation-other-flag-description-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-translation-other-flag-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-other-flag-description-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-char-limit-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", 1, "govuk-error-message"]], template: function UpdateFlagAddTranslationFormComponent_Template(rf, ctx) { if (rf & 1) {
25142
25576
  i0.ɵɵelementContainerStart(0, 0);
25143
25577
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h1", 3)(4, "label", 4);
25144
25578
  i0.ɵɵtext(5);
@@ -25197,78 +25631,71 @@ class UpdateFlagAddTranslationFormComponent {
25197
25631
  i0.ɵɵpipe(49, "rpxTranslate");
25198
25632
  i0.ɵɵelementEnd()()()();
25199
25633
  i0.ɵɵelementContainerEnd();
25200
- i0.ɵɵelementStart(50, "div", 17)(51, "button", 18);
25201
- i0.ɵɵlistener("click", function UpdateFlagAddTranslationFormComponent_Template_button_click_51_listener() { return ctx.onNext(); });
25202
- i0.ɵɵtext(52);
25203
- i0.ɵɵpipe(53, "rpxTranslate");
25204
- i0.ɵɵelementEnd()();
25205
25634
  } if (rf & 2) {
25206
25635
  i0.ɵɵproperty("formGroup", ctx.formGroup);
25207
25636
  i0.ɵɵadvance(2);
25208
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(55, _c0$m, ctx.errorMessages.length > 0));
25637
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(52, _c0$m, ctx.errorMessages.length > 0));
25209
25638
  i0.ɵɵadvance(3);
25210
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 33, ctx.updateFlagAddTranslationTitle), " ");
25639
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 32, ctx.updateFlagAddTranslationTitle), " ");
25211
25640
  i0.ɵɵadvance(3);
25212
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 35, ctx.updateFlagAddTranslationStepEnum.HINT_TEXT), " ");
25641
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 34, ctx.updateFlagAddTranslationStepEnum.HINT_TEXT), " ");
25213
25642
  i0.ɵɵadvance(3);
25214
25643
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION);
25215
25644
  i0.ɵɵadvance();
25216
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 37, "Other description"));
25645
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 36, "Other description"));
25217
25646
  i0.ɵɵadvance(2);
25218
25647
  i0.ɵɵproperty("ngIf", ctx.otherFlagDescriptionCharLimitErrorMessage);
25219
25648
  i0.ɵɵadvance();
25220
25649
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION)("name", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION)("formControlName", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION);
25221
25650
  i0.ɵɵadvance(3);
25222
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 39, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25651
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 38, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25223
25652
  i0.ɵɵadvance(3);
25224
25653
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH);
25225
25654
  i0.ɵɵadvance();
25226
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 41, "Other description (Welsh)"));
25655
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 40, "Other description (Welsh)"));
25227
25656
  i0.ɵɵadvance(2);
25228
25657
  i0.ɵɵproperty("ngIf", ctx.otherFlagDescriptionWelshCharLimitErrorMessage);
25229
25658
  i0.ɵɵadvance();
25230
25659
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH)("name", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH)("formControlName", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH);
25231
25660
  i0.ɵɵadvance(3);
25232
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 43, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25661
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 42, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25233
25662
  i0.ɵɵadvance(3);
25234
25663
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
25235
25664
  i0.ɵɵadvance();
25236
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "Flag comments"));
25665
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 44, "Flag comments"));
25237
25666
  i0.ɵɵadvance(2);
25238
25667
  i0.ɵɵproperty("ngIf", ctx.flagCommentsCharLimitErrorMessage);
25239
25668
  i0.ɵɵadvance();
25240
25669
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.COMMENTS)("name", ctx.caseFlagFormFields.COMMENTS)("formControlName", ctx.caseFlagFormFields.COMMENTS);
25241
25670
  i0.ɵɵadvance(3);
25242
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(39, 47, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25671
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(39, 46, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25243
25672
  i0.ɵɵadvance(3);
25244
25673
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS_WELSH);
25245
25674
  i0.ɵɵadvance();
25246
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(43, 49, "Flag comments (Welsh)"));
25675
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(43, 48, "Flag comments (Welsh)"));
25247
25676
  i0.ɵɵadvance(2);
25248
25677
  i0.ɵɵproperty("ngIf", ctx.flagCommentsWelshCharLimitErrorMessage);
25249
25678
  i0.ɵɵadvance();
25250
25679
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.COMMENTS_WELSH)("name", ctx.caseFlagFormFields.COMMENTS_WELSH)("formControlName", ctx.caseFlagFormFields.COMMENTS_WELSH);
25251
25680
  i0.ɵɵadvance(3);
25252
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(49, 51, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25253
- i0.ɵɵadvance(4);
25254
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(53, 53, "Next"), " ");
25681
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(49, 50, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
25255
25682
  } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
25256
25683
  }
25257
25684
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagAddTranslationFormComponent, [{
25258
25685
  type: Component,
25259
- args: [{ selector: 'ccd-update-flag-add-translation-form', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-6\">\n <label class=\"govuk-label govuk-label--m\">\n {{ updateFlagAddTranslationTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"add-translation-form-hint\" class=\"govuk-hint\">\n {{ updateFlagAddTranslationStepEnum.HINT_TEXT | rpxTranslate}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\" class=\"govuk-label govuk-label--s\">{{'Other description' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\">\n </textarea>\n <div id=\"add-translation-other-flag-description-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\" class=\"govuk-label govuk-label--s\">{{'Other description (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\">\n </textarea>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS\" class=\"govuk-label govuk-label--s\">{{'Flag comments' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\">\n </textarea>\n <div id=\"add-translation-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS_WELSH\" class=\"govuk-label govuk-label--s\">{{'Flag comments (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [name]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [formControlName]=\"caseFlagFormFields.COMMENTS_WELSH\">\n </textarea>\n <div id=\"add-translation-flag-comments-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button id=\"updateFlagNextButton\" class=\"govuk-button\" type=\"button\" (click)=\"onNext()\">\n {{'Next' | rpxTranslate}}\n </button>\n</div>\n" }]
25686
+ args: [{ selector: 'ccd-update-flag-add-translation-form', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-6\">\n <label class=\"govuk-label govuk-label--m\">\n {{ updateFlagAddTranslationTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"add-translation-form-hint\" class=\"govuk-hint\">\n {{ updateFlagAddTranslationStepEnum.HINT_TEXT | rpxTranslate}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\" class=\"govuk-label govuk-label--s\">{{'Other description' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\">\n </textarea>\n <div id=\"add-translation-other-flag-description-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\" class=\"govuk-label govuk-label--s\">{{'Other description (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\">\n </textarea>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS\" class=\"govuk-label govuk-label--s\">{{'Flag comments' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\">\n </textarea>\n <div id=\"add-translation-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS_WELSH\" class=\"govuk-label govuk-label--s\">{{'Flag comments (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [name]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [formControlName]=\"caseFlagFormFields.COMMENTS_WELSH\">\n </textarea>\n <div id=\"add-translation-flag-comments-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n </div>\n</ng-container>" }]
25260
25687
  }], null, { formGroup: [{
25261
25688
  type: Input
25262
25689
  }], caseFlagStateEmitter: [{
25263
25690
  type: Output
25264
25691
  }] }); })();
25265
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagAddTranslationFormComponent, { className: "UpdateFlagAddTranslationFormComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.ts", lineNumber: 17 }); })();
25692
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagAddTranslationFormComponent, { className: "UpdateFlagAddTranslationFormComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.ts", lineNumber: 18 }); })();
25266
25693
 
25267
25694
  const _c0$l = a0 => ({ "form-group-error": a0 });
25268
25695
  function ConfirmFlagStatusComponent_div_9_Template(rf, ctx) { if (rf & 1) {
25269
- i0.ɵɵelementStart(0, "div", 15);
25270
- i0.ɵɵelement(1, "input", 16);
25271
- i0.ɵɵelementStart(2, "label", 17);
25696
+ i0.ɵɵelementStart(0, "div", 13);
25697
+ i0.ɵɵelement(1, "input", 14);
25698
+ i0.ɵɵelementStart(2, "label", 15);
25272
25699
  i0.ɵɵtext(3);
25273
25700
  i0.ɵɵpipe(4, "rpxTranslate");
25274
25701
  i0.ɵɵelementEnd()();
@@ -25285,7 +25712,7 @@ function ConfirmFlagStatusComponent_div_9_Template(rf, ctx) { if (rf & 1) {
25285
25712
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 8, ctx_r2.caseFlagStatusEnum[status_r1]), " ");
25286
25713
  } }
25287
25714
  function ConfirmFlagStatusComponent_div_13_Template(rf, ctx) { if (rf & 1) {
25288
- i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
25715
+ i0.ɵɵelementStart(0, "div", 16)(1, "span", 17);
25289
25716
  i0.ɵɵtext(2);
25290
25717
  i0.ɵɵpipe(3, "rpxTranslate");
25291
25718
  i0.ɵɵelementEnd();
@@ -25300,7 +25727,7 @@ function ConfirmFlagStatusComponent_div_13_Template(rf, ctx) { if (rf & 1) {
25300
25727
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r2.statusReasonNotEnteredErrorMessage), " ");
25301
25728
  } }
25302
25729
  function ConfirmFlagStatusComponent_div_14_Template(rf, ctx) { if (rf & 1) {
25303
- i0.ɵɵelementStart(0, "div", 20)(1, "span", 19);
25730
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 17);
25304
25731
  i0.ɵɵtext(2);
25305
25732
  i0.ɵɵpipe(3, "rpxTranslate");
25306
25733
  i0.ɵɵelementEnd();
@@ -25314,7 +25741,7 @@ function ConfirmFlagStatusComponent_div_14_Template(rf, ctx) { if (rf & 1) {
25314
25741
  i0.ɵɵadvance(2);
25315
25742
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r2.statusReasonCharLimitErrorMessage), " ");
25316
25743
  } }
25317
- class ConfirmFlagStatusComponent {
25744
+ class ConfirmFlagStatusComponent extends AbstractJourneyComponent {
25318
25745
  formGroup;
25319
25746
  defaultStatus;
25320
25747
  caseFlagStateEmitter = new EventEmitter();
@@ -25343,6 +25770,12 @@ class ConfirmFlagStatusComponent {
25343
25770
  // Return case flag field state and error messages to the parent
25344
25771
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_STATUS, errorMessages: this.errorMessages });
25345
25772
  }
25773
+ next() {
25774
+ this.onNext();
25775
+ if (this.errorMessages.length === 0) {
25776
+ super.next();
25777
+ }
25778
+ }
25346
25779
  validateTextEntry() {
25347
25780
  this.statusReasonNotEnteredErrorMessage = null;
25348
25781
  this.statusReasonCharLimitErrorMessage = null;
@@ -25366,8 +25799,8 @@ class ConfirmFlagStatusComponent {
25366
25799
  });
25367
25800
  }
25368
25801
  }
25369
- static ɵfac = function ConfirmFlagStatusComponent_Factory(t) { return new (t || ConfirmFlagStatusComponent)(); };
25370
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmFlagStatusComponent, selectors: [["ccd-confirm-flag-status"]], inputs: { formGroup: "formGroup", defaultStatus: "defaultStatus" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 23, vars: 22, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "confirm-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "confirm-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "status-reason-hint", 1, "govuk-hint"], ["id", "status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "status-reason-hint status-reason-char-limit-info", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "status-reason-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "status-reason-char-limit-error", 1, "govuk-error-message"]], template: function ConfirmFlagStatusComponent_Template(rf, ctx) { if (rf & 1) {
25802
+ static ɵfac = /*@__PURE__*/ (() => { let ɵConfirmFlagStatusComponent_BaseFactory; return function ConfirmFlagStatusComponent_Factory(t) { return (ɵConfirmFlagStatusComponent_BaseFactory || (ɵConfirmFlagStatusComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ConfirmFlagStatusComponent)))(t || ConfirmFlagStatusComponent); }; })();
25803
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmFlagStatusComponent, selectors: [["ccd-confirm-flag-status"]], inputs: { formGroup: "formGroup", defaultStatus: "defaultStatus" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 19, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "confirm-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "confirm-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "status-reason-hint", 1, "govuk-hint"], ["id", "status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "status-reason-hint status-reason-char-limit-info", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "status-reason-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "status-reason-char-limit-error", 1, "govuk-error-message"]], template: function ConfirmFlagStatusComponent_Template(rf, ctx) { if (rf & 1) {
25371
25804
  i0.ɵɵelementContainerStart(0, 0);
25372
25805
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "fieldset", 3)(4, "legend", 4)(5, "h1", 5);
25373
25806
  i0.ɵɵtext(6);
@@ -25387,21 +25820,16 @@ class ConfirmFlagStatusComponent {
25387
25820
  i0.ɵɵpipe(18, "rpxTranslate");
25388
25821
  i0.ɵɵelementEnd()()();
25389
25822
  i0.ɵɵelementContainerEnd();
25390
- i0.ɵɵelementStart(19, "div", 13)(20, "button", 14);
25391
- i0.ɵɵlistener("click", function ConfirmFlagStatusComponent_Template_button_click_20_listener() { return ctx.onNext(); });
25392
- i0.ɵɵtext(21);
25393
- i0.ɵɵpipe(22, "rpxTranslate");
25394
- i0.ɵɵelementEnd()();
25395
25823
  } if (rf & 2) {
25396
25824
  i0.ɵɵproperty("formGroup", ctx.formGroup);
25397
25825
  i0.ɵɵadvance(2);
25398
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0$l, ctx.errorMessages.length > 0));
25826
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(17, _c0$l, ctx.errorMessages.length > 0));
25399
25827
  i0.ɵɵadvance(4);
25400
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 12, ctx.confirmFlagStatusTitle), " ");
25828
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 11, ctx.confirmFlagStatusTitle), " ");
25401
25829
  i0.ɵɵadvance(3);
25402
25830
  i0.ɵɵproperty("ngForOf", ctx.flagCreationStatuses);
25403
25831
  i0.ɵɵadvance(2);
25404
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 14, ctx.statusReasonHint), " ");
25832
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 13, ctx.statusReasonHint), " ");
25405
25833
  i0.ɵɵadvance(2);
25406
25834
  i0.ɵɵproperty("ngIf", ctx.statusReasonNotEnteredErrorMessage);
25407
25835
  i0.ɵɵadvance();
@@ -25409,14 +25837,12 @@ class ConfirmFlagStatusComponent {
25409
25837
  i0.ɵɵadvance();
25410
25838
  i0.ɵɵproperty("id", ctx.statusReasonControlName)("name", ctx.statusReasonControlName)("formControlName", ctx.statusReasonControlName);
25411
25839
  i0.ɵɵadvance(2);
25412
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, ctx.statusReasonCharLimitInfo), " ");
25413
- i0.ɵɵadvance(4);
25414
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 18, "Next"));
25840
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 15, ctx.statusReasonCharLimitInfo), " ");
25415
25841
  } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
25416
25842
  }
25417
25843
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmFlagStatusComponent, [{
25418
25844
  type: Component,
25419
- args: [{ selector: 'ccd-confirm-flag-status', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"confirm-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"confirm-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{confirmFlagStatusTitle | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of flagCreationStatuses; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-status-{{i}}\" [name]=\"selectedStatusControlName\"\n type=\"radio\" [value]=\"status\" [formControlName]=\"selectedStatusControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-status-{{i}}\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n <div id=\"status-reason-hint\" class=\"govuk-hint\">\n {{statusReasonHint | rpxTranslate}}\n </div>\n <div id=\"status-reason-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"status-reason-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"statusReasonControlName\"\n [name]=\"statusReasonControlName\" [formControlName]=\"statusReasonControlName\" rows=\"5\"\n aria-describedby=\"status-reason-hint status-reason-char-limit-info\"></textarea>\n <div id=\"status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{statusReasonCharLimitInfo | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n" }]
25845
+ args: [{ selector: 'ccd-confirm-flag-status', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"confirm-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"confirm-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{confirmFlagStatusTitle | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of flagCreationStatuses; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-status-{{i}}\" [name]=\"selectedStatusControlName\"\n type=\"radio\" [value]=\"status\" [formControlName]=\"selectedStatusControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-status-{{i}}\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n <div id=\"status-reason-hint\" class=\"govuk-hint\">\n {{statusReasonHint | rpxTranslate}}\n </div>\n <div id=\"status-reason-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"status-reason-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"statusReasonControlName\"\n [name]=\"statusReasonControlName\" [formControlName]=\"statusReasonControlName\" rows=\"5\"\n aria-describedby=\"status-reason-hint status-reason-char-limit-info\"></textarea>\n <div id=\"status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{statusReasonCharLimitInfo | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>" }]
25420
25846
  }], null, { formGroup: [{
25421
25847
  type: Input
25422
25848
  }], defaultStatus: [{
@@ -25424,7 +25850,7 @@ class ConfirmFlagStatusComponent {
25424
25850
  }], caseFlagStateEmitter: [{
25425
25851
  type: Output
25426
25852
  }] }); })();
25427
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmFlagStatusComponent, { className: "ConfirmFlagStatusComponent", filePath: "lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.ts", lineNumber: 17 }); })();
25853
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmFlagStatusComponent, { className: "ConfirmFlagStatusComponent", filePath: "lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.ts", lineNumber: 18 }); })();
25428
25854
 
25429
25855
  class FlagFieldDisplayPipe extends AsyncPipe {
25430
25856
  translationService;
@@ -28793,6 +29219,7 @@ class CaseEditSubmitComponent {
28793
29219
  route;
28794
29220
  orderService;
28795
29221
  profileNotifier;
29222
+ multipageComponentStateService;
28796
29223
  formValidatorsService;
28797
29224
  eventTrigger;
28798
29225
  editForm;
@@ -28829,13 +29256,14 @@ class CaseEditSubmitComponent {
28829
29256
  // not been disabled.
28830
29257
  return this.caseEdit.isSubmitting || this.hasErrors;
28831
29258
  }
28832
- constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
29259
+ constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, multipageComponentStateService, formValidatorsService) {
28833
29260
  this.caseEdit = caseEdit;
28834
29261
  this.fieldsUtils = fieldsUtils;
28835
29262
  this.caseFieldService = caseFieldService;
28836
29263
  this.route = route;
28837
29264
  this.orderService = orderService;
28838
29265
  this.profileNotifier = profileNotifier;
29266
+ this.multipageComponentStateService = multipageComponentStateService;
28839
29267
  this.formValidatorsService = formValidatorsService;
28840
29268
  }
28841
29269
  ngOnInit() {
@@ -28857,6 +29285,7 @@ class CaseEditSubmitComponent {
28857
29285
  this.caseEdit.isLinkedCasesSubmission =
28858
29286
  this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
28859
29287
  this.pageTitle = this.getPageTitle();
29288
+ console.log(this.multipageComponentStateService.getInstigator());
28860
29289
  this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
28861
29290
  this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
28862
29291
  }
@@ -29021,7 +29450,7 @@ class CaseEditSubmitComponent {
29021
29450
  }
29022
29451
  return 'Cancel';
29023
29452
  }
29024
- static ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier), i0.ɵɵdirectiveInject(FormValidatorsService)); };
29453
+ static ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier), i0.ɵɵdirectiveInject(MultipageComponentStateService), i0.ɵɵdirectiveInject(FormValidatorsService)); };
29025
29454
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 23, vars: 21, consts: [["titleBlock", ""], ["idBlock", ""], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], [3, "error"], [3, "callbackErrorsContext", "callbackErrorsSubject"], [1, "check-your-answers", 3, "submit", "formGroup"], [4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "form-group", "form-group-related"], ["class", "button button-secondary", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group", 3, "ngClass"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["class", "error-message", 4, "ngIf"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], [1, "error-message"], [3, "eventCanBeCompleted", "eventCompletionParams"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
29026
29455
  const _r1 = i0.ɵɵgetCurrentView();
29027
29456
  i0.ɵɵelementStart(0, "div")(1, "h1", 2);
@@ -29079,8 +29508,8 @@ class CaseEditSubmitComponent {
29079
29508
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
29080
29509
  type: Component,
29081
29510
  args: [{ selector: 'ccd-case-edit-submit', template: "<div>\n <!-- Event trigger name -->\n <h1 class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n\n <!--Case ID or Title -->\n <div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n <ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: contextFields : editForm.controls['data']\"></ccd-markdown>\n </ng-template>\n <ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n </ng-template>\n\n <ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n <ccd-callback-errors [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\"></ccd-callback-errors>\n\n <form class=\"check-your-answers\" [formGroup]=\"editForm\" (submit)=\"submit()\">\n <div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n <h2 class=\"heading-h2\">{{pageTitle | rpxTranslate }}</h2>\n <span class=\"text-16\" *ngIf=\"!caseEdit.isCaseFlagSubmission\">{{'Check the information below carefully.' | rpxTranslate}}</span>\n\n <table class=\"form-table\" aria-describedby=\"check your answers table\">\n <tbody>\n <ng-container *ngFor=\"let page of wizard.pages\">\n <ng-container *ngIf=\"isShown(page)\">\n <ng-container *ngFor=\"let field of page\n | ccdPageFields: editForm\n | ccdReadFieldsFilter: false :undefined :true :allFieldsValues\n | ccdCYAPageLabelFilter\">\n <ng-container *ngIf=\"canShowFieldInCYA(field)\">\n <tr ccdLabelSubstitutor [caseField]=\"field\" [hidden]=\"field.hidden\"\n [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th *ngIf=\"!isLabel(field) && !caseEdit.isCaseFlagSubmission\" class=\"valign-top case-field-label\">\n <span class=\"text-16\">{{field.label | rpxTranslate}}</span>\n </th>\n <td class=\"form-cell case-field-content\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n </div>\n <ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n </ccd-case-event-completion>\n <div class=\"form-group form-group-related\">\n <button *ngIf=\"!caseEdit.isCaseFlagSubmission\" class=\"button button-secondary\" type=\"button\" [disabled]=\"!hasPrevious() || caseEdit.isSubmitting\" (click)=\"previous()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button type=\"submit\" [disabled]=\"isDisabled\" class=\"button\">\n {{triggerText | rpxTranslate}}\n </button>\n </div>\n <p class=\"cancel\">\n <a (click)=\"cancel()\" href=\"javascript:void(0)\" [class.disabled]=\"caseEdit.isSubmitting\">{{getCancelText() | rpxTranslate}}</a>\n </p>\n </form>\n</div>\n\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
29082
- }], () => [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }], null); })();
29083
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditSubmitComponent, { className: "CaseEditSubmitComponent", filePath: "lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.ts", lineNumber: 27 }); })();
29511
+ }], () => [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: MultipageComponentStateService }, { type: FormValidatorsService }], null); })();
29512
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditSubmitComponent, { className: "CaseEditSubmitComponent", filePath: "lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.ts", lineNumber: 28 }); })();
29084
29513
 
29085
29514
  function CaseProgressComponent_div_0_Template(rf, ctx) { if (rf & 1) {
29086
29515
  const _r1 = i0.ɵɵgetCurrentView();
@@ -29328,7 +29757,8 @@ class CaseEditorModule {
29328
29757
  SessionStorageService,
29329
29758
  EventCompletionStateMachineService,
29330
29759
  CaseFlagStateService,
29331
- ValidPageListCaseFieldsService
29760
+ ValidPageListCaseFieldsService,
29761
+ MultipageComponentStateService
29332
29762
  ], imports: [CommonModule,
29333
29763
  RouterModule,
29334
29764
  FormsModule,
@@ -29410,7 +29840,8 @@ class CaseEditorModule {
29410
29840
  SessionStorageService,
29411
29841
  EventCompletionStateMachineService,
29412
29842
  CaseFlagStateService,
29413
- ValidPageListCaseFieldsService
29843
+ ValidPageListCaseFieldsService,
29844
+ MultipageComponentStateService
29414
29845
  ]
29415
29846
  }]
29416
29847
  }], null, null); })();
@@ -29442,7 +29873,7 @@ class CaseEditorModule {
29442
29873
  CallbackErrorsComponent] }); })();
29443
29874
  i0.ɵɵsetComponentScope(CaseEditConfirmComponent, function () { return [i5.NgIf, i4.ɵNgNoValidate, i4.NgControlStatusGroup, i4.FormGroupDirective, MarkdownComponent]; }, function () { return [CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
29444
29875
  i0.ɵɵsetComponentScope(CaseEditPageComponent, function () { return [i5.NgForOf, i5.NgIf, i4.ɵNgNoValidate, i4.NgControlStatusGroup, i4.FormGroupDirective, CallbackErrorsComponent, MarkdownComponent, CaseEventCompletionComponent, CaseEditFormComponent,
29445
- CaseEditGenericErrorsComponent]; }, function () { return [i5.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
29876
+ CaseEditGenericErrorsComponent]; }, function () { return [CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
29446
29877
  i0.ɵɵsetComponentScope(CaseEditFormComponent, function () { return [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i4.NgControlStatusGroup, i4.FormGroupDirective, LabelSubstitutorDirective, ConditionalShowFormDirective, FieldReadComponent, FieldWriteComponent]; }, function () { return [IsCompoundPipe, IsReadOnlyAndNotCollectionPipe]; });
29447
29878
  i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i4.ɵNgNoValidate, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.MaxLengthValidator, i4.FormGroupDirective, i4.FormControlName, i4.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [FirstErrorPipe, IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
29448
29879
  i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i5.NgIf, CaseEditComponent]; }, []);
@@ -31580,6 +32011,7 @@ class CaseEventTriggerComponent {
31580
32011
  activitySubscription;
31581
32012
  caseSubscription;
31582
32013
  parentUrl;
32014
+ routerCurrentNavigation;
31583
32015
  constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService, sessionStorageService) {
31584
32016
  this.ngZone = ngZone;
31585
32017
  this.casesService = casesService;
@@ -31590,6 +32022,7 @@ class CaseEventTriggerComponent {
31590
32022
  this.caseReferencePipe = caseReferencePipe;
31591
32023
  this.activityPollingService = activityPollingService;
31592
32024
  this.sessionStorageService = sessionStorageService;
32025
+ this.routerCurrentNavigation = this.router.getCurrentNavigation();
31593
32026
  }
31594
32027
  ngOnInit() {
31595
32028
  if (this.route.snapshot.data.case) {
@@ -31668,8 +32101,16 @@ class CaseEventTriggerComponent {
31668
32101
  });
31669
32102
  }
31670
32103
  cancel() {
31671
- if (this.router.url && this.router.url.includes('linkCases')) {
31672
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: 'Linked cases' });
32104
+ const previousUrl = this.routerCurrentNavigation?.previousNavigation?.finalUrl?.toString();
32105
+ if (previousUrl) {
32106
+ if (previousUrl.indexOf('#') > -1) {
32107
+ const url = previousUrl.split('#')[0];
32108
+ const fragment = previousUrl.split('#')[1].replace('%20', ' ');
32109
+ return this.router.navigate([url], { fragment: fragment });
32110
+ }
32111
+ else {
32112
+ return this.router.navigate([previousUrl]);
32113
+ }
31673
32114
  }
31674
32115
  else {
31675
32116
  return this.router.navigate([this.parentUrl]);
@@ -37200,5 +37641,5 @@ class TestRouteSnapshotBuilder {
37200
37641
  * Generated bundle index. Do not edit.
37201
37642
  */
37202
37643
 
37203
- 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, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, 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, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, 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, EnumDisplayDescriptionPipe, 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, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, 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, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, 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, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, 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, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, 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, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, 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, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
37644
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, 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, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, 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, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, 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, EnumDisplayDescriptionPipe, 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, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, 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, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, 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, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, 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, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, 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, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, 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, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
37204
37645
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map