@hmcts/ccd-case-ui-toolkit 7.0.22-rc1 → 7.0.22-rc2

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 (21) hide show
  1. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +83 -38
  2. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +6 -5
  3. package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +1 -1
  4. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +5 -5
  5. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +20 -3
  6. package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +1 -1
  7. package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +4 -1
  8. package/esm2020/lib/shared/services/form/form-validators.service.mjs +27 -2
  9. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +201 -102
  10. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  11. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +192 -102
  12. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  13. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +8 -3
  14. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  15. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  16. package/lib/shared/components/palette/markdown/markdown.component.d.ts +3 -1
  17. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
  19. package/lib/shared/services/form/form-validators.service.d.ts +4 -0
  20. package/lib/shared/services/form/form-validators.service.d.ts.map +1 -1
  21. package/package.json +1 -1
@@ -27,6 +27,7 @@ import { MatDialogConfig } from '@angular/material/dialog';
27
27
  import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
28
28
  import * as i2 from '@nicky-lenaers/ngx-scroll-to';
29
29
  import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
30
+ import * as marked from 'marked';
30
31
  import * as i1$4 from 'ngx-md';
31
32
  import { NgxMdModule } from 'ngx-md';
32
33
  import * as i5 from '@angular/material/legacy-autocomplete';
@@ -133,11 +134,11 @@ function FooterComponent_div_3_Template(rf, ctx) {
133
134
  }
134
135
  }
135
136
  const _c0$13 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
136
- const _c1$t = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
137
+ const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
137
138
  class FooterComponent {
138
139
  }
139
140
  FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
140
- FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$t, 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) {
141
+ FooterComponent.ɵ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) {
141
142
  if (rf & 1) {
142
143
  i0.ɵɵprojectionDef(_c0$13);
143
144
  i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
@@ -211,7 +212,7 @@ function HeaderBarComponent_div_10_Template(rf, ctx) {
211
212
  }
212
213
  }
213
214
  const _c0$12 = [[["", "headerNavigation", ""]]];
214
- const _c1$s = ["[headerNavigation]"];
215
+ const _c1$t = ["[headerNavigation]"];
215
216
  class HeaderBarComponent {
216
217
  constructor() {
217
218
  this.signOutRequest = new EventEmitter();
@@ -221,7 +222,7 @@ class HeaderBarComponent {
221
222
  }
222
223
  }
223
224
  HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
224
- HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$s, 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) {
225
+ HeaderBarComponent.ɵ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) {
225
226
  if (rf & 1) {
226
227
  i0.ɵɵprojectionDef(_c0$12);
227
228
  i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
@@ -277,11 +278,11 @@ HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBa
277
278
  })();
278
279
 
279
280
  const _c0$11 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
280
- const _c1$r = ["[leftNavLinks]", "[rightNavLinks]"];
281
+ const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
281
282
  class NavigationComponent {
282
283
  }
283
284
  NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
284
- NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$r, decls: 4, vars: 2, consts: [[1, "cut-nav-bar"]], template: function NavigationComponent_Template(rf, ctx) {
285
+ NavigationComponent.ɵ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) {
285
286
  if (rf & 1) {
286
287
  i0.ɵɵprojectionDef(_c0$11);
287
288
  i0.ɵɵelementStart(0, "div")(1, "nav", 0);
@@ -412,11 +413,11 @@ HeadersModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
412
413
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
413
414
 
414
415
  const _c0$10 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
415
- const _c1$q = ["[topBody]", "[leftBody]", "[rightBody]"];
416
+ const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
416
417
  class BodyComponent {
417
418
  }
418
419
  BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
419
- BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$q, decls: 4, vars: 0, consts: [[1, "global-display"]], template: function BodyComponent_Template(rf, ctx) {
420
+ BodyComponent.ɵ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) {
420
421
  if (rf & 1) {
421
422
  i0.ɵɵprojectionDef(_c0$10);
422
423
  i0.ɵɵelementStart(0, "div", 0);
@@ -1085,11 +1086,11 @@ NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
1085
1086
  })();
1086
1087
 
1087
1088
  const _c0$Z = function (a0) { return { "js-hidden": a0 }; };
1088
- const _c1$p = ["*"];
1089
+ const _c1$q = ["*"];
1089
1090
  class TabComponent {
1090
1091
  }
1091
1092
  TabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
1092
- TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$p, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) {
1093
+ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$q, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) {
1093
1094
  if (rf & 1) {
1094
1095
  i0.ɵɵprojectionDef();
1095
1096
  i0.ɵɵelementStart(0, "div", 0);
@@ -1115,8 +1116,8 @@ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent,
1115
1116
  })();
1116
1117
 
1117
1118
  const _c0$Y = ["tab"];
1118
- const _c1$o = function () { return ["."]; };
1119
- const _c2$3 = function (a0) { return { "tabs-toggle-selected": a0 }; };
1119
+ const _c1$p = function () { return ["."]; };
1120
+ const _c2$4 = function (a0) { return { "tabs-toggle-selected": a0 }; };
1120
1121
  function TabsComponent_li_2_Template(rf, ctx) {
1121
1122
  if (rf & 1) {
1122
1123
  const _r4 = i0.ɵɵgetCurrentView();
@@ -1129,7 +1130,7 @@ function TabsComponent_li_2_Template(rf, ctx) {
1129
1130
  if (rf & 2) {
1130
1131
  const panel_r1 = ctx.$implicit;
1131
1132
  i0.ɵɵadvance(1);
1132
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$o))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$3, panel_r1.selected));
1133
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$p))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$4, panel_r1.selected));
1133
1134
  i0.ɵɵattribute("aria-controls", panel_r1.id)("aria-selected", panel_r1.selected);
1134
1135
  i0.ɵɵadvance(2);
