@hmcts/ccd-case-ui-toolkit 7.3.89 → 7.3.90-exui-3879
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.
|
@@ -22513,6 +22513,9 @@ var RaiseQueryErrorMessage;
|
|
|
22513
22513
|
RaiseQueryErrorMessage["QUERY_HEARING_DATE"] = "Enter a valid date";
|
|
22514
22514
|
RaiseQueryErrorMessage["QUERY_SUBJECT_MAX_LENGTH"] = "Query subject must be less than 201 characters in length";
|
|
22515
22515
|
RaiseQueryErrorMessage["RESPOND_QUERY_BODY"] = "Add a response before continue";
|
|
22516
|
+
RaiseQueryErrorMessage["QUERY_SUBJECT_MARKDOWN"] = "The data entered is not valid for Query subject. Link mark up characters are not allowed in this field";
|
|
22517
|
+
RaiseQueryErrorMessage["QUERY_BODY_MARKDOWN"] = "The data entered is not valid for Query detail. Link mark up characters are not allowed in this field";
|
|
22518
|
+
RaiseQueryErrorMessage["RESPOND_QUERY_BODY_MARKDOWN"] = "The data entered is not valid for Response detail. Link mark up characters are not allowed in this field";
|
|
22516
22519
|
})(RaiseQueryErrorMessage || (RaiseQueryErrorMessage = {}));
|
|
22517
22520
|
|
|
22518
22521
|
var QueryItemResponseStatus;
|
|
@@ -24745,7 +24748,7 @@ function QueryWriteRaiseQueryComponent_div_11_p_29_Template(rf, ctx) { if (rf &
|
|
|
24745
24748
|
i0.ɵɵadvance(2);
|
|
24746
24749
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 2, "Error:"), " ");
|
|
24747
24750
|
i0.ɵɵadvance(2);
|
|
24748
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 4, ctx_r0.
|
|
24751
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 4, ctx_r0.getBodyErrorMessage()), " ");
|
|
24749
24752
|
} }
|
|
24750
24753
|
function QueryWriteRaiseQueryComponent_div_11_p_38_Template(rf, ctx) { if (rf & 1) {
|
|
24751
24754
|
i0.ɵɵelementStart(0, "p", 35)(1, "span", 11);
|
|
@@ -24857,23 +24860,23 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
24857
24860
|
i0.ɵɵadvance(8);
|
|
24858
24861
|
i0.ɵɵproperty("content", i0.ɵɵpipeBind1(10, 23, ctx_r0.serviceMessage));
|
|
24859
24862
|
i0.ɵɵadvance(2);
|
|
24860
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(43, _c0$F, ctx_r0.submitted && ctx_r0.formGroup.get("subject").
|
|
24863
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(43, _c0$F, ctx_r0.submitted && ctx_r0.formGroup.get("subject").invalid));
|
|
24861
24864
|
i0.ɵɵadvance(3);
|
|
24862
24865
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 25, "Query subject"), " ");
|
|
24863
24866
|
i0.ɵɵadvance(3);
|
|
24864
24867
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 27, "The subject should be a summary of your query"), " ");
|
|
24865
24868
|
i0.ɵɵadvance(2);
|
|
24866
|
-
i0.ɵɵproperty("ngIf", ctx_r0.submitted &&
|
|
24869
|
+
i0.ɵɵproperty("ngIf", ctx_r0.submitted && ctx_r0.formGroup.get("subject").invalid);
|
|
24867
24870
|
i0.ɵɵadvance(2);
|
|
24868
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(45, _c0$F, ctx_r0.submitted && ctx_r0.formGroup.get("body").
|
|
24871
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(45, _c0$F, ctx_r0.submitted && ctx_r0.formGroup.get("body").invalid));
|
|
24869
24872
|
i0.ɵɵadvance(3);
|
|
24870
24873
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(25, 29, "Query detail"), " ");
|
|
24871
24874
|
i0.ɵɵadvance(3);
|
|
24872
24875
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 31, "Include as many details as possible so case workers can respond to your query"), " ");
|
|
24873
24876
|
i0.ɵɵadvance(2);
|
|
24874
|
-
i0.ɵɵproperty("ngIf", ctx_r0.submitted && ctx_r0.formGroup.get("body").
|
|
24877
|
+
i0.ɵɵproperty("ngIf", ctx_r0.submitted && ctx_r0.formGroup.get("body").invalid);
|
|
24875
24878
|
i0.ɵɵadvance();
|
|
24876
|
-
i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ctx_r0.formGroup.get("body").
|
|
24879
|
+
i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ctx_r0.formGroup.get("body").invalid);
|
|
24877
24880
|
i0.ɵɵproperty("formControlName", "body");
|
|
24878
24881
|
i0.ɵɵadvance(2);
|
|
24879
24882
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(47, _c0$F, ctx_r0.submitted && ctx_r0.formGroup.get("isHearingRelated").hasError("required")));
|
|
@@ -24896,6 +24899,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
24896
24899
|
queryManagementService;
|
|
24897
24900
|
route;
|
|
24898
24901
|
logger = new StructuredLoggerService();
|
|
24902
|
+
static MARKDOWN_VALIDATOR = FormValidatorsService.markDownPatternValidator();
|
|
24899
24903
|
formGroup;
|
|
24900
24904
|
submitted;
|
|
24901
24905
|
caseDetails;
|
|
@@ -24915,10 +24919,11 @@ class QueryWriteRaiseQueryComponent {
|
|
|
24915
24919
|
this.route = route;
|
|
24916
24920
|
}
|
|
24917
24921
|
ngOnChanges() {
|
|
24922
|
+
this.addMarkdownValidators();
|
|
24918
24923
|
this.messageId = this.route.snapshot.params.dataid;
|
|
24919
24924
|
const isCollectionDataSet = this.setCaseQueriesCollectionData();
|
|
24920
24925
|
if (isCollectionDataSet) {
|
|
24921
|
-
if (this.triggerSubmission) {
|
|
24926
|
+
if (this.triggerSubmission && this.formGroup.valid) {
|
|
24922
24927
|
const data = this.generateCaseQueriesCollectionData();
|
|
24923
24928
|
this.queryDataCreated.emit(data);
|
|
24924
24929
|
}
|
|
@@ -24939,8 +24944,18 @@ class QueryWriteRaiseQueryComponent {
|
|
|
24939
24944
|
if (control.hasError('maxlength')) {
|
|
24940
24945
|
return this.raiseQueryErrorMessage.QUERY_SUBJECT_MAX_LENGTH;
|
|
24941
24946
|
}
|
|
24947
|
+
if (control.hasError('markDownPattern')) {
|
|
24948
|
+
return this.raiseQueryErrorMessage.QUERY_SUBJECT_MARKDOWN;
|
|
24949
|
+
}
|
|
24942
24950
|
return '';
|
|
24943
24951
|
}
|
|
24952
|
+
getBodyErrorMessage() {
|
|
24953
|
+
const control = this.formGroup.get('body');
|
|
24954
|
+
if (control.hasError('markDownPattern')) {
|
|
24955
|
+
return this.raiseQueryErrorMessage.QUERY_BODY_MARKDOWN;
|
|
24956
|
+
}
|
|
24957
|
+
return this.raiseQueryErrorMessage.QUERY_BODY;
|
|
24958
|
+
}
|
|
24944
24959
|
setCaseQueriesCollectionData() {
|
|
24945
24960
|
if (!this.eventData) {
|
|
24946
24961
|
this.logger.warn('Event data not available; skipping collection setup.');
|
|
@@ -24952,6 +24967,15 @@ class QueryWriteRaiseQueryComponent {
|
|
|
24952
24967
|
generateCaseQueriesCollectionData() {
|
|
24953
24968
|
return this.queryManagementService.generateCaseQueriesCollectionData(this.formGroup, this.queryCreateContext, this.queryItem, this.messageId);
|
|
24954
24969
|
}
|
|
24970
|
+
addMarkdownValidators() {
|
|
24971
|
+
['subject', 'body'].forEach((controlName) => {
|
|
24972
|
+
const control = this.formGroup?.get(controlName);
|
|
24973
|
+
if (control) {
|
|
24974
|
+
control.addValidators(QueryWriteRaiseQueryComponent.MARKDOWN_VALIDATOR);
|
|
24975
|
+
control.updateValueAndValidity({ emitEvent: false });
|
|
24976
|
+
}
|
|
24977
|
+
});
|
|
24978
|
+
}
|
|
24955
24979
|
static ɵfac = function QueryWriteRaiseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRaiseQueryComponent)(i0.ɵɵdirectiveInject(QueryManagementService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
|
|
24956
24980
|
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" }, standalone: false, 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) {
|
|
24957
24981
|
i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "div", 1);
|
|
@@ -24981,7 +25005,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
24981
25005
|
}
|
|
24982
25006
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRaiseQueryComponent, [{
|
|
24983
25007
|
type: Component,
|
|
24984
|
-
args: [{ selector: 'ccd-query-write-raise-query', standalone: false, 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').
|
|
25008
|
+
args: [{ selector: 'ccd-query-write-raise-query', standalone: false, 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').invalid}\">\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').invalid\">\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').invalid}\">\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').invalid\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ getBodyErrorMessage() | 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').invalid\"\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" }]
|
|
24985
25009
|
}], () => [{ type: QueryManagementService }, { type: i1$1.ActivatedRoute }], { formGroup: [{
|
|
24986
25010
|
type: Input
|
|
24987
25011
|
}], submitted: [{
|
|
@@ -25005,7 +25029,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
25005
25029
|
}], queryDataCreated: [{
|
|
25006
25030
|
type: Output
|
|
25007
25031
|
}] }); })();
|
|
25008
|
-
(() => { (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:
|
|
25032
|
+
(() => { (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: 22 }); })();
|
|
25009
25033
|
|
|
25010
25034
|
function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
|
|
25011
25035
|
i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
|
|
@@ -25026,7 +25050,7 @@ function QueryWriteRespondToQueryComponent_div_12_div_1_p_10_Template(rf, ctx) {
|
|
|
25026
25050
|
i0.ɵɵadvance(2);
|
|
25027
25051
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 2, "Error:"), " ");
|
|
25028
25052
|
i0.ɵɵadvance(2);
|
|
25029
|
-
i0.ɵɵtextInterpolate1("",
|
|
25053
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 4, ctx_r0.getBodyErrorMessage()), " ");
|
|
25030
25054
|
} }
|
|
25031
25055
|
function QueryWriteRespondToQueryComponent_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
25032
25056
|
i0.ɵɵelementStart(0, "div")(1, "h1", 10);
|
|
@@ -25051,13 +25075,13 @@ function QueryWriteRespondToQueryComponent_div_12_div_1_Template(rf, ctx) { if (
|
|
|
25051
25075
|
i0.ɵɵadvance(2);
|
|
25052
25076
|
i0.ɵɵproperty("formGroup", ctx_r0.formGroup);
|
|
25053
25077
|
i0.ɵɵadvance();
|
|
25054
|
-
i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.submitted && ((tmp_4_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_4_0.
|
|
25078
|
+
i0.ɵɵclassProp("govuk-form-group--error", ctx_r0.submitted && ((tmp_4_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_4_0.invalid));
|
|
25055
25079
|
i0.ɵɵadvance(3);
|
|
25056
25080
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.queryCreateContext === ctx_r0.queryCreateContextEnum.RESPOND ? "Response detail" : i0.ɵɵpipeBind1(9, 11, "Query Body"), " ");
|
|
25057
25081
|
i0.ɵɵadvance(2);
|
|
25058
|
-
i0.ɵɵproperty("ngIf", ctx_r0.submitted && ((tmp_6_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_6_0.
|
|
25082
|
+
i0.ɵɵproperty("ngIf", ctx_r0.submitted && ((tmp_6_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_6_0.invalid));
|
|
25059
25083
|
i0.ɵɵadvance();
|
|
25060
|
-
i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ((tmp_7_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_7_0.
|
|
25084
|
+
i0.ɵɵclassProp("govuk-textarea--error", ctx_r0.submitted && ((tmp_7_0 = ctx_r0.formGroup.get("body")) == null ? null : tmp_7_0.invalid));
|
|
25061
25085
|
i0.ɵɵproperty("formControlName", "body");
|
|
25062
25086
|
} }
|
|
25063
25087
|
function QueryWriteRespondToQueryComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -25089,6 +25113,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25089
25113
|
route;
|
|
25090
25114
|
queryManagementService;
|
|
25091
25115
|
logger = new StructuredLoggerService();
|
|
25116
|
+
static MARKDOWN_VALIDATOR = FormValidatorsService.markDownPatternValidator();
|
|
25092
25117
|
queryItem;
|
|
25093
25118
|
formGroup;
|
|
25094
25119
|
queryCreateContext;
|
|
@@ -25128,6 +25153,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25128
25153
|
});
|
|
25129
25154
|
}
|
|
25130
25155
|
ngOnChanges() {
|
|
25156
|
+
this.addMarkdownValidator();
|
|
25131
25157
|
if (!this.caseQueriesCollections || this.caseQueriesCollections.length === 0) {
|
|
25132
25158
|
// Silent return – this is not an error.
|
|
25133
25159
|
return;
|
|
@@ -25157,7 +25183,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25157
25183
|
this.queryResponseStatus = this.queryListData?.responseStatus;
|
|
25158
25184
|
const isCollectionDataSet = this.setCaseQueriesCollectionData();
|
|
25159
25185
|
if (isCollectionDataSet) {
|
|
25160
|
-
if (this.triggerSubmission) {
|
|
25186
|
+
if (this.triggerSubmission && this.formGroup.valid) {
|
|
25161
25187
|
const data = this.generateCaseQueriesCollectionData();
|
|
25162
25188
|
this.queryDataCreated.emit(data);
|
|
25163
25189
|
}
|
|
@@ -25167,6 +25193,16 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25167
25193
|
this.hasRespondedToQuery = value;
|
|
25168
25194
|
this.hasRespondedToQueryTask.emit(value);
|
|
25169
25195
|
}
|
|
25196
|
+
getBodyErrorMessage() {
|
|
25197
|
+
if (this.formGroup.get('body')?.hasError('markDownPattern')) {
|
|
25198
|
+
return this.queryCreateContext === QueryCreateContext.RESPOND
|
|
25199
|
+
? this.raiseQueryErrorMessages.RESPOND_QUERY_BODY_MARKDOWN
|
|
25200
|
+
: this.raiseQueryErrorMessages.QUERY_BODY_MARKDOWN;
|
|
25201
|
+
}
|
|
25202
|
+
return this.queryCreateContext === QueryCreateContext.RESPOND
|
|
25203
|
+
? this.raiseQueryErrorMessages.RESPOND_QUERY_BODY
|
|
25204
|
+
: this.raiseQueryErrorMessages.QUERY_BODY;
|
|
25205
|
+
}
|
|
25170
25206
|
setCaseQueriesCollectionData() {
|
|
25171
25207
|
if (!this.eventData) {
|
|
25172
25208
|
this.logger.warn('Event data not available; skipping collection setup.');
|
|
@@ -25178,6 +25214,13 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25178
25214
|
generateCaseQueriesCollectionData() {
|
|
25179
25215
|
return this.queryManagementService.generateCaseQueriesCollectionData(this.formGroup, this.queryCreateContext, this.queryItem, this.messageId);
|
|
25180
25216
|
}
|
|
25217
|
+
addMarkdownValidator() {
|
|
25218
|
+
const control = this.formGroup?.get('body');
|
|
25219
|
+
if (control) {
|
|
25220
|
+
control.addValidators(QueryWriteRespondToQueryComponent.MARKDOWN_VALIDATOR);
|
|
25221
|
+
control.updateValueAndValidity({ emitEvent: false });
|
|
25222
|
+
}
|
|
25223
|
+
}
|
|
25181
25224
|
static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(QueryManagementService)); };
|
|
25182
25225
|
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" }, standalone: false, 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) {
|
|
25183
25226
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
|
|
@@ -25212,7 +25255,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25212
25255
|
}
|
|
25213
25256
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
|
|
25214
25257
|
type: Component,
|
|
25215
|
-
args: [{ selector: 'ccd-query-write-respond-to-query', standalone: false, 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')?.
|
|
25258
|
+
args: [{ selector: 'ccd-query-write-respond-to-query', standalone: false, 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')?.invalid\">\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')?.invalid\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ getBodyErrorMessage() | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.invalid\" 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"] }]
|
|
25216
25259
|
}], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }, { type: QueryManagementService }], { queryItem: [{
|
|
25217
25260
|
type: Input
|
|
25218
25261
|
}], formGroup: [{
|
|
@@ -25234,7 +25277,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
25234
25277
|
}], hasRespondedToQueryTask: [{
|
|
25235
25278
|
type: Output
|
|
25236
25279
|
}] }); })();
|
|
25237
|
-
(() => { (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:
|
|
25280
|
+
(() => { (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: 21 }); })();
|
|
25238
25281
|
|
|
25239
25282
|
function QueryConfirmationComponent_main_0_ng_container_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
25240
25283
|
i0.ɵɵelementStart(0, "h1", 8);
|