@hmcts/ccd-case-ui-toolkit 7.0.33-dynamic-multi-list-fix → 7.0.33-pre-release-markdown

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 (26) 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 +26 -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/domain/definition/case-field.model.mjs +2 -4
  9. package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +2 -13
  10. package/esm2020/lib/shared/services/form/form-validators.service.mjs +27 -2
  11. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +209 -121
  12. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  13. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +200 -117
  14. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  15. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +8 -3
  16. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  17. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/markdown/markdown.component.d.ts +4 -1
  19. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  20. package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
  21. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  22. package/lib/shared/services/form/field-type-sanitiser.d.ts +0 -1
  23. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  24. package/lib/shared/services/form/form-validators.service.d.ts +4 -0
  25. package/lib/shared/services/form/form-validators.service.d.ts.map +1 -1
  26. 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';
@@ -127,11 +128,11 @@ function FooterComponent_div_3_Template(rf, ctx) { if (rf & 1) {
127
128
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 13, ctx_r1.workhours));
128
129
  } }
129
130
  const _c0$13 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
130
- const _c1$t = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
131
+ const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
131
132
  class FooterComponent {
132
133
  }
133
134
  FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
134
- 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) { if (rf & 1) {
135
+ 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) { if (rf & 1) {
135
136
  i0.ɵɵprojectionDef(_c0$13);
136
137
  i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
137
138
  i0.ɵɵtemplate(2, FooterComponent_div_2_Template, 20, 15, "div", 2);
@@ -191,7 +192,7 @@ function HeaderBarComponent_div_10_Template(rf, ctx) { if (rf & 1) {
191
192
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, ctx_r2.title));
192
193
  } }
193
194
  const _c0$12 = [[["", "headerNavigation", ""]]];
194
- const _c1$s = ["[headerNavigation]"];
195
+ const _c1$t = ["[headerNavigation]"];
195
196
  class HeaderBarComponent {
196
197
  constructor() {
197
198
  this.signOutRequest = new EventEmitter();
@@ -201,7 +202,7 @@ class HeaderBarComponent {
201
202
  }
202
203
  }
203
204
  HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
204
- 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) { if (rf & 1) {
205
+ 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) { if (rf & 1) {
205
206
  i0.ɵɵprojectionDef(_c0$12);
206
207
  i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
207
208
  i0.ɵɵtemplate(3, HeaderBarComponent_div_3_Template, 5, 3, "div", 3);
@@ -252,11 +253,11 @@ HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBa
252
253
  }] }); })();
253
254
 
254
255
  const _c0$11 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
255
- const _c1$r = ["[leftNavLinks]", "[rightNavLinks]"];
256
+ const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
256
257
  class NavigationComponent {
257
258
  }
258
259
  NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
259
- 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) { if (rf & 1) {
260
+ 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) { if (rf & 1) {
260
261
  i0.ɵɵprojectionDef(_c0$11);
261
262
  i0.ɵɵelementStart(0, "div")(1, "nav", 0);
262
263
  i0.ɵɵprojection(2);
@@ -367,11 +368,11 @@ HeadersModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
367
368
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
368
369
 
369
370
  const _c0$10 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
370
- const _c1$q = ["[topBody]", "[leftBody]", "[rightBody]"];
371
+ const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
371
372
  class BodyComponent {
372
373
  }
373
374
  BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
374
- 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) { if (rf & 1) {
375
+ 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) { if (rf & 1) {
375
376
  i0.ɵɵprojectionDef(_c0$10);
376
377
  i0.ɵɵelementStart(0, "div", 0);
377
378
  i0.ɵɵprojection(1);
@@ -981,11 +982,11 @@ NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
981
982
  }] }); })();
982
983
 
983
984
  const _c0$Z = function (a0) { return { "js-hidden": a0 }; };
984
- const _c1$p = ["*"];
985
+ const _c1$q = ["*"];
985
986
  class TabComponent {
986
987
  }
987
988
  TabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
988
- 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) { if (rf & 1) {
989
+ 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) { if (rf & 1) {
989
990
  i0.ɵɵprojectionDef();
990
991
  i0.ɵɵelementStart(0, "div", 0);
991
992
  i0.ɵɵprojection(1);
@@ -1006,8 +1007,8 @@ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent,
1006
1007
  }] }); })();
1007
1008
 
1008
1009
  const _c0$Y = ["tab"];
1009
- const _c1$o = function () { return ["."]; };
1010
- const _c2$3 = function (a0) { return { "tabs-toggle-selected": a0 }; };
1010
+ const _c1$p = function () { return ["."]; };
1011
+ const _c2$4 = function (a0) { return { "tabs-toggle-selected": a0 }; };
1011
1012
  function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
1012
1013
  const _r4 = i0.ɵɵgetCurrentView();
1013
1014
  i0.ɵɵelementStart(0, "li", 4)(1, "a", 5, 6);
@@ -1018,7 +1019,7 @@ function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
1018
1019
  } if (rf & 2) {
1019
1020
  const panel_r1 = ctx.$implicit;
1020
1021
  i0.ɵɵadvance(1);
1021
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$o))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$3, panel_r1.selected));
1022
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$p))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$4, panel_r1.selected));
1022
1023
  i0.ɵɵattribute("aria-controls", panel_r1.id)("aria-selected", panel_r1.selected);
1023
1024
  i0.ɵɵadvance(2);
1024
1025
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, panel_r1.title));
@@ -2736,6 +2737,9 @@ class FirstErrorPipe {
2736
2737
  else if (keys[0] === 'pattern') {
2737
2738
  errorMessage = 'The data entered is not valid for %FIELDLABEL%';
2738
2739
  }
2740
+ else if (keys[0] === 'markDownPattern') {
2741
+ errorMessage = 'The data entered is not valid for %FIELDLABEL%. Link mark up characters are not allowed in this field';
2742
+ }
2739
2743
  else if (keys[0] === 'minlength') {
2740
2744
  errorMessage = '%FIELDLABEL% is below the minimum length';
2741
2745
  }
@@ -3043,9 +3047,7 @@ class CaseField {
3043
3047
  }
3044
3048
  }
