@hmcts/ccd-case-ui-toolkit 7.2.23-mid-event-callback → 7.2.23

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 (25) hide show
  1. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +3 -3
  2. package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -7
  3. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +193 -51
  4. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +6 -59
  5. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +6 -39
  6. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +9 -18
  7. package/esm2022/lib/shared/components/palette/query-management/services/index.mjs +1 -2
  8. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +471 -594
  9. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  10. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  11. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +13 -15
  12. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  13. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +3 -24
  14. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +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 +3 -12
  16. 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
  17. package/lib/shared/components/palette/query-management/services/index.d.ts +0 -1
  18. package/lib/shared/components/palette/query-management/services/index.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/esm2022/lib/shared/components/palette/query-management/constants/query-management.constants.mjs +0 -7
  21. package/esm2022/lib/shared/components/palette/query-management/services/query-management.service.mjs +0 -179
  22. package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts +0 -7
  23. package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts.map +0 -1
  24. package/lib/shared/components/palette/query-management/services/query-management.service.d.ts +0 -21
  25. package/lib/shared/components/palette/query-management/services/query-management.service.d.ts.map +0 -1
@@ -19631,7 +19631,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19631
19631
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
19632
19632
  }
19633
19633
  static ɵfac = /*@__PURE__*/ (() => { let ɵWriteNumberFieldComponent_BaseFactory; return function WriteNumberFieldComponent_Factory(__ngFactoryType__) { return (ɵWriteNumberFieldComponent_BaseFactory || (ɵWriteNumberFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteNumberFieldComponent)))(__ngFactoryType__ || WriteNumberFieldComponent); }; })();
19634
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", "inputmode", "numeric", "pattern", "[0-9]*", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19634
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", "inputmode", "decimal", "pattern", "^[-+]?[0-9]+(?:\\.?[0-9]+)?$", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19635
19635
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
19636
19636
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
19637
19637
  i0.ɵɵelementEnd();
@@ -19654,7 +19654,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19654
19654
  }
19655
19655
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
19656
19656
  type: Component,
19657
- args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{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=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"text\" inputmode=\"numeric\" pattern=\"[0-9]*\" [formControl]=\"numberControl\">\n</div>\n" }]
19657
+ args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{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=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"text\" inputmode=\"decimal\" pattern=\"^[-+]?[0-9]+(?:\\.?[0-9]+)?$\" [formControl]=\"numberControl\">\n</div>\n" }]
19658
19658
  }], null, null); })();
19659
19659
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
19660
19660
 
@@ -20637,6 +20637,252 @@ class QualifyingQuestionService {
20637
20637
  type: Injectable
20638
20638
  }], null, null); })();
20639
20639
 
