@hmcts/ccd-case-ui-toolkit 7.2.37-remove-feature-flag → 7.2.38-exui-3406

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/esm2022/lib/app.config.mjs +3 -1
  2. package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +5 -4
  3. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -4
  4. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +5 -4
  5. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +10 -8
  6. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +5 -3
  7. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +5 -4
  8. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +11 -7
  9. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +8 -6
  10. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +7 -5
  11. package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +4 -7
  12. package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +6 -8
  13. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +5 -2
  14. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +55 -8
  15. package/esm2022/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +1 -1
  16. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +43 -7
  17. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +77 -24
  18. package/esm2022/lib/shared/components/palette/query-management/services/query-management.service.mjs +2 -2
  19. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +12 -4
  20. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +7 -2
  21. package/esm2022/lib/shared/utils.mjs +1 -1
  22. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +250 -93
  23. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  24. package/lib/app.config.d.ts +5 -0
  25. package/lib/app.config.d.ts.map +1 -1
  26. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
  27. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  28. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  29. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +4 -5
  30. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -1
  31. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +2 -1
  32. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  33. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +15 -3
  34. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  35. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +1 -0
  36. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -1
  37. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +1 -0
  38. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  39. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +15 -3
  40. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
  41. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +1 -1
  42. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
  43. package/lib/shared/services/document-management/document-management.service.d.ts.map +1 -1
  44. package/lib/shared/utils.d.ts +1 -1
  45. package/package.json +1 -1
@@ -27,7 +27,7 @@ import { MatDialogConfig } from '@angular/material/dialog';
27
27
  import * as i2 from '@nicky-lenaers/ngx-scroll-to';
28
28
  import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
29
29
  import * as marked from 'marked';
30
- import * as i2$1 from 'ngx-markdown';
30
+ import * as i1$4 from 'ngx-markdown';
31
31
  import { MarkdownModule } from 'ngx-markdown';
32
32
  import * as i6 from '@angular/material/legacy-autocomplete';
33
33
  import { MatLegacyAutocompleteModule } from '@angular/material/legacy-autocomplete';
@@ -36,7 +36,7 @@ import { MAT_LEGACY_DATE_LOCALE } from '@angular/material/legacy-core';
36
36
  import * as i3 from '@hmcts/ccpay-web-component';
37
37
  import { PaymentLibModule } from '@hmcts/ccpay-web-component';
38
38
  import { v4 } from 'uuid';
39
- import * as i2$2 from '@angular/cdk/overlay';
39
+ import * as i2$1 from '@angular/cdk/overlay';
40
40
  import { OverlayModule } from '@angular/cdk/overlay';
41
41
  import * as i7$1 from '@angular/cdk/tree';
42
42
  import { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';
@@ -53,7 +53,7 @@ import { MatLegacyInputModule } from '@angular/material/legacy-input';
53
53
  import * as i14 from '@hmcts/media-viewer';
54
54
  import { MediaViewerModule } from '@hmcts/media-viewer';
55
55
  import { PortalModule } from '@angular/cdk/portal';
56
- import * as i2$3 from 'ngx-pagination';
56
+ import * as i2$2 from 'ngx-pagination';
57
57
  import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
58
58
  import * as i10 from '@angular/material/legacy-tabs';
59
59
  import { MatLegacyTabsModule } from '@angular/material/legacy-tabs';
@@ -1322,9 +1322,11 @@ class CaseEditorConfig {
1322
1322
  case_flags_refdata_api_url;
1323
1323
  rd_common_data_api_url;
1324
1324
  case_data_store_api_url;
1325
+ enable_case_file_view_version_1_1;
1325
1326
  icp_enabled;
1326
1327
  icp_jurisdictions;
1327
1328
  events_to_hide;
1329
+ enable_service_specific_multi_followups;
1328
1330
  }
1329
1331
 
1330
1332
  class HttpError {
@@ -7405,8 +7407,13 @@ class DocumentManagementService {
7405
7407
  isDocumentSecureModeEnabled() {
7406
7408
  const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7407
7409
  const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7410
+ const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7411
+ // if the documentSecureModeEnabled is false, return false
7412
+ if (!documentSecureModeEnabled) {
7413
+ return false;
7414
+ }
7408
7415
  // if the documentSecureModeEnabled is true, and the case is not in the exclusion list, return true
7409
- if (!isDocumentOnExclusionList) {
7416
+ if (documentSecureModeEnabled && !isDocumentOnExclusionList) {
7410
7417
  return true;
7411
7418
  }
7412
7419
  // if documentSecureModeEnabled is true, and case is in the exclusion list, return false
@@ -10247,9 +10254,10 @@ function CaseEditConfirmComponent_div_3_Template(rf, ctx) { if (rf & 1) {
10247
10254
  function CaseEditConfirmComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
10248
10255
  i0.ɵɵelement(0, "ccd-markdown", 8);
10249
10256
  i0.ɵɵpipe(1, "ccdCaseTitle");
10257
+ i0.ɵɵpipe(2, "rpxTranslate");
10250
10258
  } if (rf & 2) {
10251
10259
  const ctx_r1 = i0.ɵɵnextContext();
10252
- i0.ɵɵproperty("content", i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.caseFields, ctx_r1.editForm.controls["data"]));
10260
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(2, 5, i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.caseFields, ctx_r1.editForm.controls["data"])));
10253
10261
  } }
10254
10262
  function CaseEditConfirmComponent_ng_template_6_h2_0_Template(rf, ctx) { if (rf & 1) {
10255
10263
  i0.ɵɵelementStart(0, "h2", 10);
@@ -10332,7 +10340,7 @@ class CaseEditConfirmComponent {
10332
10340
  i0.ɵɵtext(1);
10333
10341
  i0.ɵɵpipe(2, "rpxTranslate");
10334
10342
  i0.ɵɵelementEnd();
10335
- i0.ɵɵtemplate(3, CaseEditConfirmComponent_div_3_Template, 1, 0, "div", 3)(4, CaseEditConfirmComponent_ng_template_4_Template, 2, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, CaseEditConfirmComponent_ng_template_6_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
10343
+ i0.ɵɵtemplate(3, CaseEditConfirmComponent_div_3_Template, 1, 0, "div", 3)(4, CaseEditConfirmComponent_ng_template_4_Template, 3, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, CaseEditConfirmComponent_ng_template_6_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
10336
10344
  i0.ɵɵelementStart(8, "form", 4);
10337
10345
  i0.ɵɵlistener("submit", function CaseEditConfirmComponent_Template_form_submit_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.submit()); });
10338
10346
  i0.ɵɵtemplate(9, CaseEditConfirmComponent_div_9_Template, 3, 3, "div", 5)(10, CaseEditConfirmComponent_div_10_Template, 3, 3, "div", 6);
@@ -10359,7 +10367,7 @@ class CaseEditConfirmComponent {
10359
10367
  }
10360
10368
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditConfirmComponent, [{
10361
10369
  type: Component,
10362
- args: [{ template: "<!-- Current Page && Event trigger name -->\n<h1 class=\"heading-h1\">{{ 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: caseFields : editForm.controls['data']\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<form [formGroup]=\"formGroup\" (submit)=\"submit()\">\n <div id=\"confirmation-header\" *ngIf=\"confirmation.getHeader()\">\n <ccd-markdown [content]=\"confirmation.getHeader() | rpxTranslate\"></ccd-markdown>\n </div>\n <div id=\"confirmation-body\" *ngIf=\"confirmation.getBody()\">\n <ccd-markdown [content]=\"confirmation.getBody() | rpxTranslate\"></ccd-markdown>\n </div>\n <button type=\"submit\" class=\"button\" data-ng-click=\"submit()\">{{triggerText | rpxTranslate}}</button>\n</form>\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"] }]
10370
+ args: [{ template: "<!-- Current Page && Event trigger name -->\n<h1 class=\"heading-h1\">{{ 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: caseFields : editForm.controls['data'] | rpxTranslate\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<form [formGroup]=\"formGroup\" (submit)=\"submit()\">\n <div id=\"confirmation-header\" *ngIf=\"confirmation.getHeader()\">\n <ccd-markdown [content]=\"confirmation.getHeader() | rpxTranslate\"></ccd-markdown>\n </div>\n <div id=\"confirmation-body\" *ngIf=\"confirmation.getBody()\">\n <ccd-markdown [content]=\"confirmation.getBody() | rpxTranslate\"></ccd-markdown>\n </div>\n <button type=\"submit\" class=\"button\" data-ng-click=\"submit()\">{{triggerText | rpxTranslate}}</button>\n</form>\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"] }]
10363
10371
  }], () => [{ type: CaseEditComponent }, { type: i1$1.Router }], null); })();
10364
10372
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditConfirmComponent, { className: "CaseEditConfirmComponent", filePath: "lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.ts", lineNumber: 15 }); })();
10365
10373
 
@@ -10854,9 +10862,10 @@ function CaseEditPageComponent_div_1_Template(rf, ctx) { if (rf & 1) {
10854
10862
  function CaseEditPageComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
10855
10863
  i0.ɵɵelement(0, "ccd-markdown", 13);
10856
10864
  i0.ɵɵpipe(1, "ccdCaseTitle");
10865
+ i0.ɵɵpipe(2, "rpxTranslate");
10857
10866
  } if (rf & 2) {
10858
10867
  const ctx_r1 = i0.ɵɵnextContext();
10859
- i0.ɵɵproperty("content", i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.caseFields, ctx_r1.editForm.controls["data"]));
10868
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(2, 5, i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.caseFields, ctx_r1.editForm.controls["data"])));
10860
10869
  } }