3045
3049
  set list_items(items) {
3046
- if ((items && !this._list_items) || (items?.length > this._list_items?.length)) {
3047
- this._list_items = items;
3048
- }
3050
+ this._list_items = items;
3049
3051
  }
3050
3052
  get dateTimeEntryFormat() {
3051
3053
  if (this.isComplexDisplay()) {
@@ -4555,6 +4557,7 @@ class FormValidatorsService {
4555
4557
  FormValidatorsService.CUSTOM_VALIDATED_TYPES.indexOf(caseField.field_type.type) === -1) {
4556
4558
  const validators = [Validators.required];
4557
4559
  if (caseField.field_type.type === 'Text') {
4560
+ validators.push(this.markDownPatternValidator());
4558
4561
  if (caseField.field_type.regular_expression) {
4559
4562
  validators.push(Validators.pattern(caseField.field_type.regular_expression));
4560
4563
  }
@@ -4568,22 +4571,36 @@ class FormValidatorsService {
4568
4571
  validators.push(Validators.maxLength(caseField.field_type.max));
4569
4572
  }
4570
4573
  }
4574
+ if (caseField.field_type.type === 'TextArea') {
4575
+ validators.push(this.emptyValidator());
4576
+ validators.push(this.markDownPatternValidator());
4577
+ }
4571
4578
  if (control.validator) {
4572
4579
  validators.push(control.validator);
4573
4580
  }
4574
4581
  control.setValidators(validators);
4575
4582
  }
4583
+ else if (caseField.display_context === 'OPTIONAL' && (caseField.field_type.type === 'Text' || caseField.field_type.type === 'TextArea')) {
4584
+ control.setValidators(this.markDownPatternValidator());
4585
+ }
4576
4586
  return control;
4577
4587
  }
4578
4588
  static emptyValidator() {
4579
4589
  const validator = (control) => {
4580
- if (control && control.value && control.value.toString().trim().length === 0) {
4590
+ if (control?.value?.toString().trim().length === 0) {
4581
4591
  return { required: {} };
4582
4592
  }
4583
4593
  return null;
4584
4594
  };
4585
4595
  return validator;
4586
4596
  }
4597
+ static markDownPatternValidator() {
4598
+ const pattern = /(\[[^\]]{0,500}\]\([^)]{0,500}\)|!\[[^\]]{0,500}\]\([^)]{0,500}\)|<img[^>]{0,500}>|<a[^>]{0,500}>.*?<\/a>)/;
4599
+ return (control) => {
4600
+ const value = control?.value?.toString().trim();
4601
+ return (value && pattern.test(value)) ? { markDownPattern: {} } : null;
4602
+ };
4603
+ }
4587
4604
  // TODO: Strip this out as it's only here for the moment because
4588
4605
  // the service is being injected all over the place but it doesn't
4589
4606
  // need to be as FormValidatorsService.addValidators is perfectly
@@ -4591,10 +4608,20 @@ class FormValidatorsService {
4591
4608
  addValidators(caseField, control) {
4592
4609
  return FormValidatorsService.addValidators(caseField, control);
4593
4610
  }
4611
+ addMarkDownValidators(formGroup, controlPath) {
4612
+ const control = formGroup.get(controlPath);
4613
+ if (control) {
4614
+ control.setValidators(FormValidatorsService.markDownPatternValidator());
4615
+ control.updateValueAndValidity();
4616
+ }
4617
+ return control;
4618
+ }
4594
4619
  }
4595
4620
  FormValidatorsService.CUSTOM_VALIDATED_TYPES = [
4596
4621
  'Date', 'MoneyGBP', 'Label', 'JudicialUser'
4597
4622
  ];
4623
+ FormValidatorsService.DEFAULT_INPUT_TEXT = 'text';
4624
+ FormValidatorsService.DEFAULT_INPUT_TEXTAREA = 'textAreas';
4598
4625
  FormValidatorsService.ɵfac = function FormValidatorsService_Factory(t) { return new (t || FormValidatorsService)(); };
4599
4626
  FormValidatorsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValidatorsService, factory: FormValidatorsService.ɵfac });
4600
4627
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormValidatorsService, [{
@@ -5218,8 +5245,7 @@ class FieldTypeSanitiser {
5218
5245
  if (!data || !caseFields) {
5219
5246
  return;
5220
5247
  }
5221
- caseFields = this.ensureDynamicMultiSelectListPopulated(caseFields);
5222
- caseFields.forEach((caseField) => {
5248
+ caseFields.forEach(caseField => {
5223
5249
  // tslint:disable-next-line:switch-default
5224
5250
  switch (caseField.field_type.type) {
5225
5251
  case FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST:
@@ -5242,16 +5268,6 @@ class FieldTypeSanitiser {
5242
5268
  }
5243
5269
  });
5244
5270
  }
5245
- ensureDynamicMultiSelectListPopulated(caseFields) {
5246
- return caseFields.map((field) => {
5247
- if (field.field_type.type !== 'Complex') {
5248
- return field;
5249
- }
5250
- const complexFieldsUpdated = field.field_type.complex_fields.map((complexField) => complexField.field_type.type === FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST && complexField.display_context !== 'HIDDEN' && field._value?.[complexField.id]
5251
- ? { ...complexField, list_items: field._value[complexField.id]?.list_items } : complexField);
5252
- return { ...field, field_type: { ...field.field_type, complex_fields: complexFieldsUpdated } };
5253
- });
5254
- }
5255
5271
  convertArrayToDynamicListOutput(field, data) {
5256
5272
  const values = data[field.id];
5257
5273
  if (Array.isArray(values)) {
@@ -10957,8 +10973,8 @@ function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) { if (r
10957
10973
  i0.ɵɵadvance(1);
10958
10974
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r5.errorMessage));
10959
10975
  } }
10960
- const _c1$n = function (a0) { return { "form-group-error": a0 }; };
10961
- const _c2$2 = function (a0) { return { "govuk-input--error": a0 }; };
10976
+ const _c1$o = function (a0) { return { "form-group-error": a0 }; };
10977
+ const _c2$3 = function (a0) { return { "govuk-input--error": a0 }; };
10962
10978
  function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
10963
10979
  const _r7 = i0.ɵɵgetCurrentView();
10964
10980
  i0.ɵɵelementStart(0, "div", 8)(1, "label", 9)(2, "span", 10);
@@ -10974,7 +10990,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
10974
10990
  i0.ɵɵelementEnd()();
10975
10991
  } if (rf & 2) {
10976
10992
  const ctx_r2 = i0.ɵɵnextContext(2);
10977
- i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$n, ctx_r2.missingPostcode));
10993
+ i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$o, ctx_r2.missingPostcode));
10978
10994
  i0.ɵɵadvance(1);