20640
+ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Template(rf, ctx) { if (rf & 1) {
20641
+ i0.ɵɵelementContainerStart(0);
20642
+ i0.ɵɵelementStart(1, "p", 8)(2, "span", 9);
20643
+ i0.ɵɵtext(3);
20644
+ i0.ɵɵpipe(4, "rpxTranslate");
20645
+ i0.ɵɵelementEnd();
20646
+ i0.ɵɵtext(5);
20647
+ i0.ɵɵpipe(6, "rpxTranslate");
20648
+ i0.ɵɵelementEnd();
20649
+ i0.ɵɵelementContainerEnd();
20650
+ } if (rf & 2) {
20651
+ const ctx_r0 = i0.ɵɵnextContext(2);
20652
+ i0.ɵɵadvance(3);
20653
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 2, "Error:"), " ");
20654
+ i0.ɵɵadvance(2);
20655
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(6, 4, ctx_r0.qualifyingQuestionsErrorMessage.SELECT_AN_OPTION), " ");
20656
+ } }
20657
+ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template(rf, ctx) { if (rf & 1) {
20658
+ i0.ɵɵelementContainerStart(0);
20659
+ i0.ɵɵelementStart(1, "div", 13);
20660
+ i0.ɵɵtext(2);
20661
+ i0.ɵɵpipe(3, "rpxTranslate");
20662
+ i0.ɵɵelementEnd();
20663
+ i0.ɵɵelementContainerEnd();
20664
+ } if (rf & 2) {
20665
+ i0.ɵɵadvance(2);
20666
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "If your issue is not covered by the options above, raise a query:"));
20667
+ } }
20668
+ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template(rf, ctx) { if (rf & 1) {
20669
+ const _r2 = i0.ɵɵgetCurrentView();
20670
+ i0.ɵɵelementContainerStart(0);
20671
+ i0.ɵɵtemplate(1, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template, 4, 3, "ng-container", 0);
20672
+ i0.ɵɵelementStart(2, "div", 10)(3, "input", 11);
20673
+ i0.ɵɵlistener("change", function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template_input_change_3_listener() { const qualifyingQuestion_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onSelectionChange(qualifyingQuestion_r3)); });
20674
+ i0.ɵɵelementEnd();
20675
+ i0.ɵɵelementStart(4, "label", 12);
20676
+ i0.ɵɵtext(5);
20677
+ i0.ɵɵpipe(6, "rpxTranslate");
20678
+ i0.ɵɵelementEnd()();
20679
+ i0.ɵɵelementContainerEnd();
20680
+ } if (rf & 2) {
20681
+ const qualifyingQuestion_r3 = ctx.$implicit;
20682
+ const isLast_r4 = ctx.last;
20683
+ const ctx_r0 = i0.ɵɵnextContext(2);
20684
+ i0.ɵɵadvance();
20685
+ i0.ɵɵproperty("ngIf", isLast_r4);
20686
+ i0.ɵɵadvance(2);
20687
+ i0.ɵɵpropertyInterpolate("id", qualifyingQuestion_r3.name);
20688
+ i0.ɵɵproperty("formControl", ctx_r0.qualifyingQuestionsControl)("value", qualifyingQuestion_r3);
20689
+ i0.ɵɵadvance();
20690
+ i0.ɵɵproperty("for", qualifyingQuestion_r3.name);
20691
+ i0.ɵɵadvance();
20692
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 6, qualifyingQuestion_r3.name));
20693
+ } }
20694
+ function QualifyingQuestionOptionsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
20695
+ i0.ɵɵelementContainerStart(0);
20696
+ i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
20697
+ i0.ɵɵtext(5);
20698
+ i0.ɵɵpipe(6, "rpxTranslate");
20699
+ i0.ɵɵelementEnd()();
20700
+ i0.ɵɵelementStart(7, "h2", 5);
20701
+ i0.ɵɵtext(8);
20702
+ i0.ɵɵpipe(9, "rpxTranslate");
20703
+ i0.ɵɵelementEnd();
20704
+ i0.ɵɵtemplate(10, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Template, 7, 6, "ng-container", 0);
20705
+ i0.ɵɵelementStart(11, "div", 6);
20706
+ i0.ɵɵtemplate(12, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template, 7, 8, "ng-container", 7);
20707
+ i0.ɵɵpipe(13, "async");
20708
+ i0.ɵɵelementEnd()()();
20709
+ i0.ɵɵelementContainerEnd();
20710
+ } if (rf & 2) {
20711
+ const ctx_r0 = i0.ɵɵnextContext();
20712
+ i0.ɵɵadvance();
20713
+ i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.displayError);
20714
+ i0.ɵɵadvance(4);
20715
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, "Raise a new query"), " ");
20716
+ i0.ɵɵadvance(3);
20717
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 8, "What do you need help to do?"), " ");
20718
+ i0.ɵɵadvance(2);
20719
+ i0.ɵɵproperty("ngIf", ctx_r0.displayError);
20720
+ i0.ɵɵadvance(2);
20721
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(13, 10, ctx_r0.qualifyingQuestions$));
20722
+ } }
20723
+ class QualifyingQuestionOptionsComponent {
20724
+ route;
20725
+ router;
20726
+ qualifyingQuestionService;
20727
+ qualifyingQuestionsControl;
20728
+ qualifyingQuestions$;
20729
+ questionSelected = new EventEmitter();
20730
+ qualifyingQuestionsErrorMessage = QualifyingQuestionsErrorMessage;
20731
+ caseId;
20732
+ constructor(route, router, qualifyingQuestionService) {
20733
+ this.route = route;
20734
+ this.router = router;
20735
+ this.qualifyingQuestionService = qualifyingQuestionService;
20736
+ }
20737
+ ngOnInit() {
20738
+ this.caseId = this.route.snapshot.params.cid;
20739
+ // Check if there's already a selected qualifying question from the service
20740
+ const savedSelection = this.qualifyingQuestionService.getQualifyingQuestionSelection();
20741
+ if (savedSelection) {
20742
+ this.qualifyingQuestionsControl.setValue(savedSelection);
20743
+ }
20744
+ }
20745
+ click() {
20746
+ this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Queries' });
20747
+ }
20748
+ get displayError() {
20749
+ return this.qualifyingQuestionsControl.touched && this.qualifyingQuestionsControl.hasError('required');
20750
+ }
20751
+ onSelectionChange(qualifyingQuestion) {
20752
+ this.questionSelected.emit(qualifyingQuestion);
20753
+ }
20754
+ static ɵfac = function QualifyingQuestionOptionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QualifyingQuestionOptionsComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(QualifyingQuestionService)); };
20755
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionOptionsComponent, selectors: [["ccd-qualifying-question-options"]], inputs: { qualifyingQuestionsControl: "qualifyingQuestionsControl", qualifyingQuestions$: "qualifyingQuestions$" }, outputs: { questionSelected: "questionSelected" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-form-group"], [1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], [1, "govuk-heading-m", "govuk-!-margin-top-10"], ["data-module", "govuk-radios", 1, "govuk-radios"], [4, "ngFor", "ngForOf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["name", "qualifyingQuestionOption", "type", "radio", 1, "govuk-radios__input", 3, "change", "id", "formControl", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [1, "qm-qualifying-question__divider"]], template: function QualifyingQuestionOptionsComponent_Template(rf, ctx) { if (rf & 1) {
20756
+ i0.ɵɵtemplate(0, QualifyingQuestionOptionsComponent_ng_container_0_Template, 14, 12, "ng-container", 0);
20757
+ } if (rf & 2) {
20758
+ i0.ɵɵproperty("ngIf", ctx.qualifyingQuestionsControl);
20759
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.FormControlDirective, i5.AsyncPipe, i1.RpxTranslatePipe], encapsulation: 2 });
20760
+ }
20761
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QualifyingQuestionOptionsComponent, [{
20762
+ type: Component,
20763
+ args: [{ selector: 'ccd-qualifying-question-options', template: "<ng-container *ngIf=\"qualifyingQuestionsControl\">\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"displayError\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ 'Raise a new query' | rpxTranslate }}\n </h1>\n </legend>\n <h2 class=\"govuk-heading-m govuk-!-margin-top-10\">\n {{ 'What do you need help to do?' | rpxTranslate }}\n </h2>\n\n <ng-container *ngIf=\"displayError\">\n <p class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{\n qualifyingQuestionsErrorMessage.SELECT_AN_OPTION | rpxTranslate }}\n </p>\n </ng-container>\n\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <ng-container *ngFor=\"let qualifyingQuestion of qualifyingQuestions$ | async; let isLast = last\">\n <ng-container *ngIf=\"isLast\">\n <div class=\"qm-qualifying-question__divider\">{{ 'If your issue is not covered by the options above, raise a query:' | rpxTranslate }}</div>\n </ng-container>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" \n id=\"{{qualifyingQuestion.name}}\" \n name=\"qualifyingQuestionOption\"\n type=\"radio\" [formControl]=\"qualifyingQuestionsControl\" \n [value]=\"qualifyingQuestion\"\n (change)=\"onSelectionChange(qualifyingQuestion)\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"qualifyingQuestion.name\">{{ qualifyingQuestion.name |\n rpxTranslate }}</label>\n </div>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</ng-container>\n" }]
20764
+ }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: QualifyingQuestionService }], { qualifyingQuestionsControl: [{
20765
+ type: Input
20766
+ }], qualifyingQuestions$: [{
20767
+ type: Input
20768
+ }], questionSelected: [{
20769
+ type: Output
20770
+ }] }); })();
20771
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionOptionsComponent, { className: "QualifyingQuestionOptionsComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.ts", lineNumber: 13 }); })();
20772
+
20773
+ function QueryAttachmentsReadComponent_ng_container_0_ccd_read_collection_field_1_Template(rf, ctx) { if (rf & 1) {
20774
+ i0.ɵɵelement(0, "ccd-read-collection-field", 2);
20775
+ } if (rf & 2) {
20776
+ const ctx_r0 = i0.ɵɵnextContext(2);
20777
+ i0.ɵɵproperty("caseField", ctx_r0.caseFieldWithAttachments);
20778
+ } }
20779
+ function QueryAttachmentsReadComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
20780
+ i0.ɵɵelementContainerStart(0);
20781
+ i0.ɵɵtemplate(1, QueryAttachmentsReadComponent_ng_container_0_ccd_read_collection_field_1_Template, 1, 1, "ccd-read-collection-field", 1);
20782
+ i0.ɵɵelementContainerEnd();
20783
+ } if (rf & 2) {
20784
+ const ctx_r0 = i0.ɵɵnextContext();
20785
+ i0.ɵɵadvance();
20786
+ i0.ɵɵproperty("ngIf", (ctx_r0.attachments == null ? null : ctx_r0.attachments.length) > 0);
20787
+ } }
20788
+ class QueryAttachmentsReadComponent {
20789
+ attachments;
20790
+ caseFieldWithAttachments;
20791
+ ngOnChanges() {
20792
+ this.caseFieldWithAttachments = Object.assign(new CaseField(), {
20793
+ id: '',
20794
+ label: '',
20795
+ hint_text: '',
20796
+ field_type: Object.assign(new FieldType(), {
20797
+ id: 'QueryDocuments',
20798
+ type: 'QueryDocuments',
20799
+ min: null,
20800
+ max: null,
20801
+ regular_expression: null,
20802
+ fixed_list_items: [],
20803
+ complex_fields: [],
20804
+ collection_field_type: Object.assign(new FieldType(), {
20805
+ id: 'Document',
20806
+ type: 'Document',
20807
+ min: null,
20808
+ max: null,
20809
+ regular_expression: null,
20810
+ fixed_list_items: [],
20811
+ complex_fields: [],
20812
+ collection_field_type: null
20813
+ })
20814
+ }),
20815
+ display_context_parameter: '#COLLECTION(allowInsert,allowUpdate)',
20816
+ value: []
20817
+ });
20818
+ this.caseFieldWithAttachments.value = this.attachments;
20819
+ }
20820
+ static ɵfac = function QueryAttachmentsReadComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryAttachmentsReadComponent)(); };
20821
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryAttachmentsReadComponent, selectors: [["ccd-query-attachments-read"]], inputs: { attachments: "attachments" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[4, "ngIf"], [3, "caseField", 4, "ngIf"], [3, "caseField"]], template: function QueryAttachmentsReadComponent_Template(rf, ctx) { if (rf & 1) {
20822
+ i0.ɵɵtemplate(0, QueryAttachmentsReadComponent_ng_container_0_Template, 2, 1, "ng-container", 0);
20823
+ } if (rf & 2) {
20824
+ i0.ɵɵproperty("ngIf", (ctx.attachments == null ? null : ctx.attachments.length) > 0);
20825
+ } }, styles: ["ccd-query-attachments-read .collection-field-table tr>td{border-bottom:none;padding-bottom:0}\n"], encapsulation: 2 });
20826
+ }
20827
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryAttachmentsReadComponent, [{
20828
+ type: Component,
20829
+ args: [{ selector: 'ccd-query-attachments-read', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"attachments?.length > 0\">\n <ccd-read-collection-field\n *ngIf=\"attachments?.length > 0\"\n [caseField]=\"caseFieldWithAttachments\"\n >\n </ccd-read-collection-field>\n</ng-container>\n", styles: ["ccd-query-attachments-read .collection-field-table tr>td{border-bottom:none;padding-bottom:0}\n"] }]
20830
+ }], null, { attachments: [{
20831
+ type: Input
20832
+ }] }); })();
20833
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryAttachmentsReadComponent, { className: "QueryAttachmentsReadComponent", filePath: "lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.ts", lineNumber: 10 }); })();
20834
+
20835
+ function QueryCaseDetailsHeaderComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
20836
+ i0.ɵɵelementStart(0, "h1", 2);
20837
+ i0.ɵɵtext(1);
20838
+ i0.ɵɵpipe(2, "ccdCaseReference");
20839
+ i0.ɵɵelementEnd();
20840
+ } if (rf & 2) {
20841
+ const ctx_r0 = i0.ɵɵnextContext();
20842
+ i0.ɵɵadvance();
20843
+ i0.ɵɵtextInterpolate1("#", i0.ɵɵpipeBind1(2, 1, ctx_r0.caseDetails.case_id), "");
20844
+ } }
20845
+ function QueryCaseDetailsHeaderComponent_div_1_Template(rf, ctx) { if (rf & 1) {
20846
+ i0.ɵɵelementStart(0, "div", 3);
20847
+ i0.ɵɵelement(1, "ccd-label-field", 4);
20848
+ i0.ɵɵelementEnd();
20849
+ } if (rf & 2) {
20850
+ const ctx_r0 = i0.ɵɵnextContext();
20851
+ i0.ɵɵadvance();
20852
+ i0.ɵɵproperty("caseField", ctx_r0.caseTitle)("caseFields", ctx_r0.caseFields);
20853
+ } }
20854
+ class QueryCaseDetailsHeaderComponent {
20855
+ caseDetails;
20856
+ caseTitle;
20857
+ caseFields;
20858
+ ngOnInit() {
20859
+ this.caseTitle = new CaseField();
20860
+ this.caseTitle.label = this.caseDetails?.state?.title_display;
20861
+ this.caseFields = this.getCaseFieldsInfo();
20862
+ }
20863
+ getCaseFieldsInfo() {
20864
+ const caseDataFields = this.caseDetails?.tabs?.reduce((acc, tab) => {
20865
+ return acc.concat(tab.fields);
20866
+ }, []);
20867
+ return caseDataFields.concat(this.caseDetails.metadataFields);
20868
+ }
20869
+ static ɵfac = function QueryCaseDetailsHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryCaseDetailsHeaderComponent)(); };
20870
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCaseDetailsHeaderComponent, selectors: [["ccd-query-case-details-header"]], inputs: { caseDetails: "caseDetails" }, decls: 2, vars: 2, consts: [["class", "heading-h1", 4, "ngIf"], ["class", "case-title", 4, "ngIf"], [1, "heading-h1"], [1, "case-title"], [3, "caseField", "caseFields"]], template: function QueryCaseDetailsHeaderComponent_Template(rf, ctx) { if (rf & 1) {
20871
+ i0.ɵɵtemplate(0, QueryCaseDetailsHeaderComponent_h1_0_Template, 3, 3, "h1", 0)(1, QueryCaseDetailsHeaderComponent_div_1_Template, 2, 2, "div", 1);
20872
+ } if (rf & 2) {
20873
+ i0.ɵɵproperty("ngIf", !ctx.caseTitle.label);
20874
+ i0.ɵɵadvance();
20875
+ i0.ɵɵproperty("ngIf", ctx.caseTitle.label);
20876
+ } }, dependencies: [i5.NgIf, LabelFieldComponent, CaseReferencePipe], encapsulation: 2 });
20877
+ }
20878
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCaseDetailsHeaderComponent, [{
20879
+ type: Component,
20880
+ args: [{ selector: 'ccd-query-case-details-header', template: "<h1 *ngIf=\"!caseTitle.label\" class=\"heading-h1\">#{{ caseDetails.case_id | ccdCaseReference}}</h1>\n<div *ngIf=\"caseTitle.label\" class=\"case-title\">\n <ccd-label-field [caseField]=\"caseTitle\" [caseFields]=\"caseFields\"></ccd-label-field>\n</div>\n" }]
20881
+ }], null, { caseDetails: [{
20882
+ type: Input
20883
+ }] }); })();
20884
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCaseDetailsHeaderComponent, { className: "QueryCaseDetailsHeaderComponent", filePath: "lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.ts", lineNumber: 10 }); })();
20885
+
20640
20886
  var QueryCreateContext;