10861
10870
  function CaseEditPageComponent_ng_template_4_h2_0_Template(rf, ctx) { if (rf & 1) {
10862
10871
  i0.ɵɵelementStart(0, "h2", 15);
@@ -11673,7 +11682,7 @@ class CaseEditPageComponent {
11673
11682
  static ɵfac = function CaseEditPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseEditPageComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(PageValidationService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(CaseEditDataService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(MultipageComponentStateService), i0.ɵɵdirectiveInject(AddressesService), i0.ɵɵdirectiveInject(LinkedCasesService), i0.ɵɵdirectiveInject(CaseFlagStateService)); };
11674
11683
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditPageComponent, selectors: [["ccd-case-edit-page"]], decls: 12, vars: 11, consts: [["titleBlock", ""], ["idBlock", ""], [4, "ngIf"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [3, "error"], [3, "callbackErrorsContext", "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject"], [1, "width-50"], ["class", "form", 3, "formGroup", "submit", 4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], ["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["tabindex", "0", 1, "validation-error", 3, "click", "keyup.enter"], [1, "form", 3, "submit", "formGroup"], ["id", "fieldset-case-data"], [2, "display", "none"], ["id", "caseEditForm", 3, "fields", "formGroup", "caseFields", "pageChangeSubject", "valuesChanged", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "form-group", "form-group-related"], ["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"], ["id", "caseEditForm", 3, "valuesChanged", "fields", "formGroup", "caseFields", "pageChangeSubject"], [1, "grid-row"], [1, "column-two-thirds", "rightBorderSeparator"], ["id", "caseEditForm1", 3, "fields", "formGroup", "caseFields"], [1, "column-one-third"], ["id", "caseEditForm2", 3, "fields", "formGroup", "caseFields"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], [3, "eventCanBeCompleted", "eventCompletionParams"]], template: function CaseEditPageComponent_Template(rf, ctx) { if (rf & 1) {
11675
11684
  const _r1 = i0.ɵɵgetCurrentView();
11676
- i0.ɵɵtemplate(0, CaseEditPageComponent_ng_container_0_Template, 3, 2, "ng-container", 2)(1, CaseEditPageComponent_div_1_Template, 1, 0, "div", 3)(2, CaseEditPageComponent_ng_template_2_Template, 2, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(4, CaseEditPageComponent_ng_template_4_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(6, CaseEditPageComponent_div_6_Template, 5, 4, "div", 4);
11685
+ i0.ɵɵtemplate(0, CaseEditPageComponent_ng_container_0_Template, 3, 2, "ng-container", 2)(1, CaseEditPageComponent_div_1_Template, 1, 0, "div", 3)(2, CaseEditPageComponent_ng_template_2_Template, 3, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(4, CaseEditPageComponent_ng_template_4_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(6, CaseEditPageComponent_div_6_Template, 5, 4, "div", 4);
11677
11686
  i0.ɵɵelement(7, "ccd-case-edit-generic-errors", 5);
11678
11687
  i0.ɵɵelementStart(8, "ccd-callback-errors", 6);
11679
11688
  i0.ɵɵlistener("callbackErrorsContext", function CaseEditPageComponent_Template_ccd_callback_errors_callbackErrorsContext_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.callbackErrorsNotify($event)); });
@@ -11702,7 +11711,7 @@ class CaseEditPageComponent {
11702
11711
  }
11703
11712
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditPageComponent, [{
11704
11713
  type: Component,
11705
- args: [{ selector: 'ccd-case-edit-page', template: "<ng-container *ngIf=\"currentPage\">\n <h1 *ngIf=\"!currentPage.label\" class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n <ng-container *ngIf=\"currentPage.label\">\n <span class=\"govuk-caption-l\">{{ eventTrigger.name | rpxTranslate}}</span>\n <h1 class=\"govuk-heading-l\">{{currentPage.label | rpxTranslate}}</h1>\n </ng-container>\n</ng-container>\n\n<!--Case ID or Title -->\n<div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n<ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: caseFields : editForm.controls['data']\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<!-- Error message summary -->\n<div *ngIf=\"validationErrors.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let validationError of validationErrors\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(validationError.id)\" (keyup.enter)=\"navigateToErrorElement(validationError.id)\" tabindex=\"0\" class=\"validation-error\">\n {{ validationError.message | rpxTranslate: getRpxTranslatePipeArgs(validationError.label | rpxTranslate): null }}\n </a>\n </li>\n </ul>\n </div>\n</div>\n\n<ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<div class=\"width-50\">\n <form *ngIf=\"currentPage\" class=\"form\" [formGroup]=\"editForm\" (submit)=\"nextStep()\">\n <fieldset id=\"fieldset-case-data\">\n <legend style=\"display: none;\"></legend>\n <!-- single column -->\n <ccd-case-edit-form id='caseEditForm' *ngIf=\"!currentPage.isMultiColumn()\" [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"\n [pageChangeSubject]=\"pageChangeSubject\"\n (valuesChanged)=\"applyValuesChanged($event)\"></ccd-case-edit-form>\n <!-- two columns -->\n <div *ngIf=\"currentPage.isMultiColumn()\" class=\"grid-row\">\n <div class=\"column-two-thirds rightBorderSeparator\">\n <ccd-case-edit-form id='caseEditForm1' [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n <div class=\"column-one-third\">\n <ccd-case-edit-form id='caseEditForm2' [fields]=\"currentPage.getCol2Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n </div>\n </fieldset>\n\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"toPreviousPage()\" *ngIf=\"!isAtStart()\" [disabled]=\"isDisabled()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button class=\"button\" type=\"submit\" [disabled]=\"submitting()\">{{triggerText | rpxTranslate}}</button>\n </div>\n\n <p class=\"cancel\"><a (click)=\"cancel()\" href=\"javascript:void(0)\">{{getCancelText() | rpxTranslate}}</a></p>\n </form>\n</div>\n\n<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\n", styles: [".rightBorderSeparator{border-right-width:4px;border-right-color:#ffcc02;border-right-style:solid}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
11714
+ args: [{ selector: 'ccd-case-edit-page', template: "<ng-container *ngIf=\"currentPage\">\n <h1 *ngIf=\"!currentPage.label\" class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n <ng-container *ngIf=\"currentPage.label\">\n <span class=\"govuk-caption-l\">{{ eventTrigger.name | rpxTranslate}}</span>\n <h1 class=\"govuk-heading-l\">{{currentPage.label | rpxTranslate}}</h1>\n </ng-container>\n</ng-container>\n\n<!--Case ID or Title -->\n<div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n<ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: caseFields : editForm.controls['data'] | rpxTranslate\"></ccd-markdown>\n</ng-template>\n<ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n</ng-template>\n\n<!-- Error message summary -->\n<div *ngIf=\"validationErrors.length > 0\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div *ngFor=\"let validationError of validationErrors\" class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a (click)=\"navigateToErrorElement(validationError.id)\" (keyup.enter)=\"navigateToErrorElement(validationError.id)\" tabindex=\"0\" class=\"validation-error\">\n {{ validationError.message | rpxTranslate: getRpxTranslatePipeArgs(validationError.label | rpxTranslate): null }}\n </a>\n </li>\n </ul>\n </div>\n</div>\n\n<ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<div class=\"width-50\">\n <form *ngIf=\"currentPage\" class=\"form\" [formGroup]=\"editForm\" (submit)=\"nextStep()\">\n <fieldset id=\"fieldset-case-data\">\n <legend style=\"display: none;\"></legend>\n <!-- single column -->\n <ccd-case-edit-form id='caseEditForm' *ngIf=\"!currentPage.isMultiColumn()\" [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"\n [pageChangeSubject]=\"pageChangeSubject\"\n (valuesChanged)=\"applyValuesChanged($event)\"></ccd-case-edit-form>\n <!-- two columns -->\n <div *ngIf=\"currentPage.isMultiColumn()\" class=\"grid-row\">\n <div class=\"column-two-thirds rightBorderSeparator\">\n <ccd-case-edit-form id='caseEditForm1' [fields]=\"currentPage.getCol1Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n <div class=\"column-one-third\">\n <ccd-case-edit-form id='caseEditForm2' [fields]=\"currentPage.getCol2Fields()\"\n [formGroup]=\"editForm.controls['data']\" [caseFields]=\"caseFields\"></ccd-case-edit-form>\n </div>\n </div>\n </fieldset>\n\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"toPreviousPage()\" *ngIf=\"!isAtStart()\" [disabled]=\"isDisabled()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button class=\"button\" type=\"submit\" [disabled]=\"submitting()\">{{triggerText | rpxTranslate}}</button>\n </div>\n\n <p class=\"cancel\"><a (click)=\"cancel()\" href=\"javascript:void(0)\">{{getCancelText() | rpxTranslate}}</a></p>\n </form>\n</div>\n\n<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\n", styles: [".rightBorderSeparator{border-right-width:4px;border-right-color:#ffcc02;border-right-style:solid}.validation-error{cursor:pointer;text-decoration:underline;color:#d4351c}\n"] }]
11706
11715
  }], () => [{ type: CaseEditComponent }, { type: i1$1.ActivatedRoute }, { type: FormValueService }, { type: FormErrorService }, { type: i0.ChangeDetectorRef }, { type: PageValidationService }, { type: i1$3.MatLegacyDialog }, { type: CaseFieldService }, { type: CaseEditDataService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: MultipageComponentStateService }, { type: AddressesService }, { type: LinkedCasesService }, { type: CaseFlagStateService }], null); })();
11707
11716
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditPageComponent, { className: "CaseEditPageComponent", filePath: "lib/shared/components/case-editor/case-edit-page/case-edit-page.component.ts", lineNumber: 34 }); })();
11708
11717
 
@@ -14524,11 +14533,12 @@ const _c0$S = ["collectionItem"];
14524
14533
  function WriteCollectionFieldComponent_h2_8_span_1_Template(rf, ctx) { if (rf & 1) {
14525
14534
  i0.ɵɵelementStart(0, "span", 10);
14526
14535
  i0.ɵɵelement(1, "ccd-markdown", 11);
14536
+ i0.ɵɵpipe(2, "rpxTranslate");
14527
14537
  i0.ɵɵelementEnd();
14528
14538
  } if (rf & 2) {
14529
14539
  const ctx_r0 = i0.ɵɵnextContext(2);
14530
14540
  i0.ɵɵadvance();
14531
- i0.ɵɵproperty("content", ctx_r0.caseField.hint_text);
14541
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField.hint_text));
14532
14542
  } }
14533
14543
  function WriteCollectionFieldComponent_h2_8_span_2_Template(rf, ctx) { if (rf & 1) {
14534
14544
  i0.ɵɵelementStart(0, "span", 12);
@@ -14542,7 +14552,7 @@ function WriteCollectionFieldComponent_h2_8_span_2_Template(rf, ctx) { if (rf &
14542
14552
  } }
14543
14553
  function WriteCollectionFieldComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
14544
14554
  i0.ɵɵelementStart(0, "h2", 3);
14545
- i0.ɵɵtemplate(1, WriteCollectionFieldComponent_h2_8_span_1_Template, 2, 1, "span", 8)(2, WriteCollectionFieldComponent_h2_8_span_2_Template, 3, 4, "span", 9);
14555
+ i0.ɵɵtemplate(1, WriteCollectionFieldComponent_h2_8_span_1_Template, 3, 3, "span", 8)(2, WriteCollectionFieldComponent_h2_8_span_2_Template, 3, 4, "span", 9);
14546
14556
  i0.ɵɵelementEnd();
14547
14557
  } if (rf & 2) {
14548
14558
  const ctx_r0 = i0.ɵɵnextContext();
@@ -14941,7 +14951,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
14941
14951
  }
14942
14952
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCollectionFieldComponent, [{
14943
14953
  type: Component,
14944
- args: [{ selector: 'ccd-write-collection-field', template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <ccd-markdown [content]=\"caseField.hint_text\"></ccd-markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
14954
+ args: [{ selector: 'ccd-write-collection-field', template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <ccd-markdown [content]=\"caseField.hint_text | rpxTranslate\"></ccd-markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
14945
14955
  }], () => [{ type: i1$3.MatLegacyDialog }, { type: i2.ScrollToService }, { type: ProfileNotifier }, { type: i0.ChangeDetectorRef }], { caseFields: [{
14946
14956
  type: Input
14947
14957
  }], items: [{
@@ -15405,7 +15415,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15405
15415
  if (this.uploadedDocument) {
15406
15416
  return this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_FILENAME).value;
15407
15417
  }
15408
- return undefined;
15418
+ else {
15419
+ return undefined;
15420
+ }
15409
15421
  }
15410
15422
  resetUpload() {
15411
15423
  this.selectedFile = null;
@@ -15426,7 +15438,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15426
15438
  }
15427
15439
  openDialog(dialogConfig) {
15428
15440
  const dialogRef = this.dialog.open(DocumentDialogComponent, dialogConfig);
15429
- this.dialogSubscription = dialogRef.beforeClosed().subscribe((result) => {
15441
+ this.dialogSubscription = dialogRef.beforeClosed().subscribe(result => {
15430
15442
  this.confirmReplaceResult = result;
15431
15443
  this.triggerReplace();
15432
15444
  });
@@ -15537,10 +15549,12 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15537
15549
  const documentUpload = new FormData();
15538
15550
  documentUpload.append('files', selectedFile, selectedFile.name);
15539
15551
  documentUpload.append('classification', 'PUBLIC');
15540
- const caseTypeId = this.caseTypeId ? this.caseTypeId : null;
15541
- const caseTypeJurisdictionId = this.jurisdictionId ? this.jurisdictionId : null;
15542
- documentUpload.append('caseTypeId', caseTypeId);
15543
- documentUpload.append('jurisdictionId', caseTypeJurisdictionId);
15552
+ if (this.appConfig.getDocumentSecureMode()) {
15553
+ const caseTypeId = this.caseTypeId ? this.caseTypeId : null;
15554
+ const caseTypeJurisdictionId = this.jurisdictionId ? this.jurisdictionId : null;
15555
+ documentUpload.append('caseTypeId', caseTypeId);
15556
+ documentUpload.append('jurisdictionId', caseTypeJurisdictionId);
15557
+ }
15544
15558
  return documentUpload;
15545
15559
  }
15546
15560
  handleDocumentUploadResult(result) {
@@ -15878,20 +15892,19 @@ class MarkdownComponent {
15878
15892
  return markdownLinkRegex.test(inputString);
15879
15893
  }
15880
15894
  static ɵfac = function MarkdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MarkdownComponent)(i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
15881
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], inputs: { content: "content", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "click", "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
15895
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], inputs: { content: "content", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 3, vars: 3, consts: [[1, "markdown", 3, "click", "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
15882
15896
  i0.ɵɵelementStart(0, "div")(1, "markdown", 0);
15883
15897
  i0.ɵɵpipe(2, "ccdCaseReference");
15884
- i0.ɵɵpipe(3, "rpxTranslate");
15885
15898
  i0.ɵɵlistener("click", function MarkdownComponent_Template_markdown_click_1_listener($event) { return ctx.interceptClick($event); });
15886
15899
  i0.ɵɵelementEnd()();
15887
15900
  } if (rf & 2) {
15888
15901
  i0.ɵɵadvance();
15889
- i0.ɵɵproperty("data", i0.ɵɵpipeBind1(3, 3, i0.ɵɵpipeBind1(2, 1, ctx.content)));
15890
- } }, dependencies: [i2$1.MarkdownComponent, i1.RpxTranslatePipe, CaseReferencePipe], encapsulation: 2, changeDetection: 0 });
15902
+ i0.ɵɵproperty("data", i0.ɵɵpipeBind1(2, 1, ctx.content));
15903
+ } }, dependencies: [i1$4.MarkdownComponent, CaseReferencePipe], encapsulation: 2, changeDetection: 0 });
15891
15904
  }
15892
15905
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MarkdownComponent, [{
15893
15906
  type: Component,
15894
- args: [{ selector: 'ccd-markdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div><markdown class=\"markdown\" (click)=\"interceptClick($event)\" [data]=\"content | ccdCaseReference | rpxTranslate\"></markdown></div>\n" }]
15907
+ args: [{ selector: 'ccd-markdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div><markdown class=\"markdown\" (click)=\"interceptClick($event)\" [data]=\"content | ccdCaseReference\"></markdown></div>\n" }]
15895
15908
  }], () => [{ type: i1$1.Router }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], { content: [{
15896
15909
  type: Input
15897
15910
  }], renderUrlToTextFeature: [{
@@ -15924,12 +15937,13 @@ function ReadDynamicMultiSelectListFieldComponent_div_0_Template(rf, ctx) { if (
15924
15937
  i0.ɵɵelementStart(0, "div");
15925
15938
  i0.ɵɵelement(1, "ccd-markdown", 1);
15926
15939
  i0.ɵɵpipe(2, "ccdFixedList");
15940
+ i0.ɵɵpipe(3, "rpxTranslate");
15927
15941
  i0.ɵɵelementEnd();
15928
15942
  } if (rf & 2) {
15929
15943
  const value_r1 = ctx.$implicit;
15930
15944
  const ctx_r1 = i0.ɵɵnextContext();
15931
15945
  i0.ɵɵadvance();
15932
- i0.ɵɵproperty("content", i0.ɵɵpipeBind2(2, 1, value_r1.code, ctx_r1.caseField.list_items));
15946
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(3, 4, i0.ɵɵpipeBind2(2, 1, value_r1.code, ctx_r1.caseField.list_items)));
15933
15947
  } }
15934
15948
  class ReadDynamicMultiSelectListFieldComponent extends AbstractFieldReadComponent {
15935
15949
  ngOnInit() {
@@ -15947,14 +15961,14 @@ class ReadDynamicMultiSelectListFieldComponent extends AbstractFieldReadComponen
15947
15961
  }
15948
15962
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadDynamicMultiSelectListFieldComponent_BaseFactory; return function ReadDynamicMultiSelectListFieldComponent_Factory(__ngFactoryType__) { return (ɵReadDynamicMultiSelectListFieldComponent_BaseFactory || (ɵReadDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadDynamicMultiSelectListFieldComponent)))(__ngFactoryType__ || ReadDynamicMultiSelectListFieldComponent); }; })();
15949
15963
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadDynamicMultiSelectListFieldComponent, selectors: [["ccd-read-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"], [3, "content"]], template: function ReadDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
15950
- i0.ɵɵtemplate(0, ReadDynamicMultiSelectListFieldComponent_div_0_Template, 3, 4, "div", 0);
15964
+ i0.ɵɵtemplate(0, ReadDynamicMultiSelectListFieldComponent_div_0_Template, 4, 6, "div", 0);
15951
15965
  } if (rf & 2) {
15952
15966
  i0.ɵɵproperty("ngForOf", ctx.caseField.value);
15953
- } }, dependencies: [i5.NgForOf, MarkdownComponent, FixedListPipe], styles: [".multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{padding:5px 0}.multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child > td[_ngcontent-%COMP%]{border-bottom:none}.multi-select-list-field-table[_ngcontent-%COMP%] td.collection-actions[_ngcontent-%COMP%]{width:1px;white-space:nowrap}"] });
15967
+ } }, dependencies: [i5.NgForOf, MarkdownComponent, i1.RpxTranslatePipe, FixedListPipe], styles: [".multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{padding:5px 0}.multi-select-list-field-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child > td[_ngcontent-%COMP%]{border-bottom:none}.multi-select-list-field-table[_ngcontent-%COMP%] td.collection-actions[_ngcontent-%COMP%]{width:1px;white-space:nowrap}"] });
15954
15968
  }
