@hmcts/ccd-case-ui-toolkit 7.1.44-exui-2792-task-completion → 7.1.44

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 (16) hide show
  1. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +6 -6
  2. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +27 -35
  3. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +13 -18
  4. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +15 -20
  5. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +7 -7
  6. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +7 -8
  7. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +69 -87
  8. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  9. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  10. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -2
  11. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  12. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +4 -4
  13. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  14. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +1 -1
  15. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -1
  16. package/package.json +1 -1
@@ -12153,7 +12153,7 @@ function CaseFileViewFieldComponent_ng_container_0_li_7_Template(rf, ctx) { if (
12153
12153
  function CaseFileViewFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
12154
12154
  i0.ɵɵelementContainerStart(0);
12155
12155
  i0.ɵɵelementStart(1, "div", 2)(2, "div", 3)(3, "h2", 4);
12156
- i0.ɵɵtext(4, " There is a problem ");
12156
+ i0.ɵɵtext(4, "There is a problem");
12157
12157
  i0.ɵɵelementEnd();
12158
12158
  i0.ɵɵelementStart(5, "div", 5)(6, "ul", 6);
12159
12159
  i0.ɵɵtemplate(7, CaseFileViewFieldComponent_ng_container_0_li_7_Template, 3, 1, "li", 7);
@@ -12179,7 +12179,7 @@ function CaseFileViewFieldComponent_div_2_ng_container_8_Template(rf, ctx) { if
12179
12179
  } if (rf & 2) {
12180
12180
  const ctx_r1 = i0.ɵɵnextContext(2);
12181
12181
  i0.ɵɵadvance();
12182
- i0.ɵɵproperty("url", ctx_r1.currentDocument.document_binary_url)("downloadFileName", ctx_r1.currentDocument.document_filename)("showToolbar", true)("contentType", ctx_r1.currentDocument.content_type)("enableAnnotations", true)("enableRedactions", true)("height", "94.5vh")("caseId", ctx_r1.caseId)("enableICP", ctx_r1.isIcpEnabled());
12182
+ i0.ɵɵproperty("url", ctx_r1.currentDocument.document_binary_url)("downloadFileName", ctx_r1.currentDocument.document_filename)("showToolbar", true)("contentType", ctx_r1.currentDocument.content_type)("enableAnnotations", true)("enableRedactions", true)("height", "94.5vh")("caseId", ctx_r1.caseId)("multimediaPlayerEnabled", true)("enableICP", ctx_r1.isIcpEnabled());
12183
12183
  } }
12184
12184
  function CaseFileViewFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
12185
12185
  const _r3 = i0.ɵɵgetCurrentView();
@@ -12191,7 +12191,7 @@ function CaseFileViewFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
12191
12191
  i0.ɵɵelementEnd()();
12192
12192
  i0.ɵɵelement(6, "div", 16);
12193
12193
  i0.ɵɵelementStart(7, "div", 17);
12194
- i0.ɵɵtemplate(8, CaseFileViewFieldComponent_div_2_ng_container_8_Template, 2, 9, "ng-container", 0);
12194
+ i0.ɵɵtemplate(8, CaseFileViewFieldComponent_div_2_ng_container_8_Template, 2, 10, "ng-container", 0);
12195
12195
  i0.ɵɵelementEnd()()();
12196
12196
  } if (rf & 2) {
12197
12197
  const ctx_r1 = i0.ɵɵnextContext();
@@ -12310,7 +12310,7 @@ class CaseFileViewFieldComponent {
12310
12310
  return this.icpEnabled && ((this.icp_jurisdictions?.length < 1) || this.icp_jurisdictions.includes(this.caseNotifier?.cachedCaseView?.case_type?.jurisdiction.id));
12311
12311
  }
12312
12312
  static ɵfac = function CaseFileViewFieldComponent_Factory(t) { return new (t || CaseFileViewFieldComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseFileViewService), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
12313
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "govuk-grid-column-two-thirds", 4, "ngIf"], ["id", "case-file-view-field-errors", "data-module", "govuk-error-summary", 1, "govuk-error-summary", "govuk-!-margin-bottom-4"], ["role", "alert"], [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, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "clickedDocument", "moveDocument", "categoriesAndDocuments", "allowMoving"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions", "height", "caseId", "enableICP"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
12313
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "govuk-grid-column-two-thirds", 4, "ngIf"], ["id", "case-file-view-field-errors", "data-module", "govuk-error-summary", 1, "govuk-error-summary", "govuk-!-margin-bottom-4"], ["role", "alert"], [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, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "clickedDocument", "moveDocument", "categoriesAndDocuments", "allowMoving"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions", "height", "caseId", "multimediaPlayerEnabled", "enableICP"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
12314
12314
  i0.ɵɵtemplate(0, CaseFileViewFieldComponent_ng_container_0_Template, 8, 1, "ng-container", 0)(1, CaseFileViewFieldComponent_div_1_Template, 5, 0, "div", 1)(2, CaseFileViewFieldComponent_div_2_Template, 9, 3, "div", 0);
12315
12315
  } if (rf & 2) {
12316
12316
  i0.ɵɵproperty("ngIf", ctx.errorMessages == null ? null : ctx.errorMessages.length);
@@ -12322,7 +12322,7 @@ class CaseFileViewFieldComponent {
12322
12322
  }
12323
12323
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFieldComponent, [{
12324
12324
  type: Component,
12325
- args: [{ selector: 'ccd-case-file-view-field', template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\" data-module=\"govuk-error-summary\">\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a href=\"javascript:void(0);\">{{ errorMessage }}</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div *ngIf=\"getCategoriesAndDocumentsError\" class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder\n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\"\n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\"\n ></ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [enableICP]=\"isIcpEnabled()\">\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
12325
+ args: [{ selector: 'ccd-case-file-view-field', template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\"\n data-module=\"govuk-error-summary\"\n >\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">There is a problem</h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a href=\"javascript:void(0);\">{{ errorMessage }}</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"getCategoriesAndDocumentsError\"\n class=\"govuk-grid-column-two-thirds\"\n>\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder\n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\"\n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\"\n ></ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer\n [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [multimediaPlayerEnabled]=\"true\"\n [enableICP]=\"isIcpEnabled()\"\n >\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
12326
12326
  }], () => [{ type: i0.ElementRef }, { type: i1$1.ActivatedRoute }, { type: CaseFileViewService }, { type: DocumentManagementService }, { type: LoadingService }, { type: SessionStorageService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
12327
12327
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber: 17 }); })();
12328
12328
 
@@ -14272,28 +14272,18 @@ class FileUploadStateService {
14272
14272
 
14273
14273
  const _c0$R = ["fileInput"];
14274
14274
  const _c1$l = a0 => ({ "form-group-error bottom-30": a0 });
14275
- function WriteDocumentFieldComponent_span_6_Template(rf, ctx) { if (rf & 1) {
14276
- i0.ɵɵelementStart(0, "span", 12);
14277
- i0.ɵɵtext(1);
14278
- i0.ɵɵpipe(2, "rpxTranslate");
14279
- i0.ɵɵelementEnd();
14280
- } if (rf & 2) {
14281
- const ctx_r1 = i0.ɵɵnextContext();
14282
- i0.ɵɵadvance();
14283
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField.hint_text));
14284
- } }
14285
- function WriteDocumentFieldComponent_span_7_Template(rf, ctx) { if (rf & 1) {
14286
- i0.ɵɵelementStart(0, "span", 13);
14275
+ function WriteDocumentFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
14276
+ i0.ɵɵelementStart(0, "span", 11);
14287
14277
  i0.ɵɵtext(1);
14288
14278
  i0.ɵɵpipe(2, "rpxTranslate");
14289
14279
  i0.ɵɵelementEnd();
14290
14280
  } if (rf & 2) {
14291
14281
  const ctx_r1 = i0.ɵɵnextContext();
14292
14282
  i0.ɵɵadvance();
14293
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.fileUploadMessages));
14283
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField.hint_text), " ");
14294
14284
  } }