20641
20887
  (function (QueryCreateContext) {
20642
20888
  QueryCreateContext["NEW_QUERY_QUALIFYING_QUESTION_OPTIONS"] = "NewQueryQualifyingQuestionOptions";
@@ -20834,449 +21080,27 @@ class QueryManagementUtils {
20834
21080
  isHearingRelated: queryItem.isHearingRelated,
20835
21081
  hearingDate: queryItem.hearingDate,
20836
21082
  createdOn: new Date(),
20837
- createdBy: currentUserId,
20838
- parentId: queryItem.id,
20839
- isClosed
20840
- };
20841
- }
20842
- static isObject(elem) {
20843
- return typeof elem === 'object' && elem !== null;
20844
- }
20845
- static isNonEmptyObject(elem) {
20846
- return this.isObject(elem) && Object.keys(elem).length !== 0;
20847
- }
20848
- static formattedDate(date) {
20849
- const formattedDate = moment(date).format('YYYY-MM-DD');
20850
- return formattedDate;
20851
- }
20852
- static ɵfac = function QueryManagementUtils_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryManagementUtils)(); };
20853
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryManagementUtils, factory: QueryManagementUtils.ɵfac });
20854
- }
20855
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryManagementUtils, [{
20856
- type: Injectable
20857
- }], null, null); })();
20858
-
20859
- const CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
20860
- const FIELD_TYPE_COMPLEX = 'Complex';
20861
- const DISPLAY_CONTEXT_READONLY = 'READONLY';
20862
- const QM_SELECT_FIRST_COLLECTION = 'selectFirstCollection';
20863
- const QM_COLLECTION_PROMPT = 'promptQmCollection';
20864
- const CIVIL_JURISDICTION = 'CIVIL';
20865
-
20866
- class QueryManagementService {
20867
- router;
20868
- sessionStorageService;
20869
- caseQueriesCollections;
20870
- fieldId;
20871
- constructor(router, sessionStorageService) {
20872
- this.router = router;
20873
- this.sessionStorageService = sessionStorageService;
20874
- }
20875
- generateCaseQueriesCollectionData(formGroup, queryCreateContext, queryItem, messageId // Get the message ID from route params (if present)
20876
- ) {
20877
- let currentUserDetails;
20878
- try {
20879
- currentUserDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
20880
- }
20881
- catch (e) {
20882
- console.error('Could not parse USER_DETAILS from session storage:', e);
20883
- currentUserDetails = {};
20884
- }
20885
- const caseMessage = queryCreateContext === QueryCreateContext.NEW_QUERY
20886
- ? QueryManagementUtils.getNewQueryData(formGroup, currentUserDetails)
20887
- : QueryManagementUtils.getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails);
20888
- const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
20889
- // Check if the field ID has been set dynamically
20890
- if (!this.fieldId) {
20891
- console.error('Error: Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
20892
- this.router.navigate(['/', 'service-down']);
20893
- throw new Error('Field ID for CaseQueriesCollection not found. Aborting query data generation.');
20894
- }
20895
- // Initialize new query data structure
20896
- const newQueryData = {};
20897
- if (this.caseQueriesCollections?.length) {
20898
- let matchedCollection;
20899
- // If it's not a new query, try to find the existing collection with the message ID
20900
- if (!isNewQuery && messageId) {
20901
- matchedCollection = this.caseQueriesCollections.find((collection) => collection.caseMessages.some((message) => message.value.id === messageId));
20902
- }
20903
- if (matchedCollection) {
20904
- // Append the new case message to the matched collection's caseMessages
20905
- matchedCollection.caseMessages.push({
20906
- id: null,
20907
- value: caseMessage
20908
- });
20909
- // Add the matched collection to newQueryData
20910
- newQueryData[this.fieldId] = {
20911
- ...matchedCollection, // Keep existing data intact
20912
- caseMessages: [...matchedCollection.caseMessages] // Append the updated messages array
20913
- };
20914
- }
20915
- else {
20916
- // Use partyName from the first collection (assumption: all share the same party)
20917
- const originalPartyName = this.caseQueriesCollections?.[0]?.partyName ?? currentUserDetails?.name;
20918
- // If no collection matches, or it's a new query
20919
- newQueryData[this.fieldId] = {
20920
- partyName: originalPartyName,
20921
- roleOnCase: '', // Not returned by CCD
20922
- caseMessages: [
20923
- {
20924
- id: null,
20925
- value: caseMessage
20926
- }
20927
- ]
20928
- };
20929
- // If caseQueriesCollections is not empty, append its data
20930
- newQueryData[this.fieldId].caseMessages.push(...this.caseQueriesCollections.flatMap((collection) => collection.caseMessages));
20931
- }
20932
- }
20933
- else {
20934
- // If there are no existing collections, create a new one (e.g., for new queries)
20935
- newQueryData[this.fieldId] = {
20936
- partyName: currentUserDetails?.name || `${currentUserDetails?.forename} ${currentUserDetails?.surname}`, // Not returned by CCD
20937
- roleOnCase: '', // Not returned by CCD
20938
- caseMessages: [
20939
- {
20940
- id: null,
20941
- value: caseMessage
20942
- }
20943
- ]
20944
- };
20945
- }
20946
- return newQueryData;
20947
- }
20948
- setCaseQueriesCollectionData(eventData, queryCreateContext, caseDetails, messageId) {
20949
- const resolvedFieldId = this.resolveFieldId(eventData, queryCreateContext, caseDetails, messageId);
20950
- if (!resolvedFieldId) {
20951
- console.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
20952
- return;
20953
- }
20954
- this.fieldId = resolvedFieldId;
20955
- this.caseQueriesCollections = eventData.case_fields.reduce((acc, field) => {
20956
- if (field.id === this.fieldId) {
20957
- const extracted = QueryManagementUtils.extractCaseQueriesFromCaseField(field);
20958
- if (extracted && typeof extracted === 'object') {
20959
- acc.push(extracted);
20960
- }
20961
- }
20962
- return acc;
20963
- }, []);
20964
- }
20965
- resolveFieldId(eventData, queryCreateContext, caseDetails, messageId) {
20966
- // Step 1: Filter candidate fields (must be editable CaseQueriesCollection fields)
20967
- const candidateFields = eventData?.case_fields?.filter((field) => field.field_type.id === CASE_QUERIES_COLLECTION_ID &&
20968
- field.field_type.type === FIELD_TYPE_COMPLEX &&
20969
- field.display_context !== DISPLAY_CONTEXT_READONLY);
20970
- if (!candidateFields?.length) {
20971
- console.warn('No editable CaseQueriesCollection fields found.');
20972
- return null;
20973
- }
20974
- const numberOfCollections = candidateFields.length;
20975
- const jurisdictionId = caseDetails?.case_type?.jurisdiction?.id ?? '';
20976
- // Step 2: If messageId is present, try to locate the field containing that message
20977
- if (messageId) {
20978
- const fieldByMessage = candidateFields.find((field) => field?.value?.caseMessages?.some((msg) => msg?.value?.id === messageId));
20979
- if (fieldByMessage) {
20980
- return fieldByMessage.id; // Found the matching field by message ID
20981
- }
20982
- }
20983
- // Step 3: Handle new queries
20984
- if (queryCreateContext === QueryCreateContext.NEW_QUERY) {
20985
- // If there's only one collection, use it
20986
- if (numberOfCollections === 1) {
20987
- return candidateFields[0].id;
20988
- }
20989
- // For multiple collections, use jurisdiction-based resolution strategy
20990
- if (this.getCollectionSelectionMethod(jurisdictionId) === QM_SELECT_FIRST_COLLECTION) {
20991
- // Choose the one with the lowest order from the first wizard page
20992
- const firstOrdered = this.getCaseQueriesCollectionFieldOrderFromWizardPages(eventData);
20993
- if (firstOrdered) {
20994
- return firstOrdered.id;
20995
- }
20996
- }
20997
- else {
20998
- console.error(`Error: Multiple CaseQueriesCollections are not supported yet for the ${jurisdictionId} jurisdiction`);
20999
- return null;
21000
- }
21001
- }
21002
- // Step 4: Fallback — if none of the above succeeded
21003
- console.warn('Could not determine fieldId for context:', queryCreateContext);
21004
- return null;
21005
- }
21006
- getCaseQueriesCollectionFieldOrderFromWizardPages(eventData) {
21007
- const candidateFields = eventData?.case_fields?.filter((field) => field.field_type.id === CASE_QUERIES_COLLECTION_ID &&
21008
- field.field_type.type === FIELD_TYPE_COMPLEX &&
21009
- field.display_context !== DISPLAY_CONTEXT_READONLY);
21010
- if (!candidateFields?.length) {
21011
- return undefined;
21012
- }
21013
- const firstPageFields = eventData?.wizard_pages?.[0]?.wizard_page_fields;
21014
- if (!firstPageFields) {
21015
- return undefined;
21016
- }
21017
- return candidateFields
21018
- .map((field) => {
21019
- const wizardField = firstPageFields.find((f) => f.case_field_id === field.id);
21020
- return { field, order: wizardField?.order ?? Number.MAX_SAFE_INTEGER };
21021
- })
21022
- .sort((a, b) => a.order - b.order)[0]?.field;
21023
- }
21024
- getCollectionSelectionMethod(jurisdiction) {
21025
- return jurisdiction.toUpperCase() === CIVIL_JURISDICTION ? QM_SELECT_FIRST_COLLECTION : QM_COLLECTION_PROMPT;
21026
- }
21027
- static ɵfac = function QueryManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryManagementService)(i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(SessionStorageService)); };
21028
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryManagementService, factory: QueryManagementService.ɵfac, providedIn: 'root' });
21029
- }
21030
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryManagementService, [{
21031
- type: Injectable,
21032
- args: [{ providedIn: 'root' }]
21033
- }], () => [{ type: i1$1.Router }, { type: SessionStorageService }], null); })();
21034
-
21035
- function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Template(rf, ctx) { if (rf & 1) {
21036
- i0.ɵɵelementContainerStart(0);
21037
- i0.ɵɵelementStart(1, "p", 8)(2, "span", 9);
21038
- i0.ɵɵtext(3);
21039
- i0.ɵɵpipe(4, "rpxTranslate");
21040
- i0.ɵɵelementEnd();
21041
- i0.ɵɵtext(5);
21042
- i0.ɵɵpipe(6, "rpxTranslate");
21043
- i0.ɵɵelementEnd();
21044
- i0.ɵɵelementContainerEnd();
21045
- } if (rf & 2) {
21046
- const ctx_r0 = i0.ɵɵnextContext(2);
21047
- i0.ɵɵadvance(3);
21048
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 2, "Error:"), " ");
21049
- i0.ɵɵadvance(2);
21050
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(6, 4, ctx_r0.qualifyingQuestionsErrorMessage.SELECT_AN_OPTION), " ");
21051
- } }
21052
- function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template(rf, ctx) { if (rf & 1) {
21053
- i0.ɵɵelementContainerStart(0);
21054
- i0.ɵɵelementStart(1, "div", 13);
21055
- i0.ɵɵtext(2);
21056
- i0.ɵɵpipe(3, "rpxTranslate");
21057
- i0.ɵɵelementEnd();
21058
- i0.ɵɵelementContainerEnd();
21059
- } if (rf & 2) {
21060
- i0.ɵɵadvance(2);
21061
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "If your issue is not covered by the options above, raise a query:"));
21062
- } }
21063
- function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template(rf, ctx) { if (rf & 1) {
21064
- const _r2 = i0.ɵɵgetCurrentView();
21065
- i0.ɵɵelementContainerStart(0);
21066
- i0.ɵɵtemplate(1, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template, 4, 3, "ng-container", 0);
21067
- i0.ɵɵelementStart(2, "div", 10)(3, "input", 11);
21068
- i0.ɵɵlistener("change", function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template_input_change_3_listener() { const qualifyingQuestion_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onSelectionChange(qualifyingQuestion_r3)); });
21069
- i0.ɵɵelementEnd();
21070
- i0.ɵɵelementStart(4, "label", 12);
21071
- i0.ɵɵtext(5);
21072
- i0.ɵɵpipe(6, "rpxTranslate");
21073
- i0.ɵɵelementEnd()();
21074
- i0.ɵɵelementContainerEnd();
21075
- } if (rf & 2) {
21076
- const qualifyingQuestion_r3 = ctx.$implicit;
21077
- const isLast_r4 = ctx.last;
21078
- const ctx_r0 = i0.ɵɵnextContext(2);
21079
- i0.ɵɵadvance();
21080
- i0.ɵɵproperty("ngIf", isLast_r4);
21081
- i0.ɵɵadvance(2);
21082
- i0.ɵɵpropertyInterpolate("id", qualifyingQuestion_r3.name);
21083
- i0.ɵɵproperty("formControl", ctx_r0.qualifyingQuestionsControl)("value", qualifyingQuestion_r3);
21084
- i0.ɵɵadvance();
21085
- i0.ɵɵproperty("for", qualifyingQuestion_r3.name);
21086
- i0.ɵɵadvance();
21087
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 6, qualifyingQuestion_r3.name));
21088
- } }
21089
- function QualifyingQuestionOptionsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
21090
- i0.ɵɵelementContainerStart(0);
21091
- i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
21092
- i0.ɵɵtext(5);
21093
- i0.ɵɵpipe(6, "rpxTranslate");
21094
- i0.ɵɵelementEnd()();
21095
- i0.ɵɵelementStart(7, "h2", 5);
21096
- i0.ɵɵtext(8);
21097
- i0.ɵɵpipe(9, "rpxTranslate");
21098
- i0.ɵɵelementEnd();
21099
- i0.ɵɵtemplate(10, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Template, 7, 6, "ng-container", 0);
21100
- i0.ɵɵelementStart(11, "div", 6);
21101
- i0.ɵɵtemplate(12, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template, 7, 8, "ng-container", 7);
21102
- i0.ɵɵpipe(13, "async");
21103
- i0.ɵɵelementEnd()()();
21104
- i0.ɵɵelementContainerEnd();
21105
- } if (rf & 2) {
21106
- const ctx_r0 = i0.ɵɵnextContext();
21107
- i0.ɵɵadvance();
21108
- i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.displayError);
21109
- i0.ɵɵadvance(4);
21110
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, "Raise a new query"), " ");
21111
- i0.ɵɵadvance(3);
21112
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 8, "What do you need help to do?"), " ");
21113
- i0.ɵɵadvance(2);
21114
- i0.ɵɵproperty("ngIf", ctx_r0.displayError);
21115
- i0.ɵɵadvance(2);
21116
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(13, 10, ctx_r0.qualifyingQuestions$));
21117
- } }
21118
- class QualifyingQuestionOptionsComponent {
21119
- route;
21120
- router;
21121
- qualifyingQuestionService;
21122
- qualifyingQuestionsControl;
21123
- qualifyingQuestions$;
21124
- questionSelected = new EventEmitter();
21125
- qualifyingQuestionsErrorMessage = QualifyingQuestionsErrorMessage;
21126
- caseId;
21127
- constructor(route, router, qualifyingQuestionService) {
21128
- this.route = route;
21129
- this.router = router;
21130
- this.qualifyingQuestionService = qualifyingQuestionService;
21131
- }
21132
- ngOnInit() {
21133
- this.caseId = this.route.snapshot.params.cid;
21134
- // Check if there's already a selected qualifying question from the service
21135
- const savedSelection = this.qualifyingQuestionService.getQualifyingQuestionSelection();
21136
- if (savedSelection) {
21137
- this.qualifyingQuestionsControl.setValue(savedSelection);
21138
- }
21139
- }
21140
- click() {
21141
- this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Queries' });
21142
- }
21143
- get displayError() {
21144
- return this.qualifyingQuestionsControl.touched && this.qualifyingQuestionsControl.hasError('required');
21145
- }
21146
- onSelectionChange(qualifyingQuestion) {
21147
- this.questionSelected.emit(qualifyingQuestion);
21148
- }
21149
- static ɵfac = function QualifyingQuestionOptionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QualifyingQuestionOptionsComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(QualifyingQuestionService)); };
21150
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionOptionsComponent, selectors: [["ccd-qualifying-question-options"]], inputs: { qualifyingQuestionsControl: "qualifyingQuestionsControl", qualifyingQuestions$: "qualifyingQuestions$" }, outputs: { questionSelected: "questionSelected" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-form-group"], [1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], [1, "govuk-heading-m", "govuk-!-margin-top-10"], ["data-module", "govuk-radios", 1, "govuk-radios"], [4, "ngFor", "ngForOf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["name", "qualifyingQuestionOption", "type", "radio", 1, "govuk-radios__input", 3, "change", "id", "formControl", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [1, "qm-qualifying-question__divider"]], template: function QualifyingQuestionOptionsComponent_Template(rf, ctx) { if (rf & 1) {
21151
- i0.ɵɵtemplate(0, QualifyingQuestionOptionsComponent_ng_container_0_Template, 14, 12, "ng-container", 0);
21152
- } if (rf & 2) {
21153
- i0.ɵɵproperty("ngIf", ctx.qualifyingQuestionsControl);
21154
- } }, dependencies: [i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.FormControlDirective, i5.AsyncPipe, i1.RpxTranslatePipe], encapsulation: 2 });
21155
- }
21156
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QualifyingQuestionOptionsComponent, [{
21157
- type: Component,
21158
- args: [{ selector: 'ccd-qualifying-question-options', template: "<ng-container *ngIf=\"qualifyingQuestionsControl\">\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"displayError\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ 'Raise a new query' | rpxTranslate }}\n </h1>\n </legend>\n <h2 class=\"govuk-heading-m govuk-!-margin-top-10\">\n {{ 'What do you need help to do?' | rpxTranslate }}\n </h2>\n\n <ng-container *ngIf=\"displayError\">\n <p class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{\n qualifyingQuestionsErrorMessage.SELECT_AN_OPTION | rpxTranslate }}\n </p>\n </ng-container>\n\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <ng-container *ngFor=\"let qualifyingQuestion of qualifyingQuestions$ | async; let isLast = last\">\n <ng-container *ngIf=\"isLast\">\n <div class=\"qm-qualifying-question__divider\">{{ 'If your issue is not covered by the options above, raise a query:' | rpxTranslate }}</div>\n </ng-container>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" \n id=\"{{qualifyingQuestion.name}}\" \n name=\"qualifyingQuestionOption\"\n type=\"radio\" [formControl]=\"qualifyingQuestionsControl\" \n [value]=\"qualifyingQuestion\"\n (change)=\"onSelectionChange(qualifyingQuestion)\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"qualifyingQuestion.name\">{{ qualifyingQuestion.name |\n rpxTranslate }}</label>\n </div>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</ng-container>\n" }]
21159
- }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: QualifyingQuestionService }], { qualifyingQuestionsControl: [{
21160
- type: Input
21161
- }], qualifyingQuestions$: [{
21162
- type: Input
21163
- }], questionSelected: [{
21164
- type: Output
21165
- }] }); })();
21166
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionOptionsComponent, { className: "QualifyingQuestionOptionsComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.ts", lineNumber: 13 }); })();
21167
-
21168
- function QueryAttachmentsReadComponent_ng_container_0_ccd_read_collection_field_1_Template(rf, ctx) { if (rf & 1) {
21169
- i0.ɵɵelement(0, "ccd-read-collection-field", 2);
21170
- } if (rf & 2) {
21171
- const ctx_r0 = i0.ɵɵnextContext(2);
21172
- i0.ɵɵproperty("caseField", ctx_r0.caseFieldWithAttachments);
21173
- } }
21174
- function QueryAttachmentsReadComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
21175
- i0.ɵɵelementContainerStart(0);
21176
- i0.ɵɵtemplate(1, QueryAttachmentsReadComponent_ng_container_0_ccd_read_collection_field_1_Template, 1, 1, "ccd-read-collection-field", 1);
21177
- i0.ɵɵelementContainerEnd();
21178
- } if (rf & 2) {
21179
- const ctx_r0 = i0.ɵɵnextContext();
21180
- i0.ɵɵadvance();
21181
- i0.ɵɵproperty("ngIf", (ctx_r0.attachments == null ? null : ctx_r0.attachments.length) > 0);
21182
- } }
21183
- class QueryAttachmentsReadComponent {
21184
- attachments;
21185
- caseFieldWithAttachments;
21186
- ngOnChanges() {
21187
- this.caseFieldWithAttachments = Object.assign(new CaseField(), {
21188
- id: '',
21189
- label: '',
21190
- hint_text: '',
21191
- field_type: Object.assign(new FieldType(), {
21192
- id: 'QueryDocuments',
21193
- type: 'QueryDocuments',
21194
- min: null,
21195
- max: null,
21196
- regular_expression: null,
21197
- fixed_list_items: [],
21198
- complex_fields: [],
21199
- collection_field_type: Object.assign(new FieldType(), {
21200
- id: 'Document',
21201
- type: 'Document',
21202
- min: null,
21203
- max: null,
21204
- regular_expression: null,
21205
- fixed_list_items: [],
21206
- complex_fields: [],
21207
- collection_field_type: null
21208
- })
21209
- }),
21210
- display_context_parameter: '#COLLECTION(allowInsert,allowUpdate)',
21211
- value: []
21212
- });
21213
- this.caseFieldWithAttachments.value = this.attachments;
21083
+ createdBy: currentUserId,
21084
+ parentId: queryItem.id,
21085
+ isClosed
21086
+ };
21214
21087
  }