15955
15969
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadDynamicMultiSelectListFieldComponent, [{
15956
15970
  type: Component,
15957
- args: [{ selector: 'ccd-read-dynamic-multi-select-list-field', template: "<div *ngFor=\"let value of caseField.value\">\n <ccd-markdown [content]=\"value.code | ccdFixedList:caseField.list_items\"></ccd-markdown>\n</div>\n", styles: [".multi-select-list-field-table tr>td{padding:5px 0}.multi-select-list-field-table tr:last-child>td{border-bottom:none}.multi-select-list-field-table td.collection-actions{width:1px;white-space:nowrap}\n"] }]
15971
+ args: [{ selector: 'ccd-read-dynamic-multi-select-list-field', template: "<div *ngFor=\"let value of caseField.value\">\n <ccd-markdown [content]=\"value.code | ccdFixedList:caseField.list_items | rpxTranslate\"></ccd-markdown>\n</div>\n", styles: [".multi-select-list-field-table tr>td{padding:5px 0}.multi-select-list-field-table tr:last-child>td{border-bottom:none}.multi-select-list-field-table td.collection-actions{width:1px;white-space:nowrap}\n"] }]
15958
15972
  }], null, null); })();
15959
15973
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadDynamicMultiSelectListFieldComponent, { className: "ReadDynamicMultiSelectListFieldComponent", filePath: "lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.ts", lineNumber: 9 }); })();
15960
15974
 
@@ -15996,6 +16010,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
15996
16010
  i0.ɵɵelementEnd();
15997
16011
  i0.ɵɵelementStart(3, "label", 10);
15998
16012
  i0.ɵɵelement(4, "ccd-markdown", 11);
16013
+ i0.ɵɵpipe(5, "rpxTranslate");
15999
16014
  i0.ɵɵelementEnd()();
16000
16015
  i0.ɵɵelementContainerEnd();
16001
16016
  } if (rf & 2) {
@@ -16008,7 +16023,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
16008
16023
  i0.ɵɵadvance();
16009
16024
  i0.ɵɵpropertyInterpolate("for", ctx_r0.createElementId(checkbox_r3.code));
16010
16025
  i0.ɵɵadvance();
16011
- i0.ɵɵproperty("content", checkbox_r3.label)("renderUrlToTextFeature", false);
16026
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(5, 7, checkbox_r3.label))("renderUrlToTextFeature", false);
16012
16027
  } }