10979
10995
  i0.ɵɵproperty("for", ctx_r2.createElementId("postcodeInput"));
10980
10996
  i0.ɵɵadvance(2);
@@ -10982,7 +10998,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
10982
10998
  i0.ɵɵadvance(2);
10983
10999
  i0.ɵɵproperty("ngIf", ctx_r2.missingPostcode);
10984
11000
  i0.ɵɵadvance(1);
10985
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$2, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
11001
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$3, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
10986
11002
  i0.ɵɵadvance(2);
10987
11003
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "Find address"));
10988
11004
  } }
@@ -11020,7 +11036,7 @@ function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) { if (rf & 1)
11020
11036
  i0.ɵɵelementEnd()();
11021
11037
  } if (rf & 2) {
11022
11038
  const ctx_r3 = i0.ɵɵnextContext(2);
11023
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$n, ctx_r3.noAddressSelected));
11039
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$o, ctx_r3.noAddressSelected));
11024
11040
  i0.ɵɵadvance(1);
11025
11041
  i0.ɵɵproperty("for", ctx_r3.createElementId("addressList"));
11026
11042
  i0.ɵɵadvance(2);
@@ -12437,7 +12453,7 @@ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
12437
12453
  i0.ɵɵadvance(1);
12438
12454
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
12439
12455
  } }
12440
- const _c1$m = function (a0) { return { "form-group-error": a0 }; };
12456
+ const _c1$n = function (a0) { return { "form-group-error": a0 }; };
12441
12457
  class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
12442
12458
  ngOnInit() {
12443
12459
  if (this.caseField.value) {
@@ -12498,7 +12514,7 @@ WriteCaseLinkFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
12498
12514
  i0.ɵɵelement(5, "input", 5);
12499
12515
  i0.ɵɵelementEnd();
12500
12516
  } if (rf & 2) {
12501
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$m, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
12517
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$n, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
12502
12518
  i0.ɵɵadvance(1);
12503
12519
  i0.ɵɵproperty("for", ctx.id());
12504
12520
  i0.ɵɵadvance(1);
@@ -12530,7 +12546,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) { if (rf
12530
12546
  i0.ɵɵadvance(4);
12531
12547
  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);
12532
12548
  } }
12533
- const _c1$l = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
12549
+ const _c1$m = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
12534
12550
  function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { if (rf & 1) {
12535
12551
  i0.ɵɵelementStart(0, "tr")(1, "td");
12536
12552
  i0.ɵɵelement(2, "ccd-field-read", 7);
@@ -12540,7 +12556,7 @@ function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { i
12540
12556
  const i_r5 = ctx.index;
12541
12557
  const ctx_r3 = i0.ɵɵnextContext(3);
12542
12558
  i0.ɵɵadvance(2);
12543
- 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));
12559
+ 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));
12544
12560
  } }
12545
12561
  function ReadCollectionFieldComponent_table_0_tbody_3_Template(rf, ctx) { if (rf & 1) {
12546
12562
  i0.ɵɵelementStart(0, "tbody");
@@ -13363,7 +13379,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
13363
13379
  const ctx_r2 = i0.ɵɵnextContext();
13364
13380
  i0.ɵɵproperty("caseField", ctx_r2.caseField);
13365
13381
  } }
13366
- const _c1$k = function (a0) { return { "form-group-error bottom-30": a0 }; };
13382
+ const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
13367
13383
  class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
13368
13384
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
13369
13385
  super();
@@ -13694,7 +13710,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
13694
13710
  i0.ɵɵpipe(17, "rpxTranslate");
13695
13711
  i0.ɵɵelementEnd()();
13696
13712
  } if (rf & 2) {
13697
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$k, !ctx.valid));
13713
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
13698
13714
  i0.ɵɵadvance(1);
13699
13715
  i0.ɵɵproperty("for", ctx.id());
13700
13716
  i0.ɵɵadvance(1);
@@ -13888,9 +13904,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
13888
13904
  }], null, null); })();
13889
13905
 
13890
13906
  class MarkdownComponent {
13891
- constructor() { }
13907
+ constructor() {
13908
+ this.renderUrlToTextFeature = true;
13909
+ }
13892
13910
  ngOnInit() {
13893
13911
  this.content = this.content.replace(/ \n/g, '<br>');
13912
+ if (this.renderUrlToTextFeature) {
13913
+ this.renderUrlToText();
13914
+ }
13894
13915
  }
13895
13916
  onMarkdownClick(event) {
13896
13917
  // If we don't have an anchor tag, we don't need to do anything.
@@ -13899,11 +13920,26 @@ class MarkdownComponent {
13899
13920
  }
13900
13921
  return true;
13901
13922
  }
13923
+ renderUrlToText() {
13924
+ const renderer = new marked.Renderer();
13925
+ renderer.link = (href, title, text) => {
13926
+ // Return the text without turning it into a link if it's not an internal link
13927
+ return this.isAllowedUrl(href) ? `<a href="${href}">${text}</a>` : text;
13928
+ };
13929
+ marked.setOptions({
13930
+ renderer: renderer
13931
+ });
13932
+ }
13933
+ isAllowedUrl(url) {
13934
+ const currentOrigin = window.location.origin;
13935
+ const urlOrigin = new URL(url, window.location.href).origin;
13936
+ return urlOrigin === currentOrigin || url.startsWith('/'); // Check if same origin or relative
13937
+ }
13902
13938
  }