21215
- static ɵfac = function QueryAttachmentsReadComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryAttachmentsReadComponent)(); };
21216
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryAttachmentsReadComponent, selectors: [["ccd-query-attachments-read"]], inputs: { attachments: "attachments" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[4, "ngIf"], [3, "caseField", 4, "ngIf"], [3, "caseField"]], template: function QueryAttachmentsReadComponent_Template(rf, ctx) { if (rf & 1) {
21217
- i0.ɵɵtemplate(0, QueryAttachmentsReadComponent_ng_container_0_Template, 2, 1, "ng-container", 0);
21218
- } if (rf & 2) {
21219
- i0.ɵɵproperty("ngIf", (ctx.attachments == null ? null : ctx.attachments.length) > 0);
21220
- } }, styles: ["ccd-query-attachments-read .collection-field-table tr>td{border-bottom:none;padding-bottom:0}\n"], encapsulation: 2 });
21221
- }
21222
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryAttachmentsReadComponent, [{
21223
- type: Component,
21224
- args: [{ selector: 'ccd-query-attachments-read', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"attachments?.length > 0\">\n <ccd-read-collection-field\n *ngIf=\"attachments?.length > 0\"\n [caseField]=\"caseFieldWithAttachments\"\n >\n </ccd-read-collection-field>\n</ng-container>\n", styles: ["ccd-query-attachments-read .collection-field-table tr>td{border-bottom:none;padding-bottom:0}\n"] }]
21225
- }], null, { attachments: [{
21226
- type: Input
21227
- }] }); })();
21228
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryAttachmentsReadComponent, { className: "QueryAttachmentsReadComponent", filePath: "lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.ts", lineNumber: 10 }); })();
21229
-
21230
- function QueryCaseDetailsHeaderComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
21231
- i0.ɵɵelementStart(0, "h1", 2);
21232
- i0.ɵɵtext(1);
21233
- i0.ɵɵpipe(2, "ccdCaseReference");
21234
- i0.ɵɵelementEnd();
21235
- } if (rf & 2) {
21236
- const ctx_r0 = i0.ɵɵnextContext();
21237
- i0.ɵɵadvance();
21238
- i0.ɵɵtextInterpolate1("#", i0.ɵɵpipeBind1(2, 1, ctx_r0.caseDetails.case_id), "");
21239
- } }
21240
- function QueryCaseDetailsHeaderComponent_div_1_Template(rf, ctx) { if (rf & 1) {
21241
- i0.ɵɵelementStart(0, "div", 3);
21242
- i0.ɵɵelement(1, "ccd-label-field", 4);
21243
- i0.ɵɵelementEnd();
21244
- } if (rf & 2) {
21245
- const ctx_r0 = i0.ɵɵnextContext();
21246
- i0.ɵɵadvance();
21247
- i0.ɵɵproperty("caseField", ctx_r0.caseTitle)("caseFields", ctx_r0.caseFields);
21248
- } }
21249
- class QueryCaseDetailsHeaderComponent {
21250
- caseDetails;
21251
- caseTitle;
21252
- caseFields;
21253
- ngOnInit() {
21254
- this.caseTitle = new CaseField();
21255
- this.caseTitle.label = this.caseDetails?.state?.title_display;
21256
- this.caseFields = this.getCaseFieldsInfo();
21088
+ static isObject(elem) {
21089
+ return typeof elem === 'object' && elem !== null;
21257
21090
  }
21258
- getCaseFieldsInfo() {
21259
- const caseDataFields = this.caseDetails?.tabs?.reduce((acc, tab) => {
21260
- return acc.concat(tab.fields);
21261
- }, []);
21262
- return caseDataFields.concat(this.caseDetails.metadataFields);
21091
+ static isNonEmptyObject(elem) {
21092
+ return this.isObject(elem) && Object.keys(elem).length !== 0;
21263
21093
  }
21264
- static ɵfac = function QueryCaseDetailsHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryCaseDetailsHeaderComponent)(); };
21265
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCaseDetailsHeaderComponent, selectors: [["ccd-query-case-details-header"]], inputs: { caseDetails: "caseDetails" }, decls: 2, vars: 2, consts: [["class", "heading-h1", 4, "ngIf"], ["class", "case-title", 4, "ngIf"], [1, "heading-h1"], [1, "case-title"], [3, "caseField", "caseFields"]], template: function QueryCaseDetailsHeaderComponent_Template(rf, ctx) { if (rf & 1) {
21266
- i0.ɵɵtemplate(0, QueryCaseDetailsHeaderComponent_h1_0_Template, 3, 3, "h1", 0)(1, QueryCaseDetailsHeaderComponent_div_1_Template, 2, 2, "div", 1);
21267
- } if (rf & 2) {
21268
- i0.ɵɵproperty("ngIf", !ctx.caseTitle.label);
21269
- i0.ɵɵadvance();
21270
- i0.ɵɵproperty("ngIf", ctx.caseTitle.label);
21271
- } }, dependencies: [i5.NgIf, LabelFieldComponent, CaseReferencePipe], encapsulation: 2 });
21094
+ static formattedDate(date) {
21095
+ const formattedDate = moment(date).format('YYYY-MM-DD');
21096
+ return formattedDate;
21097
+ }
21098
+ static ɵfac = function QueryManagementUtils_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryManagementUtils)(); };
21099
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryManagementUtils, factory: QueryManagementUtils.ɵfac });
21272
21100
  }
