@hmcts/ccd-case-ui-toolkit 7.2.25-mid-event-callback → 7.2.25
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.
- package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -7
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +193 -51
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +6 -59
- 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
- package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +2 -9
- package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +9 -18
- package/esm2022/lib/shared/components/palette/query-management/services/index.mjs +1 -2
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +470 -600
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +13 -15
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +3 -24
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -1
- 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
- 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
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/services/index.d.ts +0 -1
- package/lib/shared/components/palette/query-management/services/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/shared/components/palette/query-management/constants/query-management.constants.mjs +0 -7
- package/esm2022/lib/shared/components/palette/query-management/services/query-management.service.mjs +0 -179
- package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts +0 -7
- package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts.map +0 -1
- package/lib/shared/components/palette/query-management/services/query-management.service.d.ts +0 -21
- package/lib/shared/components/palette/query-management/services/query-management.service.d.ts.map +0 -1
|
@@ -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";
|
|
@@ -20680,14 +20926,7 @@ class QueryListItem {
|
|
|
20680
20926
|
if (childrenCount === 0) {
|
|
20681
20927
|
return this.lastSubmittedMessage.name;
|
|
20682
20928
|
}
|
|
20683
|
-
|
|
20684
|
-
if (childrenCount === 1) {
|
|
20685
|
-
index = 0;
|
|
20686
|
-
}
|
|
20687
|
-
else {
|
|
20688
|
-
index = childrenCount % 2 === 1 ? childrenCount - 1 : childrenCount - 2;
|
|
20689
|
-
}
|
|
20690
|
-
return this.children[index].name;
|
|
20929
|
+
return this.children[childrenCount - 1].name;
|
|
20691
20930
|
}
|
|
20692
20931
|
get lastSubmittedDate() {
|
|
20693
20932
|
const childrenCount = this.children.length;
|
|
@@ -20834,449 +21073,27 @@ class QueryManagementUtils {
|
|
|
20834
21073
|
isHearingRelated: queryItem.isHearingRelated,
|
|
20835
21074
|
hearingDate: queryItem.hearingDate,
|
|
20836
21075
|
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;
|
|
21076
|
+
createdBy: currentUserId,
|
|
21077
|
+
parentId: queryItem.id,
|
|
21078
|
+
isClosed
|
|
21079
|
+
};
|
|
21214
21080
|
}
|
|
21215
|
-
static
|
|
21216
|
-
|
|
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();
|
|
21081
|
+
static isObject(elem) {
|
|
21082
|
+
return typeof elem === 'object' && elem !== null;
|
|
21257
21083
|
}
|
|
21258
|
-
|
|
21259
|
-
|
|
21260
|
-
return acc.concat(tab.fields);
|
|
21261
|
-
}, []);
|
|
21262
|
-
return caseDataFields.concat(this.caseDetails.metadataFields);
|
|
21084
|
+
static isNonEmptyObject(elem) {
|
|
21085
|
+
return this.isObject(elem) && Object.keys(elem).length !== 0;
|
|
21263
21086
|
}
|
|
21264
|
-
static
|
|
21265
|
-
|
|
21266
|
-
|
|
21267
|
-
|
|
21268
|
-
|
|
21269
|
-
|
|
21270
|
-
i0.ɵɵproperty("ngIf", ctx.caseTitle.label);
|
|
21271
|
-
} }, dependencies: [i5.NgIf, LabelFieldComponent, CaseReferencePipe], encapsulation: 2 });
|
|
21087
|
+
static formattedDate(date) {
|
|
21088
|
+
const formattedDate = moment(date).format('YYYY-MM-DD');
|
|
21089
|
+
return formattedDate;
|
|
21090
|
+
}
|
|
21091
|
+
static ɵfac = function QueryManagementUtils_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryManagementUtils)(); };
|
|
21092
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryManagementUtils, factory: QueryManagementUtils.ɵfac });
|
|
21272
21093
|
}
|
|
21273
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(
|
|
21274
|
-
type:
|
|
21275
|
-
|
|
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 }); })();
|
|
21094
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryManagementUtils, [{
|
|
21095
|
+
type: Injectable
|
|
21096
|
+
}], null, null); })();
|
|
21280
21097
|
|
|
21281
21098
|
function QueryCheckYourAnswersComponent_div_0_div_2_li_6_Template(rf, ctx) { if (rf & 1) {
|
|
21282
21099
|
i0.ɵɵelementStart(0, "li")(1, "a", 28);
|
|
@@ -21603,27 +21420,20 @@ class QueryCheckYourAnswersComponent {
|
|
|
21603
21420
|
casesService;
|
|
21604
21421
|
caseNotifier;
|
|
21605
21422
|
workAllocationService;
|
|
21423
|
+
sessionStorageService;
|
|
21606
21424
|
qualifyingQuestionService;
|
|
21607
|
-
queryManagementService;
|
|
21608
|
-
errorNotifierService;
|
|
21609
|
-
alertService;
|
|
21610
21425
|
RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
|
|
21611
21426
|
RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
|
|
21612
21427
|
CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
|
|
21613
|
-
static TRIGGER_TEXT_CONTINUE = 'Ignore Warning and Continue';
|
|
21614
|
-
static TRIGGER_TEXT_START = 'Continue';
|
|
21615
21428
|
FIELD_TYPE_COMPLEX = 'Complex';
|
|
21616
21429
|
DISPLAY_CONTEXT_READONLY = 'READONLY';
|
|
21617
21430
|
QM_SELECT_FIRST_COLLECTION = 'selectFirstCollection';
|
|
21618
21431
|
QM_COLLECTION_PROMPT = 'promptQmCollection';
|
|
21619
21432
|
CIVIL_JURISDICTION = 'CIVIL';
|
|
21620
|
-
triggerTextStart = QueryCheckYourAnswersComponent.TRIGGER_TEXT_START;
|
|
21621
|
-
triggerTextIgnoreWarnings = QueryCheckYourAnswersComponent.TRIGGER_TEXT_CONTINUE;
|
|
21622
21433
|
formGroup;
|
|
21623
21434
|
queryItem;
|
|
21624
21435
|
queryCreateContext;
|
|
21625
21436
|
eventData = null;
|
|
21626
|
-
qmCaseQueriesCollectionData;
|
|
21627
21437
|
backClicked = new EventEmitter();
|
|
21628
21438
|
querySubmitted = new EventEmitter();
|
|
21629
21439
|
callbackConfirmationMessage = new EventEmitter();
|
|
@@ -21642,24 +21452,20 @@ class QueryCheckYourAnswersComponent {
|
|
|
21642
21452
|
filteredTasks = [];
|
|
21643
21453
|
readyToSubmit;
|
|
21644
21454
|
isSubmitting = false;
|
|
21645
|
-
messgaeId;
|
|
21646
21455
|
callbackErrorsSubject = new Subject();
|
|
21647
21456
|
error;
|
|
21648
|
-
constructor(route, router, casesService, caseNotifier, workAllocationService,
|
|
21457
|
+
constructor(route, router, casesService, caseNotifier, workAllocationService, sessionStorageService, qualifyingQuestionService) {
|
|
21649
21458
|
this.route = route;
|
|
21650
21459
|
this.router = router;
|
|
21651
21460
|
this.casesService = casesService;
|
|
21652
21461
|
this.caseNotifier = caseNotifier;
|
|
21653
21462
|
this.workAllocationService = workAllocationService;
|
|
21463
|
+
this.sessionStorageService = sessionStorageService;
|
|
21654
21464
|
this.qualifyingQuestionService = qualifyingQuestionService;
|
|
21655
|
-
this.queryManagementService = queryManagementService;
|
|
21656
|
-
this.errorNotifierService = errorNotifierService;
|
|
21657
|
-
this.alertService = alertService;
|
|
21658
21465
|
}
|
|
21659
21466
|
ngOnInit() {
|
|
21660
21467
|
this.queryId = this.route.snapshot.params.qid;
|
|
21661
21468
|
this.tid = this.route.snapshot.queryParams?.tid;
|
|
21662
|
-
this.messgaeId = this.route.snapshot.params.dataid;
|
|
21663
21469
|
this.caseNotifier.caseView.pipe(take(1)).subscribe((caseDetails) => {
|
|
21664
21470
|
this.caseDetails = caseDetails;
|
|
21665
21471
|
// Find the appropriate event trigger based on the queryCreateContext
|
|
@@ -21688,23 +21494,8 @@ class QueryCheckYourAnswersComponent {
|
|
|
21688
21494
|
}
|
|
21689
21495
|
},
|
|
21690
21496
|
error: (error) => {
|
|
21497
|
+
console.error('Error in searchTasksSubscription:', error);
|
|
21691
21498
|
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
21499
|
}
|
|
21709
21500
|
});
|
|
21710
21501
|
}
|
|
@@ -21715,7 +21506,6 @@ class QueryCheckYourAnswersComponent {
|
|
|
21715
21506
|
ngOnDestroy() {
|
|
21716
21507
|
this.createEventSubscription?.unsubscribe();
|
|
21717
21508
|
this.searchTasksSubscription?.unsubscribe();
|
|
21718
|
-
this.callbackErrorsSubject?.unsubscribe();
|
|
21719
21509
|
}
|
|
21720
21510
|
goBack() {
|
|
21721
21511
|
this.backClicked.emit(true);
|
|
@@ -21724,7 +21514,20 @@ class QueryCheckYourAnswersComponent {
|
|
|
21724
21514
|
if (this.isSubmitting) {
|
|
21725
21515
|
return;
|
|
21726
21516
|
}
|
|
21727
|
-
|
|
21517
|
+
// Check if fieldId is null or undefined
|
|
21518
|
+
if (!this.fieldId) {
|
|
21519
|
+
console.error('Error: Field ID is missing. Cannot proceed with submission.');
|
|
21520
|
+
this.errorMessages = [
|
|
21521
|
+
{
|
|
21522
|
+
title: 'Error',
|
|
21523
|
+
description: 'This case is not configured for query management.',
|
|
21524
|
+
fieldId: 'field-id'
|
|
21525
|
+
}
|
|
21526
|
+
];
|
|
21527
|
+
window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
|
|
21528
|
+
return;
|
|
21529
|
+
}
|
|
21530
|
+
const data = this.generateCaseQueriesCollectionData();
|
|
21728
21531
|
const createEvent$ = this.createEvent(data);
|
|
21729
21532
|
this.isSubmitting = true;
|
|
21730
21533
|
if (this.queryCreateContext === QueryCreateContext.RESPOND) {
|
|
@@ -21785,7 +21588,172 @@ class QueryCheckYourAnswersComponent {
|
|
|
21785
21588
|
handleError(error) {
|
|
21786
21589
|
console.error('Error in API calls:', error);
|
|
21787
21590
|
this.isSubmitting = false;
|
|
21788
|
-
this.
|
|
21591
|
+
if (this.isServiceErrorFound(error)) {
|
|
21592
|
+
this.error = null;
|
|
21593
|
+
this.callbackErrorsSubject.next(error);
|
|
21594
|
+
}
|
|
21595
|
+
else {
|
|
21596
|
+
if (error && error.status !== 401 && error.status !== 403) {
|
|
21597
|
+
this.error = error;
|
|
21598
|
+
}
|
|
21599
|
+
else {
|
|
21600
|
+
this.router.navigate(['/', 'service-down']);
|
|
21601
|
+
}
|
|
21602
|
+
}
|
|
21603
|
+
window.scrollTo({ left: 0, top: 0, behavior: 'smooth' });
|
|
21604
|
+
}
|
|
21605
|
+
generateCaseQueriesCollectionData() {
|
|
21606
|
+
const currentUserDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
|
|
21607
|
+
const caseMessage = this.queryCreateContext === QueryCreateContext.NEW_QUERY
|
|
21608
|
+
? QueryManagementUtils.getNewQueryData(this.formGroup, currentUserDetails)
|
|
21609
|
+
: QueryManagementUtils.getRespondOrFollowupQueryData(this.formGroup, this.queryItem, currentUserDetails);
|
|
21610
|
+
const messageId = this.route.snapshot.params.dataid; // Get the message ID from route params (if present)
|
|
21611
|
+
const isNewQuery = this.queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
|
|
21612
|
+
// Check if the field ID has been set dynamically
|
|
21613
|
+
if (!this.fieldId) {
|
|
21614
|
+
console.error('Error: Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
|
|
21615
|
+
this.router.navigate(['/', 'service-down']);
|
|
21616
|
+
}
|
|
21617
|
+
// Initialize new query data structure
|
|
21618
|
+
const newQueryData = {};
|
|
21619
|
+
if (this.caseQueriesCollections?.length) {
|
|
21620
|
+
let matchedCollection;
|
|
21621
|
+
// If it's not a new query, try to find the existing collection with the message ID
|
|
21622
|
+
if (!isNewQuery && messageId) {
|
|
21623
|
+
matchedCollection = this.caseQueriesCollections.find((collection) => collection.caseMessages.some((message) => message.value.id === messageId));
|
|
21624
|
+
}
|
|
21625
|
+
if (matchedCollection) {
|
|
21626
|
+
// Append the new case message to the matched collection's caseMessages
|
|
21627
|
+
matchedCollection.caseMessages.push({
|
|
21628
|
+
id: null,
|
|
21629
|
+
value: caseMessage
|
|
21630
|
+
});
|
|
21631
|
+
// Add the matched collection to newQueryData
|
|
21632
|
+
newQueryData[this.fieldId] = {
|
|
21633
|
+
...matchedCollection, // Keep existing data intact
|
|
21634
|
+
caseMessages: [...matchedCollection.caseMessages] // Append the updated messages array
|
|
21635
|
+
};
|
|
21636
|
+
}
|
|
21637
|
+
else {
|
|
21638
|
+
// Use partyName from the first collection (assumption: all share the same party)
|
|
21639
|
+
const originalPartyName = this.caseQueriesCollections[0].partyName;
|
|
21640
|
+
// If no collection matches, or it's a new query
|
|
21641
|
+
newQueryData[this.fieldId] = {
|
|
21642
|
+
partyName: originalPartyName,
|
|
21643
|
+
roleOnCase: '', // Not returned by CCD
|
|
21644
|
+
caseMessages: [
|
|
21645
|
+
{
|
|
21646
|
+
id: null,
|
|
21647
|
+
value: caseMessage
|
|
21648
|
+
}
|
|
21649
|
+
]
|
|
21650
|
+
};
|
|
21651
|
+
// If caseQueriesCollections is not empty, append its data
|
|
21652
|
+
newQueryData[this.fieldId].caseMessages.push(...this.caseQueriesCollections.flatMap((collection) => collection.caseMessages));
|
|
21653
|
+
}
|
|
21654
|
+
}
|
|
21655
|
+
else {
|
|
21656
|
+
// If there are no existing collections, create a new one (e.g., for new queries)
|
|
21657
|
+
newQueryData[this.fieldId] = {
|
|
21658
|
+
partyName: currentUserDetails?.name || `${currentUserDetails?.forename} ${currentUserDetails?.surname}`, // Not returned by CCD
|
|
21659
|
+
roleOnCase: '', // Not returned by CCD
|
|
21660
|
+
caseMessages: [
|
|
21661
|
+
{
|
|
21662
|
+
id: null,
|
|
21663
|
+
value: caseMessage
|
|
21664
|
+
}
|
|
21665
|
+
]
|
|
21666
|
+
};
|
|
21667
|
+
}
|
|
21668
|
+
return newQueryData;
|
|
21669
|
+
}
|
|
21670
|
+
setCaseQueriesCollectionData() {
|
|
21671
|
+
if (this.eventData?.case_fields?.length) {
|
|
21672
|
+
// Workaround for multiple qmCaseQueriesCollections that are not to be appearing in the eventData
|
|
21673
|
+
// Counts number qmCaseQueriesCollections
|
|
21674
|
+
const numberOfCaseQueriesCollections = this.eventData?.case_fields?.filter((caseField) => caseField.field_type.id === this.CASE_QUERIES_COLLECTION_ID &&
|
|
21675
|
+
caseField.field_type.type === this.FIELD_TYPE_COMPLEX && caseField.display_context !== this.DISPLAY_CONTEXT_READONLY)?.length || 0;
|
|
21676
|
+
this.caseQueriesCollections = this.eventData.case_fields.reduce((acc, caseField) => {
|
|
21677
|
+
// Extract the ID based on conditions, updating this.fieldId dynamically
|
|
21678
|
+
this.extractCaseQueryId(caseField, numberOfCaseQueriesCollections);
|
|
21679
|
+
const extractedCaseQueriesFromCaseField = QueryManagementUtils.extractCaseQueriesFromCaseField(caseField);
|
|
21680
|
+
if (extractedCaseQueriesFromCaseField && typeof extractedCaseQueriesFromCaseField === 'object') {
|
|
21681
|
+
acc.push(extractedCaseQueriesFromCaseField);
|
|
21682
|
+
}
|
|
21683
|
+
return acc;
|
|
21684
|
+
}, []);
|
|
21685
|
+
}
|
|
21686
|
+
}
|
|
21687
|
+
extractCaseQueryId(data, count) {
|
|
21688
|
+
const { id, value } = data;
|
|
21689
|
+
const messageId = this.route.snapshot.params.dataid;
|
|
21690
|
+
// Check if the field_type matches CaseQueriesCollection and type is Complex
|
|
21691
|
+
if (data.field_type.id === this.CASE_QUERIES_COLLECTION_ID && data.field_type.type === this.FIELD_TYPE_COMPLEX) {
|
|
21692
|
+
if (this.isNewQueryContext(data)) {
|
|
21693
|
+
// If there is more than one qmCaseQueriesCollection, pick the one with the lowest order
|
|
21694
|
+
if (count > 1) {
|
|
21695
|
+
if (!this.handleMultipleCollections()) {
|
|
21696
|
+
return;
|
|
21697
|
+
}
|
|
21698
|
+
}
|
|
21699
|
+
else {
|
|
21700
|
+
// Set the field ID dynamically based on the extracted data
|
|
21701
|
+
this.fieldId = id; // Store the ID for use in generating newQueryData
|
|
21702
|
+
}
|
|
21703
|
+
}
|
|
21704
|
+
// If messageId is present, find the corresponding case message
|
|
21705
|
+
this.setMessageFieldId(messageId, value, id);
|
|
21706
|
+
}
|
|
21707
|
+
}
|
|
21708
|
+
setMessageFieldId(messageId, value, id) {
|
|
21709
|
+
if (messageId && value?.caseMessages) {
|
|
21710
|
+
// If a matching message is found, set the fieldId to the corresponding id
|
|
21711
|
+
const matchedMessage = value?.caseMessages?.find((message) => message.value.id === messageId);
|
|
21712
|
+
if (matchedMessage) {
|
|
21713
|
+
this.fieldId = id;
|
|
21714
|
+
}
|
|
21715
|
+
}
|
|
21716
|
+
}
|
|
21717
|
+
isNewQueryContext(data) {
|
|
21718
|
+
return this.queryCreateContext === QueryCreateContext.NEW_QUERY && data.display_context !== this.DISPLAY_CONTEXT_READONLY;
|
|
21719
|
+
}
|
|
21720
|
+
handleMultipleCollections() {
|
|
21721
|
+
const jurisdictionId = this.caseDetails?.case_type?.jurisdiction?.id;
|
|
21722
|
+
if (!jurisdictionId) {
|
|
21723
|
+
console.error('Jurisdiction ID is missing.');
|
|
21724
|
+
return false;
|
|
21725
|
+
}
|
|
21726
|
+
if (this.getCollectionSelectionMethod(jurisdictionId) === this.QM_SELECT_FIRST_COLLECTION) {
|
|
21727
|
+
// Pick the collection with the lowest order
|
|
21728
|
+
this.fieldId = this.getCaseQueriesCollectionFieldOrderFromWizardPages()?.id;
|
|
21729
|
+
}
|
|
21730
|
+
else {
|
|
21731
|
+
// Display Error, for now, until EXUI-2644 is implemented
|
|
21732
|
+
console.error(`Error: Multiple CaseQueriesCollections are not supported yet for the ${jurisdictionId} jurisdiction`);
|
|
21733
|
+
return false;
|
|
21734
|
+
}
|
|
21735
|
+
return true;
|
|
21736
|
+
}
|
|
21737
|
+
getCaseQueriesCollectionFieldOrderFromWizardPages() {
|
|
21738
|
+
const candidateFields = this.eventData?.case_fields?.filter((field) => field.field_type.id === this.CASE_QUERIES_COLLECTION_ID &&
|
|
21739
|
+
field.field_type.type === this.FIELD_TYPE_COMPLEX &&
|
|
21740
|
+
field.display_context !== this.DISPLAY_CONTEXT_READONLY);
|
|
21741
|
+
if (!candidateFields?.length) {
|
|
21742
|
+
return undefined;
|
|
21743
|
+
}
|
|
21744
|
+
const firstPageFields = this.eventData?.wizard_pages?.[0]?.wizard_page_fields;
|
|
21745
|
+
if (!firstPageFields) {
|
|
21746
|
+
return undefined;
|
|
21747
|
+
}
|
|
21748
|
+
return candidateFields
|
|
21749
|
+
.map((field) => {
|
|
21750
|
+
const wizardField = firstPageFields.find((f) => f.case_field_id === field.id);
|
|
21751
|
+
return { field, order: wizardField?.order ?? Number.MAX_SAFE_INTEGER };
|
|
21752
|
+
})
|
|
21753
|
+
.sort((a, b) => a.order - b.order)[0]?.field;
|
|
21754
|
+
}
|
|
21755
|
+
getCollectionSelectionMethod(jurisdiction) {
|
|
21756
|
+
return jurisdiction.toUpperCase() === this.CIVIL_JURISDICTION ? this.QM_SELECT_FIRST_COLLECTION : this.QM_COLLECTION_PROMPT;
|
|
21789
21757
|
}
|
|
21790
21758
|
getDocumentAttachments() {
|
|
21791
21759
|
const attachmentsValue = this.formGroup.get('attachments').value;
|
|
@@ -21797,14 +21765,8 @@ class QueryCheckYourAnswersComponent {
|
|
|
21797
21765
|
isServiceErrorFound(error) {
|
|
21798
21766
|
return !!(error?.callbackErrors?.length);
|
|
21799
21767
|
}
|
|
21800
|
-
|
|
21801
|
-
|
|
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) {
|
|
21768
|
+
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)); };
|
|
21769
|
+
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
21770
|
i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 36, 25, "div", 2);
|
|
21809
21771
|
} if (rf & 2) {
|
|
21810
21772
|
i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
|
|
@@ -21813,7 +21775,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
21813
21775
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCheckYourAnswersComponent, [{
|
|
21814
21776
|
type: Component,
|
|
21815
21777
|
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:
|
|
21778
|
+
}], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: CasesService }, { type: CaseNotifier }, { type: WorkAllocationService }, { type: SessionStorageService }, { type: QualifyingQuestionService }], { formGroup: [{
|
|
21817
21779
|
type: Input
|
|
21818
21780
|
}], queryItem: [{
|
|
21819
21781
|
type: Input
|
|
@@ -21821,8 +21783,6 @@ class QueryCheckYourAnswersComponent {
|
|
|
21821
21783
|
type: Input
|
|
21822
21784
|
}], eventData: [{
|
|
21823
21785
|
type: Input
|
|
21824
|
-
}], qmCaseQueriesCollectionData: [{
|
|
21825
|
-
type: Input
|
|
21826
21786
|
}], backClicked: [{
|
|
21827
21787
|
type: Output
|
|
21828
21788
|
}], querySubmitted: [{
|
|
@@ -21830,7 +21790,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
21830
21790
|
}], callbackConfirmationMessage: [{
|
|
21831
21791
|
type: Output
|
|
21832
21792
|
}] }); })();
|
|
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:
|
|
21793
|
+
(() => { (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
21794
|
|
|
21835
21795
|
function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
|
|
21836
21796
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -22782,36 +22742,12 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
22782
22742
|
i0.ɵɵproperty("ngIf", ctx_r0.formGroup.get("isHearingRelated").value);
|
|
22783
22743
|
} }
|
|
22784
22744
|
class QueryWriteRaiseQueryComponent {
|
|
22785
|
-
queryManagementService;
|
|
22786
|
-
route;
|
|
22787
22745
|
formGroup;
|
|
22788
22746
|
submitted;
|
|
22789
22747
|
caseDetails;
|
|
22790
22748
|
showForm;
|
|
22791
22749
|
serviceMessage;
|
|
22792
|
-
queryCreateContext;
|
|
22793
|
-
eventData = null;
|
|
22794
|
-
queryItem;
|
|
22795
|
-
validate;
|
|
22796
|
-
triggerSubmission;
|
|
22797
|
-
queryDataCreated = new EventEmitter();
|
|
22798
22750
|
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
22751
|
onSubjectInput() {
|
|
22816
22752
|
const control = this.formGroup.get('subject');
|
|
22817
22753
|
const value = control?.value;
|
|
@@ -22829,19 +22765,8 @@ class QueryWriteRaiseQueryComponent {
|
|
|
22829
22765
|
}
|
|
22830
22766
|
return '';
|
|
22831
22767
|
}
|
|
22832
|
-
|
|
22833
|
-
|
|
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) {
|
|
22768
|
+
static ɵfac = function QueryWriteRaiseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRaiseQueryComponent)(); };
|
|
22769
|
+
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
22770
|
i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "div", 1);
|
|
22846
22771
|
i0.ɵɵtext(3);
|
|
22847
22772
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
@@ -22870,7 +22795,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
22870
22795
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRaiseQueryComponent, [{
|
|
22871
22796
|
type: Component,
|
|
22872
22797
|
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
|
-
}],
|
|
22798
|
+
}], null, { formGroup: [{
|
|
22874
22799
|
type: Input
|
|
22875
22800
|
}], submitted: [{
|
|
22876
22801
|
type: Input
|
|
@@ -22880,20 +22805,8 @@ class QueryWriteRaiseQueryComponent {
|
|
|
22880
22805
|
type: Input
|
|
22881
22806
|
}], serviceMessage: [{
|
|
22882
22807
|
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
22808
|
}] }); })();
|
|
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:
|
|
22809
|
+
(() => { (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
22810
|
|
|
22898
22811
|
function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
|
|
22899
22812
|
i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
|
|
@@ -22975,16 +22888,12 @@ function QueryWriteRespondToQueryComponent_ng_container_13_Template(rf, ctx) { i
|
|
|
22975
22888
|
class QueryWriteRespondToQueryComponent {
|
|
22976
22889
|
caseNotifier;
|
|
22977
22890
|
route;
|
|
22978
|
-
queryManagementService;
|
|
22979
22891
|
queryItem;
|
|
22980
22892
|
formGroup;
|
|
22981
22893
|
queryCreateContext;
|
|
22982
22894
|
submitted = false;
|
|
22983
22895
|
caseQueriesCollections;
|
|
22984
22896
|
showForm;
|
|
22985
|
-
triggerSubmission;
|
|
22986
|
-
eventData = null;
|
|
22987
|
-
queryDataCreated = new EventEmitter();
|
|
22988
22897
|
hasRespondedToQueryTask = new EventEmitter();
|
|
22989
22898
|
queryCreateContextEnum = QueryCreateContext;
|
|
22990
22899
|
raiseQueryErrorMessages = RaiseQueryErrorMessage;
|
|
@@ -22994,13 +22903,11 @@ class QueryWriteRespondToQueryComponent {
|
|
|
22994
22903
|
queryResponseStatus;
|
|
22995
22904
|
queryListData;
|
|
22996
22905
|
hasRespondedToQuery = false;
|
|
22997
|
-
messgaeId;
|
|
22998
22906
|
static QUERY_ITEM_RESPOND = '3';
|
|
22999
22907
|
static QUERY_ITEM_FOLLOWUP = '4';
|
|
23000
|
-
constructor(caseNotifier, route
|
|
22908
|
+
constructor(caseNotifier, route) {
|
|
23001
22909
|
this.caseNotifier = caseNotifier;
|
|
23002
22910
|
this.route = route;
|
|
23003
|
-
this.queryManagementService = queryManagementService;
|
|
23004
22911
|
}
|
|
23005
22912
|
ngOnInit() {
|
|
23006
22913
|
this.queryItemId = this.route.snapshot.params.qid;
|
|
@@ -23042,31 +22949,13 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23042
22949
|
: matchingMessage?.id;
|
|
23043
22950
|
this.queryListData = queryWithChildren?.queries.find((query) => query?.id === targetId);
|
|
23044
22951
|
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
22952
|
}
|
|
23053
22953
|
hasResponded(value) {
|
|
23054
22954
|
this.hasRespondedToQuery = value;
|
|
23055
22955
|
this.hasRespondedToQueryTask.emit(value);
|
|
23056
22956
|
}
|
|
23057
|
-
|
|
23058
|
-
|
|
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) {
|
|
22957
|
+
static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
|
|
22958
|
+
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
22959
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
|
|
23071
22960
|
i0.ɵɵtext(3);
|
|
23072
22961
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
@@ -23100,7 +22989,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23100
22989
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
|
|
23101
22990
|
type: Component,
|
|
23102
22991
|
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 }
|
|
22992
|
+
}], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }], { queryItem: [{
|
|
23104
22993
|
type: Input
|
|
23105
22994
|
}], formGroup: [{
|
|
23106
22995
|
type: Input
|
|
@@ -23112,16 +23001,10 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23112
23001
|
type: Input
|
|
23113
23002
|
}], showForm: [{
|
|
23114
23003
|
type: Input
|
|
23115
|
-
}], triggerSubmission: [{
|
|
23116
|
-
type: Input
|
|
23117
|
-
}], eventData: [{
|
|
23118
|
-
type: Input
|
|
23119
|
-
}], queryDataCreated: [{
|
|
23120
|
-
type: Output
|
|
23121
23004
|
}], hasRespondedToQueryTask: [{
|
|
23122
23005
|
type: Output
|
|
23123
23006
|
}] }); })();
|
|
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:
|
|
23007
|
+
(() => { (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
23008
|
|
|
23126
23009
|
function QueryConfirmationComponent_main_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
23127
23010
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -23338,32 +23221,23 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_conta
|
|
|
23338
23221
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
|
|
23339
23222
|
} }
|
|
23340
23223
|
function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
23341
|
-
i0.ɵɵelementStart(0, "div")(1, "
|
|
23224
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 10);
|
|
23342
23225
|
i0.ɵɵtext(2);
|
|
23343
23226
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
23344
23227
|
i0.ɵɵelementEnd();
|
|
23345
|
-
i0.ɵɵelementStart(4, "p"
|
|
23228
|
+
i0.ɵɵelementStart(4, "p");
|
|
23346
23229
|
i0.ɵɵtext(5);
|
|
23347
23230
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
23348
|
-
i0.ɵɵelementEnd();
|
|
23349
|
-
i0.ɵɵelementStart(7, "p");
|
|
23350
|
-
i0.ɵɵtext(8);
|
|
23351
|
-
i0.ɵɵpipe(9, "rpxTranslate");
|
|
23352
23231
|
i0.ɵɵelementEnd()();
|
|
23353
23232
|
} if (rf & 2) {
|
|
23354
|
-
|
|
23355
|
-
i0.ɵɵ
|
|
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"));
|
|
23233
|
+
i0.ɵɵadvance(2);
|
|
23234
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Your query is under review"));
|
|
23361
23235
|
i0.ɵɵadvance(3);
|
|
23362
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(
|
|
23236
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and respond. Do not submit the same query more than once."));
|
|
23363
23237
|
} }
|
|
23364
23238
|
function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
23365
23239
|
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,
|
|
23240
|
+
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
23241
|
i0.ɵɵelementContainerEnd();
|
|
23368
23242
|
} if (rf & 2) {
|
|
23369
23243
|
const queryIsInReview_r5 = i0.ɵɵreference(3);
|
|
@@ -23398,7 +23272,7 @@ function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if
|
|
|
23398
23272
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
23399
23273
|
i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
|
|
23400
23274
|
i0.ɵɵadvance();
|
|
23401
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed
|
|
23275
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
|
|
23402
23276
|
i0.ɵɵadvance();
|
|
23403
23277
|
i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && ctx_r1.isQueryClosed);
|
|
23404
23278
|
} }
|
|
@@ -23466,7 +23340,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
|
|
|
23466
23340
|
}
|
|
23467
23341
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
|
|
23468
23342
|
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
|
|
23343
|
+
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
23344
|
}], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
|
|
23471
23345
|
(() => { (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
23346
|
|
|
@@ -30733,8 +30607,6 @@ class PaletteModule {
|
|
|
30733
30607
|
CommonDataService,
|
|
30734
30608
|
LinkedCasesService,
|
|
30735
30609
|
QualifyingQuestionService,
|
|
30736
|
-
QueryManagementUtils,
|
|
30737
|
-
QueryManagementService,
|
|
30738
30610
|
{ provide: MAT_LEGACY_DATE_LOCALE, useValue: 'en-GB' }
|
|
30739
30611
|
], imports: [CommonModule,
|
|
30740
30612
|
RouterModule,
|
|
@@ -30852,8 +30724,6 @@ class PaletteModule {
|
|
|
30852
30724
|
CommonDataService,
|
|
30853
30725
|
LinkedCasesService,
|
|
30854
30726
|
QualifyingQuestionService,
|
|
30855
|
-
QueryManagementUtils,
|
|
30856
|
-
QueryManagementService,
|
|
30857
30727
|
{ provide: MAT_LEGACY_DATE_LOCALE, useValue: 'en-GB' }
|
|
30858
30728
|
],
|
|
30859
30729
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
@@ -40260,5 +40130,5 @@ class TestRouteSnapshotBuilder {
|
|
|
40260
40130
|
* Generated bundle index. Do not edit.
|
|
40261
40131
|
*/
|
|
40262
40132
|
|
|
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,
|
|
40133
|
+
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
40134
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map
|