16013
16028
  class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
16014
16029
  checkboxes;
@@ -16076,7 +16091,7 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
16076
16091
  i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
16077
16092
  i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1)(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2)(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
16078
16093
  i0.ɵɵelementEnd();
16079
- i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
16094
+ i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 6, 9, "ng-container", 4);
16080
16095
  i0.ɵɵelementEnd()();
16081
16096
  } if (rf & 2) {
16082
16097
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$P, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
@@ -16088,11 +16103,11 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
16088
16103
  i0.ɵɵproperty("ngIf", ctx.checkboxes.errors && ctx.checkboxes.touched);
16089
16104
  i0.ɵɵadvance();
16090
16105
  i0.ɵɵproperty("ngForOf", ctx.caseField.list_items);
16091
- } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
16106
+ } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
16092
16107
  }
16093
16108
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
16094
16109
  type: Component,
16095
- 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"] }]
16110
+ 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 | rpxTranslate\" [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"] }]
16096
16111
  }], null, null); })();
16097
16112
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDynamicMultiSelectListFieldComponent, { className: "WriteDynamicMultiSelectListFieldComponent", filePath: "lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.ts", lineNumber: 10 }); })();
16098
16113
 
@@ -20784,6 +20799,7 @@ class QueryListItem {
20784
20799
  createdBy;
20785
20800
  parentId;
20786
20801
  isClosed;
20802
+ messageType;
20787
20803
  children = [];
20788
20804
  messageIndexInParent = null;
20789
20805
  get lastSubmittedMessage() {
@@ -20810,14 +20826,34 @@ class QueryListItem {
20810
20826
  }
20811
20827
  get lastSubmittedDate() {
20812
20828
  const childrenCount = this.children.length;
20813
- if (childrenCount <= 1) {
20829
+ const lastChild = this.children[childrenCount - 1];
20830
+ // 1. Check for legacy: <= 1 child with no messageType
20831
+ const allChildrenLackMessageType = this.children.every((child) => !child.messageType);
20832
+ if (childrenCount <= 1 && allChildrenLackMessageType) {
20814
20833
  return new Date(this.lastSubmittedMessage.createdOn);
20815
20834
  }
20816
- let index;
20817
- if (childrenCount > 1) {
20818
- index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
20835
+ // 2. Check if any RESPOND exists
20836
+ const hasRespond = this.children.some((child) => child.messageType === QueryCreateContext.RESPOND);
20837
+ // 3. Check if all children are FOLLOWUPs and none are RESPONDs
20838
+ const onlyFollowUps = this.children.every((child) => child.messageType === QueryCreateContext.FOLLOWUP);
20839
+ if (onlyFollowUps && !hasRespond) {
20840
+ return new Date(lastChild.createdOn);
20819
20841
  }
20820
- return new Date(this.children[index].createdOn);
20842
+ // 4. If RESPOND exists, get latest FOLLOWUP
20843
+ // If no RESPOND, but there is at least one FOLLOWUP, return the last FOLLOWUP
20844
+ const lastFollowUp = [...this.children]
20845
+ .reverse()
20846
+ .find((child) => child.messageType === QueryCreateContext.FOLLOWUP);
20847
+ if (lastFollowUp) {
20848
+ return new Date(lastFollowUp.createdOn);
20849
+ }
20850
+ // 5. Legacy fallback: no messageType at all
20851
+ if (allChildrenLackMessageType) {
20852
+ const index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
20853
+ return new Date(this.children[index]?.createdOn);
20854
+ }
20855
+ // 6. Final fallback: return last child's date
20856
+ return new Date(this.lastSubmittedMessage.createdOn);
20821
20857
  }
20822
20858
  get lastResponseBy() {
20823
20859
  return this.children?.length > 0 ? this.lastSubmittedMessage.name : '';
@@ -20827,6 +20863,11 @@ class QueryListItem {
20827
20863
  if (childrenCount === 0) {
20828
20864
  return null;
20829
20865
  }
20866
+ const lastChild = this.children[childrenCount - 1];
20867
+ if (lastChild?.messageType === QueryCreateContext.FOLLOWUP &&
20868
+ !this.children.some((child) => child.messageType === QueryCreateContext.RESPOND)) {
20869
+ return null;
20870
+ }
20830
20871
  let index;
20831
20872
  if (childrenCount === 1) {
20832
20873
  index = 0;
@@ -20841,11 +20882,20 @@ class QueryListItem {
20841
20882
  if (item.isClosed === 'Yes') {
20842
20883
  return true;
20843
20884
  }
20844
- return item.children?.some(child => isThreadClosed(child)) || false;
20885
+ return item.children?.some((child) => isThreadClosed(child)) || false;
20845
20886
  };
20846
20887
  if (isThreadClosed(this)) {
20847
20888
  return QueryItemResponseStatus.CLOSED;
20848
20889
  }
20890
+ const lastMessageType = this.children?.length
20891
+ ? this.children[this.children.length - 1]?.messageType
20892
+ : undefined;
20893
+ if (lastMessageType && lastMessageType === QueryCreateContext.RESPOND) {
20894
+ return QueryItemResponseStatus.RESPONDED;
20895
+ }
20896
+ else if (lastMessageType && lastMessageType === QueryCreateContext.FOLLOWUP) {
20897
+ return QueryItemResponseStatus.AWAITING;
20898
+ }
20849
20899
  if (this.messageIndexInParent !== null) {
20850
20900
  return this.messageIndexInParent % 2 === 0
20851
20901
  ? QueryItemResponseStatus.RESPONDED
@@ -20934,16 +20984,22 @@ class QueryManagementUtils {
20934
20984
  isHearingRelated,
20935
20985
  hearingDate,
20936
20986
  createdOn: new Date(),
20937
- createdBy: currentUserId
20987
+ createdBy: currentUserId,
20988
+ messageType: QueryCreateContext.FOLLOWUP // Default to value new queries will be FOLLOWUP
20938
20989
  };
20939
20990
  }
20940
- static getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails) {
20991
+ static getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails, messageTypeParam) {
20941
20992
  const currentUserId = currentUserDetails?.uid || currentUserDetails?.id;
20942
20993
  const currentUserName = currentUserDetails?.name || `${currentUserDetails?.forename} ${currentUserDetails?.surname}`;
20943
20994
  const body = formGroup.get('body').value.trim();
20944
20995
  const attachments = formGroup.get('attachments').value;
20945
20996
  const formDocument = attachments.map((document) => this.documentToCollectionFormDocument(document));
20946
20997
  const isClosed = formGroup.get('closeQuery').value ? 'Yes' : 'No';
20998
+ const messageType = messageTypeParam === QueryCreateContext.RESPOND
20999
+ ? QueryCreateContext.RESPOND
21000
+ : messageTypeParam === QueryCreateContext.FOLLOWUP
21001
+ ? QueryCreateContext.FOLLOWUP
21002
+ : undefined;
20947
21003
  return {
20948
21004
  id: v4(),
20949
21005
  subject: queryItem.subject.trim(),
@@ -20955,7 +21011,8 @@ class QueryManagementUtils {
20955
21011
  createdOn: new Date(),
20956
21012
  createdBy: currentUserId,
20957
21013
  parentId: queryItem.id,
20958
- isClosed
21014
+ isClosed,
21015
+ messageType
20959
21016
  };
20960
21017
  }
20961
21018
  static isObject(elem) {
@@ -21003,7 +21060,7 @@ class QueryManagementService {
21003
21060
  }
21004
21061
  const caseMessage = queryCreateContext === QueryCreateContext.NEW_QUERY
21005
21062
  ? QueryManagementUtils.getNewQueryData(formGroup, currentUserDetails)
21006
- : QueryManagementUtils.getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails);
21063
+ : QueryManagementUtils.getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails, queryCreateContext);
21007
21064
  const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
21008
21065
  // Check if the field ID has been set dynamically
21009
21066
  if (!this.fieldId) {
@@ -21742,6 +21799,7 @@ class QueryCheckYourAnswersComponent {
21742
21799
  queryItem;
21743
21800
  queryCreateContext;
21744
21801
  eventData = null;
21802
+ multipleFollowUpFeature;
21745
21803
  qmCaseQueriesCollectionData;
21746
21804
  backClicked = new EventEmitter();
21747
21805
  querySubmitted = new EventEmitter();
@@ -21935,7 +21993,7 @@ class QueryCheckYourAnswersComponent {
21935
21993
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
21936
21994
  }
21937
21995
  static ɵfac = function QueryCheckYourAnswersComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryCheckYourAnswersComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(QualifyingQuestionService), i0.ɵɵdirectiveInject(QueryManagementService), i0.ɵɵdirectiveInject(ErrorNotifierService), i0.ɵɵdirectiveInject(AlertService)); };
21938
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCheckYourAnswersComponent, selectors: [["ccd-query-check-your-answers"]], inputs: { formGroup: "formGroup", queryItem: "queryItem", queryCreateContext: "queryCreateContext", eventData: "eventData", qmCaseQueriesCollectionData: "qmCaseQueriesCollectionData" }, outputs: { backClicked: "backClicked", querySubmitted: "querySubmitted", callbackConfirmationMessage: "callbackConfirmationMessage" }, decls: 1, vars: 1, consts: [["defaultCheckYourAnswersTitle", ""], ["isHearingRelatedFalse", ""], ["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds-from-desktop"], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "callbackErrorsSubject"], [4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfElse"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], ["class", "govuk-summary-list govuk-!-margin-bottom-0", 4, "ngIf"], [1, "govuk-summary-list", "govuk-!-margin-bottom-0"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-right-3", 3, "click"], ["data-module", "govuk-button", "type", "submit", 1, "govuk-button", 3, "click"], [3, "eventCompletionParams"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["href", "javascript:void(0)", 1, "validation-error", 3, "id"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "event_error-summary-heading", 1, "heading-h3", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], ["class", "ccd-error-summary-li", 4, "ngFor", "ngForOf"], [1, "ccd-error-summary-li"], [1, "govuk-caption-l"], ["href", "javascript:void(0)", "class", "govuk-link", 3, "click", 4, "ngIf"], ["class", "govuk-summary-list__row", 4, "ngIf"], [1, "govuk-summary-list__value", "govuk-summary-list__value--documentAttached"], [3, "attachments", 4, "ngIf"], [3, "attachments"]], template: function QueryCheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
21996
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCheckYourAnswersComponent, selectors: [["ccd-query-check-your-answers"]], inputs: { formGroup: "formGroup", queryItem: "queryItem", queryCreateContext: "queryCreateContext", eventData: "eventData", multipleFollowUpFeature: "multipleFollowUpFeature", qmCaseQueriesCollectionData: "qmCaseQueriesCollectionData" }, outputs: { backClicked: "backClicked", querySubmitted: "querySubmitted", callbackConfirmationMessage: "callbackConfirmationMessage" }, decls: 1, vars: 1, consts: [["defaultCheckYourAnswersTitle", ""], ["isHearingRelatedFalse", ""], ["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds-from-desktop"], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "callbackErrorsSubject"], [4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfElse"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], ["class", "govuk-summary-list govuk-!-margin-bottom-0", 4, "ngIf"], [1, "govuk-summary-list", "govuk-!-margin-bottom-0"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-right-3", 3, "click"], ["data-module", "govuk-button", "type", "submit", 1, "govuk-button", 3, "click"], [3, "eventCompletionParams"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["href", "javascript:void(0)", 1, "validation-error", 3, "id"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "event_error-summary-heading", 1, "heading-h3", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], ["class", "ccd-error-summary-li", 4, "ngFor", "ngForOf"], [1, "ccd-error-summary-li"], [1, "govuk-caption-l"], ["href", "javascript:void(0)", "class", "govuk-link", 3, "click", 4, "ngIf"], ["class", "govuk-summary-list__row", 4, "ngIf"], [1, "govuk-summary-list__value", "govuk-summary-list__value--documentAttached"], [3, "attachments", 4, "ngIf"], [3, "attachments"]], template: function QueryCheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
21939
21997
  i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 36, 25, "div", 2);
21940
21998
  } if (rf & 2) {
21941
21999
  i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
@@ -21952,6 +22010,8 @@ class QueryCheckYourAnswersComponent {
21952
22010
  type: Input
21953
22011
  }], eventData: [{
21954
22012
  type: Input
22013
+ }], multipleFollowUpFeature: [{
22014
+ type: Input
21955
22015
  }], qmCaseQueriesCollectionData: [{
21956
22016
  type: Input
21957
22017
  }], backClicked: [{
@@ -22173,10 +22233,12 @@ function QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_Tem
22173
22233
  i0.ɵɵtemplate(1, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_container_1_Template, 23, 19, "ng-container", 15)(2, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_template_2_Template, 27, 22, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
22174
22234
  i0.ɵɵelementContainerEnd();
22175
22235
  } if (rf & 2) {
22236
+ const child_r3 = ctx.$implicit;
22176
22237
  const i_r4 = ctx.index;
22177
22238
  const followUpMessage_r5 = i0.ɵɵreference(3);
22239
+ const ctx_r1 = i0.ɵɵnextContext(3);
22178
22240
  i0.ɵɵadvance();
22179
- i0.ɵɵproperty("ngIf", i_r4 % 2 === 0)("ngIfElse", followUpMessage_r5);
22241
+ i0.ɵɵproperty("ngIf", i_r4 % 2 === 0 && !(child_r3 == null ? null : child_r3.messageType) || child_r3 && (child_r3 == null ? null : child_r3.messageType) === ctx_r1.respondToQuery)("ngIfElse", followUpMessage_r5);
22180
22242
  } }
22181
22243
  function QueryDetailsComponent_ng_container_0_ng_container_44_Template(rf, ctx) { if (rf & 1) {
22182
22244
  i0.ɵɵelementContainerStart(0);
@@ -22280,6 +22342,8 @@ class QueryDetailsComponent {
22280
22342
  sessionStorageService;
22281
22343
  route;
22282
22344
  router;
22345
+ abstractConfig;
22346
+ caseNotifier;
22283
22347
  query;
22284
22348
  caseId;
22285
22349
  queryResponseStatus;
@@ -22289,10 +22353,18 @@ class QueryDetailsComponent {
22289
22353
  static QUERY_ITEM_RESPOND = '3';
22290
22354
  static QUERY_ITEM_FOLLOW_UP = '4';
22291
22355
  queryItemId;
22292
- constructor(sessionStorageService, route, router) {
22356
+ followUpQuery = QueryCreateContext.FOLLOWUP;
22357
+ respondToQuery = QueryCreateContext.RESPOND;
22358
+ enableServiceSpecificMultiFollowups;
22359
+ currentJurisdictionId;
22360
+ isMultipleFollowUpEnabled = false;
22361
+ caseSubscription;
22362
+ constructor(sessionStorageService, route, router, abstractConfig, caseNotifier) {
22293
22363
  this.sessionStorageService = sessionStorageService;
22294
22364
  this.route = route;
22295
22365
  this.router = router;
22366
+ this.abstractConfig = abstractConfig;
22367
+ this.caseNotifier = caseNotifier;
22296
22368
  }
22297
22369
  onBack() {
22298
22370
  this.backClicked.emit(true);
@@ -22300,10 +22372,23 @@ class QueryDetailsComponent {
22300
22372
  isInternalUser() {
22301
22373
  return isInternalUser(this.sessionStorageService);
22302
22374
  }
22375
+ ngOnInit() {
22376
+ this.enableServiceSpecificMultiFollowups = this.abstractConfig.getEnableServiceSpecificMultiFollowups() || [];
22377
+ this.caseSubscription = this.caseNotifier.caseView.subscribe((caseView) => {
22378
+ if (caseView?.case_type?.jurisdiction?.id) {
22379
+ this.currentJurisdictionId = caseView.case_type.jurisdiction.id;
22380
+ this.isMultipleFollowUpEnabled = this.enableServiceSpecificMultiFollowups.includes(this.currentJurisdictionId);
22381
+ this.hasRespondedToQuery();
22382
+ }
22383
+ });
22384
+ }
22303
22385
  ngOnChanges() {
22304
22386
  this.toggleLinkVisibility();
22305
22387
  this.hasRespondedToQuery();
22306
22388
  }
22389
+ ngOnDestroy() {
22390
+ this.caseSubscription?.unsubscribe();
22391
+ }
22307
22392
  toggleLinkVisibility() {
22308
22393
  this.queryItemId = this.route.snapshot.params.qid;
22309
22394
  if (this.queryItemId === QueryDetailsComponent.QUERY_ITEM_RESPOND || this.queryItemId === QueryDetailsComponent.QUERY_ITEM_FOLLOW_UP) {
@@ -22316,6 +22401,24 @@ class QueryDetailsComponent {
22316
22401
  this.hasResponded.emit(true);
22317
22402
  return true;
22318
22403
  }
22404
+ const lastChild = this.query?.children?.[this.query.children.length - 1];
22405
+ const lastMessageType = this.query?.children?.length
22406
+ ? this.query.children[this.query.children.length - 1]?.messageType
22407
+ : this.query?.messageType;
22408
+ const isFollowUp = lastMessageType === this.followUpQuery;
22409
+ const isRespond = lastChild?.messageType === this.respondToQuery;
22410
+ if (this.queryResponseStatus === QueryItemResponseStatus.CLOSED) {
22411
+ this.hasResponded.emit(true);
22412
+ return true;
22413
+ }
22414
+ if (isFollowUp && this.isMultipleFollowUpEnabled) {
22415
+ this.hasResponded.emit(false);
22416
+ return false;
22417
+ }
22418
+ if (isRespond) {
22419
+ this.hasResponded.emit(false);
22420
+ return false;
22421
+ }
22319
22422
  if (this.isInternalUser()) {
22320
22423
  if (isAwaiting) {
22321
22424
  this.hasResponded.emit(false);
@@ -22331,7 +22434,7 @@ class QueryDetailsComponent {
22331
22434
  this.hasResponded.emit(false);
22332
22435
  return false;
22333
22436
  }
22334
- static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router)); };
22437
+ static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CaseNotifier)); };
22335
22438
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryDetailsComponent, selectors: [["ccd-query-details"]], inputs: { query: "query", caseId: "caseId", queryResponseStatus: "queryResponseStatus" }, outputs: { backClicked: "backClicked", hasResponded: "hasResponded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["followUpMessage", ""], [4, "ngIf"], [1, "govuk-table", "query-details-table"], [1, "govuk-table__caption", "govuk-table__caption--l"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row govuk-table__row--isHearingRelated", 4, "ngIf"], ["class", "govuk-table__row", 4, "ngIf"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-table__row", "govuk-table__row--isHearingRelated"], [3, "attachments", 4, "ngIf"], [3, "attachments"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"]], template: function QueryDetailsComponent_Template(rf, ctx) { if (rf & 1) {
22336
22439
  i0.ɵɵtemplate(0, QueryDetailsComponent_ng_container_0_Template, 45, 41, "ng-container", 1);
22337
22440
  } if (rf & 2) {
@@ -22340,8 +22443,8 @@ class QueryDetailsComponent {
22340
22443
  }
22341
22444
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
22342
22445
  type: Component,
22343
- args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <br />\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
22344
- }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }], { query: [{
22446
+ args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <br />\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"(i % 2 === 0 && !child?.messageType) || (child && child?.messageType === respondToQuery); else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
22447
+ }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: AbstractAppConfig }, { type: CaseNotifier }], { query: [{
22345
22448
  type: Input
22346
22449
  }], caseId: [{
22347
22450
  type: Input
@@ -22352,7 +22455,7 @@ class QueryDetailsComponent {
22352
22455
  }], hasResponded: [{
22353
22456
  type: Output
22354
22457
  }] }); })();
22355
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 14 }); })();
22458
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 17 }); })();
22356
22459
 