1135
1136
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, panel_r1.title));
@@ -2702,6 +2703,9 @@ class FirstErrorPipe {
2702
2703
  else if (keys[0] === 'pattern') {
2703
2704
  errorMessage = 'The data entered is not valid for %FIELDLABEL%';
2704
2705
  }
2706
+ else if (keys[0] === 'markDownPattern') {
2707
+ errorMessage = 'The data entered is not valid for %FIELDLABEL%. Link mark up characters are not allowed in this field';
2708
+ }
2705
2709
  else if (keys[0] === 'minlength') {
2706
2710
  errorMessage = '%FIELDLABEL% is below the minimum length';
2707
2711
  }
@@ -4550,6 +4554,7 @@ class FormValidatorsService {
4550
4554
  FormValidatorsService.CUSTOM_VALIDATED_TYPES.indexOf(caseField.field_type.type) === -1) {
4551
4555
  const validators = [Validators.required];
4552
4556
  if (caseField.field_type.type === 'Text') {
4557
+ validators.push(this.markDownPatternValidator());
4553
4558
  if (caseField.field_type.regular_expression) {
4554
4559
  validators.push(Validators.pattern(caseField.field_type.regular_expression));
4555
4560
  }
@@ -4563,22 +4568,38 @@ class FormValidatorsService {
4563
4568
  validators.push(Validators.maxLength(caseField.field_type.max));
4564
4569
  }
4565
4570
  }
4571
+ if (caseField.field_type.type === 'TextArea') {
4572
+ validators.push(this.emptyValidator());
4573
+ validators.push(this.markDownPatternValidator());
4574
+ }
4566
4575
  if (control.validator) {
4567
4576
  validators.push(control.validator);
4568
4577
  }
4569
4578
  control.setValidators(validators);
4570
4579
  }
4580
+ else if (caseField.display_context === 'OPTIONAL' && (caseField.field_type.type === 'Text' || caseField.field_type.type === 'TextArea')) {
4581
+ control.setValidators(this.markDownPatternValidator());
4582
+ }
4571
4583
  return control;
4572
4584
  }
4573
4585
  static emptyValidator() {
4574
4586
  const validator = (control) => {
4575
- if (control && control.value && control.value.toString().trim().length === 0) {
4587
+ var _a;
4588
+ if (((_a = control === null || control === void 0 ? void 0 : control.value) === null || _a === void 0 ? void 0 : _a.toString().trim().length) === 0) {
4576
4589
  return { required: {} };
4577
4590
  }
4578
4591
  return null;
4579
4592
  };
4580
4593
  return validator;
4581
4594
  }
4595
+ static markDownPatternValidator() {
4596
+ const pattern = /(\[[^\]]{0,500}\]\([^)]{0,500}\)|!\[[^\]]{0,500}\]\([^)]{0,500}\)|<img[^>]{0,500}>|<a[^>]{0,500}>.*?<\/a>)/;
4597
+ return (control) => {
4598
+ var _a;
4599
+ const value = (_a = control === null || control === void 0 ? void 0 : control.value) === null || _a === void 0 ? void 0 : _a.toString().trim();
4600
+ return (value && pattern.test(value)) ? { markDownPattern: {} } : null;
4601
+ };
4602
+ }
4582
4603
  // TODO: Strip this out as it's only here for the moment because
4583
4604
  // the service is being injected all over the place but it doesn't
4584
4605
  // need to be as FormValidatorsService.addValidators is perfectly
@@ -4586,10 +4607,20 @@ class FormValidatorsService {
4586
4607
  addValidators(caseField, control) {
4587
4608
  return FormValidatorsService.addValidators(caseField, control);
4588
4609
  }
4610
+ addMarkDownValidators(formGroup, controlPath) {
4611
+ const control = formGroup.get(controlPath);
4612
+ if (control) {
4613
+ control.setValidators(FormValidatorsService.markDownPatternValidator());
4614
+ control.updateValueAndValidity();
4615
+ }
4616
+ return control;
4617
+ }
4589
4618
  }
4590
4619
  FormValidatorsService.CUSTOM_VALIDATED_TYPES = [
4591
4620
  'Date', 'MoneyGBP', 'Label', 'JudicialUser'
4592
4621
  ];
4622
+ FormValidatorsService.DEFAULT_INPUT_TEXT = 'text';
4623
+ FormValidatorsService.DEFAULT_INPUT_TEXTAREA = 'textAreas';
4593
4624
  FormValidatorsService.ɵfac = function FormValidatorsService_Factory(t) { return new (t || FormValidatorsService)(); };
4594
4625
  FormValidatorsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValidatorsService, factory: FormValidatorsService.ɵfac });
4595
4626
  (function () {
@@ -11128,8 +11159,8 @@ function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) {
11128
11159
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r5.errorMessage));
11129
11160
  }
11130
11161
  }
11131
- const _c1$n = function (a0) { return { "form-group-error": a0 }; };
11132
- const _c2$2 = function (a0) { return { "govuk-input--error": a0 }; };
11162
+ const _c1$o = function (a0) { return { "form-group-error": a0 }; };
11163
+ const _c2$3 = function (a0) { return { "govuk-input--error": a0 }; };
11133
11164
  function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
11134
11165
  if (rf & 1) {
11135
11166
  const _r7 = i0.ɵɵgetCurrentView();
@@ -11147,7 +11178,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
11147
11178
  }
11148
11179
  if (rf & 2) {
11149
11180
  const ctx_r2 = i0.ɵɵnextContext(2);
11150
- i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$n, ctx_r2.missingPostcode));
11181
+ i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$o, ctx_r2.missingPostcode));
11151
11182
  i0.ɵɵadvance(1);
11152
11183
  i0.ɵɵproperty("for", ctx_r2.createElementId("postcodeInput"));
11153
11184
  i0.ɵɵadvance(2);
@@ -11155,7 +11186,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
11155
11186
  i0.ɵɵadvance(2);
11156
11187
  i0.ɵɵproperty("ngIf", ctx_r2.missingPostcode);
11157
11188
  i0.ɵɵadvance(1);
11158
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$2, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
11189
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$3, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
11159
11190
  i0.ɵɵadvance(2);
11160
11191
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "Find address"));
11161
11192
  }
