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