13903
13939
  MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
13904
13940
  MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
13905
13941
  i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
13906
- } }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
13942
+ } }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
13907
13943
  i0.ɵɵelementStart(0, "div");
13908
13944
  i0.ɵɵelement(1, "markdown", 0);
13909
13945
  i0.ɵɵpipe(2, "rpxTranslate");
@@ -13920,6 +13956,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
13920
13956
  type: Input
13921
13957
  }], markdownUseHrefAsRouterLink: [{
13922
13958
  type: Input
13959
+ }], renderUrlToTextFeature: [{
13960
+ type: Input
13923
13961
  }], onMarkdownClick: [{
13924
13962
  type: HostListener,
13925
13963
  args: ['click', ['$event']]
@@ -14032,7 +14070,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
14032
14070
  i0.ɵɵadvance(1);
14033
14071
  i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
14034
14072
  i0.ɵɵadvance(1);
14035
- i0.ɵɵproperty("content", checkbox_r4.label);
14073
+ i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
14036
14074
  } }
14037
14075
  const _c0$O = function (a0) { return { "error": a0 }; };
14038
14076
  class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
@@ -14096,13 +14134,13 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
14096
14134
  }
14097
14135
  }
14098
14136
  WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
14099
- 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) { if (rf & 1) {
14137
+ 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) { if (rf & 1) {
14100
14138
  i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
14101
14139
  i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
14102
14140
  i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
14103
14141
  i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
14104
14142
  i0.ɵɵelementEnd();
14105
- i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 6, "ng-container", 4);
14143
+ i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
14106
14144
  i0.ɵɵelementEnd()();
14107
14145
  } if (rf & 2) {
14108
14146
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$O, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
@@ -14117,7 +14155,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
14117
14155
  } }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
14118
14156
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
14119
14157
  type: Component,
14120
- 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"] }]
14158
+ 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"] }]
14121
14159
  }], null, null); })();
14122
14160
 
14123
14161
  class DynamicRadioListPipe {
@@ -14238,7 +14276,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
14238
14276
  i0.ɵɵadvance(1);
14239
14277
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
14240
14278
  } }
14241
- const _c1$j = function (a0) { return { "form-group-error": a0 }; };
14279
+ const _c1$k = function (a0) { return { "form-group-error": a0 }; };
14242
14280
  class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