21273
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCaseDetailsHeaderComponent, [{
21274
- type: Component,
21275
- args: [{ selector: 'ccd-query-case-details-header', template: "<h1 *ngIf=\"!caseTitle.label\" class=\"heading-h1\">#{{ caseDetails.case_id | ccdCaseReference}}</h1>\n<div *ngIf=\"caseTitle.label\" class=\"case-title\">\n <ccd-label-field [caseField]=\"caseTitle\" [caseFields]=\"caseFields\"></ccd-label-field>\n</div>\n" }]
21276
- }], null, { caseDetails: [{
21277
- type: Input
21278
- }] }); })();
21279
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCaseDetailsHeaderComponent, { className: "QueryCaseDetailsHeaderComponent", filePath: "lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.ts", lineNumber: 10 }); })();
21101
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryManagementUtils, [{
21102
+ type: Injectable
21103
+ }], null, null); })();
21280
21104
 
21281
21105
  function QueryCheckYourAnswersComponent_div_0_div_2_li_6_Template(rf, ctx) { if (rf & 1) {
21282
21106
  i0.ɵɵelementStart(0, "li")(1, "a", 28);
@@ -21603,27 +21427,20 @@ class QueryCheckYourAnswersComponent {
21603
21427
  casesService;
21604
21428
  caseNotifier;
21605
21429
  workAllocationService;
21430
+ sessionStorageService;
21606
21431
  qualifyingQuestionService;
21607
- queryManagementService;
21608
- errorNotifierService;
21609
- alertService;
21610
21432
  RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
21611
21433
  RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
21612
21434
  CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
21613
- static TRIGGER_TEXT_CONTINUE = 'Ignore Warning and Continue';
21614
- static TRIGGER_TEXT_START = 'Continue';
21615
21435
  FIELD_TYPE_COMPLEX = 'Complex';
21616
21436
  DISPLAY_CONTEXT_READONLY = 'READONLY';
21617
21437
  QM_SELECT_FIRST_COLLECTION = 'selectFirstCollection';
21618
21438
  QM_COLLECTION_PROMPT = 'promptQmCollection';
21619
21439
  CIVIL_JURISDICTION = 'CIVIL';
21620
- triggerTextStart = QueryCheckYourAnswersComponent.TRIGGER_TEXT_START;
21621
- triggerTextIgnoreWarnings = QueryCheckYourAnswersComponent.TRIGGER_TEXT_CONTINUE;
21622
21440
  formGroup;
21623
21441
  queryItem;
21624
21442
  queryCreateContext;
21625
21443
  eventData = null;
21626
- qmCaseQueriesCollectionData;
21627
21444
  backClicked = new EventEmitter();
21628
21445
  querySubmitted = new EventEmitter();
21629
21446
  callbackConfirmationMessage = new EventEmitter();
@@ -21642,24 +21459,20 @@ class QueryCheckYourAnswersComponent {
21642
21459
  filteredTasks = [];
21643
21460
  readyToSubmit;
21644
21461
  isSubmitting = false;
21645
- messgaeId;
21646
21462
  callbackErrorsSubject = new Subject();
21647
21463
  error;
21648
- constructor(route, router, casesService, caseNotifier, workAllocationService, qualifyingQuestionService, queryManagementService, errorNotifierService, alertService) {
21464
+ constructor(route, router, casesService, caseNotifier, workAllocationService, sessionStorageService, qualifyingQuestionService) {
21649
21465
  this.route = route;
21650
21466
  this.router = router;
21651
21467
  this.casesService = casesService;
21652
21468
  this.caseNotifier = caseNotifier;
21653
21469
  this.workAllocationService = workAllocationService;
21470
+ this.sessionStorageService = sessionStorageService;
21654
21471
  this.qualifyingQuestionService = qualifyingQuestionService;
21655
- this.queryManagementService = queryManagementService;
21656
- this.errorNotifierService = errorNotifierService;
21657
- this.alertService = alertService;
21658
21472
  }
21659
21473
  ngOnInit() {
21660
21474
  this.queryId = this.route.snapshot.params.qid;
21661
21475
  this.tid = this.route.snapshot.queryParams?.tid;
21662
- this.messgaeId = this.route.snapshot.params.dataid;
21663
21476
  this.caseNotifier.caseView.pipe(take(1)).subscribe((caseDetails) => {
21664
21477
  this.caseDetails = caseDetails;
21665
21478
  // Find the appropriate event trigger based on the queryCreateContext
@@ -21688,23 +21501,8 @@ class QueryCheckYourAnswersComponent {
21688
21501
  }
21689
21502
  },
21690
21503
  error: (error) => {
21504
+ console.error('Error in searchTasksSubscription:', error);
21691
21505
  this.readyToSubmit = false;
21692
- if (error.status !== 401 && error.status !== 403) {
21693
- this.errorNotifierService.announceError(error);
21694
- this.alertService.error({ phrase: error.message });
21695
- console.error('Error occurred while fetching event data:', error);
21696
- this.callbackErrorsSubject.next(error);
21697
- }
21698
- else {
21699
- this.errorMessages = [
21700
- {
21701
- title: 'Error',
21702
- description: 'Something unexpected happened. Please try again later.',
21703
- fieldId: 'field-id'
21704
- }
21705
- ];
21706
- }
21707
- window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
21708
21506
  }
21709
21507
  });
21710
21508
  }
@@ -21715,7 +21513,6 @@ class QueryCheckYourAnswersComponent {
21715
21513
  ngOnDestroy() {
21716
21514
  this.createEventSubscription?.unsubscribe();
21717
21515
  this.searchTasksSubscription?.unsubscribe();
21718
- this.callbackErrorsSubject?.unsubscribe();
21719
21516
  }
21720
21517
  goBack() {
21721
21518
  this.backClicked.emit(true);
@@ -21724,7 +21521,20 @@ class QueryCheckYourAnswersComponent {
21724
21521
  if (this.isSubmitting) {
21725
21522
  return;
21726
21523
  }
21727
- const data = this.qmCaseQueriesCollectionData;
21524
+ // Check if fieldId is null or undefined
21525
+ if (!this.fieldId) {
21526
+ console.error('Error: Field ID is missing. Cannot proceed with submission.');
21527
+ this.errorMessages = [
21528
+ {
21529
+ title: 'Error',
21530
+ description: 'This case is not configured for query management.',
21531
+ fieldId: 'field-id'
21532
+ }
21533
+ ];
21534
+ window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
21535
+ return;
21536
+ }
21537
+ const data = this.generateCaseQueriesCollectionData();
21728
21538
  const createEvent$ = this.createEvent(data);
21729
21539
  this.isSubmitting = true;
21730
21540
  if (this.queryCreateContext === QueryCreateContext.RESPOND) {
@@ -21785,7 +21595,172 @@ class QueryCheckYourAnswersComponent {
21785
21595
  handleError(error) {
21786
21596
  console.error('Error in API calls:', error);
21787
21597
  this.isSubmitting = false;
21788
- this.router.navigate(['/', 'service-down']);
21598
+ if (this.isServiceErrorFound(error)) {
21599
+ this.error = null;
21600
+ this.callbackErrorsSubject.next(error);
21601
+ }
21602
+ else {
21603
+ if (error && error.status !== 401 && error.status !== 403) {
21604
+ this.error = error;
21605
+ }
21606
+ else {
21607
+ this.router.navigate(['/', 'service-down']);
21608
+ }
21609
+ }
21610
+ window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
21611
+ }
21612
+ generateCaseQueriesCollectionData() {
21613
+ const currentUserDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
21614
+ const caseMessage = this.queryCreateContext === QueryCreateContext.NEW_QUERY
21615
+ ? QueryManagementUtils.getNewQueryData(this.formGroup, currentUserDetails)
21616
+ : QueryManagementUtils.getRespondOrFollowupQueryData(this.formGroup, this.queryItem, currentUserDetails);
21617
+ const messageId = this.route.snapshot.params.dataid; // Get the message ID from route params (if present)
21618
+ const isNewQuery = this.queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
21619
+ // Check if the field ID has been set dynamically
21620
+ if (!this.fieldId) {
21621
+ console.error('Error: Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
21622
+ this.router.navigate(['/', 'service-down']);
21623
+ }
21624
+ // Initialize new query data structure
21625
+ const newQueryData = {};
21626
+ if (this.caseQueriesCollections?.length) {
21627
+ let matchedCollection;
21628
+ // If it's not a new query, try to find the existing collection with the message ID
21629
+ if (!isNewQuery && messageId) {
21630
+ matchedCollection = this.caseQueriesCollections.find((collection) => collection.caseMessages.some((message) => message.value.id === messageId));
21631
+ }
21632
+ if (matchedCollection) {
21633
+ // Append the new case message to the matched collection's caseMessages
21634
+ matchedCollection.caseMessages.push({
21635
+ id: null,
21636
+ value: caseMessage
21637
+ });
21638
+ // Add the matched collection to newQueryData
21639
+ newQueryData[this.fieldId] = {
21640
+ ...matchedCollection, // Keep existing data intact
21641
+ caseMessages: [...matchedCollection.caseMessages] // Append the updated messages array
21642
+ };
21643
+ }
21644
+ else {
21645
+ // Use partyName from the first collection (assumption: all share the same party)
21646
+ const originalPartyName = this.caseQueriesCollections[0].partyName;
21647
+ // If no collection matches, or it's a new query
21648
+ newQueryData[this.fieldId] = {
21649
+ partyName: originalPartyName,
21650
+ roleOnCase: '', // Not returned by CCD
21651
+ caseMessages: [
21652
+ {
21653
+ id: null,
21654
+ value: caseMessage
21655
+ }
21656
+ ]
21657
+ };
21658
+ // If caseQueriesCollections is not empty, append its data
21659
+ newQueryData[this.fieldId].caseMessages.push(...this.caseQueriesCollections.flatMap((collection) => collection.caseMessages));
21660
+ }
21661
+ }
21662
+ else {
21663
+ // If there are no existing collections, create a new one (e.g., for new queries)
21664
+ newQueryData[this.fieldId] = {
21665
+ partyName: currentUserDetails?.name || `${currentUserDetails?.forename} ${currentUserDetails?.surname}`, // Not returned by CCD
21666
+ roleOnCase: '', // Not returned by CCD
21667
+ caseMessages: [
21668
+ {
21669
+ id: null,
21670
+ value: caseMessage
21671
+ }
21672
+ ]
21673
+ };
21674
+ }
21675
+ return newQueryData;
21676
+ }
21677
+ setCaseQueriesCollectionData() {
21678
+ if (this.eventData?.case_fields?.length) {
21679
+ // Workaround for multiple qmCaseQueriesCollections that are not to be appearing in the eventData
21680
+ // Counts number qmCaseQueriesCollections
21681
+ const numberOfCaseQueriesCollections = this.eventData?.case_fields?.filter((caseField) => caseField.field_type.id === this.CASE_QUERIES_COLLECTION_ID &&
21682
+ caseField.field_type.type === this.FIELD_TYPE_COMPLEX && caseField.display_context !== this.DISPLAY_CONTEXT_READONLY)?.length || 0;
21683
+ this.caseQueriesCollections = this.eventData.case_fields.reduce((acc, caseField) => {
21684
+ // Extract the ID based on conditions, updating this.fieldId dynamically
21685
+ this.extractCaseQueryId(caseField, numberOfCaseQueriesCollections);
21686
+ const extractedCaseQueriesFromCaseField = QueryManagementUtils.extractCaseQueriesFromCaseField(caseField);
21687
+ if (extractedCaseQueriesFromCaseField && typeof extractedCaseQueriesFromCaseField === 'object') {
21688
+ acc.push(extractedCaseQueriesFromCaseField);
21689
+ }
21690
+ return acc;
21691
+ }, []);
21692
+ }
21693
+ }
21694
+ extractCaseQueryId(data, count) {
21695
+ const { id, value } = data;
21696
+ const messageId = this.route.snapshot.params.dataid;
21697
+ // Check if the field_type matches CaseQueriesCollection and type is Complex
21698
+ if (data.field_type.id === this.CASE_QUERIES_COLLECTION_ID && data.field_type.type === this.FIELD_TYPE_COMPLEX) {
21699
+ if (this.isNewQueryContext(data)) {
21700
+ // If there is more than one qmCaseQueriesCollection, pick the one with the lowest order
21701
+ if (count > 1) {
21702
+ if (!this.handleMultipleCollections()) {
21703
+ return;
21704
+ }
21705
+ }
21706
+ else {
21707
+ // Set the field ID dynamically based on the extracted data
21708
+ this.fieldId = id; // Store the ID for use in generating newQueryData
21709
+ }
21710
+ }
21711
+ // If messageId is present, find the corresponding case message
21712
+ this.setMessageFieldId(messageId, value, id);
21713
+ }
21714
+ }
21715
+ setMessageFieldId(messageId, value, id) {
21716
+ if (messageId && value?.caseMessages) {
21717
+ // If a matching message is found, set the fieldId to the corresponding id
21718
+ const matchedMessage = value?.caseMessages?.find((message) => message.value.id === messageId);
21719
+ if (matchedMessage) {
21720
+ this.fieldId = id;
21721
+ }
21722
+ }
21723
+ }
21724
+ isNewQueryContext(data) {
21725
+ return this.queryCreateContext === QueryCreateContext.NEW_QUERY && data.display_context !== this.DISPLAY_CONTEXT_READONLY;
21726
+ }
21727
+ handleMultipleCollections() {
21728
+ const jurisdictionId = this.caseDetails?.case_type?.jurisdiction?.id;
21729
+ if (!jurisdictionId) {
21730
+ console.error('Jurisdiction ID is missing.');
21731
+ return false;
21732
+ }
21733
+ if (this.getCollectionSelectionMethod(jurisdictionId) === this.QM_SELECT_FIRST_COLLECTION) {
21734
+ // Pick the collection with the lowest order
21735
+ this.fieldId = this.getCaseQueriesCollectionFieldOrderFromWizardPages()?.id;
21736
+ }
21737
+ else {
21738
+ // Display Error, for now, until EXUI-2644 is implemented
21739
+ console.error(`Error: Multiple CaseQueriesCollections are not supported yet for the ${jurisdictionId} jurisdiction`);
21740
+ return false;
21741
+ }
21742
+ return true;
21743
+ }
21744
+ getCaseQueriesCollectionFieldOrderFromWizardPages() {
21745
+ const candidateFields = this.eventData?.case_fields?.filter((field) => field.field_type.id === this.CASE_QUERIES_COLLECTION_ID &&
21746
+ field.field_type.type === this.FIELD_TYPE_COMPLEX &&
21747
+ field.display_context !== this.DISPLAY_CONTEXT_READONLY);
21748
+ if (!candidateFields?.length) {
21749
+ return undefined;
21750
+ }
21751
+ const firstPageFields = this.eventData?.wizard_pages?.[0]?.wizard_page_fields;
21752
+ if (!firstPageFields) {
21753
+ return undefined;
21754
+ }
21755
+ return candidateFields
21756
+ .map((field) => {
21757
+ const wizardField = firstPageFields.find((f) => f.case_field_id === field.id);
21758
+ return { field, order: wizardField?.order ?? Number.MAX_SAFE_INTEGER };
21759
+ })
21760
+ .sort((a, b) => a.order - b.order)[0]?.field;
21761
+ }
21762
+ getCollectionSelectionMethod(jurisdiction) {
21763
+ return jurisdiction.toUpperCase() === this.CIVIL_JURISDICTION ? this.QM_SELECT_FIRST_COLLECTION : this.QM_COLLECTION_PROMPT;
21789
21764
  }
21790
21765
  getDocumentAttachments() {
21791
21766
  const attachmentsValue = this.formGroup.get('attachments').value;
@@ -21797,14 +21772,8 @@ class QueryCheckYourAnswersComponent {
21797
21772
  isServiceErrorFound(error) {
21798
21773
  return !!(error?.callbackErrors?.length);
21799
21774
  }
21800
- setCaseQueriesCollectionData() {
21801
- if (!this.eventData) {
21802
- console.warn('Event data not available; skipping collection setup.');
21803
- }
21804
- this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messgaeId);
21805
- }
21806
- 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)); };
21807
- 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) {
21775
+ 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(SessionStorageService), i0.ɵɵdirectiveInject(QualifyingQuestionService)); };
21776
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCheckYourAnswersComponent, selectors: [["ccd-query-check-your-answers"]], inputs: { formGroup: "formGroup", queryItem: "queryItem", queryCreateContext: "queryCreateContext", eventData: "eventData" }, 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) {
21808
21777
  i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 36, 25, "div", 2);
21809
21778
  } if (rf & 2) {
21810
21779
  i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
@@ -21813,7 +21782,7 @@ class QueryCheckYourAnswersComponent {
21813
21782
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCheckYourAnswersComponent, [{
21814
21783
  type: Component,
21815
21784
  args: [{ selector: 'ccd-query-check-your-answers', template: "<div class=\"govuk-grid-row\" *ngIf=\"readyToSubmit\">\n <div class=\"govuk-grid-column-two-thirds-from-desktop\">\n <!-- Error message summary -->\n <div *ngIf=\"errorMessages.length > 0\" class=\"govuk-error-summary\"\n aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n 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 class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a [id]=\"'error-' + errorMessage.fieldId\" href=\"javascript:void(0)\"\n class=\"validation-error\">{{ errorMessage.description | rpxTranslate }}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div *ngIf=\"error && (error.details || error.message)\" class=\"error-summary\" role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h3 class=\"heading-h3 error-summary-heading\" id=\"event_error-summary-heading\">\n The event could not be created\n </h3>\n <p>{{error.message}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\" class=\"ccd-error-summary-li\">{{fieldError.message}}</li>\n </ul>\n </div>\n\n <ccd-callback-errors [callbackErrorsSubject]=\"callbackErrorsSubject\"></ccd-callback-errors>\n\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\">\n <div class=\"govuk-caption-l\">{{ 'Raise a query' | rpxTranslate }}</div>\n </ng-container>\n\n <h1 class=\"govuk-heading-l\">\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND; else defaultCheckYourAnswersTitle\">\n {{ 'Review query response details' | rpxTranslate }}\n </ng-container>\n\n <ng-template #defaultCheckYourAnswersTitle>\n {{ 'Review query details' | rpxTranslate }}\n </ng-template>\n </h1>\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <dl *ngIf=\"queryCreateContext !== queryCreateContextEnum.FOLLOWUP\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Submitted query' : 'Query subject' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? queryItem.subject : formGroup.get('subject')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" \n href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query detail' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('body')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n <ng-container *ngIf=\"formGroup.get('isHearingRelated')?.value === true; else isHearingRelatedFalse\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'Yes' }}\n </ng-container>\n <ng-template #isHearingRelatedFalse>\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'No' }}\n </ng-template>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n\n <div *ngIf=\"formGroup.get('isHearingRelated')?.value\" class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY\n ? 'What is the date of the hearing?'\n : 'What is the date of the hearing your query is related to?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('hearingDate')?.value | date: 'dd MMM yyyy' }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\" *ngIf=\"this.formGroup.get('attachments').value.length > 0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY ? 'Upload a file to the query' : 'Document attached' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value govuk-summary-list__value--documentAttached\">\n <ccd-query-attachments-read\n *ngIf=\"this.formGroup.get('attachments').value\"\n [attachments]=\"attachments\"\n >\n </ccd-query-attachments-read>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ 'Closing the query' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('closeQuery')?.value ? 'I want to close this query' : 'No answer' | rpxTranslate }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <br>\n\n <div>\n <button class=\"govuk-button govuk-button--secondary govuk-!-margin-right-3\" data-module=\"govuk-button\"\n (click)=\"goBack()\">\n {{ 'Previous' | rpxTranslate }}\n </button>\n <button class=\"govuk-button\" data-module=\"govuk-button\" type=\"submit\" (click)=\"submit()\">\n {{ 'Submit' | rpxTranslate }}\n </button>\n </div>\n </div>\n\n <ccd-query-event-completion [eventCompletionParams]=\"eventCompletionParams\"> \n </ccd-query-event-completion>\n</div>\n", styles: [".govuk-summary-list__value--documentAttached{vertical-align:middle}\n"] }]
21816
- }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: CasesService }, { type: CaseNotifier }, { type: WorkAllocationService }, { type: QualifyingQuestionService }, { type: QueryManagementService }, { type: ErrorNotifierService }, { type: AlertService }], { formGroup: [{
21785
+ }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: CasesService }, { type: CaseNotifier }, { type: WorkAllocationService }, { type: SessionStorageService }, { type: QualifyingQuestionService }], { formGroup: [{
21817
21786
  type: Input
21818
21787
  }], queryItem: [{
21819
21788
  type: Input
@@ -21821,8 +21790,6 @@ class QueryCheckYourAnswersComponent {
21821
21790
  type: Input
21822
21791
  }], eventData: [{
21823
21792
  type: Input
21824
- }], qmCaseQueriesCollectionData: [{
21825
- type: Input
21826
21793
  }], backClicked: [{
21827
21794
  type: Output
21828
21795
  }], querySubmitted: [{
@@ -21830,7 +21797,7 @@ class QueryCheckYourAnswersComponent {
21830
21797
  }], callbackConfirmationMessage: [{
21831
21798
  type: Output
21832
21799
  }] }); })();
21833
- (() => { (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: 31 }); })();
21800
+ (() => { (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: 28 }); })();
21834
21801
 
21835
21802
  function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
21836
21803
  const _r1 = i0.ɵɵgetCurrentView();
@@ -22782,36 +22749,12 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
22782
22749
  i0.ɵɵproperty("ngIf", ctx_r0.formGroup.get("isHearingRelated").value);
22783
22750
  } }