14295
14285
  function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx) { if (rf & 1) {
14296
- i0.ɵɵelement(0, "ccd-read-document-field", 14);
14286
+ i0.ɵɵelement(0, "ccd-read-document-field", 12);
14297
14287
  } if (rf & 2) {
14298
14288
  const ctx_r1 = i0.ɵɵnextContext();
14299
14289
  i0.ɵɵproperty("caseField", ctx_r1.caseField);
@@ -14565,6 +14555,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
14565
14555
  case 502:
14566
14556
  return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
14567
14557
  case 422:
14558
+ case 500:
14568
14559
  {
14569
14560
  let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
14570
14561
  if (error?.error) {
@@ -14637,41 +14628,42 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
14637
14628
  } if (rf & 2) {
14638
14629
  let _t;
14639
14630
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
14640
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 20, consts: [["fileInput", ""], [1, "form-group", 3, "ngClass"], [3, "for"], [1, "form-label"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [3, "caseField", 4, "ngIf"], [2, "position", "relative"], [3, "click", "keyup", "id"], ["type", "file", 1, "form-control", "bottom-30", 3, "keydown.Tab", "change", "id", "accept"], [1, "form-group", "bottom-30"], ["type", "button", "aria-label", "Cancel upload", 1, "button", "button-secondary", 3, "click", "disabled"], [1, "form-hint"], [1, "error-message"], [3, "caseField"]], template: function WriteDocumentFieldComponent_Template(rf, ctx) { if (rf & 1) {
14631
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 19, consts: [["fileInput", ""], [1, "form-group", 3, "ngClass"], [1, "form-label"], ["class", "form-hint", 4, "ngIf"], ["role", "alert", "tabindex", "0", 1, "error-message", 3, "hidden"], [3, "caseField", 4, "ngIf"], [2, "position", "relative"], [3, "click", "keyup", "id"], ["type", "file", 1, "form-control", "bottom-30", 3, "keydown.Tab", "change", "id", "accept"], [1, "form-group", "bottom-30"], ["type", "button", "aria-label", "Cancel upload", 1, "button", "button-secondary", 3, "click", "disabled"], [1, "form-hint"], [3, "caseField"]], template: function WriteDocumentFieldComponent_Template(rf, ctx) { if (rf & 1) {
14641
14632
  const _r1 = i0.ɵɵgetCurrentView();
14642
- i0.ɵɵelementStart(0, "div", 1)(1, "label", 2)(2, "span", 3);
14633
+ i0.ɵɵelementStart(0, "div", 1)(1, "legend", 2);
14634
+ i0.ɵɵtext(2);
14643
14635
  i0.ɵɵpipe(3, "ccdFieldLabel");
14644
- i0.ɵɵtext(4);
14645
- i0.ɵɵpipe(5, "ccdFieldLabel");
14646
- i0.ɵɵelementEnd()();
14647
- i0.ɵɵtemplate(6, WriteDocumentFieldComponent_span_6_Template, 3, 3, "span", 4)(7, WriteDocumentFieldComponent_span_7_Template, 3, 3, "span", 5);
14636
+ i0.ɵɵelementEnd();
14637
+ i0.ɵɵtemplate(4, WriteDocumentFieldComponent_span_4_Template, 3, 3, "span", 3);
14638
+ i0.ɵɵelementStart(5, "span", 4);
14639
+ i0.ɵɵtext(6);
14640
+ i0.ɵɵpipe(7, "rpxTranslate");
14641
+ i0.ɵɵelementEnd();
14648
14642
  i0.ɵɵelementStart(8, "div");
14649
- i0.ɵɵtemplate(9, WriteDocumentFieldComponent_ccd_read_document_field_9_Template, 1, 1, "ccd-read-document-field", 6);
14643
+ i0.ɵɵtemplate(9, WriteDocumentFieldComponent_ccd_read_document_field_9_Template, 1, 1, "ccd-read-document-field", 5);
14650
14644
  i0.ɵɵelementEnd();
14651
- i0.ɵɵelementStart(10, "div", 7)(11, "div", 8);
14645
+ i0.ɵɵelementStart(10, "div", 6)(11, "div", 7);
14652
14646
  i0.ɵɵlistener("click", function WriteDocumentFieldComponent_Template_div_click_11_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.fileSelectEvent()); })("keyup", function WriteDocumentFieldComponent_Template_div_keyup_11_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.fileSelectEvent()); });
14653
14647
  i0.ɵɵelementEnd();
14654
- i0.ɵɵelementStart(12, "input", 9, 0);
14648
+ i0.ɵɵelementStart(12, "input", 8, 0);
14655
14649
  i0.ɵɵlistener("keydown.Tab", function WriteDocumentFieldComponent_Template_input_keydown_Tab_12_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.fileValidationsOnTab()); })("change", function WriteDocumentFieldComponent_Template_input_change_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.fileChangeEvent($event, ctx.caseField.field_type.regular_expression)); });
14656
14650
  i0.ɵɵelementEnd()()();
14657
- i0.ɵɵelementStart(14, "div", 10)(15, "button", 11);
14651
+ i0.ɵɵelementStart(14, "div", 9)(15, "button", 10);
14658
14652
  i0.ɵɵlistener("click", function WriteDocumentFieldComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cancelUpload()); });