@@ -11202,7 +11233,7 @@ function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) {
11202
11233
  }
11203
11234
  if (rf & 2) {
11204
11235
  const ctx_r3 = i0.ɵɵnextContext(2);
11205
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$n, ctx_r3.noAddressSelected));
11236
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$o, ctx_r3.noAddressSelected));
11206
11237
  i0.ɵɵadvance(1);
11207
11238
  i0.ɵɵproperty("for", ctx_r3.createElementId("addressList"));
11208
11239
  i0.ɵɵadvance(2);
@@ -12771,7 +12802,7 @@ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) {
12771
12802
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
12772
12803
  }
12773
12804
  }
12774
- const _c1$m = function (a0) { return { "form-group-error": a0 }; };
12805
+ const _c1$n = function (a0) { return { "form-group-error": a0 }; };
12775
12806
  class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
12776
12807
  ngOnInit() {
12777
12808
  if (this.caseField.value) {
@@ -12837,7 +12868,7 @@ WriteCaseLinkFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
12837
12868
  i0.ɵɵelementEnd();
12838
12869
  }
12839
12870
  if (rf & 2) {
12840
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$m, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
12871
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$n, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
12841
12872
  i0.ɵɵadvance(1);
12842
12873
  i0.ɵɵproperty("for", ctx.id());
12843
12874
  i0.ɵɵadvance(1);
@@ -12875,7 +12906,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) {
12875
12906
  i0.ɵɵproperty("caseField", i0.ɵɵpureFunction6(3, _c0$S, ctx_r1.caseField.label, ctx_r1.caseField.label, ctx_r1.caseField.field_type.collection_field_type, ctx_r1.caseField.display_context_parameter, ctx_r1.caseField.value, ctx_r1.caseField.hidden))("context", ctx_r1.context)("topLevelFormGroup", ctx_r1.topLevelFormGroup);
12876
12907
  }
12877
12908
  }
12878
- const _c1$l = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
12909
+ const _c1$m = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
12879
12910
  function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) {
12880
12911
  if (rf & 1) {
12881
12912
  i0.ɵɵelementStart(0, "tr")(1, "td");
@@ -12887,7 +12918,7 @@ function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) {
12887
12918
  const i_r5 = ctx.index;
12888
12919
  const ctx_r3 = i0.ɵɵnextContext(3);
12889
12920
  i0.ɵɵadvance(2);
12890
- i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$l, i_r5, ctx_r3.caseField.label + " " + (i_r5 + 1), ctx_r3.caseField.field_type.collection_field_type, item_r4.value, ctx_r3.caseField.hidden))("context", ctx_r3.context)("topLevelFormGroup", ctx_r3.topLevelFormGroup)("idPrefix", ctx_r3.buildIdPrefix(i_r5));
12921
+ i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$m, i_r5, ctx_r3.caseField.label + " " + (i_r5 + 1), ctx_r3.caseField.field_type.collection_field_type, item_r4.value, ctx_r3.caseField.hidden))("context", ctx_r3.context)("topLevelFormGroup", ctx_r3.topLevelFormGroup)("idPrefix", ctx_r3.buildIdPrefix(i_r5));
12891
12922
  }
12892
12923
  }
12893
12924
  function ReadCollectionFieldComponent_table_0_tbody_3_Template(rf, ctx) {
@@ -14085,7 +14116,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
14085
14116
  i0.ɵɵproperty("caseField", ctx_r2.caseField);
14086
14117
  }
14087
14118
  }
14088
- const _c1$k = function (a0) { return { "form-group-error bottom-30": a0 }; };
14119
+ const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
14089
14120
  class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
14090
14121
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
14091
14122
  super();
@@ -14400,7 +14431,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
14400
14431
  i0.ɵɵelementEnd()();
14401
14432
  }
14402
14433
  if (rf & 2) {
14403
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$k, !ctx.valid));
14434
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
14404
14435
  i0.ɵɵadvance(1);
14405
14436
  i0.ɵɵproperty("for", ctx.id());
14406
14437
  i0.ɵɵadvance(1);
@@ -14624,9 +14655,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
14624
14655
  })();
14625
14656
 
14626
14657
  class MarkdownComponent {
14627
- constructor() { }
14658
+ constructor() {
14659
+ this.renderUrlToTextFeature = true;
14660
+ }
14628
14661
  ngOnInit() {
14629
14662
  this.content = this.content.replace(/ \n/g, '<br>');
14663
+ if (this.renderUrlToTextFeature) {
14664
+ this.renderUrlToText();
14665
+ }
14630
14666
  }
14631
14667
  onMarkdownClick(event) {
14632
14668
  // If we don't have an anchor tag, we don't need to do anything.
@@ -14635,13 +14671,22 @@ class MarkdownComponent {
14635
14671
  }
14636
14672
  return true;
14637
14673
  }
14674
+ renderUrlToText() {
14675
+ const renderer = new marked.Renderer();
14676
+ renderer.link = (href, title, text) => {
14677
+ return text; // Return the text without turning it into a link
14678
+ };
14679
+ marked.setOptions({
14680
+ renderer: renderer
14681
+ });
14682
+ }
14638
14683
  }
14639
14684
  MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
14640
14685
  MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) {
14641
14686
  if (rf & 1) {
14642
14687
  i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
14643
14688
  }
14644
- }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
14689
+ }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
14645
14690
  if (rf & 1) {
14646
14691
  i0.ɵɵelementStart(0, "div");
14647
14692
  i0.ɵɵelement(1, "markdown", 0);
@@ -14662,6 +14707,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
14662
14707
  type: Input
14663
14708
  }], markdownUseHrefAsRouterLink: [{
14664
14709
  type: Input
14710
+ }], renderUrlToTextFeature: [{
14711
+ type: Input
14665
14712
  }], onMarkdownClick: [{
14666
14713
  type: HostListener,
14667
14714
  args: ['click', ['$event']]
@@ -14796,7 +14843,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
14796
14843
  i0.ɵɵadvance(1);
14797
14844
  i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
14798
14845
  i0.ɵɵadvance(1);
14799
- i0.ɵɵproperty("content", checkbox_r4.label);
14846
+ i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
14800
14847
  }
14801
14848
  }