22357
22460
  class QueryEventCompletionComponent {
22358
22461
  eventCompletionParams;
@@ -23428,7 +23531,7 @@ class CloseQueryComponent {
23428
23531
  const _c0$B = (a0, a1) => ["/query-management", "query", a0, "4", a1];
23429
23532
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
23430
23533
  const _r1 = i0.ɵɵgetCurrentView();
23431
- i0.ɵɵelementStart(0, "div", 5)(1, "ccd-query-list", 6);
23534
+ i0.ɵɵelementStart(0, "div", 6)(1, "ccd-query-list", 7);
23432
23535
  i0.ɵɵlistener("selectedQuery", function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template_ccd_query_list_selectedQuery_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setQuery($event)); });
23433
23536
  i0.ɵɵelementEnd()();
23434
23537
  } if (rf & 2) {
@@ -23438,7 +23541,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_T
23438
23541
  } }
23439
23542
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23440
23543
  i0.ɵɵelementContainerStart(0);
23441
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template, 2, 1, "div", 4);
23544
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template, 2, 1, "div", 5);
23442
23545
  i0.ɵɵelementContainerEnd();
23443
23546
  } if (rf & 2) {
23444
23547
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -23447,7 +23550,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Templat
23447
23550
  } }
23448
23551
  function ReadQueryManagementFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