14243
14281
  ngOnInit() {
14244
14282
  /**
@@ -14276,7 +14314,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
14276
14314
  i0.ɵɵelementContainerEnd();
14277
14315
  i0.ɵɵelementEnd()();
14278
14316
  } if (rf & 2) {
14279
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$j, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
14317
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
14280
14318
  i0.ɵɵadvance(3);
14281
14319
  i0.ɵɵproperty("for", ctx.id());
14282
14320
  i0.ɵɵadvance(1);
@@ -14357,7 +14395,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
14357
14395
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.emailControl.errors, ctx_r2.caseField.label));
14358
14396
  } }
14359
14397
  const _c0$M = function (a0) { return { "form-group-error": a0 }; };
14360
- const _c1$i = function (a0) { return { "govuk-input--error": a0 }; };
14398
+ const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
14361
14399
  class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
14362
14400
  ngOnInit() {
14363
14401
  this.emailControl = this.registerControl(new FormControl(this.caseField.value));
@@ -14383,7 +14421,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
14383
14421
  i0.ɵɵadvance(1);
14384
14422
  i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
14385
14423
  i0.ɵɵadvance(1);
14386
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$i, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
14424
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
14387
14425
  } }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
14388
14426
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteEmailFieldComponent, [{
14389
14427
  type: Component,
@@ -14594,7 +14632,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1)
14594
14632
  i0.ɵɵadvance(1);
14595
14633
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
14596
14634
  } }
14597
- const _c1$h = function (a0) { return { "form-group-error": a0 }; };
14635
+ const _c1$i = function (a0) { return { "form-group-error": a0 }; };
14598
14636
  class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
14599
14637
  ngOnInit() {
14600
14638
  const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
@@ -14614,7 +14652,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
14614
14652
  i0.ɵɵelementContainerEnd();
14615
14653
  i0.ɵɵelementEnd()();
14616
14654
  } if (rf & 2) {
14617
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$h, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
14655
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
14618
14656
  i0.ɵɵadvance(3);
14619
14657
  i0.ɵɵproperty("for", ctx.id());
14620
14658
  i0.ɵɵadvance(1);
@@ -14736,7 +14774,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) { if (r
14736
14774
  i0.ɵɵtext(1, " Invalid search term ");
14737
14775
  i0.ɵɵelementEnd();
14738
14776
  } }
14739
- const _c1$g = function (a0) { return { "form-group-error": a0 }; };
14777
+ const _c1$h = function (a0) { return { "form-group-error": a0 }; };
14740
14778
  class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
14741
14779
  constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
14742
14780
  super(compoundPipe, validatorsService);
@@ -14883,7 +14921,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
14883
14921
  i0.ɵɵelementEnd()();
14884
14922
  } if (rf & 2) {
14885
14923
  const _r3 = i0.ɵɵreference(7);
14886
- i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$g, !!ctx.judicialUserControl && ctx.errors));
14924
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
14887
14925
  i0.ɵɵadvance(1);
14888
14926
  i0.ɵɵproperty("for", ctx.id());
14889
14927
  i0.ɵɵadvance(1);
@@ -15573,7 +15611,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) { if (rf & 1) {
15573
15611
  i0.ɵɵadvance(1);
15574
15612
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
15575
15613
  } }
15576
- const _c1$f = function (a0) { return { "table-group-error": a0 }; };
15614
+ const _c1$g = function (a0) { return { "table-group-error": a0 }; };
15577
15615
  function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
15578
15616
  const _r21 = i0.ɵɵgetCurrentView();
15579
15617
  i0.ɵɵelementStart(0, "tr", 10)(1, "td", 38);
@@ -15604,7 +15642,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
15604
15642
  const case_r16 = ctx.$implicit;
15605
15643
  const ctx_r2 = i0.ɵɵnextContext();
15606
15644
  i0.ɵɵadvance(2);
15607
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$f, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
15645
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
15608
15646
  i0.ɵɵadvance(2);
15609
15647
  i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
15610
15648
  i0.ɵɵadvance(2);
@@ -17504,7 +17542,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
17504
17542
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.numberControl.errors, ctx_r2.caseField.label), " ");
17505
17543
  } }
17506
17544
  const _c0$E = function (a0) { return { "form-group-error": a0 }; };
17507
- const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
17545
+ const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
17508
17546
  class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
17509
17547
  ngOnInit() {
17510
17548
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
@@ -17530,7 +17568,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
17530
17568
  i0.ɵɵadvance(1);
17531
17569
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
17532
17570
  i0.ɵɵadvance(1);
17533
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
17571
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
17534
17572
  } }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
17535
17573
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
17536
17574
  type: Component,
@@ -18171,7 +18209,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
18171
18209
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.phoneUkControl.errors, ctx_r2.caseField.label), " ");
18172
18210
  } }
18173
18211
  const _c0$C = function (a0) { return { "form-group-error": a0 }; };
18174
- const _c1$d = function (a0) { return { "govuk-input--error": a0 }; };
18212
+ const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
18175
18213
  class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
18176
18214
  ngOnInit() {
18177
18215
  this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
@@ -18197,7 +18235,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
18197
18235
  i0.ɵɵadvance(1);
18198
18236
  i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
18199
18237
  i0.ɵɵadvance(1);
18200
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
18238
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
18201
18239
  } }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
18202
18240
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WritePhoneUKFieldComponent, [{
18203
18241
  type: Component,
@@ -20213,7 +20251,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
20213
20251
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textareaControl.errors, ctx_r2.caseField.label), " ");
20214
20252
  } }
20215
20253
  const _c0$z = function (a0) { return { "form-group-error": a0 }; };
20216
- const _c1$c = function (a0) { return { "govuk-textarea--error": a0 }; };
20254
+ const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
20217
20255
  class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
20218
20256
  constructor(browserService) {
20219
20257
  super();
@@ -20251,7 +20289,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
20251
20289
  i0.ɵɵadvance(1);
20252
20290
  i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
20253
20291
  i0.ɵɵadvance(1);
20254
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$c, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
20292
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
20255
20293
  } }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
20256
20294
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextAreaFieldComponent, [{
20257
20295
  type: Component,
@@ -20309,7 +20347,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
20309
20347
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textControl.errors, ctx_r2.caseField.label), " ");
20310
20348
  } }
20311
20349
  const _c0$y = function (a0) { return { "form-group-error": a0 }; };
20312
- const _c1$b = function (a0) { return { "govuk-input--error": a0 }; };
20350
+ const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
20313
20351
  class WriteTextFieldComponent extends AbstractFieldWriteComponent {
20314
20352
  ngOnInit() {
20315
20353
  this.textControl = this.registerControl(new FormControl(this.caseField.value));
@@ -20339,7 +20377,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
20339
20377
  i0.ɵɵadvance(1);
20340
20378
  i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
20341
20379
  i0.ɵɵadvance(1);
20342
- 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);
20380
+ 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);
20343
20381
  } }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
20344
20382
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextFieldComponent, [{
20345
20383
  type: Component,
@@ -20512,7 +20550,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
20512
20550
  i0.ɵɵadvance(1);
20513
20551
  i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
20514
20552
  } }
20515
- const _c1$a = function (a0) { return { "form-group-error": a0 }; };
20553
+ const _c1$b = function (a0) { return { "form-group-error": a0 }; };
20516
20554
  class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
20517
20555
  constructor(yesNoService) {
20518
20556
  super();
@@ -20534,7 +20572,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
20534
20572
  i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 5, 14, "div", 6);
20535
20573
  i0.ɵɵelementEnd()()();
20536
20574
  } if (rf & 2) {
20537
- i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$a, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
20575
+ i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
20538
20576
  i0.ɵɵadvance(3);
20539
20577
  i0.ɵɵproperty("ngIf", ctx.caseField.label);
20540
20578
  i0.ɵɵadvance(1);
@@ -20891,7 +20929,7 @@ function CaseFileViewFolderSelectorComponent_ng_container_6_Template(rf, ctx) {
20891
20929
  function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
20892
20930
  i0.ɵɵelementContainer(0);
20893
20931
  } }
20894
- const _c1$9 = function (a0, a1) { return { cat: a0, level: a1 }; };
20932
+ const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
20895
20933
  function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) { if (rf & 1) {
20896
20934
  i0.ɵɵelementContainerStart(0);
20897
20935
  i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
@@ -20902,7 +20940,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
20902
20940
  i0.ɵɵnextContext();
20903
20941
  const _r1 = i0.ɵɵreference(13);
20904
20942
  i0.ɵɵadvance(1);
20905
- i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$9, subcat_r8, level_r6 + 1));
20943
+ i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
20906
20944
  } }
20907
20945
  function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
20908
20946
  const _r12 = i0.ɵɵgetCurrentView();
@@ -21071,7 +21109,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) { if (
21071
21109
  i0.ɵɵproperty("ngForOf", ctx_r1.menuItems);
21072
21110
  } }
21073
21111
  const _c0$s = [[["", "trigger", ""]]];
21074
- const _c1$8 = ["[trigger]"];
21112
+ const _c1$9 = ["[trigger]"];
21075
21113
  class CaseFileViewOverlayMenuComponent {
21076
21114
  constructor() {
21077
21115
  this.title = '';
@@ -21085,7 +21123,7 @@ class CaseFileViewOverlayMenuComponent {
21085
21123
  }
21086
21124
  }
21087
21125
  CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
21088
- 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) { if (rf & 1) {
21126
+ 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) { if (rf & 1) {
21089
21127
  i0.ɵɵprojectionDef(_c0$s);
21090
21128
  i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
21091
21129
  i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_Template_button_click_1_listener($event) { $event.stopPropagation(); return ctx.isOpen = !ctx.isOpen; });
@@ -23154,7 +23192,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
23154
23192
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
23155
23193
  } }
23156
23194
  const _c0$n = function (a0) { return { "form-group-error": a0 }; };
23157
- const _c1$7 = function (a0) { return { "govuk-input--error": a0 }; };
23195
+ const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
23158
23196
  function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
23159
23197
  i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
23160
23198
  i0.ɵɵtext(3);
@@ -23174,7 +23212,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (r
23174
23212
  i0.ɵɵadvance(3);
23175
23213
  i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
23176
23214
  i0.ɵɵadvance(1);
23177
- 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);
23215
+ 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);
23178
23216
  i0.ɵɵadvance(1);
23179
23217
  i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
23180
23218
  } }
@@ -23674,7 +23712,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
23674
23712
  i0.ɵɵadvance(3);
23675
23713
  i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
23676
23714
  } }
23677
- const _c1$6 = function (a0) { return { "form-group-error": a0 }; };
23715
+ const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
23678
23716
  class UpdateFlagComponent {
23679
23717
  constructor(rpxTranslationService) {
23680
23718
  this.rpxTranslationService = rpxTranslationService;
@@ -23876,7 +23914,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
23876
23914
  const _r3 = i0.ɵɵreference(17);
23877
23915
  i0.ɵɵproperty("formGroup", ctx.formGroup);
23878
23916
  i0.ɵɵadvance(2);
23879
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$6, ctx.errorMessages.length > 0));
23917
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
23880
23918
  i0.ɵɵadvance(3);
23881
23919
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
23882
23920
  i0.ɵɵadvance(2);
@@ -25146,7 +25184,7 @@ const CUSTOM_MOMENT_FORMATS = {
25146
25184
  };
25147
25185
 
25148
25186
  const _c0$g = ["picker"];
25149
- const _c1$5 = ["input"];
25187
+ const _c1$6 = ["input"];
25150
25188
  function DatetimePickerComponent_span_3_Template(rf, ctx) { if (rf & 1) {
25151
25189
  i0.ɵɵelementStart(0, "span", 11);
25152
25190
  i0.ɵɵtext(1);
@@ -25195,7 +25233,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) { if (rf & 1) {
25195
25233
  i0.ɵɵadvance(1);
25196
25234
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
25197
25235
  } }
25198
- const _c2$1 = function (a0) { return { "form-group-error": a0 }; };
25236
+ const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
25199
25237
  class DatetimePickerComponent extends AbstractFormFieldComponent {
25200
25238
  constructor(formatTranslationService, ngxMatDateFormats) {
25201
25239
  super();
@@ -25360,7 +25398,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
25360
25398
  DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { return new (t || DatetimePickerComponent)(i0.ɵɵdirectiveInject(FormatTranslatorService), i0.ɵɵdirectiveInject(NGX_MAT_DATE_FORMATS)); };
25361
25399
  DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) { if (rf & 1) {
25362
25400
  i0.ɵɵviewQuery(_c0$g, 5);
25363
- i0.ɵɵviewQuery(_c1$5, 5);
25401
+ i0.ɵɵviewQuery(_c1$6, 5);
25364
25402
  } if (rf & 2) {
25365
25403
  let _t;
25366
25404
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimePicker = _t.first);
@@ -25392,7 +25430,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
25392
25430
  i0.ɵɵelementEnd()()()()()();
25393
25431
  } if (rf & 2) {
25394
25432
  const _r6 = i0.ɵɵreference(13);
25395
- i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$1, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
25433
+ i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
25396
25434
  i0.ɵɵadvance(3);
25397
25435
  i0.ɵɵproperty("ngIf", ctx.caseField.label);
25398
25436
  i0.ɵɵadvance(1);
@@ -25616,7 +25654,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) { if (rf & 1) {
25616
25654
  i0.ɵɵadvance(3);
25617
25655
  i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
25618
25656
  } }
25619
- const _c1$4 = function (a0) { return { "EventLogTable-Selected": a0 }; };
25657
+ const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
25620
25658
  function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
25621
25659
  const _r18 = i0.ɵɵgetCurrentView();
25622
25660
  i0.ɵɵelementStart(0, "tr", 4);
@@ -25647,7 +25685,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
25647
25685
  } if (rf & 2) {
25648
25686
  const event_r1 = ctx.$implicit;
25649
25687
  const ctx_r0 = i0.ɵɵnextContext();
25650
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$4, ctx_r0.selected === event_r1));
25688
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
25651
25689
  i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
25652
25690
  i0.ɵɵadvance(2);
25653
25691
  i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
@@ -27535,6 +27573,30 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) { if (r
27535
27573
  i0.ɵɵadvance(3);
27536
27574
  i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
27537
27575
  } }
27576
+ function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) { if (rf & 1) {
27577
+ i0.ɵɵelementStart(0, "span", 48);
27578
+ i0.ɵɵtext(1);
27579
+ i0.ɵɵpipe(2, "rpxTranslate");
27580
+ i0.ɵɵpipe(3, "ccdFirstError");
27581
+ i0.ɵɵelementEnd();
27582
+ } if (rf & 2) {
27583
+ const ctx_r36 = i0.ɵɵnextContext(3);
27584
+ i0.ɵɵadvance(1);
27585
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
27586
+ } }
27587
+ function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) { if (rf & 1) {
27588
+ i0.ɵɵelementStart(0, "span", 48);
27589
+ i0.ɵɵtext(1);
27590
+ i0.ɵɵpipe(2, "rpxTranslate");
27591
+ i0.ɵɵpipe(3, "ccdFirstError");
27592
+ i0.ɵɵelementEnd();
27593
+ } if (rf & 2) {
27594
+ const ctx_r37 = i0.ɵɵnextContext(3);
27595
+ i0.ɵɵadvance(1);
27596
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
27597
+ } }
27598
+ const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
27599
+ const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
27538
27600
  function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
27539
27601
  i0.ɵɵelementContainerStart(0);
27540
27602
  i0.ɵɵelementStart(1, "fieldset", 39);
@@ -27544,19 +27606,35 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (r
27544
27606
  i0.ɵɵelementStart(6, "span", 43);
27545
27607
  i0.ɵɵtext(7, "A few words describing the purpose of the event.");
27546
27608
  i0.ɵɵelementEnd()();
27547
- i0.ɵɵelement(8, "input", 44);
27609
+ i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
27610
+ i0.ɵɵelement(9, "input", 45);
27548
27611
  i0.ɵɵelementEnd();
27549
- i0.ɵɵelementStart(9, "div", 41)(10, "label", 45);
27550
- i0.ɵɵtext(11, "Event description (optional)");
27612
+ i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
27613
+ i0.ɵɵtext(12, "Event description (optional)");
27551
27614
  i0.ɵɵelementEnd();
27552
- i0.ɵɵelement(12, "textarea", 46);
27615
+ i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
27616
+ i0.ɵɵelement(14, "textarea", 47);
27553
27617
  i0.ɵɵelementEnd()();
27554
27618
  i0.ɵɵelementContainerEnd();
27619
+ } if (rf & 2) {
27620
+ const ctx_r9 = i0.ɵɵnextContext(2);
27621
+ i0.ɵɵadvance(3);
27622
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
27623
+ i0.ɵɵadvance(5);
27624
+ i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
27625
+ i0.ɵɵadvance(1);
27626
+ 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)));
27627
+ i0.ɵɵadvance(1);
27628
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
27629
+ i0.ɵɵadvance(3);
27630
+ i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
27631
+ i0.ɵɵadvance(1);
27632
+ 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)));
27555
27633
  } }
27556
27634
  function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
27557
- const _r37 = i0.ɵɵgetCurrentView();
27558
- i0.ɵɵelementStart(0, "button", 47);
27559
- 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()); });
27635
+ const _r39 = i0.ɵɵgetCurrentView();
27636
+ i0.ɵɵelementStart(0, "button", 49);
27637
+ 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()); });
27560
27638
  i0.ɵɵtext(1);
27561
27639
  i0.ɵɵpipe(2, "rpxTranslate");
27562
27640
  i0.ɵɵelementEnd();
@@ -27567,7 +27645,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1)
27567
27645
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Previous"), " ");
27568
27646
  } }
27569
27647
  function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27570
- const _r39 = i0.ɵɵgetCurrentView();
27648
+ const _r41 = i0.ɵɵgetCurrentView();
27571
27649
  i0.ɵɵelementStart(0, "div")(1, "h1", 2);
27572
27650
  i0.ɵɵtext(2);
27573
27651
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -27577,13 +27655,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27577
27655
  i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
27578
27656
  i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
27579
27657
  i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
27580
- 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)); });
27658
+ 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)); });
27581
27659
  i0.ɵɵelementEnd();
27582
27660
  i0.ɵɵelementStart(11, "form", 8);
27583
- 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()); });
27661
+ 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()); });
27584
27662
  i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
27585
27663
  i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
27586
- i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 13, 0, "ng-container", 0);
27664
+ i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
27587
27665
  i0.ɵɵelementStart(15, "div", 9);
27588
27666
  i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
27589
27667
  i0.ɵɵelementStart(17, "button", 11);
@@ -27591,7 +27669,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27591
27669
  i0.ɵɵpipe(19, "rpxTranslate");
27592
27670
  i0.ɵɵelementEnd()();
27593
27671
  i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
27594
- 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()); });
27672
+ 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()); });
27595
27673
  i0.ɵɵtext(22);
27596
27674
  i0.ɵɵpipe(23, "rpxTranslate");
27597
27675
  i0.ɵɵelementEnd()()()();
@@ -27627,9 +27705,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27627
27705
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 20, ctx_r0.getCancelText()));
27628
27706
  } }
27629
27707
  function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) { if (rf & 1) {
27630
- const _r43 = i0.ɵɵgetCurrentView();
27631
- i0.ɵɵelementStart(0, "ccd-case-event-completion", 48);
27632
- 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)); });
27708
+ const _r45 = i0.ɵɵgetCurrentView();
27709
+ i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
27710
+ 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)); });
27633
27711
  i0.ɵɵelementEnd();
27634
27712
  } if (rf & 2) {
27635
27713
  const ctx_r1 = i0.ɵɵnextContext();
@@ -27637,14 +27715,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
27637
27715
  } }
27638
27716
  // @dynamic
27639
27717
  class CaseEditSubmitComponent {
27640
- constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
27718
+ constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
27641
27719
  this.caseEdit = caseEdit;
27642
27720
  this.fieldsUtils = fieldsUtils;
27643
27721
  this.caseFieldService = caseFieldService;
27644
27722
  this.route = route;
27645
27723
  this.orderService = orderService;
27646
27724
  this.profileNotifier = profileNotifier;
27725
+ this.formValidatorsService = formValidatorsService;
27647
27726
  this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
27727
+ this.eventSummaryLabel = 'Event summary';
27728
+ this.eventDescriptionLabel = 'Event description';
27648
27729
  }
27649
27730
  get isDisabled() {
27650
27731
  // EUI-3452.
@@ -27654,7 +27735,7 @@ class CaseEditSubmitComponent {
27654
27735
  return this.caseEdit.isSubmitting || this.hasErrors;
27655
27736
  }
27656
27737
  ngOnInit() {
27657
- this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
27738
+ this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
27658
27739
  this.eventTrigger = this.caseEdit.eventTrigger;
27659
27740
  this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
27660
27741
  this.editForm = this.caseEdit.form;
@@ -27668,10 +27749,12 @@ class CaseEditSubmitComponent {
27668
27749
  // Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
27669
27750
  // a FlagLauncher field in the event trigger
27670
27751
  this.caseEdit.isCaseFlagSubmission =
27671
- this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
27752
+ this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
27672
27753
  this.caseEdit.isLinkedCasesSubmission =
27673
27754
  this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
27674
27755
  this.pageTitle = this.getPageTitle();
27756
+ this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
27757
+ this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
27675
27758
  }
27676
27759
  ngOnDestroy() {
27677
27760
  /* istanbul ignore else */
@@ -27680,12 +27763,14 @@ class CaseEditSubmitComponent {
27680
27763
  }
27681
27764
  }