14802
14849
  const _c0$O = function (a0) { return { "error": a0 }; };
@@ -14861,14 +14908,14 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
14861
14908
  }
14862
14909
  }
14863
14910
  WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
14864
- WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) {
14911
+ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content", "renderUrlToTextFeature"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) {
14865
14912
  if (rf & 1) {
14866
14913
  i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
14867
14914
  i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
14868
14915
  i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
14869
14916
  i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
14870
14917
  i0.ɵɵelementEnd();
14871
- i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 6, "ng-container", 4);
14918
+ i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
14872
14919
  i0.ɵɵelementEnd()();
14873
14920
  }
14874
14921
  if (rf & 2) {
@@ -14886,7 +14933,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
14886
14933
  (function () {
14887
14934
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
14888
14935
  type: Component,
14889
- args: [{ selector: 'ccd-write-dynamic-multi-select-list-field', template: "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && checkboxes.touched}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span *ngIf=\"caseField.label\" class=\"form-label\">{{caseField | ccdFieldLabel}}</span>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && checkboxes.touched\" class=\"error-message\">{{checkboxes.errors |\n ccdFirstError}}</span>\n </legend>\n\n <ng-container *ngFor=\"let checkbox of caseField.list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" id=\"{{ createElementId(checkbox.code) }}\" name=\"{{ id() }}\" type=\"checkbox\"\n [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" for=\"{{ createElementId(checkbox.code) }}\">\n <ccd-markdown [content]=\"checkbox.label\"></ccd-markdown>\n </label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n", styles: ["ccd-markdown{display:inline-block}\n"] }]
14936
+ args: [{ selector: 'ccd-write-dynamic-multi-select-list-field', template: "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && checkboxes.touched}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span *ngIf=\"caseField.label\" class=\"form-label\">{{caseField | ccdFieldLabel}}</span>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && checkboxes.touched\" class=\"error-message\">{{checkboxes.errors |\n ccdFirstError}}</span>\n </legend>\n\n <ng-container *ngFor=\"let checkbox of caseField.list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" id=\"{{ createElementId(checkbox.code) }}\" name=\"{{ id() }}\" type=\"checkbox\"\n [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" for=\"{{ createElementId(checkbox.code) }}\">\n <ccd-markdown [content]=\"checkbox.label\" [renderUrlToTextFeature]=\"false\"></ccd-markdown>\n </label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n", styles: ["ccd-markdown{display:inline-block}\n"] }]
14890
14937
  }], null, null);
14891
14938
  })();
14892
14939
 
@@ -15030,7 +15077,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) {
15030
15077
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
15031
15078
  }
15032
15079
  }
15033
- const _c1$j = function (a0) { return { "form-group-error": a0 }; };
15080
+ const _c1$k = function (a0) { return { "form-group-error": a0 }; };
15034
15081
  class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