14659
14653
  i0.ɵɵtext(16);
14660
14654
  i0.ɵɵpipe(17, "rpxTranslate");
14661
14655
  i0.ɵɵelementEnd()();
14662
14656
  } if (rf & 2) {
14663
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
14664
- i0.ɵɵadvance();
14665
- i0.ɵɵproperty("for", ctx.id());
14666
- i0.ɵɵadvance();
14667
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3, 12, ctx.caseField));
14657
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(17, _c1$l, !ctx.valid));
14668
14658
  i0.ɵɵadvance(2);
14669
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, ctx.caseField));
14659
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 11, ctx.caseField), " ");
14670
14660
  i0.ɵɵadvance(2);
14671
14661
  i0.ɵɵproperty("ngIf", ctx.caseField.hint_text);
14672
14662
  i0.ɵɵadvance();
14673
- i0.ɵɵproperty("ngIf", ctx.fileUploadMessages && !ctx.valid);
14674
- i0.ɵɵadvance(2);
14663
+ i0.ɵɵproperty("hidden", !(ctx.fileUploadMessages && !ctx.valid));
14664
+ i0.ɵɵadvance();
14665
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 13, ctx.fileUploadMessages), " ");
14666
+ i0.ɵɵadvance(3);
14675
14667
  i0.ɵɵproperty("ngIf", ctx.caseField);