23449
23552
  i0.ɵɵelementContainerStart(0);
23450
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template, 2, 1, "ng-container", 3);
23553
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template, 2, 1, "ng-container", 4);
23451
23554
  i0.ɵɵelementContainerEnd();
23452
23555
  } if (rf & 2) {
23453
23556
  const ctx_r1 = i0.ɵɵnextContext();
@@ -23456,7 +23559,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_Template(rf, ctx) { if
23456
23559
  } }
23457
23560
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23458
23561
  i0.ɵɵelementContainerStart(0);
23459
- i0.ɵɵelementStart(1, "button", 9);
23562
+ i0.ɵɵelementStart(1, "button", 10);
23460
23563
  i0.ɵɵtext(2);
23461
23564
  i0.ɵɵpipe(3, "rpxTranslate");
23462
23565
  i0.ɵɵelementEnd();
@@ -23468,8 +23571,22 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_conta
23468
23571
  i0.ɵɵadvance();
23469
23572
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
23470
23573
  } }
23471
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
23472
- i0.ɵɵelementStart(0, "div")(1, "p", 10);
23574
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
23575
+ i0.ɵɵelementContainerStart(0);
23576
+ i0.ɵɵelementStart(1, "button", 10);
23577
+ i0.ɵɵtext(2);
23578
+ i0.ɵɵpipe(3, "rpxTranslate");
23579
+ i0.ɵɵelementEnd();
23580
+ i0.ɵɵelementContainerEnd();
23581
+ } if (rf & 2) {
23582
+ const ctx_r1 = i0.ɵɵnextContext(4);
23583
+ i0.ɵɵadvance();
23584
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(4, _c0$B, ctx_r1.caseId, ctx_r1.query.id));
23585
+ i0.ɵɵadvance();
23586
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
23587
+ } }
23588
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23589
+ i0.ɵɵelementStart(0, "div")(1, "p", 11);
23473
23590
  i0.ɵɵtext(2);
23474
23591
  i0.ɵɵpipe(3, "rpxTranslate");
23475
23592
  i0.ɵɵelementEnd();
@@ -23483,25 +23600,32 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_templ
23483
23600
  i0.ɵɵadvance(3);
23484
23601
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and respond. Do not submit the same query more than once."));
23485
23602
  } }
23603
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
23604
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_container_0_Template, 4, 7, "ng-container", 3)(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_template_1_Template, 7, 6, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
23605
+ } if (rf & 2) {
23606
+ const queryIsInReview_r5 = i0.ɵɵreference(2);
23607
+ const ctx_r1 = i0.ɵɵnextContext(3);
23608
+ i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0 && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 1)("ngIfElse", queryIsInReview_r5);
23609
+ } }
23486
23610
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23487
23611
  i0.ɵɵelementContainerStart(0);
23488
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template, 4, 7, "ng-container", 2)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template, 7, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
23612
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template, 4, 7, "ng-container", 3)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template, 3, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
23489
23613
  i0.ɵɵelementContainerEnd();
23490
23614
  } if (rf & 2) {
23491
- const queryIsInReview_r5 = i0.ɵɵreference(3);
23615
+ const sequentialQuery_r6 = i0.ɵɵreference(3);
23492
23616
  const ctx_r1 = i0.ɵɵnextContext(2);
23493
23617
  i0.ɵɵadvance();
23494
- i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0 && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 1)("ngIfElse", queryIsInReview_r5);
23618
+ i0.ɵɵproperty("ngIf", ctx_r1.messageType && ctx_r1.messageType === ctx_r1.followUpQuery && ctx_r1.isMultipleFollowUpEnabled || ctx_r1.messageType && ctx_r1.messageType === ctx_r1.respondToQuery)("ngIfElse", sequentialQuery_r6);
23495
23619
  } }
23496
23620
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
23497
23621
  i0.ɵɵelementContainerStart(0);
23498
- i0.ɵɵelementStart(1, "div", 11)(2, "span", 12);
23622
+ i0.ɵɵelementStart(1, "div", 12)(2, "span", 13);
23499
23623
  i0.ɵɵtext(3, "!");
23500
23624
  i0.ɵɵelementEnd();
23501
- i0.ɵɵelementStart(4, "strong", 13)(5, "span", 14);
23625
+ i0.ɵɵelementStart(4, "strong", 14)(5, "span", 15);
23502
23626
  i0.ɵɵtext(6, "Warning");
23503
23627
  i0.ɵɵelementEnd();
23504
- i0.ɵɵelementStart(7, "p", 15);
23628
+ i0.ɵɵelementStart(7, "p", 16);
23505
23629
  i0.ɵɵtext(8);
23506
23630
  i0.ɵɵpipe(9, "rpxTranslate");
23507
23631
  i0.ɵɵelementEnd()()();
@@ -23512,10 +23636,10 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template
23512
23636
  } }
23513
23637
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23514
23638
  const _r4 = i0.ɵɵgetCurrentView();
23515
- i0.ɵɵelementStart(0, "ccd-query-details", 7);
23639
+ i0.ɵɵelementStart(0, "ccd-query-details", 8);
23516
23640
  i0.ɵɵlistener("backClicked", function ReadQueryManagementFieldComponent_ng_template_1_Template_ccd_query_details_backClicked_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showQueryList = true); });
23517
23641
  i0.ɵɵelementEnd();
23518
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template, 10, 3, "ng-container", 8);
23642
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 9)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template, 10, 3, "ng-container", 9);
23519
23643
  } if (rf & 2) {
23520
23644
  const ctx_r1 = i0.ɵɵnextContext();
23521
23645
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
@@ -23528,19 +23652,36 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23528
23652
  route;
23529
23653
  sessionStorageService;
23530
23654
  caseNotifier;
23655
+ abstractConfig;
23531
23656
  caseQueriesCollections;
23532
23657
  query;
23533
23658
  showQueryList = true;
23534
23659
  caseId;
23660
+ messageType;
23661
+ followUpQuery = QueryCreateContext.FOLLOWUP;
23662
+ respondToQuery = QueryCreateContext.RESPOND;
23535
23663
  isQueryClosed = false;
23536
- constructor(route, sessionStorageService, caseNotifier) {
23664
+ value;
23665
+ isMultipleFollowUpEnabled = false;
23666
+ currentJurisdictionId;
23667
+ enableServiceSpecificMultiFollowups = [];
23668
+ caseSubscription;
23669
+ constructor(route, sessionStorageService, caseNotifier, abstractConfig) {
23537
23670
  super();
23538
23671
  this.route = route;
23539
23672
  this.sessionStorageService = sessionStorageService;
23540
23673
  this.caseNotifier = caseNotifier;
23674
+ this.abstractConfig = abstractConfig;
23541
23675
  }
23542
23676
  ngOnInit() {
23543
23677
  this.caseId = this.route.snapshot.params.cid;
23678
+ this.enableServiceSpecificMultiFollowups = this.abstractConfig.getEnableServiceSpecificMultiFollowups() || [];
23679
+ this.caseSubscription = this.caseNotifier.caseView.subscribe((caseDetails) => {
23680
+ if (caseDetails?.case_type?.jurisdiction?.id) {
23681
+ this.currentJurisdictionId = caseDetails.case_type.jurisdiction.id;
23682
+ this.isMultipleFollowUpEnabled = this.enableServiceSpecificMultiFollowups.includes(this.currentJurisdictionId);
23683
+ }
23684
+ });
23544
23685
  if (this.context === PaletteContext.DEFAULT) {
23545
23686
  // EUI-8303 Using mock data until CCD is ready with the API and data contract
23546
23687
  // this.caseQueriesCollections = caseMessagesMockData;
@@ -23566,9 +23707,13 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23566
23707
  // QueryManagementUtils.extractCaseQueriesFromCaseField();
23567
23708
  }
23568
23709
  }
23710
+ ngOnDestroy() {
23711
+ this.caseSubscription?.unsubscribe();
23712
+ }
23569
23713
  setQuery(query) {
23570
23714
  this.showQueryList = false;
23571
23715
  this.query = query;
23716
+ this.messageType = this.getMessageType(query);
23572
23717
  this.isQueryClosed = this.query?.children?.some((queryItem) => queryItem?.isClosed === 'Yes');
23573
23718
  }
23574
23719
  backToQueryListPage() {
@@ -23578,19 +23723,27 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23578
23723
  isInternalUser() {
23579
23724
  return isInternalUser(this.sessionStorageService);
23580
23725
  }
23581
- static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier)); };
23582
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [1, "qm-service-message", "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
23583
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23726
+ getMessageType(query) {
23727
+ if (!query) {
23728
+ return undefined;
23729
+ }
23730
+ return query.children?.length
23731
+ ? query.children[query.children.length - 1]?.messageType
23732
+ : query?.messageType;
23733
+ }
23734
+ static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
23735
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["sequentialQuery", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [1, "qm-service-message", "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
23736
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 3)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23584
23737
  } if (rf & 2) {
23585
- const singleQueryDetails_r6 = i0.ɵɵreference(2);
23586
- i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
23738
+ const singleQueryDetails_r7 = i0.ɵɵreference(2);
23739
+ i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r7);
23587
23740
  } }, encapsulation: 2 });
23588
23741
  }
23589
23742
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23590
23743
  type: Component,
23591
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23592
- }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
23593
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
23744
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed\">\n <ng-container *ngIf=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n <ng-template #sequentialQuery>\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-template>\n\n </ng-container>\n <ng-container *ngIf=\"isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by HMCTS staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23745
+ }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
23746
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 18 }); })();
23594
23747
 