27682
27765
  submit() {
27683
- this.caseEdit.submitForm({
27684
- eventTrigger: this.eventTrigger,
27685
- form: this.editForm,
27686
- submit: this.caseEdit.submit,
27687
- caseDetails: this.caseEdit.caseDetails,
27688
- });
27766
+ if (this.summary.valid && this.description.valid) {
27767
+ this.caseEdit.submitForm({
27768
+ eventTrigger: this.eventTrigger,
27769
+ form: this.editForm,
27770
+ submit: this.caseEdit.submit,
27771
+ caseDetails: this.caseEdit.caseDetails
27772
+ });
27773
+ }
27689
27774
  }
27690
27775
  onEventCanBeCompleted(eventCanBeCompleted) {
27691
27776
  this.caseEdit.onEventCanBeCompleted({
@@ -27693,7 +27778,7 @@ class CaseEditSubmitComponent {
27693
27778
  eventCanBeCompleted,
27694
27779
  caseDetails: this.caseEdit.caseDetails,
27695
27780
  form: this.editForm,
27696
- submit: this.caseEdit.submit,
27781
+ submit: this.caseEdit.submit
27697
27782
  });
27698
27783
  }
27699
27784
  getPageTitle() {
@@ -27768,7 +27853,7 @@ class CaseEditSubmitComponent {
27768
27853
  }
27769
27854
  }
27770
27855
  readOnlySummaryFieldsToDisplayExists() {
27771
- return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
27856
+ return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
27772
27857
  }
27773
27858
  showEventNotes() {
27774
27859
  // Display event notes related controls only if the following conditions are met
@@ -27783,7 +27868,7 @@ class CaseEditSubmitComponent {
27783
27868
  }
27784
27869
  getLastPageShown() {
27785
27870
  let lastPage;
27786
- this.wizard.reverse().forEach(page => {
27871
+ this.wizard.reverse().forEach((page) => {
27787
27872
  if (!lastPage && this.isShown(page)) {
27788
27873
  lastPage = page;
27789
27874
  }
@@ -27802,7 +27887,7 @@ class CaseEditSubmitComponent {
27802
27887
  }
27803
27888
  isShown(page) {
27804
27889
  const fields = this.fieldsUtils
27805
- .mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls['data'].value);
27890
+ .mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
27806
27891
  return page.parsedShowCondition.match(fields);
27807
27892
  }
27808
27893
  canShowFieldInCYA(field) {
@@ -27811,7 +27896,7 @@ class CaseEditSubmitComponent {
27811
27896
  sortFieldsByShowSummaryContent(fields) {
27812
27897
  return this.orderService
27813
27898
  .sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
27814
- .filter(cf => cf.show_summary_content_option);
27899
+ .filter((cf) => cf.show_summary_content_option);
27815
27900
  }
27816
27901
  getCaseFields() {
27817
27902
  if (this.caseEdit.caseDetails) {
@@ -27830,9 +27915,7 @@ class CaseEditSubmitComponent {
27830
27915
  if (this.eventTrigger.can_save_draft) {
27831
27916
  return 'Return to case list';
27832
27917
  }
27833
- else {
27834
- return 'Cancel';
27835
- }
27918
+ return 'Cancel';
27836
27919
  }
27837
27920
  }
27838
27921
  CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
@@ -27846,8 +27929,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
27846
27929
  }
27847
27930
  return a.show_summary_content_option - b.show_summary_content_option;
27848
27931
  };
27849
- 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)); };
27850
- 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) { if (rf & 1) {
27932
+ 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)); };
27933
+ 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) { if (rf & 1) {
27851
27934
  i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
27852
27935
  i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
27853
27936
  } if (rf & 2) {
@@ -27857,8 +27940,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
27857
27940
  } }, styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
27858
27941
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
27859
27942
  type: Component,
27860
- 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"] }]
27861
- }], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null); })();
27943
+ 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"] }]
27944
+ }], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null); })();
27862
27945
 
27863
27946
  function CaseProgressComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27864
27947
  const _r2 = i0.ɵɵgetCurrentView();
@@ -28214,7 +28297,7 @@ i0.ɵɵsetComponentScope(CaseEditConfirmComponent, function () { return [i4.NgIf
28214
28297
  i0.ɵɵsetComponentScope(CaseEditPageComponent, function () { return [i4.NgForOf, i4.NgIf, i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, CallbackErrorsComponent, MarkdownComponent, CaseEventCompletionComponent, CaseEditFormComponent,
28215
28298
  CaseEditGenericErrorsComponent]; }, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
28216
28299
  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]; });
28217
- 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]; });
28300
+ 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]; });
28218
28301
  i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
28219
28302
  i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
28220
28303