14676
14668
  i0.ɵɵadvance(2);
14677
14669
  i0.ɵɵproperty("id", ctx.createElementId("fileInputWrapper"));
@@ -14681,12 +14673,12 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
14681
14673
  i0.ɵɵadvance(3);
14682
14674
  i0.ɵɵproperty("disabled", !ctx.isUploadInProgress());
14683
14675
  i0.ɵɵadvance();
14684
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 16, "Cancel upload"));
14676
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 15, "Cancel upload"));
14685
14677
  } }, encapsulation: 2 });
14686
14678
  }
14687
14679
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDocumentFieldComponent, [{
14688
14680
  type: Component,
14689
- args: [{ selector: 'ccd-write-document-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error bottom-30': !valid}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" attr.aria-label=\"{{caseField | ccdFieldLabel}}\">{{(caseField | ccdFieldLabel)}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"fileUploadMessages && !valid\">{{fileUploadMessages | rpxTranslate}}</span>\n\n <div>\n <!--<span *ngIf=\"getUploadedFileName()\" class=\"text-16\">File name: {{getUploadedFileName()}}</span>-->\n <ccd-read-document-field *ngIf=\"caseField\" [caseField]=\"caseField\"></ccd-read-document-field>\n </div>\n\n <div style='position:relative'>\n <div [id]=\"createElementId('fileInputWrapper')\" (click)=\"fileSelectEvent()\" (keyup)=\"fileSelectEvent()\"></div>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"file\" (keydown.Tab)=\"fileValidationsOnTab()\" (change)=\"fileChangeEvent($event, caseField.field_type.regular_expression)\"\n accept=\"{{caseField.field_type.regular_expression}}\" #fileInput/>\n </div>\n</div>\n<div class=\"form-group bottom-30\">\n <button class=\"button button-secondary\" type=\"button\" aria-label=\"Cancel upload\" (click)=\"cancelUpload()\" [disabled]=\"!isUploadInProgress()\">{{'Cancel upload' | rpxTranslate}}</button>\n</div>\n" }]
14681
+ args: [{ selector: 'ccd-write-document-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error bottom-30': !valid}\">\n <legend class=\"form-label\">\n {{ caseField | ccdFieldLabel }}\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">\n {{ caseField.hint_text | rpxTranslate }}\n </span>\n <span class=\"error-message\"\n role=\"alert\"\n tabindex=\"0\"\n [hidden]=\"!(fileUploadMessages && !valid)\">\n {{ fileUploadMessages | rpxTranslate }}\n </span>\n <div>\n <!--<span *ngIf=\"getUploadedFileName()\" class=\"text-16\">File name: {{getUploadedFileName()}}</span>-->\n <ccd-read-document-field *ngIf=\"caseField\" [caseField]=\"caseField\"></ccd-read-document-field>\n </div>\n\n <div style='position:relative'>\n <div [id]=\"createElementId('fileInputWrapper')\" (click)=\"fileSelectEvent()\" (keyup)=\"fileSelectEvent()\"></div>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"file\" (keydown.Tab)=\"fileValidationsOnTab()\" (change)=\"fileChangeEvent($event, caseField.field_type.regular_expression)\"\n accept=\"{{caseField.field_type.regular_expression}}\" #fileInput/>\n </div>\n</div>\n<div class=\"form-group bottom-30\">\n <button class=\"button button-secondary\" type=\"button\" aria-label=\"Cancel upload\" (click)=\"cancelUpload()\" [disabled]=\"!isUploadInProgress()\">{{'Cancel upload' | rpxTranslate}}</button>\n</div>\n" }]
14690
14682
  }], () => [{ type: AbstractAppConfig }, { type: CaseNotifier }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: FileUploadStateService }, { type: JurisdictionService }], { fileInput: [{
14691
14683
  type: ViewChild,
14692
14684
  args: ['fileInput', { static: false }]
@@ -20339,7 +20331,7 @@ class QueryCheckYourAnswersComponent {
20339
20331
  fieldId;
20340
20332
  attachments;
20341
20333
  errorMessages = [];
20342
- filteredTasks = [];
20334
+ filteredTask = [];
20343
20335
  constructor(route, router, casesService, caseNotifier, workAllocationService, sessionStorageService, qualifyingQuestionService) {
20344
20336
  this.route = route;
20345
20337
  this.router = router;
@@ -20369,11 +20361,11 @@ class QueryCheckYourAnswersComponent {
20369
20361
  .subscribe({
20370
20362
  next: (response) => {
20371
20363
  // Filter task by query id
20372
- if (this.tid && response.tasks?.length > 1) {
20373
- this.filteredTasks = response.tasks?.filter((task) => task.id === this.tid);
20364
+ if (response.tasks?.length > 1) {
20365
+ this.filteredTask = response.tasks?.find((task) => task.case_id === this.tid);
20374
20366
  }
20375
20367
  else {
20376
- this.filteredTasks = response.tasks;
20368
+ this.filteredTask = response.tasks;
20377
20369
  }
20378
20370
  },
20379
20371
  error: (error) => {
@@ -20405,18 +20397,13 @@ class QueryCheckYourAnswersComponent {
20405
20397
  const data = this.generateCaseQueriesCollectionData();
20406
20398
  const createEvent$ = this.createEvent(data);
20407
20399
  if (this.queryCreateContext === QueryCreateContext.RESPOND) {
20408
- if (this.filteredTasks?.length > 0) {
20409
- const completeTask$ = this.workAllocationService.completeTask(this.filteredTasks[0].id, this.caseViewTrigger.name);
20410
- this.createEventSubscription = forkJoin([createEvent$, completeTask$]).subscribe({
20411
- next: ([createEventResponse, tasksResponse]) => {
20412
- this.finaliseSubmission();
20413
- },
20414
- error: (error) => this.handleError(error)
20415
- });
20416
- }
20417
- else {
20418
- console.error('Error: No task to complete found');
20419
- }
20400
+ const completeTask$ = this.workAllocationService.completeTask(this.filteredTask[0].id, this.caseViewTrigger.name);
20401
+ this.createEventSubscription = forkJoin([createEvent$, completeTask$]).subscribe({
20402
+ next: ([createEventResponse, tasksResponse]) => {
20403
+ this.finaliseSubmission();
20404
+ },
20405
+ error: (error) => this.handleError(error)
20406
+ });
20420
20407
  }
20421
20408
  else {
20422
20409
  this.createEventSubscription = createEvent$.subscribe({
@@ -20653,7 +20640,7 @@ class QueryCheckYourAnswersComponent {
20653
20640
  }], querySubmitted: [{
20654
20641
  type: Output
20655
20642
  }] }); })();
20656
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 27 }); })();
20643
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 26 }); })();
20657
20644
 
20658
20645
  function QueryDetailsComponent_ng_container_0_cut_alert_1_Template(rf, ctx) { if (rf & 1) {
20659
20646
  i0.ɵɵelementStart(0, "cut-alert", 11);
@@ -20943,9 +20930,9 @@ function QueryDetailsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
20943
20930
  } if (rf & 2) {
20944
20931
  const ctx_r0 = i0.ɵɵnextContext();
20945
20932
  i0.ɵɵadvance();
20946
- i0.ɵɵproperty("ngIf", ctx_r0.hasRespondedToQuery() && !ctx_r0.showItem);
20933
+ i0.ɵɵproperty("ngIf", ctx_r0.hasRespondedToQuery());
20947
20934
  i0.ɵɵadvance(2);
20948
- i0.ɵɵproperty("ngIf", ctx_r0.showItem);
20935
+ i0.ɵɵproperty("ngIf", ctx_r0.showLink);
20949
20936
  i0.ɵɵadvance(2);
20950
20937
  i0.ɵɵattribute("aria-describedby", i0.ɵɵpipeBind1(6, 21, "Details of the query"));
20951
20938
  i0.ɵɵadvance(4);
@@ -20986,11 +20973,11 @@ class QueryDetailsComponent {
20986
20973
  route;
20987
20974
  router;
20988
20975
  query;
20989
- caseId;
20990
- queryResponseStatus;
20991
20976
  backClicked = new EventEmitter();
20977
+ caseId;
20992
20978
  hasResponded = new EventEmitter();
20993
- showItem = true;
20979
+ totalNumberOfQueryChildren;
20980
+ showLink = true;
20994
20981
  message;
20995
20982
  static QUERY_ITEM_RESPOND = '3';
20996
20983
  queryItemId;
@@ -21014,14 +21001,10 @@ class QueryDetailsComponent {
21014
21001
  }
21015
21002
  toggleLinkVisibility() {
21016
21003
  this.queryItemId = this.route.snapshot.params.qid;
21017
- this.showItem = this.queryItemId !== QueryDetailsComponent.QUERY_ITEM_RESPOND;
21004
+ this.showLink = this.queryItemId !== QueryDetailsComponent.QUERY_ITEM_RESPOND;
21018
21005
  }
21019
21006
  hasRespondedToQuery() {
21020
- if (this.queryResponseStatus === undefined || this.queryResponseStatus === QueryItemResponseStatus.AWAITING) {
21021
- this.hasResponded.emit(false);
21022
- return false;
21023
- }
21024
- if (this.isCaseworker() && this.queryResponseStatus !== QueryItemResponseStatus.AWAITING) {
21007
+ if (this.totalNumberOfQueryChildren >= 0 && this.isCaseworker() && this.totalNumberOfQueryChildren % 2 !== 0) {
21025
21008
  this.message = Constants.TASK_COMPLETION_ERROR;
21026
21009
  this.hasResponded.emit(true);
21027
21010
  return true;
@@ -21030,7 +21013,7 @@ class QueryDetailsComponent {
21030
21013
  return false;
21031
21014
  }
21032
21015
  static ɵfac = function QueryDetailsComponent_Factory(t) { return new (t || QueryDetailsComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router)); };
21033
- 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"], ["type", "error", 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"], ["type", "error"], ["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) {
21016
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryDetailsComponent, selectors: [["ccd-query-details"]], inputs: { query: "query", caseId: "caseId", totalNumberOfQueryChildren: "totalNumberOfQueryChildren" }, outputs: { backClicked: "backClicked", hasResponded: "hasResponded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["followUpMessage", ""], [4, "ngIf"], ["type", "error", 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"], ["type", "error"], ["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) {
21034
21017
  i0.ɵɵtemplate(0, QueryDetailsComponent_ng_container_0_Template, 47, 42, "ng-container", 1);
21035
21018
  } if (rf & 2) {
21036
21019
  i0.ɵɵproperty("ngIf", ctx.query);
@@ -21038,19 +21021,19 @@ class QueryDetailsComponent {
21038
21021
  }
21039
21022
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
21040
21023
  type: Component,
21041
- args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <cut-alert type=\"error\" *ngIf=\"hasRespondedToQuery() && !showItem\">\n <ng-container>{{message}}</ng-container>\n </cut-alert>\n\n <br/>\n <p *ngIf=\"showItem\">\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 MMM yyyy' }}</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 MMM yyyy' }}</td>\n </tr>\n\n <tr *ngIf=\"isCaseworker()\" 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 MMM yyyy' }}</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"] }]
21024
+ args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <cut-alert type=\"error\" *ngIf=\"hasRespondedToQuery()\">\n <ng-container>{{message}}</ng-container>\n </cut-alert>\n\n <br/>\n <p *ngIf=\"showLink\">\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 MMM yyyy' }}</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 MMM yyyy' }}</td>\n </tr>\n\n <tr *ngIf=\"isCaseworker()\" 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 MMM yyyy' }}</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"] }]
21042
21025
  }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }], { query: [{
21043
21026
  type: Input
21044
- }], caseId: [{
21045
- type: Input
21046
- }], queryResponseStatus: [{
21047
- type: Input
21048
21027
  }], backClicked: [{
21049
21028
  type: Output
21029
+ }], caseId: [{
21030
+ type: Input
21050
21031
  }], hasResponded: [{
21051
21032
  type: Output
21033
+ }], totalNumberOfQueryChildren: [{
21034
+ type: Input
21052
21035
  }] }); })();