23595
23748
  class ReadTextAreaFieldComponent extends AbstractFieldReadComponent {
23596
23749
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadTextAreaFieldComponent_BaseFactory; return function ReadTextAreaFieldComponent_Factory(__ngFactoryType__) { return (ɵReadTextAreaFieldComponent_BaseFactory || (ɵReadTextAreaFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadTextAreaFieldComponent)))(__ngFactoryType__ || ReadTextAreaFieldComponent); }; })();
@@ -24553,7 +24706,7 @@ class CaseFileViewOverlayMenuComponent {
24553
24706
  const trigger_r5 = i0.ɵɵreference(2);
24554
24707
  i0.ɵɵadvance(4);
24555
24708
  i0.ɵɵproperty("cdkConnectedOverlayOrigin", trigger_r5)("cdkConnectedOverlayOpen", ctx.isOpen)("cdkConnectedOverlayHasBackdrop", true)("cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop");
24556
- } }, dependencies: [i5.NgForOf, i5.NgIf, i2$2.CdkConnectedOverlay, i2$2.CdkOverlayOrigin], styles: [".overlay-toggle[_ngcontent-%COMP%]{display:block;background:none;border:0;padding:0 6px;margin-right:-4px;cursor:pointer}.overlay-menu[_ngcontent-%COMP%]{background-color:#fafafa;border:1px solid grey;margin-top:8px;font-size:1rem}.overlay-menu__title[_ngcontent-%COMP%], .overlay-menu__item[_ngcontent-%COMP%]{padding:10px;border-bottom:1px solid grey}.overlay-menu__title[_ngcontent-%COMP%]:last-child, .overlay-menu__item[_ngcontent-%COMP%]:last-child{border:none}.overlay-menu__title[_ngcontent-%COMP%]{padding-left:6px;padding-right:6px}.overlay-menu__item[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-size:.875em}.overlay-menu__item[_ngcontent-%COMP%]:hover{background-color:#fff2cc}.overlay-menu__item[_ngcontent-%COMP%]:focus{border:2px solid #ffbf47}.overlay-menu__itemIcon[_ngcontent-%COMP%]{height:1.25em;width:1.25em;margin-right:6px}"] });
24709
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i2$1.CdkConnectedOverlay, i2$1.CdkOverlayOrigin], styles: [".overlay-toggle[_ngcontent-%COMP%]{display:block;background:none;border:0;padding:0 6px;margin-right:-4px;cursor:pointer}.overlay-menu[_ngcontent-%COMP%]{background-color:#fafafa;border:1px solid grey;margin-top:8px;font-size:1rem}.overlay-menu__title[_ngcontent-%COMP%], .overlay-menu__item[_ngcontent-%COMP%]{padding:10px;border-bottom:1px solid grey}.overlay-menu__title[_ngcontent-%COMP%]:last-child, .overlay-menu__item[_ngcontent-%COMP%]:last-child{border:none}.overlay-menu__title[_ngcontent-%COMP%]{padding-left:6px;padding-right:6px}.overlay-menu__item[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-size:.875em}.overlay-menu__item[_ngcontent-%COMP%]:hover{background-color:#fff2cc}.overlay-menu__item[_ngcontent-%COMP%]:focus{border:2px solid #ffbf47}.overlay-menu__itemIcon[_ngcontent-%COMP%]{height:1.25em;width:1.25em;margin-right:6px}"] });
24557
24710
  }
24558
24711
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewOverlayMenuComponent, [{
24559
24712
  type: Component,
@@ -24629,18 +24782,20 @@ class CaseFileViewFolderSortComponent {
24629
24782
  sortDescending = new EventEmitter();
24630
24783
  overlayMenuItems = [
24631
24784
  { actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24632
- { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) }
24785
+ { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24633
24786
  ];
24634
24787
  constructor(appConfig) {
24635
24788
  this.appConfig = appConfig;
24636
24789
  }
24637
24790
  ngOnInit() {
24638
- this.overlayMenuItems = [
24639
- { actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24640
- { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24641
- { actionText: 'Recent first', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
24642
- { actionText: 'Oldest first', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) }
24643
- ];
24791
+ if (this.appConfig.getEnableCaseFileViewVersion1_1()) {
24792
+ this.overlayMenuItems = [
24793
+ { actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24794
+ { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
24795
+ { actionText: 'Recent first', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
24796
+ { actionText: 'Oldest first', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
24797
+ ];
24798
+ }
24644
24799
  }
24645
24800
  static ɵfac = function CaseFileViewFolderSortComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFolderSortComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig)); };
24646
24801
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderSortComponent, selectors: [["ccd-case-file-view-folder-sort"]], outputs: { sortAscending: "sortAscending", sortDescending: "sortDescending" }, decls: 3, vars: 3, consts: [[3, "isOpenChange", "title", "menuItems", "isOpen"], ["trigger", ""], ["src", "/assets/img/sort/sort-arrows.svg", "alt", "Sort Arrows", 1, "sort-button-icon"]], template: function CaseFileViewFolderSortComponent_Template(rf, ctx) { if (rf & 1) {
@@ -25039,7 +25194,8 @@ class CaseFileViewFolderComponent {
25039
25194
  documentTreeNode.document_filename = document.document_filename;
25040
25195
  documentTreeNode.document_binary_url = document.document_binary_url;
25041
25196
  documentTreeNode.attribute_path = document.attribute_path;
25042
- documentTreeNode.upload_timestamp = document.upload_timestamp ? document.upload_timestamp.toString() : '';
25197
+ documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
25198
+ && document.upload_timestamp ? document.upload_timestamp.toString() : '';
25043
25199
  documentsToReturn.push(documentTreeNode);
25044
25200
  });
25045
25201
  return documentsToReturn;
@@ -25053,7 +25209,8 @@ class CaseFileViewFolderComponent {
25053
25209
  documentTreeNode.document_filename = document.document_filename;
25054
25210
  documentTreeNode.document_binary_url = document.document_binary_url;
25055
25211
  documentTreeNode.attribute_path = document.attribute_path;
25056
- documentTreeNode.upload_timestamp = document.upload_timestamp ? document.upload_timestamp.toString() : '';
25212
+ documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
25213
+ && document.upload_timestamp ? document.upload_timestamp.toString() : '';
25057
25214
  documents.push(documentTreeNode);
25058
25215
  });
25059
25216
  const uncategorisedNode = new DocumentTreeNode();
@@ -30240,7 +30397,6 @@ class MarkdownComponentModule {
30240
30397
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MarkdownComponentModule });
30241
30398
  static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
30242
30399
  ReactiveFormsModule,
30243
- RpxTranslationModule.forChild(),
30244
30400
  PipesModule,
30245
30401
  MarkdownModule.forRoot(),
30246
30402
  RouterModule] });
@@ -30255,7 +30411,6 @@ class MarkdownComponentModule {
30255
30411
  imports: [
30256
30412
  CommonModule,
30257
30413
  ReactiveFormsModule,
30258
- RpxTranslationModule.forChild(),
30259
30414
  PipesModule,
30260
30415
  MarkdownModule.forRoot(),
30261
30416
  RouterModule
@@ -30268,7 +30423,8 @@ class MarkdownComponentModule {
30268
30423
  }], null, null); })();
30269
30424
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MarkdownComponentModule, { declarations: [MarkdownComponent,
30270
30425
  RouterLinkComponent], imports: [CommonModule,
30271
- ReactiveFormsModule, i1.RpxTranslationModule, PipesModule, i2$1.MarkdownModule, RouterModule], exports: [MarkdownComponent,
30426
+ ReactiveFormsModule,
30427
+ PipesModule, i1$4.MarkdownModule, RouterModule], exports: [MarkdownComponent,
30272
30428
  RouterLinkComponent] }); })();
30273
30429
 