15035
15082
  ngOnInit() {
15036
15083
  /**
@@ -15070,7 +15117,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
15070
15117
  i0.ɵɵelementEnd()();
15071
15118
  }
15072
15119
  if (rf & 2) {
15073
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$j, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
15120
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
15074
15121
  i0.ɵɵadvance(3);
15075
15122
  i0.ɵɵproperty("for", ctx.id());
15076
15123
  i0.ɵɵadvance(1);
@@ -15171,7 +15218,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) {
15171
15218
  }
15172
15219
  }
15173
15220
  const _c0$M = function (a0) { return { "form-group-error": a0 }; };
15174
- const _c1$i = function (a0) { return { "govuk-input--error": a0 }; };
15221
+ const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
15175
15222
  class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
15176
15223
  ngOnInit() {
15177
15224
  this.emailControl = this.registerControl(new FormControl(this.caseField.value));
@@ -15199,7 +15246,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
15199
15246
  i0.ɵɵadvance(1);
15200
15247
  i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
15201
15248
  i0.ɵɵadvance(1);
15202
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$i, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
15249
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
15203
15250
  }
15204
15251
  }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
15205
15252
  (function () {
@@ -15454,7 +15501,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) {
15454
15501
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
15455
15502
  }
15456
15503
  }
15457
- const _c1$h = function (a0) { return { "form-group-error": a0 }; };
15504
+ const _c1$i = function (a0) { return { "form-group-error": a0 }; };
15458
15505
  class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
15459
15506
  ngOnInit() {
15460
15507
  const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
@@ -15476,7 +15523,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
15476
15523
  i0.ɵɵelementEnd()();
15477
15524
  }
15478
15525
  if (rf & 2) {
15479
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$h, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
15526
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
15480
15527
  i0.ɵɵadvance(3);
15481
15528
  i0.ɵɵproperty("for", ctx.id());
15482
15529
  i0.ɵɵadvance(1);
@@ -15630,7 +15677,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) {
15630
15677
  i0.ɵɵelementEnd();
15631
15678
  }
15632
15679
  }
15633
- const _c1$g = function (a0) { return { "form-group-error": a0 }; };
15680
+ const _c1$h = function (a0) { return { "form-group-error": a0 }; };
15634
15681
  class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
15635
15682
  constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
15636
15683
  super(compoundPipe, validatorsService);
@@ -15783,7 +15830,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
15783
15830
  }
15784
15831
  if (rf & 2) {
15785
15832
  const _r3 = i0.ɵɵreference(7);
15786
- i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$g, !!ctx.judicialUserControl && ctx.errors));
15833
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
15787
15834
  i0.ɵɵadvance(1);
15788
15835
  i0.ɵɵproperty("for", ctx.id());
15789
15836
  i0.ɵɵadvance(1);
@@ -16570,7 +16617,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) {
16570
16617
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
16571
16618
  }
16572
16619
  }
16573
- const _c1$f = function (a0) { return { "table-group-error": a0 }; };
16620
+ const _c1$g = function (a0) { return { "table-group-error": a0 }; };
16574
16621
  function LinkCasesComponent_tr_31_Template(rf, ctx) {
16575
16622
  if (rf & 1) {
16576
16623
  const _r21 = i0.ɵɵgetCurrentView();
@@ -16603,7 +16650,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) {
16603
16650
  const case_r16 = ctx.$implicit;
16604
16651
  const ctx_r2 = i0.ɵɵnextContext();
16605
16652
  i0.ɵɵadvance(2);
16606
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$f, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
16653
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
16607
16654
  i0.ɵɵadvance(2);
16608
16655
  i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
16609
16656
  i0.ɵɵadvance(2);
@@ -18690,7 +18737,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) {
18690
18737
  }
18691
18738
  }
18692
18739
  const _c0$E = function (a0) { return { "form-group-error": a0 }; };
18693
- const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
18740
+ const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
18694
18741
  class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
18695
18742
  ngOnInit() {
18696
18743
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
@@ -18718,7 +18765,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
18718
18765
  i0.ɵɵadvance(1);
18719
18766
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
18720
18767
  i0.ɵɵadvance(1);
18721
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
18768
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
18722
18769
  }
18723
18770
  }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
18724
18771
  (function () {
@@ -19434,7 +19481,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) {
19434
19481
  }
19435
19482
  }
19436
19483
  const _c0$C = function (a0) { return { "form-group-error": a0 }; };
19437
- const _c1$d = function (a0) { return { "govuk-input--error": a0 }; };
19484
+ const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
19438
19485
  class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
19439
19486
  ngOnInit() {
19440
19487
  this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
@@ -19462,7 +19509,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
19462
19509
  i0.ɵɵadvance(1);
19463
19510
  i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
19464
19511
  i0.ɵɵadvance(1);
19465
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
19512
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
19466
19513
  }
19467
19514
  }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19468
19515
  (function () {
@@ -21704,7 +21751,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) {
21704
21751
  }
21705
21752
  }
21706
21753
  const _c0$z = function (a0) { return { "form-group-error": a0 }; };
21707
- const _c1$c = function (a0) { return { "govuk-textarea--error": a0 }; };
21754
+ const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
21708
21755
  class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
21709
21756
  constructor(browserService) {
21710
21757
  super();
@@ -21744,7 +21791,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
21744
21791
  i0.ɵɵadvance(1);
21745
21792
  i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
21746
21793
  i0.ɵɵadvance(1);
21747
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$c, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
21794
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
21748
21795
  }
21749
21796
  }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
21750
21797
  (function () {
@@ -21819,7 +21866,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) {
21819
21866
  }
21820
21867
  }
21821
21868
  const _c0$y = function (a0) { return { "form-group-error": a0 }; };
21822
- const _c1$b = function (a0) { return { "govuk-input--error": a0 }; };
21869
+ const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
21823
21870
  class WriteTextFieldComponent extends AbstractFieldWriteComponent {
21824
21871
  ngOnInit() {
21825
21872
  this.textControl = this.registerControl(new FormControl(this.caseField.value));
@@ -21851,7 +21898,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
21851
21898
  i0.ɵɵadvance(1);
21852
21899
  i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
21853
21900
  i0.ɵɵadvance(1);
21854
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$b, (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched)))("id", ctx.id())("formControl", ctx.textControl);
21901
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$c, (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched)))("id", ctx.id())("formControl", ctx.textControl);
21855
21902
  }
21856
21903
  }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
21857
21904
  (function () {
@@ -22058,7 +22105,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) {
22058
22105
  i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
22059
22106
  }
22060
22107
  }
22061
- const _c1$a = function (a0) { return { "form-group-error": a0 }; };
22108
+ const _c1$b = function (a0) { return { "form-group-error": a0 }; };
22062
22109
  class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
22063
22110
  constructor(yesNoService) {
22064
22111
  super();
@@ -22082,7 +22129,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
22082
22129
  i0.ɵɵelementEnd()()();
22083
22130
  }
22084
22131
  if (rf & 2) {
22085
- i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$a, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
22132
+ i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
22086
22133
  i0.ɵɵadvance(3);
22087
22134
  i0.ɵɵproperty("ngIf", ctx.caseField.label);
22088
22135
  i0.ɵɵadvance(1);
@@ -22480,7 +22527,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_co
22480
22527
  i0.ɵɵelementContainer(0);
22481
22528
  }
22482
22529
  }
22483
- const _c1$9 = function (a0, a1) { return { cat: a0, level: a1 }; };
22530
+ const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
22484
22531
  function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) {
22485
22532
  if (rf & 1) {
22486
22533
  i0.ɵɵelementContainerStart(0);
@@ -22493,7 +22540,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
22493
22540
  i0.ɵɵnextContext();
22494
22541
  const _r1 = i0.ɵɵreference(13);
22495
22542
  i0.ɵɵadvance(1);
22496
- i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$9, subcat_r8, level_r6 + 1));
22543
+ i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
22497
22544
  }
22498
22545
  }
22499
22546
  function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) {
@@ -22684,7 +22731,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) {
22684
22731
  }
22685
22732
  }
22686
22733
  const _c0$s = [[["", "trigger", ""]]];
22687
- const _c1$8 = ["[trigger]"];
22734
+ const _c1$9 = ["[trigger]"];
22688
22735
  class CaseFileViewOverlayMenuComponent {
22689
22736
  constructor() {
22690
22737
  this.title = '';
@@ -22698,7 +22745,7 @@ class CaseFileViewOverlayMenuComponent {
22698
22745
  }
22699
22746
  }
22700
22747
  CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
22701
- CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$8, decls: 5, vars: 4, consts: [["type", "button", "cdkOverlayOrigin", "", 1, "overlay-toggle", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "overlay-menu"], [4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "overlay-menu__title"], [1, "overlay-menu__item", 3, "click"], ["class", "overlay-menu__itemIcon", 3, "src", "alt", 4, "ngIf"], [1, "overlay-menu__actionText"], [1, "overlay-menu__itemIcon", 3, "src", "alt"]], template: function CaseFileViewOverlayMenuComponent_Template(rf, ctx) {
22748
+ CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$9, decls: 5, vars: 4, consts: [["type", "button", "cdkOverlayOrigin", "", 1, "overlay-toggle", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "overlay-menu"], [4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "overlay-menu__title"], [1, "overlay-menu__item", 3, "click"], ["class", "overlay-menu__itemIcon", 3, "src", "alt", 4, "ngIf"], [1, "overlay-menu__actionText"], [1, "overlay-menu__itemIcon", 3, "src", "alt"]], template: function CaseFileViewOverlayMenuComponent_Template(rf, ctx) {
22702
22749
  if (rf & 1) {
22703
22750
  i0.ɵɵprojectionDef(_c0$s);
22704
22751
  i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
@@ -24959,7 +25006,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
24959
25006
  }
24960
25007
  }
24961
25008
  const _c0$n = function (a0) { return { "form-group-error": a0 }; };
24962
- const _c1$7 = function (a0) { return { "govuk-input--error": a0 }; };
25009
+ const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
24963
25010
  function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
24964
25011
  if (rf & 1) {
24965
25012
  i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
@@ -24981,7 +25028,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
24981
25028
  i0.ɵɵadvance(3);
24982
25029
  i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
24983
25030
  i0.ɵɵadvance(1);
24984
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$7, ctx_r7.flagTypeErrorMessage.length > 0))("name", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION)("formControlName", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION);
25031
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$8, ctx_r7.flagTypeErrorMessage.length > 0))("name", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION)("formControlName", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION);
24985
25032
  i0.ɵɵadvance(1);
24986
25033
  i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
24987
25034
  }
@@ -25551,7 +25598,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) {
25551
25598
  i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
25552
25599
  }
25553
25600
  }
25554
- const _c1$6 = function (a0) { return { "form-group-error": a0 }; };
25601
+ const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
25555
25602
  class UpdateFlagComponent {
25556
25603
  constructor(rpxTranslationService) {
25557
25604
  this.rpxTranslationService = rpxTranslationService;
@@ -25760,7 +25807,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
25760
25807
  const _r3 = i0.ɵɵreference(17);
25761
25808
  i0.ɵɵproperty("formGroup", ctx.formGroup);
25762
25809
  i0.ɵɵadvance(2);
25763
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$6, ctx.errorMessages.length > 0));
25810
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
25764
25811
  i0.ɵɵadvance(3);
25765
25812
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
25766
25813
  i0.ɵɵadvance(2);
@@ -27156,7 +27203,7 @@ const CUSTOM_MOMENT_FORMATS = {
27156
27203
  };
27157
27204
 
27158
27205
  const _c0$g = ["picker"];
27159
- const _c1$5 = ["input"];
27206
+ const _c1$6 = ["input"];
27160
27207
  function DatetimePickerComponent_span_3_Template(rf, ctx) {
27161
27208
  if (rf & 1) {
27162
27209
  i0.ɵɵelementStart(0, "span", 11);
@@ -27220,7 +27267,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) {
27220
27267
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
27221
27268
  }
27222
27269
  }
27223
- const _c2$1 = function (a0) { return { "form-group-error": a0 }; };
27270
+ const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
27224
27271
  class DatetimePickerComponent extends AbstractFormFieldComponent {
27225
27272
  constructor(formatTranslationService, ngxMatDateFormats) {
27226
27273
  super();
@@ -27386,7 +27433,7 @@ DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { re
27386
27433
  DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) {
27387
27434
  if (rf & 1) {
27388
27435
  i0.ɵɵviewQuery(_c0$g, 5);
27389
- i0.ɵɵviewQuery(_c1$5, 5);
27436
+ i0.ɵɵviewQuery(_c1$6, 5);
27390
27437
  }
27391
27438
  if (rf & 2) {
27392
27439
  let _t;
@@ -27422,7 +27469,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
27422
27469
  }
27423
27470
  if (rf & 2) {
27424
27471
  const _r6 = i0.ɵɵreference(13);
27425
- i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$1, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
27472
+ i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
27426
27473
  i0.ɵɵadvance(3);
27427
27474
  i0.ɵɵproperty("ngIf", ctx.caseField.label);
27428
27475
  i0.ɵɵadvance(1);
@@ -27676,7 +27723,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) {
27676
27723
  i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
27677
27724
  }
27678
27725
  }
27679
- const _c1$4 = function (a0) { return { "EventLogTable-Selected": a0 }; };
27726
+ const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
27680
27727
  function EventLogTableComponent_tr_20_Template(rf, ctx) {
27681
27728
  if (rf & 1) {
27682
27729
  const _r18 = i0.ɵɵgetCurrentView();
@@ -27709,7 +27756,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) {
27709
27756
  if (rf & 2) {
27710
27757
  const event_r1 = ctx.$implicit;
27711
27758
  const ctx_r0 = i0.ɵɵnextContext();
27712
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$4, ctx_r0.selected === event_r1));
27759
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
27713
27760
  i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
27714
27761
  i0.ɵɵadvance(2);
27715
27762
  i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
@@ -29777,6 +29824,36 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) {
29777
29824
  i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
29778
29825
  }
29779
29826
  }
29827
+ function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) {
29828
+ if (rf & 1) {
29829
+ i0.ɵɵelementStart(0, "span", 48);
29830
+ i0.ɵɵtext(1);
29831
+ i0.ɵɵpipe(2, "rpxTranslate");
29832
+ i0.ɵɵpipe(3, "ccdFirstError");
29833
+ i0.ɵɵelementEnd();
29834
+ }
29835
+ if (rf & 2) {
29836
+ const ctx_r36 = i0.ɵɵnextContext(3);
29837
+ i0.ɵɵadvance(1);
29838
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
29839
+ }
29840
+ }
29841
+ function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) {
29842
+ if (rf & 1) {
29843
+ i0.ɵɵelementStart(0, "span", 48);
29844
+ i0.ɵɵtext(1);
29845
+ i0.ɵɵpipe(2, "rpxTranslate");
29846
+ i0.ɵɵpipe(3, "ccdFirstError");
29847
+ i0.ɵɵelementEnd();
29848
+ }
29849
+ if (rf & 2) {
29850
+ const ctx_r37 = i0.ɵɵnextContext(3);
29851
+ i0.ɵɵadvance(1);
29852
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
29853
+ }
29854
+ }
29855
+ const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
29856
+ const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
29780
29857
  function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
29781
29858
  if (rf & 1) {
29782
29859
  i0.ɵɵelementContainerStart(0);
@@ -29787,21 +29864,38 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
29787
29864
  i0.ɵɵelementStart(6, "span", 43);
29788
29865
  i0.ɵɵtext(7, "A few words describing the purpose of the event.");
29789
29866
  i0.ɵɵelementEnd()();
29790
- i0.ɵɵelement(8, "input", 44);
29867
+ i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
29868
+ i0.ɵɵelement(9, "input", 45);
29791
29869
  i0.ɵɵelementEnd();
29792
- i0.ɵɵelementStart(9, "div", 41)(10, "label", 45);
29793
- i0.ɵɵtext(11, "Event description (optional)");
29870
+ i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
29871
+ i0.ɵɵtext(12, "Event description (optional)");
29794
29872
  i0.ɵɵelementEnd();
29795
- i0.ɵɵelement(12, "textarea", 46);
29873
+ i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
29874
+ i0.ɵɵelement(14, "textarea", 47);
29796
29875
  i0.ɵɵelementEnd()();
29797
29876
  i0.ɵɵelementContainerEnd();
29798
29877
  }
29878
+ if (rf & 2) {
29879
+ const ctx_r9 = i0.ɵɵnextContext(2);
29880
+ i0.ɵɵadvance(3);
29881
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
29882
+ i0.ɵɵadvance(5);
29883
+ i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
29884
+ i0.ɵɵadvance(1);
29885
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$1, (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
29886
+ i0.ɵɵadvance(1);
29887
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
29888
+ i0.ɵɵadvance(3);
29889
+ i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
29890
+ i0.ɵɵadvance(1);
29891
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c2$1, (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched)));
29892
+ }
29799
29893
  }
29800
29894
  function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
29801
29895
  if (rf & 1) {
29802
- const _r37 = i0.ɵɵgetCurrentView();
29803
- i0.ɵɵelementStart(0, "button", 47);
29804
- i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r36.previous()); });
29896
+ const _r39 = i0.ɵɵgetCurrentView();
29897
+ i0.ɵɵelementStart(0, "button", 49);
29898
+ i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r38.previous()); });
29805
29899
  i0.ɵɵtext(1);
29806
29900
  i0.ɵɵpipe(2, "rpxTranslate");
29807
29901
  i0.ɵɵelementEnd();
@@ -29815,7 +29909,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
29815
29909
  }
29816
29910
  function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
29817
29911
  if (rf & 1) {
29818
- const _r39 = i0.ɵɵgetCurrentView();
29912
+ const _r41 = i0.ɵɵgetCurrentView();
29819
29913
  i0.ɵɵelementStart(0, "div")(1, "h1", 2);
29820
29914
  i0.ɵɵtext(2);
29821
29915
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -29825,13 +29919,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
29825
29919
  i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
29826
29920
  i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
29827
29921
  i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
29828
- i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.callbackErrorsNotify($event)); });
29922
+ i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.callbackErrorsNotify($event)); });
29829
29923
  i0.ɵɵelementEnd();
29830
29924
  i0.ɵɵelementStart(11, "form", 8);
29831
- i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(_r39); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.submit()); });
29925
+ i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.submit()); });
29832
29926
  i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
29833
29927
  i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
29834
- i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 13, 0, "ng-container", 0);
29928
+ i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
29835
29929
  i0.ɵɵelementStart(15, "div", 9);
29836
29930
  i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
29837
29931
  i0.ɵɵelementStart(17, "button", 11);
@@ -29839,7 +29933,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
29839
29933
  i0.ɵɵpipe(19, "rpxTranslate");
29840
29934
  i0.ɵɵelementEnd()();
29841
29935
  i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
29842
- i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(_r39); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.cancel()); });
29936
+ i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(_r41); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.cancel()); });
29843
29937
  i0.ɵɵtext(22);
29844
29938
  i0.ɵɵpipe(23, "rpxTranslate");
29845
29939
  i0.ɵɵelementEnd()()()();
@@ -29878,9 +29972,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
29878
29972
  }
29879
29973
  function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
29880
29974
  if (rf & 1) {
29881
- const _r43 = i0.ɵɵgetCurrentView();
29882
- i0.ɵɵelementStart(0, "ccd-case-event-completion", 48);
29883
- i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.onEventCanBeCompleted($event)); });
29975
+ const _r45 = i0.ɵɵgetCurrentView();
29976
+ i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
29977
+ i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.onEventCanBeCompleted($event)); });
29884
29978
  i0.ɵɵelementEnd();
29885
29979
  }
29886
29980
  if (rf & 2) {
@@ -29890,14 +29984,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
29890
29984
  }
29891
29985
  // @dynamic
29892
29986
  class CaseEditSubmitComponent {
29893
- constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
29987
+ constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
29894
29988
  this.caseEdit = caseEdit;
29895
29989
  this.fieldsUtils = fieldsUtils;
29896
29990
  this.caseFieldService = caseFieldService;
29897
29991
  this.route = route;
29898
29992
  this.orderService = orderService;
29899
29993
  this.profileNotifier = profileNotifier;
29994
+ this.formValidatorsService = formValidatorsService;
29900
29995
  this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
29996
+ this.eventSummaryLabel = 'Event summary';
29997
+ this.eventDescriptionLabel = 'Event description';
29901
29998
  }
29902
29999
  get isDisabled() {
29903
30000
  // EUI-3452.
@@ -29908,7 +30005,7 @@ class CaseEditSubmitComponent {
29908
30005
  }
29909
30006
  ngOnInit() {
29910
30007
  var _a, _b, _c;
29911
- this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
30008
+ this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
29912
30009
  this.eventTrigger = this.caseEdit.eventTrigger;
29913
30010
  this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
29914
30011
  this.editForm = this.caseEdit.form;
@@ -29921,10 +30018,12 @@ class CaseEditSubmitComponent {
29921
30018
  // Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
29922
30019
  // a FlagLauncher field in the event trigger
29923
30020
  this.caseEdit.isCaseFlagSubmission =
29924
- this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
30021
+ this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
29925
30022
  this.caseEdit.isLinkedCasesSubmission =
29926
30023
  this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
29927
30024
  this.pageTitle = this.getPageTitle();
30025
+ this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
30026
+ this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
29928
30027
  }
29929
30028
  ngOnDestroy() {
29930
30029
  /* istanbul ignore else */
@@ -29933,12 +30032,14 @@ class CaseEditSubmitComponent {
29933
30032
  }
29934
30033
  }