21053
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 12 }); })();
21036
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 11 }); })();
21054
21037
 
21055
21038
  class QueryEventCompletionComponent {
21056
21039
  eventCompletionParams;
@@ -21361,7 +21344,7 @@ class QueryWriteDateInputComponent {
21361
21344
  useExisting: forwardRef(() => QueryWriteDateInputComponent),
21362
21345
  multi: true
21363
21346
  }
21364
- ])], decls: 19, vars: 24, consts: [[1, "govuk-date-input", 3, "id"], [1, "govuk-date-input__item"], [1, "govuk-form-group"], [1, "govuk-label", "govuk-date-input__label", 3, "for"], ["type", "text", "inputmode", "numeric", "maxlength", "2", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-2", 3, "ngModelChange", "input", "id", "name", "ngModel", "disabled"], ["id", "formControlName + '-year'", "type", "text", "inputmode", "numeric", "maxlength", "4", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-4", 3, "ngModelChange", "input", "name", "ngModel", "disabled"]], template: function QueryWriteDateInputComponent_Template(rf, ctx) { if (rf & 1) {
21347
+ ])], decls: 19, vars: 25, consts: [[1, "govuk-date-input", 3, "id"], [1, "govuk-date-input__item"], [1, "govuk-form-group"], [1, "govuk-label", "govuk-date-input__label", 3, "for"], ["type", "text", "inputmode", "numeric", "maxlength", "2", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-2", 3, "ngModelChange", "input", "id", "name", "ngModel", "disabled"], ["type", "text", "inputmode", "numeric", "maxlength", "4", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-4", 3, "ngModelChange", "input", "id", "name", "ngModel", "disabled"]], template: function QueryWriteDateInputComponent_Template(rf, ctx) { if (rf & 1) {
21365
21348
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "label", 3);
21366
21349
  i0.ɵɵtext(4);
21367
21350
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -21391,7 +21374,7 @@ class QueryWriteDateInputComponent {
21391
21374
  i0.ɵɵadvance(3);
21392
21375
  i0.ɵɵproperty("for", ctx.formControlName + "-day");
21393
21376
  i0.ɵɵadvance();
21394
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 18, "Day"), " ");
21377
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 19, "Day"), " ");
21395
21378
  i0.ɵɵadvance(2);