30274
30430
  class FeeValue {
@@ -31118,7 +31274,7 @@ class PaletteModule {
31118
31274
  FormModule,
31119
31275
  TabsModule,
31120
31276
  LabelSubstitutorModule,
31121
- TranslatedMarkdownModule, i2$1.MarkdownModule, NgxMatDatetimePickerModule,
31277
+ TranslatedMarkdownModule, i1$4.MarkdownModule, NgxMatDatetimePickerModule,
31122
31278
  NgxMatTimepickerModule,
31123
31279
  NgxMatNativeDateModule,
31124
31280
  MatLegacyFormFieldModule,
@@ -31294,7 +31450,7 @@ i0.ɵɵsetComponentScope(ReadLinkedCasesFieldComponent, function () { return [i5
31294
31450
  i0.ɵɵsetComponentScope(WriteAddressFieldComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormControlDirective, i4.FormGroupDirective, WriteComplexFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
31295
31451
  i0.ɵɵsetComponentScope(WriteComplexFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i4.NgControlStatusGroup, i4.FormGroupDirective, LabelSubstitutorDirective, FieldReadComponent,
31296
31452
  FieldWriteComponent]; }, function () { return [FieldLabelPipe, IsReadOnlyPipe]; });
31297
- i0.ɵɵsetComponentScope(WriteDocumentFieldComponent, function () { return [i5.NgClass, i5.NgIf, i2$1.MarkdownComponent, ReadDocumentFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
31453
+ i0.ɵɵsetComponentScope(WriteDocumentFieldComponent, function () { return [i5.NgClass, i5.NgIf, i1$4.MarkdownComponent, ReadDocumentFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
31298
31454
  i0.ɵɵsetComponentScope(WriteDateContainerFieldComponent, function () { return [i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective, DatetimePickerComponent,
31299
31455
  WriteDateFieldComponent]; }, []);
31300
31456
  i0.ɵɵsetComponentScope(WriteCaseFlagFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i4.NgControlStatusGroup, i4.FormGroupDirective, SelectFlagTypeComponent,
@@ -31371,9 +31527,10 @@ function CaseEditSubmitComponent_div_4_Template(rf, ctx) { if (rf & 1) {
31371
31527
  function CaseEditSubmitComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
31372
31528
  i0.ɵɵelement(0, "ccd-markdown", 14);
31373
31529
  i0.ɵɵpipe(1, "ccdCaseTitle");
31530
+ i0.ɵɵpipe(2, "rpxTranslate");
31374
31531
  } if (rf & 2) {
31375
31532
  const ctx_r1 = i0.ɵɵnextContext();
31376
- i0.ɵɵproperty("content", i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.contextFields, ctx_r1.editForm.controls["data"]));
31533
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(2, 5, i0.ɵɵpipeBind3(1, 1, ctx_r1.getCaseTitle(), ctx_r1.contextFields, ctx_r1.editForm.controls["data"])));
31377
31534
  } }
31378
31535
  function CaseEditSubmitComponent_ng_template_7_h2_0_Template(rf, ctx) { if (rf & 1) {
31379
31536
  i0.ɵɵelementStart(0, "h2", 16);
@@ -31953,7 +32110,7 @@ class CaseEditSubmitComponent {
31953
32110
  i0.ɵɵtext(2);
31954
32111
  i0.ɵɵpipe(3, "rpxTranslate");
31955
32112
  i0.ɵɵelementEnd();
31956
- i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_4_Template, 1, 0, "div", 3)(5, CaseEditSubmitComponent_ng_template_5_Template, 2, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(7, CaseEditSubmitComponent_ng_template_7_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
32113
+ i0.ɵɵtemplate(4, CaseEditSubmitComponent_div_4_Template, 1, 0, "div", 3)(5, CaseEditSubmitComponent_ng_template_5_Template, 3, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(7, CaseEditSubmitComponent_ng_template_7_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
31957
32114
  i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 4);
31958
32115
  i0.ɵɵelementStart(10, "ccd-callback-errors", 5);
31959
32116
  i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.callbackErrorsNotify($event)); });
@@ -32008,7 +32165,7 @@ class CaseEditSubmitComponent {
32008
32165
  }
32009
32166
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
32010
32167
  type: Component,
32011
- args: [{ selector: 'ccd-case-edit-submit', template: "<div>\n <!-- Event trigger name -->\n <h1 class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n\n <!--Case ID or Title -->\n <div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n <ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: contextFields : editForm.controls['data']\"></ccd-markdown>\n </ng-template>\n <ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n </ng-template>\n\n <ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n <ccd-callback-errors [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\"></ccd-callback-errors>\n\n <form class=\"check-your-answers\" [formGroup]=\"editForm\" (submit)=\"submit()\">\n <div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n <h2 class=\"heading-h2\">{{pageTitle | rpxTranslate }}</h2>\n <span class=\"text-16\" *ngIf=\"!caseEdit.isCaseFlagSubmission\">{{'Check the information below carefully.' | rpxTranslate}}</span>\n\n <table class=\"form-table\" aria-describedby=\"check your answers table\">\n <tbody>\n <ng-container *ngFor=\"let page of wizard.pages\">\n <ng-container *ngIf=\"isShown(page)\">\n <ng-container *ngFor=\"let field of page\n | ccdPageFields: editForm\n | ccdReadFieldsFilter: false :undefined :true :allFieldsValues\n | ccdCYAPageLabelFilter\">\n <ng-container *ngIf=\"canShowFieldInCYA(field)\">\n <tr ccdLabelSubstitutor [caseField]=\"field\" [hidden]=\"field.hidden\"\n [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th *ngIf=\"!isLabel(field) && !caseEdit.isCaseFlagSubmission\" class=\"valign-top case-field-label\">\n <span class=\"text-16\">{{field.label | rpxTranslate}}</span>\n </th>\n <td class=\"form-cell case-field-content text-16\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n </div>\n <ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n </ccd-case-event-completion>\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" [disabled]=\"!hasPrevious() || caseEdit.isSubmitting\" (click)=\"previous()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button type=\"submit\" [disabled]=\"isDisabled\" class=\"button\">\n {{triggerText | rpxTranslate}}\n </button>\n </div>\n <p class=\"cancel\">\n <a (click)=\"cancel()\" href=\"javascript:void(0)\" [class.disabled]=\"caseEdit.isSubmitting\">{{getCancelText() | rpxTranslate}}</a>\n </p>\n </form>\n</div>\n\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
32168
+ args: [{ selector: 'ccd-case-edit-submit', template: "<div>\n <!-- Event trigger name -->\n <h1 class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n\n <!--Case ID or Title -->\n <div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n <ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: contextFields : editForm.controls['data'] | rpxTranslate\"></ccd-markdown>\n </ng-template>\n <ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n </ng-template>\n\n <ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n <ccd-callback-errors [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\"></ccd-callback-errors>\n\n <form class=\"check-your-answers\" [formGroup]=\"editForm\" (submit)=\"submit()\">\n <div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n <h2 class=\"heading-h2\">{{pageTitle | rpxTranslate }}</h2>\n <span class=\"text-16\" *ngIf=\"!caseEdit.isCaseFlagSubmission\">{{'Check the information below carefully.' | rpxTranslate}}</span>\n\n <table class=\"form-table\" aria-describedby=\"check your answers table\">\n <tbody>\n <ng-container *ngFor=\"let page of wizard.pages\">\n <ng-container *ngIf=\"isShown(page)\">\n <ng-container *ngFor=\"let field of page\n | ccdPageFields: editForm\n | ccdReadFieldsFilter: false :undefined :true :allFieldsValues\n | ccdCYAPageLabelFilter\">\n <ng-container *ngIf=\"canShowFieldInCYA(field)\">\n <tr ccdLabelSubstitutor [caseField]=\"field\" [hidden]=\"field.hidden\"\n [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th *ngIf=\"!isLabel(field) && !caseEdit.isCaseFlagSubmission\" class=\"valign-top case-field-label\">\n <span class=\"text-16\">{{field.label | rpxTranslate}}</span>\n </th>\n <td class=\"form-cell case-field-content text-16\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n </div>\n <ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n </ccd-case-event-completion>\n <div class=\"form-group form-group-related\">\n <button class=\"button button-secondary\" type=\"button\" [disabled]=\"!hasPrevious() || caseEdit.isSubmitting\" (click)=\"previous()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button type=\"submit\" [disabled]=\"isDisabled\" class=\"button\">\n {{triggerText | rpxTranslate}}\n </button>\n </div>\n <p class=\"cancel\">\n <a (click)=\"cancel()\" href=\"javascript:void(0)\" [class.disabled]=\"caseEdit.isSubmitting\">{{getCancelText() | rpxTranslate}}</a>\n </p>\n </form>\n</div>\n\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
32012
32169
  }], () => [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: MultipageComponentStateService }, { type: FormValidatorsService }, { type: CaseFlagStateService }, { type: LinkedCasesService }], null); })();
32013
32170
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditSubmitComponent, { className: "CaseEditSubmitComponent", filePath: "lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.ts", lineNumber: 30 }); })();
32014
32171
 
@@ -32690,7 +32847,7 @@ class PaginationComponent {
32690
32847
  i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3, 4, "Pagination"));
32691
32848
  i0.ɵɵadvance(2);
32692
32849
  i0.ɵɵproperty("ngIf", !(ctx.autoHide && p_r3.pages.length <= 1));
32693
- } }, dependencies: [i5.NgForOf, i5.NgIf, i2$3.PaginationControlsDirective, i5.DecimalPipe, i1.RpxTranslatePipe], styles: [".ngx-pagination[_ngcontent-%COMP%]{margin-left:0;margin-bottom:1rem;padding-top:25px;text-decoration:none;text-align:left;font-size:16px}.ngx-pagination[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%]:after{content:\" \";display:table}.ngx-pagination[_ngcontent-%COMP%]:after{clear:both}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-right:.0625rem;border-radius:0}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:block;padding:.1875rem .625rem;border-radius:0;color:#005da6}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#e6e6e6}.ngx-pagination[_ngcontent-%COMP%] .current[_ngcontent-%COMP%]{padding:.1875rem .625rem;background:#fff;color:#4c2c92;cursor:default;font-weight:900;text-decoration:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]:hover{background:transparent}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}.ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before{margin-right:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);content:\"\";border-width:3px 0 0 3px}.ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after{margin-left:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);content:\"\";border-width:0 3px 3px 0}.ngx-pagination[_ngcontent-%COMP%] .show-for-sr[_ngcontent-%COMP%]{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ngx-pagination[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:none}@media screen and (max-width: 601px){.ngx-pagination.responsive[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination.responsive[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}"] });
32850
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i2$2.PaginationControlsDirective, i5.DecimalPipe, i1.RpxTranslatePipe], styles: [".ngx-pagination[_ngcontent-%COMP%]{margin-left:0;margin-bottom:1rem;padding-top:25px;text-decoration:none;text-align:left;font-size:16px}.ngx-pagination[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%]:after{content:\" \";display:table}.ngx-pagination[_ngcontent-%COMP%]:after{clear:both}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-right:.0625rem;border-radius:0}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:block;padding:.1875rem .625rem;border-radius:0;color:#005da6}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#e6e6e6}.ngx-pagination[_ngcontent-%COMP%] .current[_ngcontent-%COMP%]{padding:.1875rem .625rem;background:#fff;color:#4c2c92;cursor:default;font-weight:900;text-decoration:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]:hover{background:transparent}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}.ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before{margin-right:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);content:\"\";border-width:3px 0 0 3px}.ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after{margin-left:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);content:\"\";border-width:0 3px 3px 0}.ngx-pagination[_ngcontent-%COMP%] .show-for-sr[_ngcontent-%COMP%]{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ngx-pagination[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:none}@media screen and (max-width: 601px){.ngx-pagination.responsive[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination.responsive[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}"] });
32694
32851
  }
32695
32852
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationComponent, [{
32696
32853
  type: Component,
@@ -33036,7 +33193,7 @@ class CaseListComponent {
33036
33193
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(10, 10, ctx.cases, i0.ɵɵpureFunction3(13, _c0$c, ctx.pageSize, ctx.currentPageNo, ctx.totalResultsCount)));
33037
33194
  i0.ɵɵadvance(2);
33038
33195
  i0.ɵɵproperty("ngIf", ctx.totalResultsCount > ctx.pageSize);
33039
- } }, dependencies: [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i5.NgSwitchDefault, i1$1.RouterLink, PaginationComponent, i5.CurrencyPipe, i2$3.PaginatePipe, i1.RpxTranslatePipe] });
33196
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i5.NgSwitchDefault, i1$1.RouterLink, PaginationComponent, i5.CurrencyPipe, i2$2.PaginatePipe, i1.RpxTranslatePipe] });
33040
33197
  }
33041
33198
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseListComponent, [{
33042
33199
  type: Component,
@@ -40129,7 +40286,7 @@ class SearchResultModule {
40129
40286
  PipesModule,
40130
40287
  ActivityModule,
40131
40288
  PaginationModule, i1.RpxTranslationModule, PaletteModule], exports: [SearchResultComponent] }); })();
40132
- i0.ɵɵsetComponentScope(SearchResultComponent, function () { return [i5.NgForOf, i5.NgIf, i1$1.RouterLink, LabelSubstitutorDirective, ActivityComponent, PaginationComponent, FieldReadComponent]; }, function () { return [i5.DecimalPipe, i2$3.PaginatePipe, CaseReferencePipe, SortSearchResultPipe, i1.RpxTranslatePipe]; });
40289
+ i0.ɵɵsetComponentScope(SearchResultComponent, function () { return [i5.NgForOf, i5.NgIf, i1$1.RouterLink, LabelSubstitutorDirective, ActivityComponent, PaginationComponent, FieldReadComponent]; }, function () { return [i5.DecimalPipe, i2$2.PaginatePipe, CaseReferencePipe, SortSearchResultPipe, i1.RpxTranslatePipe]; });
40133
40290
 
40134
40291
  // tslint:disable:variable-name
40135
40292
  class ComplexFieldOverride {