22784
22751
  class QueryWriteRaiseQueryComponent {
22785
- queryManagementService;
22786
- route;
22787
22752
  formGroup;
22788
22753
  submitted;
22789
22754
  caseDetails;
22790
22755
  showForm;
22791
22756
  serviceMessage;
22792
- queryCreateContext;
22793
- eventData = null;
22794
- queryItem;
22795
- validate;
22796
- triggerSubmission;
22797
- queryDataCreated = new EventEmitter();
22798
22757
  raiseQueryErrorMessage = RaiseQueryErrorMessage;
22799
- eventCompletionParams;
22800
- messgaeId;
22801
- constructor(queryManagementService, route) {
22802
- this.queryManagementService = queryManagementService;
22803
- this.route = route;
22804
- }
22805
- ngOnChanges() {
22806
- this.messgaeId = this.route.snapshot.params.dataid;
22807
- const isCollectionDataSet = this.setCaseQueriesCollectionData();
22808
- if (isCollectionDataSet) {
22809
- if (this.triggerSubmission) {
22810
- const data = this.generateCaseQueriesCollectionData();
22811
- this.queryDataCreated.emit(data);
22812
- }
22813
- }
22814
- }
22815
22758
  onSubjectInput() {
22816
22759
  const control = this.formGroup.get('subject');
22817
22760
  const value = control?.value;
@@ -22829,19 +22772,8 @@ class QueryWriteRaiseQueryComponent {
22829
22772
  }
22830
22773
  return '';
22831
22774
  }
22832
- setCaseQueriesCollectionData() {
22833
- if (!this.eventData) {
22834
- console.warn('Event data not available; skipping collection setup.');
22835
- return false;
22836
- }
22837
- this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messgaeId);
22838
- return true;
22839
- }
22840
- generateCaseQueriesCollectionData() {
22841
- return this.queryManagementService.generateCaseQueriesCollectionData(this.formGroup, this.queryCreateContext, this.queryItem, this.messgaeId);
22842
- }
22843
- static ɵfac = function QueryWriteRaiseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRaiseQueryComponent)(i0.ɵɵdirectiveInject(QueryManagementService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
22844
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRaiseQueryComponent, selectors: [["ccd-query-write-raise-query"]], inputs: { formGroup: "formGroup", submitted: "submitted", caseDetails: "caseDetails", showForm: "showForm", serviceMessage: "serviceMessage", queryCreateContext: "queryCreateContext", eventData: "eventData", queryItem: "queryItem", validate: "validate", triggerSubmission: "triggerSubmission" }, outputs: { queryDataCreated: "queryDataCreated" }, features: [i0.ɵɵNgOnChangesFeature], decls: 12, vars: 8, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-4"], [3, "caseDetails", 4, "ngIf"], ["class", "govuk-!-margin-bottom-4", 4, "ngIf"], [3, "caseDetails"], [1, "govuk-!-margin-bottom-4"], [3, "formGroup"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [3, "content"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], ["for", "subject", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "subject-hint", 1, "govuk-hint"], ["id", "subject-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "id", "subject", "formControlName", "subject", "maxlength", "200", "aria-describedby", "subject-error", 1, "govuk-input", 3, "input"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-hint", 1, "govuk-hint"], ["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"], [1, "govuk-fieldset"], [1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "isHearingRelated-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--inline"], [1, "govuk-radios__item"], ["id", "isHearingRelated-yes", "name", "isHearingRelated", "type", "radio", "formControlName", "isHearingRelated", 1, "govuk-radios__input", 3, "checked", "value"], ["for", "isHearingRelated-yes", 1, "govuk-label", "govuk-radios__label"], ["id", "isHearingRelated-no", "name", "isHearingRelated", "type", "radio", "formControlName", "isHearingRelated", 1, "govuk-radios__input", 3, "checked", "value"], ["for", "isHearingRelated-no", 1, "govuk-label", "govuk-radios__label"], [4, "ngIf"], ["id", "subject-error", 1, "govuk-error-message"], ["id", "body-error", 1, "govuk-error-message"], ["id", "isHearingRelated-error", 1, "govuk-error-message"], [1, "govuk-radios__conditional", "govuk-!-margin-top-1", 3, "ngClass"], ["role", "group", 1, "govuk-fieldset"], [1, "govuk-label", "govuk-label--s"], ["id", "hearingDate-error", "class", "govuk-error-message", 4, "ngIf"], ["formControlName", "hearingDate"], ["id", "hearingDate-error", 1, "govuk-error-message"]], template: function QueryWriteRaiseQueryComponent_Template(rf, ctx) { if (rf & 1) {
22775
+ static ɵfac = function QueryWriteRaiseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRaiseQueryComponent)(); };
22776
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRaiseQueryComponent, selectors: [["ccd-query-write-raise-query"]], inputs: { formGroup: "formGroup", submitted: "submitted", caseDetails: "caseDetails", showForm: "showForm", serviceMessage: "serviceMessage" }, decls: 12, vars: 8, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-4"], [3, "caseDetails", 4, "ngIf"], ["class", "govuk-!-margin-bottom-4", 4, "ngIf"], [3, "caseDetails"], [1, "govuk-!-margin-bottom-4"], [3, "formGroup"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [3, "content"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], ["for", "subject", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "subject-hint", 1, "govuk-hint"], ["id", "subject-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "id", "subject", "formControlName", "subject", "maxlength", "200", "aria-describedby", "subject-error", 1, "govuk-input", 3, "input"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-hint", 1, "govuk-hint"], ["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"], [1, "govuk-fieldset"], [1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "isHearingRelated-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--inline"], [1, "govuk-radios__item"], ["id", "isHearingRelated-yes", "name", "isHearingRelated", "type", "radio", "formControlName", "isHearingRelated", 1, "govuk-radios__input", 3, "checked", "value"], ["for", "isHearingRelated-yes", 1, "govuk-label", "govuk-radios__label"], ["id", "isHearingRelated-no", "name", "isHearingRelated", "type", "radio", "formControlName", "isHearingRelated", 1, "govuk-radios__input", 3, "checked", "value"], ["for", "isHearingRelated-no", 1, "govuk-label", "govuk-radios__label"], [4, "ngIf"], ["id", "subject-error", 1, "govuk-error-message"], ["id", "body-error", 1, "govuk-error-message"], ["id", "isHearingRelated-error", 1, "govuk-error-message"], [1, "govuk-radios__conditional", "govuk-!-margin-top-1", 3, "ngClass"], ["role", "group", 1, "govuk-fieldset"], [1, "govuk-label", "govuk-label--s"], ["id", "hearingDate-error", "class", "govuk-error-message", 4, "ngIf"], ["formControlName", "hearingDate"], ["id", "hearingDate-error", 1, "govuk-error-message"]], template: function QueryWriteRaiseQueryComponent_Template(rf, ctx) { if (rf & 1) {
22845
22777
  i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "div", 1);