21396
21379
  i0.ɵɵproperty("id", ctx.formControlName + "-day")("name", ctx.formControlName + "-day");
21397
21380
  i0.ɵɵtwoWayProperty("ngModel", ctx.day);
@@ -21399,7 +21382,7 @@ class QueryWriteDateInputComponent {
21399
21382
  i0.ɵɵadvance(3);
21400
21383
  i0.ɵɵproperty("for", ctx.formControlName + "-month");
21401
21384
  i0.ɵɵadvance();
21402
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 20, "Month"), " ");
21385
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 21, "Month"), " ");
21403
21386
  i0.ɵɵadvance(2);
21404
21387
  i0.ɵɵproperty("id", ctx.formControlName + "-month")("name", ctx.formControlName + "-month");
21405
21388
  i0.ɵɵtwoWayProperty("ngModel", ctx.month);
@@ -21407,9 +21390,9 @@ class QueryWriteDateInputComponent {
21407
21390
  i0.ɵɵadvance(3);
21408
21391
  i0.ɵɵproperty("for", ctx.formControlName + "-year");
21409
21392
  i0.ɵɵadvance();
21410
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 22, "Year"), " ");
21393
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 23, "Year"), " ");
21411
21394
  i0.ɵɵadvance(2);
21412
- i0.ɵɵproperty("name", ctx.formControlName + "-year");
21395
+ i0.ɵɵproperty("id", ctx.formControlName + "-year")("name", ctx.formControlName + "-year");
21413
21396
  i0.ɵɵtwoWayProperty("ngModel", ctx.year);