29935
30034
  submit() {
29936
- this.caseEdit.submitForm({
29937
- eventTrigger: this.eventTrigger,
29938
- form: this.editForm,
29939
- submit: this.caseEdit.submit,
29940
- caseDetails: this.caseEdit.caseDetails,
29941
- });
30035
+ if (this.summary.valid && this.description.valid) {
30036
+ this.caseEdit.submitForm({
30037
+ eventTrigger: this.eventTrigger,
30038
+ form: this.editForm,
30039
+ submit: this.caseEdit.submit,
30040
+ caseDetails: this.caseEdit.caseDetails
30041
+ });
30042
+ }
29942
30043
  }
29943
30044
  onEventCanBeCompleted(eventCanBeCompleted) {
29944
30045
  this.caseEdit.onEventCanBeCompleted({
@@ -29946,7 +30047,7 @@ class CaseEditSubmitComponent {
29946
30047
  eventCanBeCompleted,
29947
30048
  caseDetails: this.caseEdit.caseDetails,
29948
30049
  form: this.editForm,
29949
- submit: this.caseEdit.submit,
30050
+ submit: this.caseEdit.submit
29950
30051
  });
29951
30052
  }
29952
30053
  getPageTitle() {
@@ -30022,7 +30123,7 @@ class CaseEditSubmitComponent {
30022
30123
  }
30023
30124
  }
30024
30125
  readOnlySummaryFieldsToDisplayExists() {
30025
- return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
30126
+ return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
30026
30127
  }
30027
30128
  showEventNotes() {
30028
30129
  var _a;
@@ -30038,7 +30139,7 @@ class CaseEditSubmitComponent {
30038
30139
  }
30039
30140
  getLastPageShown() {
30040
30141
  let lastPage;
30041
- this.wizard.reverse().forEach(page => {
30142
+ this.wizard.reverse().forEach((page) => {
30042
30143
  if (!lastPage && this.isShown(page)) {
30043
30144
  lastPage = page;
30044
30145
  }
@@ -30057,7 +30158,7 @@ class CaseEditSubmitComponent {
30057
30158
  }
30058
30159
  isShown(page) {
30059
30160
  const fields = this.fieldsUtils
30060
- .mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls['data'].value);
30161
+ .mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
30061
30162
  return page.parsedShowCondition.match(fields);
30062
30163
  }
30063
30164
  canShowFieldInCYA(field) {
@@ -30066,7 +30167,7 @@ class CaseEditSubmitComponent {
30066
30167
  sortFieldsByShowSummaryContent(fields) {
30067
30168
  return this.orderService
30068
30169
  .sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
30069
- .filter(cf => cf.show_summary_content_option);
30170
+ .filter((cf) => cf.show_summary_content_option);
30070
30171
  }
30071
30172
  getCaseFields() {
30072
30173
  if (this.caseEdit.caseDetails) {
@@ -30085,9 +30186,7 @@ class CaseEditSubmitComponent {
30085
30186
  if (this.eventTrigger.can_save_draft) {
30086
30187
  return 'Return to case list';
30087
30188
  }
30088
- else {
30089
- return 'Cancel';
30090
- }
30189
+ return 'Cancel';
30091
30190
  }
30092
30191
  }
30093
30192
  CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
@@ -30101,8 +30200,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
30101
30200
  }
30102
30201
  return a.show_summary_content_option - b.show_summary_content_option;
30103
30202
  };
30104
- CaseEditSubmitComponent.ɵ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)); };
30105
- CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [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"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) {
30203
+ CaseEditSubmitComponent.ɵ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)); };
30204
+ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [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"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) {
30106
30205
  if (rf & 1) {
30107
30206
  i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
30108
30207
  i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
@@ -30116,8 +30215,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
30116
30215
  (function () {
30117
30216
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
30118
30217
  type: Component,
30119
- args: [{ selector: 'ccd-case-edit-submit', template: "<div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\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 <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n\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\">\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 <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\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<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\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"] }]
30120
- }], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null);
30218
+ args: [{ selector: 'ccd-case-edit-submit', template: "<div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\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 <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n\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 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<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\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"] }]
30219
+ }], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null);
30121
30220
  })();
30122
30221
 
30123
30222
  function CaseProgressComponent_div_0_Template(rf, ctx) {
@@ -30515,7 +30614,7 @@ i0.ɵɵsetComponentScope(CaseEditPageComponent, function () {
30515
30614
  CaseEditGenericErrorsComponent];
30516
30615
  }, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
30517
30616
  i0.ɵɵsetComponentScope(CaseEditFormComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.NgControlStatusGroup, i3.FormGroupDirective, LabelSubstitutorDirective, ConditionalShowFormDirective, FieldReadComponent, FieldWriteComponent]; }, function () { return [IsCompoundPipe, IsReadOnlyAndNotCollectionPipe]; });
30518
- i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
30617
+ i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgClass, i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [FirstErrorPipe, IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
30519
30618
  i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
30520
30619
  i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
30521
30620