22846
22778
  i0.ɵɵtext(3);
22847
22779
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -22870,7 +22802,7 @@ class QueryWriteRaiseQueryComponent {
22870
22802
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRaiseQueryComponent, [{
22871
22803
  type: Component,
22872
22804
  args: [{ selector: 'ccd-query-write-raise-query', template: "<div>\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Raise a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-4\">{{ 'Enter query details' | rpxTranslate }}</h1>\n </div>\n\n <div>\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\" *ngIf=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <hr>\n\n <div class=\"govuk-!-margin-bottom-4\" *ngIf=\"showForm\">\n <div [formGroup]=\"formGroup\">\n <div>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <ccd-markdown\n [content]=\"serviceMessage | rpxTranslate\">\n </ccd-markdown>\n </strong>\n </div>\n <div class=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': submitted && formGroup.get('subject').hasError('required')}\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"subject\">\n {{ 'Query subject' | rpxTranslate }}\n </label>\n </div>\n <div id=\"subject-hint\" class=\"govuk-hint\">\n {{ 'The subject should be a summary of your query' | rpxTranslate }}\n </div>\n <p id=\"subject-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && (formGroup.get('subject').hasError('required') || formGroup.get('subject').hasError('maxlength'))\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }}</span>\n {{ getSubjectErrorMessage() | rpxTranslate }}\n </p>\n\n <input type=\"text\"\n id=\"subject\"\n class=\"govuk-input\"\n formControlName=\"subject\"\n maxlength=\"200\"\n (input)=\"onSubjectInput()\"\n aria-describedby=\"subject-error\" />\n </div>\n\n <div class=\"govuk-form-group\"\n [ngClass]=\"{'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 {{ 'Query detail' | rpxTranslate }}\n </label>\n </div>\n <div id=\"body-hint\" class=\"govuk-hint\">\n {{ 'Include as many details as possible so case workers can respond to your query' | rpxTranslate }}\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>{{ raiseQueryErrorMessage.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\"\n id=\"body\" name=\"body\" rows=\"5\"\n aria-describedby=\"body-hint body-error\"\n class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body').hasError('required')\"\n >\n </textarea>\n </div>\n\n <div class=\"govuk-form-group\"\n [ngClass]=\"{'govuk-form-group--error': submitted && formGroup.get('isHearingRelated').hasError('required')}\">\n <fieldset class=\"govuk-fieldset\">\n <legend>\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </label>\n </legend>\n <p id=\"isHearingRelated-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('isHearingRelated').hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ raiseQueryErrorMessage.QUERY_HEARING_RELATED | rpxTranslate }}\n </p>\n <div class=\"govuk-radios govuk-radios--inline\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"isHearingRelated-yes\" name=\"isHearingRelated\"\n type=\"radio\"\n formControlName=\"isHearingRelated\"\n [checked]=\"formGroup.get('isHearingRelated').value === true\" [value]=\"true\"\n >\n <label class=\"govuk-label govuk-radios__label\" for=\"isHearingRelated-yes\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'Yes' }}\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"isHearingRelated-no\" name=\"isHearingRelated\"\n type=\"radio\"\n formControlName=\"isHearingRelated\"\n [checked]=\"formGroup.get('isHearingRelated').value === false\" [value]=\"false\"\n >\n <label class=\"govuk-label govuk-radios__label\" for=\"isHearingRelated-no\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'No' }}\n </label>\n </div>\n </div>\n </fieldset>\n\n <ng-container *ngIf=\"formGroup.get('isHearingRelated').value\">\n <div class=\"govuk-radios__conditional govuk-!-margin-top-1\"\n [ngClass]=\"{'govuk-form-group--error': submitted &&\n formGroup.get('isHearingRelated').value === true &&\n formGroup.get('hearingDate').value === null}\">\n <fieldset class=\"govuk-fieldset\" role=\"group\">\n <legend>\n <label class=\"govuk-label govuk-label--s\">\n {{ 'What is the date of the hearing?' | rpxTranslate }}\n </label>\n </legend>\n <p id=\"hearingDate-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('isHearingRelated').value === true && formGroup.get('hearingDate').value === null\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ raiseQueryErrorMessage.QUERY_HEARING_DATE | rpxTranslate }}\n </p>\n <ccd-query-write-date-input formControlName=\"hearingDate\"></ccd-query-write-date-input>\n </fieldset>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
22873
- }], () => [{ type: QueryManagementService }, { type: i1$1.ActivatedRoute }], { formGroup: [{
22805
+ }], null, { formGroup: [{
22874
22806
  type: Input
22875
22807
  }], submitted: [{
22876
22808
  type: Input
@@ -22880,20 +22812,8 @@ class QueryWriteRaiseQueryComponent {
22880
22812
  type: Input
22881
22813
  }], serviceMessage: [{
22882
22814
  type: Input
22883
- }], queryCreateContext: [{
22884
- type: Input
22885
- }], eventData: [{
22886
- type: Input
22887
- }], queryItem: [{
22888
- type: Input
22889
- }], validate: [{
22890
- type: Input
22891
- }], triggerSubmission: [{
22892
- type: Input
22893
- }], queryDataCreated: [{
22894
- type: Output
22895
22815
  }] }); })();
22896
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber: 19 }); })();
22816
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber: 8 }); })();
22897
22817
 