21414
21397
  i0.ɵɵproperty("disabled", ctx.disabled);
21415
21398
  } }, dependencies: [i4.DefaultValueAccessor, i4.NgControlStatus, i4.MaxLengthValidator, i4.NgModel, i1.RpxTranslatePipe], encapsulation: 2 });
@@ -21422,7 +21405,7 @@ class QueryWriteDateInputComponent {
21422
21405
  useExisting: forwardRef(() => QueryWriteDateInputComponent),
21423
21406
  multi: true
21424
21407
  }
21425
- ], template: "<div class=\"govuk-date-input\" [id]=\"formControlName\">\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-day'\">\n {{ 'Day' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\" [id]=\"formControlName + '-day'\"\n [name]=\"formControlName + '-day'\" type=\"text\" inputmode=\"numeric\" maxlength=\"2\"\n [(ngModel)]=\"day\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-month'\">\n {{ 'Month' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\" [id]=\"formControlName + '-month'\"\n [name]=\"formControlName + '-month'\" type=\"text\" inputmode=\"numeric\" maxlength=\"2\"\n [(ngModel)]=\"month\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-year'\">\n {{ 'Year' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-4\" id=\"formControlName + '-year'\"\n [name]=\"formControlName + '-year'\" type=\"text\" inputmode=\"numeric\" maxlength=\"4\"\n [(ngModel)]=\"year\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n</div>\n" }]
21408
+ ], template: "<div class=\"govuk-date-input\" [id]=\"formControlName\">\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-day'\">\n {{ 'Day' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\" [id]=\"formControlName + '-day'\"\n [name]=\"formControlName + '-day'\" type=\"text\" inputmode=\"numeric\" maxlength=\"2\"\n [(ngModel)]=\"day\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-month'\">\n {{ 'Month' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\" [id]=\"formControlName + '-month'\"\n [name]=\"formControlName + '-month'\" type=\"text\" inputmode=\"numeric\" maxlength=\"2\"\n [(ngModel)]=\"month\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-date-input__label\" [for]=\"formControlName + '-year'\">\n {{ 'Year' | rpxTranslate }}\n </label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-4\" [id]=\"formControlName + '-year'\"\n [name]=\"formControlName + '-year'\" type=\"text\" inputmode=\"numeric\" maxlength=\"4\"\n [(ngModel)]=\"year\" (input)=\"updateDate()\" [disabled]=\"disabled\">\n </div>\n </div>\n</div>\n" }]
21426
21409
  }], null, { formControlName: [{
21427
21410
  type: Input
21428
21411
  }] }); })();
@@ -21713,7 +21696,7 @@ class QueryWriteRespondToQueryComponent {
21713
21696
  caseId;
21714
21697
  queryItemId;
21715
21698
  caseDetails;
21716
- queryResponseStatus;
21699
+ totalNumberOfQueryChildren;
21717
21700
  queryItemDisplay;
21718
21701
  hasRespondedToQuery = false;
21719
21702
  static QUERY_ITEM_RESPOND = '3';
@@ -21741,7 +21724,8 @@ class QueryWriteRespondToQueryComponent {
21741
21724
  console.error('caseQueriesCollections[0] is undefined!', this.caseQueriesCollections);
21742
21725
  return;
21743
21726
  }
21744
- const queryWithChildren = new QueryListData(this.caseQueriesCollections[0]);
21727
+ const numberOfQueryChildren = new QueryListData(this.caseQueriesCollections[0]);
21728
+ this.totalNumberOfQueryChildren = numberOfQueryChildren?.queries?.[0]?.children?.length || 0;
21745
21729
  const messageId = this.route.snapshot.params.dataid;
21746
21730
  if (!messageId) {
21747
21731
  console.warn('No messageId found in route params:', this.route.snapshot.params);
@@ -21753,8 +21737,6 @@ class QueryWriteRespondToQueryComponent {
21753
21737
  .filter((message) => message?.value?.id === messageId); // Safe access
21754
21738
  if (filteredMessages.length > 0) {
21755
21739
  const matchingMessage = filteredMessages[0]?.value;
21756
- const filteredQuery = queryWithChildren?.queries.filter((message) => filteredMessages[0]?.value?.parentId === message?.id);
21757
- this.queryResponseStatus = filteredQuery[0]?.responseStatus;
21758
21740
  if (matchingMessage) {
21759
21741
  this.queryItemDisplay = new QueryListItem();
21760
21742
  Object.assign(this.queryItemDisplay, matchingMessage);
@@ -21768,7 +21750,7 @@ class QueryWriteRespondToQueryComponent {
21768
21750
  this.hasRespondedToQueryTask.emit(value);
21769
21751
  }
21770
21752
  static ɵfac = function QueryWriteRespondToQueryComponent_Factory(t) { return new (t || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
21771
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", caseQueriesCollections: "caseQueriesCollections", showForm: "showForm" }, outputs: { hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 10, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "hasResponded", "query", "queryResponseStatus"], ["class", "query-respond", 4, "ngIf"], [1, "query-respond"], [4, "ngIf"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
21753
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", caseQueriesCollections: "caseQueriesCollections", showForm: "showForm" }, outputs: { hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 10, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "hasResponded", "query", "totalNumberOfQueryChildren"], ["class", "query-respond", 4, "ngIf"], [1, "query-respond"], [4, "ngIf"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
21772
21754
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
21773
21755
  i0.ɵɵtext(3);
21774
21756
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -21792,14 +21774,14 @@ class QueryWriteRespondToQueryComponent {
21792
21774
  i0.ɵɵadvance(3);
21793
21775
  i0.ɵɵproperty("caseDetails", ctx.caseDetails);
21794
21776
  i0.ɵɵadvance(2);
21795
- i0.ɵɵproperty("query", ctx.queryItem)("queryResponseStatus", ctx.queryResponseStatus);
21777
+ i0.ɵɵproperty("query", ctx.queryItem)("totalNumberOfQueryChildren", ctx.totalNumberOfQueryChildren);
21796
21778
  i0.ɵɵadvance();
21797
21779
  i0.ɵɵproperty("ngIf", ctx.showForm);
21798
21780
  } }, styles: [".query-respond[_ngcontent-%COMP%]{width:100%;max-width:720px}"] });
21799
21781
  }
21800
21782
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
21801
21783
  type: Component,
21802
- args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryItem\"\n [queryResponseStatus]=\"queryResponseStatus\"\n (hasResponded)=\"hasResponded($event)\"></ccd-query-details>\n </div>\n</div>\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div *ngIf=\"!hasRespondedToQuery\">\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
21784
+ args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryItem\"\n [totalNumberOfQueryChildren]=\"totalNumberOfQueryChildren\"\n (hasResponded)=\"hasResponded($event)\"></ccd-query-details>\n </div>\n</div>\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div *ngIf=\"!hasRespondedToQuery\">\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
21803
21785
  }], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }], { queryItem: [{
21804
21786
  type: Input
21805
21787
  }], formGroup: [{