22898
22818
  function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
22899
22819
  i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
@@ -22975,16 +22895,12 @@ function QueryWriteRespondToQueryComponent_ng_container_13_Template(rf, ctx) { i
22975
22895
  class QueryWriteRespondToQueryComponent {
22976
22896
  caseNotifier;
22977
22897
  route;
22978
- queryManagementService;
22979
22898
  queryItem;
22980
22899
  formGroup;
22981
22900
  queryCreateContext;
22982
22901
  submitted = false;
22983
22902
  caseQueriesCollections;
22984
22903
  showForm;
22985
- triggerSubmission;
22986
- eventData = null;
22987
- queryDataCreated = new EventEmitter();
22988
22904
  hasRespondedToQueryTask = new EventEmitter();
22989
22905
  queryCreateContextEnum = QueryCreateContext;
22990
22906
  raiseQueryErrorMessages = RaiseQueryErrorMessage;
@@ -22994,13 +22910,11 @@ class QueryWriteRespondToQueryComponent {
22994
22910
  queryResponseStatus;
22995
22911
  queryListData;
22996
22912
  hasRespondedToQuery = false;
22997
- messgaeId;
22998
22913
  static QUERY_ITEM_RESPOND = '3';
22999
22914
  static QUERY_ITEM_FOLLOWUP = '4';
23000
- constructor(caseNotifier, route, queryManagementService) {
22915
+ constructor(caseNotifier, route) {
23001
22916
  this.caseNotifier = caseNotifier;
23002
22917
  this.route = route;
23003
- this.queryManagementService = queryManagementService;
23004
22918
  }
23005
22919
  ngOnInit() {
23006
22920
  this.queryItemId = this.route.snapshot.params.qid;
@@ -23042,31 +22956,13 @@ class QueryWriteRespondToQueryComponent {
23042
22956
  : matchingMessage?.id;
23043
22957
  this.queryListData = queryWithChildren?.queries.find((query) => query?.id === targetId);
23044
22958
  this.queryResponseStatus = this.queryListData?.responseStatus;
23045
- const isCollectionDataSet = this.setCaseQueriesCollectionData();
23046
- if (isCollectionDataSet) {
23047
- if (this.triggerSubmission) {
23048
- const data = this.generateCaseQueriesCollectionData();
23049
- this.queryDataCreated.emit(data);
23050
- }
23051
- }
23052
22959
  }
23053
22960
  hasResponded(value) {
23054
22961
  this.hasRespondedToQuery = value;
23055
22962
  this.hasRespondedToQueryTask.emit(value);
23056
22963
  }
23057
- setCaseQueriesCollectionData() {
23058
- if (!this.eventData) {
23059
- console.warn('Event data not available; skipping collection setup.');
23060
- return false;
23061
- }
23062
- this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messgaeId);
23063
- return true;
23064
- }
23065
- generateCaseQueriesCollectionData() {
23066
- return this.queryManagementService.generateCaseQueriesCollectionData(this.formGroup, this.queryCreateContext, this.queryItem, this.messgaeId);
23067
- }
23068
- static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(QueryManagementService)); };
23069
- 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", triggerSubmission: "triggerSubmission", eventData: "eventData" }, outputs: { queryDataCreated: "queryDataCreated", hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 11, 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", 4, "ngIf"], [3, "hasResponded", "query", "queryResponseStatus"], ["class", "query-respond", 4, "ngIf"], [4, "ngIf"], [3, "caseDetails"], [1, "query-respond"], [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"], [3, "formGroup", 4, "ngIf"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
22964
+ static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
22965
+ 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: 14, vars: 11, 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", 4, "ngIf"], [3, "hasResponded", "query", "queryResponseStatus"], ["class", "query-respond", 4, "ngIf"], [4, "ngIf"], [3, "caseDetails"], [1, "query-respond"], [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"], [3, "formGroup", 4, "ngIf"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
23070
22966
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
23071
22967
  i0.ɵɵtext(3);
23072
22968
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -23100,7 +22996,7 @@ class QueryWriteRespondToQueryComponent {
23100
22996
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
23101
22997
  type: Component,
23102
22998
  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\" *ngIf=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryListData\"\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\n<ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND\">\n <ccd-close-query *ngIf=\"!hasRespondedToQuery\"\n [formGroup]=\"formGroup\">\n </ccd-close-query>\n</ng-container>", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
23103
- }], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }, { type: QueryManagementService }], { queryItem: [{
22999
+ }], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }], { queryItem: [{
23104
23000
  type: Input
23105
23001
  }], formGroup: [{
23106
23002
  type: Input
@@ -23112,16 +23008,10 @@ class QueryWriteRespondToQueryComponent {
23112
23008
  type: Input
23113
23009
  }], showForm: [{
23114
23010
  type: Input
23115
- }], triggerSubmission: [{
23116
- type: Input
23117
- }], eventData: [{
23118
- type: Input
23119
- }], queryDataCreated: [{
23120
- type: Output
23121
23011
  }], hasRespondedToQueryTask: [{
23122
23012
  type: Output
23123
23013
  }] }); })();
23124
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 18 }); })();
23014
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 14 }); })();
23125
23015
 
23126
23016
  function QueryConfirmationComponent_main_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {
23127
23017
  i0.ɵɵelementContainerStart(0);
@@ -23338,32 +23228,23 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_conta
23338
23228
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
23339
23229
  } }
23340
23230
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
23341
- i0.ɵɵelementStart(0, "div")(1, "button", 9);
23231
+ i0.ɵɵelementStart(0, "div")(1, "p", 10);
23342
23232
  i0.ɵɵtext(2);
23343
23233
  i0.ɵɵpipe(3, "rpxTranslate");
23344
23234
  i0.ɵɵelementEnd();
23345
- i0.ɵɵelementStart(4, "p", 10);
23235
+ i0.ɵɵelementStart(4, "p");
23346
23236
  i0.ɵɵtext(5);
23347
23237
  i0.ɵɵpipe(6, "rpxTranslate");
23348
- i0.ɵɵelementEnd();
23349
- i0.ɵɵelementStart(7, "p");
23350
- i0.ɵɵtext(8);
23351
- i0.ɵɵpipe(9, "rpxTranslate");
23352
23238
  i0.ɵɵelementEnd()();
23353
23239
  } if (rf & 2) {
23354
- const ctx_r1 = i0.ɵɵnextContext(3);
23355
- i0.ɵɵadvance();
23356
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(10, _c0$B, ctx_r1.caseId, ctx_r1.query.id));
23357
- i0.ɵɵadvance();
23358
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "Ask a follow-up question"), " ");
23359
- i0.ɵɵadvance(3);
23360
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 6, "Your query is under review"));
23240
+ i0.ɵɵadvance(2);
23241
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Your query is under review"));
23361
23242
  i0.ɵɵadvance(3);
23362
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 8, "Our team will read your query and respond. Do not submit the same query more than once."));
23243
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and respond. Do not submit the same query more than once."));
23363
23244
  } }
23364
23245
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23365
23246
  i0.ɵɵelementContainerStart(0);
23366
- 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, 10, 13, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
23247
+ 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);
23367
23248
  i0.ɵɵelementContainerEnd();
23368
23249
  } if (rf & 2) {
23369
23250
  const queryIsInReview_r5 = i0.ɵɵreference(3);
@@ -23398,7 +23279,7 @@ function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if
23398
23279
  const ctx_r1 = i0.ɵɵnextContext();
23399
23280
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
23400
23281
  i0.ɵɵadvance();
23401
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0);
23282
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
23402
23283
  i0.ɵɵadvance();
23403
23284
  i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && ctx_r1.isQueryClosed);
23404
23285
  } }
@@ -23466,7 +23347,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23466
23347
  }
23467
23348
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23468
23349
  type: Component,
23469
- 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 && query?.children?.length > 0\">\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 <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 <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=\"!isInternalUser() && 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 court staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23350
+ 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=\"!isInternalUser() && 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 court staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23470
23351
  }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
23471
23352
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
23472
23353
 
@@ -30733,8 +30614,6 @@ class PaletteModule {
30733
30614
  CommonDataService,
30734
30615
  LinkedCasesService,
30735
30616
  QualifyingQuestionService,
30736
- QueryManagementUtils,
30737
- QueryManagementService,
30738
30617
  { provide: MAT_LEGACY_DATE_LOCALE, useValue: 'en-GB' }
30739
30618
  ], imports: [CommonModule,
30740
30619
  RouterModule,
@@ -30852,8 +30731,6 @@ class PaletteModule {
30852
30731
  CommonDataService,
30853
30732
  LinkedCasesService,
30854
30733
  QualifyingQuestionService,
30855
- QueryManagementUtils,
30856
- QueryManagementService,
30857
30734
  { provide: MAT_LEGACY_DATE_LOCALE, useValue: 'en-GB' }
30858
30735
  ],
30859
30736
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
@@ -40260,5 +40137,5 @@ class TestRouteSnapshotBuilder {
40260
40137
  * Generated bundle index. Do not edit.
40261
40138
  */
40262
40139
 
40263
- export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
40140
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
40264
40141
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map