@hmcts/ccd-case-ui-toolkit 7.0.22 → 7.0.23-pre-release-markdown
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/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +35 -7
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +83 -38
- package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +6 -5
- package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +10 -5
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +12 -11
- package/esm2020/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +12 -12
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +41 -16
- package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +5 -5
- package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +26 -3
- package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +4 -1
- package/esm2020/lib/shared/domain/document/document-data.model.mjs +1 -1
- package/esm2020/lib/shared/domain/http/http-error.model.mjs +7 -1
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +4 -3
- package/esm2020/lib/shared/services/form/form-validators.service.mjs +27 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +306 -141
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +303 -141
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +8 -3
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +2 -0
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts +4 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
- package/lib/shared/domain/document/document-data.model.d.ts +1 -0
- package/lib/shared/domain/document/document-data.model.d.ts.map +1 -1
- package/lib/shared/domain/http/http-error.model.d.ts +1 -0
- package/lib/shared/domain/http/http-error.model.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/form/form-validators.service.d.ts +4 -0
- package/lib/shared/services/form/form-validators.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ import { MatDialogConfig } from '@angular/material/dialog';
|
|
|
27
27
|
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
28
28
|
import * as i2 from '@nicky-lenaers/ngx-scroll-to';
|
|
29
29
|
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
|
30
|
+
import * as marked from 'marked';
|
|
30
31
|
import * as i1$4 from 'ngx-md';
|
|
31
32
|
import { NgxMdModule } from 'ngx-md';
|
|
32
33
|
import * as i5 from '@angular/material/legacy-autocomplete';
|
|
@@ -127,11 +128,11 @@ function FooterComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
127
128
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 13, ctx_r1.workhours));
|
|
128
129
|
} }
|
|
129
130
|
const _c0$13 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
|
|
130
|
-
const _c1$
|
|
131
|
+
const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
|
|
131
132
|
class FooterComponent {
|
|
132
133
|
}
|
|
133
134
|
FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
|
|
134
|
-
FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$
|
|
135
|
+
FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$u, decls: 4, vars: 4, consts: [["id", "footer", "role", "footer", 1, "group", "js-footer"], [1, "footer-wrapper"], ["class", "footer-meta", 4, "ngIf"], [1, "footer-meta"], [1, "footer-meta-inner"], [1, "open-government-licence"], [1, "logo"], ["href", "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/", "rel", "license"], [1, "copyright"], ["href", "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/"], [1, "title"], [1, "footer-text"], [1, "email"], [3, "href"], [1, "phone"], [1, "work-hours"]], template: function FooterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
135
136
|
i0.ɵɵprojectionDef(_c0$13);
|
|
136
137
|
i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
|
|
137
138
|
i0.ɵɵtemplate(2, FooterComponent_div_2_Template, 20, 15, "div", 2);
|
|
@@ -191,7 +192,7 @@ function HeaderBarComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
191
192
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, ctx_r2.title));
|
|
192
193
|
} }
|
|
193
194
|
const _c0$12 = [[["", "headerNavigation", ""]]];
|
|
194
|
-
const _c1$
|
|
195
|
+
const _c1$t = ["[headerNavigation]"];
|
|
195
196
|
class HeaderBarComponent {
|
|
196
197
|
constructor() {
|
|
197
198
|
this.signOutRequest = new EventEmitter();
|
|
@@ -201,7 +202,7 @@ class HeaderBarComponent {
|
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
204
|
HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
|
|
204
|
-
HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$
|
|
205
|
+
HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$t, decls: 17, vars: 14, consts: [["role", "banner", "id", "global-header", 1, "with-proposition"], [1, "header-wrapper"], [1, "header-global"], [4, "ngIf"], ["class", "global-header", 4, "ngIf"], [1, "header-proposition"], [1, "content"], ["href", "#proposition-links", 1, "js-header-toggle", "menu"], ["id", "proposition-menu", 4, "ngIf"], [1, "proposition-right"], ["id", "user-name"], ["id", "sign-out", "href", "javascript:void(0)", 3, "click"], ["href", "https://www.gov.uk", "title", "Go to the GOV.UK homepage", "id", "logo", 1, "content", 2, "margin-left", "0px"], ["src", "/img/gov.uk_logotype_crown_invert_trans.png?0.23.0", "width", "36", "height", "32", "alt", ""], [1, "global-header"], [1, "title"], ["id", "proposition-menu"], [1, "title-solicitor"], ["id", "proposition-name"]], template: function HeaderBarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
205
206
|
i0.ɵɵprojectionDef(_c0$12);
|
|
206
207
|
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
|
|
207
208
|
i0.ɵɵtemplate(3, HeaderBarComponent_div_3_Template, 5, 3, "div", 3);
|
|
@@ -252,11 +253,11 @@ HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBa
|
|
|
252
253
|
}] }); })();
|
|
253
254
|
|
|
254
255
|
const _c0$11 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
|
|
255
|
-
const _c1$
|
|
256
|
+
const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
|
|
256
257
|
class NavigationComponent {
|
|
257
258
|
}
|
|
258
259
|
NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
|
|
259
|
-
NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$
|
|
260
|
+
NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$s, decls: 4, vars: 2, consts: [[1, "cut-nav-bar"]], template: function NavigationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
260
261
|
i0.ɵɵprojectionDef(_c0$11);
|
|
261
262
|
i0.ɵɵelementStart(0, "div")(1, "nav", 0);
|
|
262
263
|
i0.ɵɵprojection(2);
|
|
@@ -367,11 +368,11 @@ HeadersModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
|
|
|
367
368
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
|
|
368
369
|
|
|
369
370
|
const _c0$10 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
|
|
370
|
-
const _c1$
|
|
371
|
+
const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
|
|
371
372
|
class BodyComponent {
|
|
372
373
|
}
|
|
373
374
|
BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
|
|
374
|
-
BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$
|
|
375
|
+
BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$r, decls: 4, vars: 0, consts: [[1, "global-display"]], template: function BodyComponent_Template(rf, ctx) { if (rf & 1) {
|
|
375
376
|
i0.ɵɵprojectionDef(_c0$10);
|
|
376
377
|
i0.ɵɵelementStart(0, "div", 0);
|
|
377
378
|
i0.ɵɵprojection(1);
|
|
@@ -981,11 +982,11 @@ NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
981
982
|
}] }); })();
|
|
982
983
|
|
|
983
984
|
const _c0$Z = function (a0) { return { "js-hidden": a0 }; };
|
|
984
|
-
const _c1$
|
|
985
|
+
const _c1$q = ["*"];
|
|
985
986
|
class TabComponent {
|
|
986
987
|
}
|
|
987
988
|
TabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
|
|
988
|
-
TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$
|
|
989
|
+
TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$q, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
989
990
|
i0.ɵɵprojectionDef();
|
|
990
991
|
i0.ɵɵelementStart(0, "div", 0);
|
|
991
992
|
i0.ɵɵprojection(1);
|
|
@@ -1006,8 +1007,8 @@ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent,
|
|
|
1006
1007
|
}] }); })();
|
|
1007
1008
|
|
|
1008
1009
|
const _c0$Y = ["tab"];
|
|
1009
|
-
const _c1$
|
|
1010
|
-
const _c2$
|
|
1010
|
+
const _c1$p = function () { return ["."]; };
|
|
1011
|
+
const _c2$4 = function (a0) { return { "tabs-toggle-selected": a0 }; };
|
|
1011
1012
|
function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
|
|
1012
1013
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
1013
1014
|
i0.ɵɵelementStart(0, "li", 4)(1, "a", 5, 6);
|
|
@@ -1018,7 +1019,7 @@ function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
1018
1019
|
} if (rf & 2) {
|
|
1019
1020
|
const panel_r1 = ctx.$implicit;
|
|
1020
1021
|
i0.ɵɵadvance(1);
|
|
1021
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$
|
|
1022
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$p))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$4, panel_r1.selected));
|
|
1022
1023
|
i0.ɵɵattribute("aria-controls", panel_r1.id)("aria-selected", panel_r1.selected);
|
|
1023
1024
|
i0.ɵɵadvance(2);
|
|
1024
1025
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, panel_r1.title));
|
|
@@ -1241,6 +1242,11 @@ class HttpError {
|
|
|
1241
1242
|
}
|
|
1242
1243
|
static from(response) {
|
|
1243
1244
|
const error = new HttpError();
|
|
1245
|
+
if (response?.status === 429) {
|
|
1246
|
+
error.error = HttpError.MESSAGE_ERROR_429;
|
|
1247
|
+
error.status = response.status;
|
|
1248
|
+
error.message = response.message;
|
|
1249
|
+
}
|
|
1244
1250
|
// Check that the HttpErrorResponse contains an "error" object before mapping the error properties
|
|
1245
1251
|
if (!!(response && response.error)) {
|
|
1246
1252
|
Object.keys(error).forEach((key) => {
|
|
@@ -1260,6 +1266,7 @@ class HttpError {
|
|
|
1260
1266
|
HttpError.DEFAULT_ERROR = 'Unknown error';
|
|
1261
1267
|
HttpError.DEFAULT_MESSAGE = 'Something unexpected happened, our technical staff have been automatically notified';
|
|
1262
1268
|
HttpError.DEFAULT_STATUS = 500;
|
|
1269
|
+
HttpError.MESSAGE_ERROR_429 = 'Your request was rate limited. Please wait a few seconds before retrying your document upload';
|
|
1263
1270
|
|
|
1264
1271
|
/**
|
|
1265
1272
|
* `Oauth2Service` and `AuthService` cannot be merged as it creates a cyclic dependency on `AuthService` through `HttpErrorService`.
|
|
@@ -2730,6 +2737,9 @@ class FirstErrorPipe {
|
|
|
2730
2737
|
else if (keys[0] === 'pattern') {
|
|
2731
2738
|
errorMessage = 'The data entered is not valid for %FIELDLABEL%';
|
|
2732
2739
|
}
|
|
2740
|
+
else if (keys[0] === 'markDownPattern') {
|
|
2741
|
+
errorMessage = 'The data entered is not valid for %FIELDLABEL%. Link mark up characters are not allowed in this field';
|
|
2742
|
+
}
|
|
2733
2743
|
else if (keys[0] === 'minlength') {
|
|
2734
2744
|
errorMessage = '%FIELDLABEL% is below the minimum length';
|
|
2735
2745
|
}
|
|
@@ -4547,6 +4557,7 @@ class FormValidatorsService {
|
|
|
4547
4557
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES.indexOf(caseField.field_type.type) === -1) {
|
|
4548
4558
|
const validators = [Validators.required];
|
|
4549
4559
|
if (caseField.field_type.type === 'Text') {
|
|
4560
|
+
validators.push(this.markDownPatternValidator());
|
|
4550
4561
|
if (caseField.field_type.regular_expression) {
|
|
4551
4562
|
validators.push(Validators.pattern(caseField.field_type.regular_expression));
|
|
4552
4563
|
}
|
|
@@ -4560,22 +4571,36 @@ class FormValidatorsService {
|
|
|
4560
4571
|
validators.push(Validators.maxLength(caseField.field_type.max));
|
|
4561
4572
|
}
|
|
4562
4573
|
}
|
|
4574
|
+
if (caseField.field_type.type === 'TextArea') {
|
|
4575
|
+
validators.push(this.emptyValidator());
|
|
4576
|
+
validators.push(this.markDownPatternValidator());
|
|
4577
|
+
}
|
|
4563
4578
|
if (control.validator) {
|
|
4564
4579
|
validators.push(control.validator);
|
|
4565
4580
|
}
|
|
4566
4581
|
control.setValidators(validators);
|
|
4567
4582
|
}
|
|
4583
|
+
else if (caseField.display_context === 'OPTIONAL' && (caseField.field_type.type === 'Text' || caseField.field_type.type === 'TextArea')) {
|
|
4584
|
+
control.setValidators(this.markDownPatternValidator());
|
|
4585
|
+
}
|
|
4568
4586
|
return control;
|
|
4569
4587
|
}
|
|
4570
4588
|
static emptyValidator() {
|
|
4571
4589
|
const validator = (control) => {
|
|
4572
|
-
if (control
|
|
4590
|
+
if (control?.value?.toString().trim().length === 0) {
|
|
4573
4591
|
return { required: {} };
|
|
4574
4592
|
}
|
|
4575
4593
|
return null;
|
|
4576
4594
|
};
|
|
4577
4595
|
return validator;
|
|
4578
4596
|
}
|
|
4597
|
+
static markDownPatternValidator() {
|
|
4598
|
+
const pattern = /(\[[^\]]{0,500}\]\([^)]{0,500}\)|!\[[^\]]{0,500}\]\([^)]{0,500}\)|<img[^>]{0,500}>|<a[^>]{0,500}>.*?<\/a>)/;
|
|
4599
|
+
return (control) => {
|
|
4600
|
+
const value = control?.value?.toString().trim();
|
|
4601
|
+
return (value && pattern.test(value)) ? { markDownPattern: {} } : null;
|
|
4602
|
+
};
|
|
4603
|
+
}
|
|
4579
4604
|
// TODO: Strip this out as it's only here for the moment because
|
|
4580
4605
|
// the service is being injected all over the place but it doesn't
|
|
4581
4606
|
// need to be as FormValidatorsService.addValidators is perfectly
|
|
@@ -4583,10 +4608,20 @@ class FormValidatorsService {
|
|
|
4583
4608
|
addValidators(caseField, control) {
|
|
4584
4609
|
return FormValidatorsService.addValidators(caseField, control);
|
|
4585
4610
|
}
|
|
4611
|
+
addMarkDownValidators(formGroup, controlPath) {
|
|
4612
|
+
const control = formGroup.get(controlPath);
|
|
4613
|
+
if (control) {
|
|
4614
|
+
control.setValidators(FormValidatorsService.markDownPatternValidator());
|
|
4615
|
+
control.updateValueAndValidity();
|
|
4616
|
+
}
|
|
4617
|
+
return control;
|
|
4618
|
+
}
|
|
4586
4619
|
}
|
|
4587
4620
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES = [
|
|
4588
4621
|
'Date', 'MoneyGBP', 'Label', 'JudicialUser'
|
|
4589
4622
|
];
|
|
4623
|
+
FormValidatorsService.DEFAULT_INPUT_TEXT = 'text';
|
|
4624
|
+
FormValidatorsService.DEFAULT_INPUT_TEXTAREA = 'textAreas';
|
|
4590
4625
|
FormValidatorsService.ɵfac = function FormValidatorsService_Factory(t) { return new (t || FormValidatorsService)(); };
|
|
4591
4626
|
FormValidatorsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValidatorsService, factory: FormValidatorsService.ɵfac });
|
|
4592
4627
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormValidatorsService, [{
|
|
@@ -5026,8 +5061,9 @@ class FieldsPurger {
|
|
|
5026
5061
|
}
|
|
5027
5062
|
}
|
|
5028
5063
|
else {
|
|
5029
|
-
// Delete the field
|
|
5030
|
-
|
|
5064
|
+
// Delete the field from formGroup
|
|
5065
|
+
const dataGroup = form.get('data');
|
|
5066
|
+
dataGroup.removeControl(field.id);
|
|
5031
5067
|
}
|
|
5032
5068
|
}
|
|
5033
5069
|
resetPage(form, wizardPage) {
|
|
@@ -8385,16 +8421,21 @@ class PageValidationService {
|
|
|
8385
8421
|
constructor(caseFieldService) {
|
|
8386
8422
|
this.caseFieldService = caseFieldService;
|
|
8387
8423
|
}
|
|
8388
|
-
|
|
8389
|
-
|
|
8424
|
+
getInvalidFields(page, editForm) {
|
|
8425
|
+
const failingCaseFields = [];
|
|
8426
|
+
page.case_fields
|
|
8390
8427
|
.filter(caseField => !this.caseFieldService.isReadOnly(caseField))
|
|
8391
8428
|
.filter(caseField => !this.isHidden(caseField, editForm))
|
|
8392
|
-
.
|
|
8429
|
+
.map(caseField => {
|
|
8393
8430
|
const theControl = FieldsUtils.isCaseFieldOfType(caseField, ['JudicialUser'])
|
|
8394
8431
|
? editForm.controls['data'].get(`${caseField.id}_judicialUserControl`)
|
|
8395
8432
|
: editForm.controls['data'].get(caseField.id);
|
|
8396
|
-
|
|
8433
|
+
if (!(this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl))) {
|
|
8434
|
+
failingCaseFields.push(caseField);
|
|
8435
|
+
}
|
|
8436
|
+
;
|
|
8397
8437
|
});
|
|
8438
|
+
return failingCaseFields;
|
|
8398
8439
|
}
|
|
8399
8440
|
isHidden(caseField, editForm, path) {
|
|
8400
8441
|
const formFields = editForm.getRawValue();
|
|
@@ -9719,7 +9760,8 @@ class CaseEditPageComponent {
|
|
|
9719
9760
|
return this.caseEdit.first();
|
|
9720
9761
|
}
|
|
9721
9762
|
currentPageIsNotValid() {
|
|
9722
|
-
|
|
9763
|
+
this.failingCaseFields = this.pageValidationService.getInvalidFields(this.currentPage, this.editForm);
|
|
9764
|
+
return this.failingCaseFields.length > 0 ||
|
|
9723
9765
|
(this.isLinkedCasesJourney() && !this.isLinkedCasesJourneyAtFinalStep);
|
|
9724
9766
|
}
|
|
9725
9767
|
isLinkedCasesJourney() {
|
|
@@ -9741,9 +9783,15 @@ class CaseEditPageComponent {
|
|
|
9741
9783
|
// Adding validation message to show it as Error Summary
|
|
9742
9784
|
generateErrorMessage(fields, container, path) {
|
|
9743
9785
|
const group = container || this.editForm.controls['data'];
|
|
9744
|
-
|
|
9745
|
-
|
|
9786
|
+
let validErrorFieldFound = false;
|
|
9787
|
+
let validationErrorAmount = this.validationErrors.length;
|
|
9788
|
+
const failingFields = fields.filter(casefield => !this.caseFieldService.isReadOnly(casefield))
|
|
9789
|
+
.filter(casefield => !this.pageValidationService.isHidden(casefield, this.editForm, path));
|
|
9790
|
+
// note that thougn these checks are on getinvalidfields they are needed for sub field checks
|
|
9791
|
+
failingFields
|
|
9746
9792
|
.forEach(casefield => {
|
|
9793
|
+
let errorPresent = true;
|
|
9794
|
+
validErrorFieldFound = true;
|
|
9747
9795
|
const fieldElement = FieldsUtils.isCaseFieldOfType(casefield, ['JudicialUser'])
|
|
9748
9796
|
? group.get(`${casefield.id}_judicialUserControl`)
|
|
9749
9797
|
: group.get(casefield.id);
|
|
@@ -9788,7 +9836,7 @@ class CaseEditPageComponent {
|
|
|
9788
9836
|
}
|
|
9789
9837
|
else if (fieldElement.invalid) {
|
|
9790
9838
|
if (casefield.isComplex()) {
|
|
9791
|
-
this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
9839
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
9792
9840
|
}
|
|
9793
9841
|
else if (casefield.isCollection() && casefield.field_type.collection_field_type.type === 'Complex') {
|
|
9794
9842
|
const fieldArray = fieldElement;
|
|
@@ -9796,7 +9844,7 @@ class CaseEditPageComponent {
|
|
|
9796
9844
|
id = `${fieldArray['component']['collItems'][0].prefix}`;
|
|
9797
9845
|
}
|
|
9798
9846
|
fieldArray.controls.forEach((c) => {
|
|
9799
|
-
this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
9847
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
9800
9848
|
});
|
|
9801
9849
|
}
|
|
9802
9850
|
else if (FieldsUtils.isCaseFieldOfType(casefield, ['FlagLauncher'])) {
|
|
@@ -9811,8 +9859,29 @@ class CaseEditPageComponent {
|
|
|
9811
9859
|
}
|
|
9812
9860
|
}
|
|
9813
9861
|
}
|
|
9862
|
+
else {
|
|
9863
|
+
validErrorFieldFound = false;
|
|
9864
|
+
}
|
|
9865
|
+
if (!errorPresent && this.validationErrors.length === validationErrorAmount) {
|
|
9866
|
+
// if no error messages have been added in internal field despite parent field failing
|
|
9867
|
+
this.validationErrors.push({ id: casefield.id, message: `A field that is causing an error is ${casefield.id} but it is not producing a valid error message. Please ensure all details are correct` });
|
|
9868
|
+
}
|
|
9814
9869
|
});
|
|
9870
|
+
if (!validErrorFieldFound) {
|
|
9871
|
+
path ? this.validationErrors.push({ id: path, message: `There is an internal issue with ${path} fields. The field that is causing the error cannot be determined but there is an error present` })
|
|
9872
|
+
: this.validationErrors.push({ id: null, message: `The field that is causing the error cannot be determined but there is an error present` });
|
|
9873
|
+
}
|
|
9874
|
+
else if (this.validationErrors.length === validationErrorAmount) {
|
|
9875
|
+
// if no error messages have been generated
|
|
9876
|
+
if (path) {
|
|
9877
|
+
return false;
|
|
9878
|
+
}
|
|
9879
|
+
else {
|
|
9880
|
+
this.validationErrors.push({ id: null, message: `The field that is causing the error cannot be determined but there is an error present. Please fill in more of the form` });
|
|
9881
|
+
}
|
|
9882
|
+
}
|
|
9815
9883
|
CaseEditPageComponent.scrollToTop();
|
|
9884
|
+
return true;
|
|
9816
9885
|
}
|
|
9817
9886
|
navigateToErrorElement(elementId) {
|
|
9818
9887
|
/* istanbul ignore else */
|
|
@@ -9837,7 +9906,7 @@ class CaseEditPageComponent {
|
|
|
9837
9906
|
CaseEditPageComponent.scrollToTop();
|
|
9838
9907
|
}
|
|
9839
9908
|
else {
|
|
9840
|
-
this.generateErrorMessage(this.
|
|
9909
|
+
this.generateErrorMessage(this.failingCaseFields);
|
|
9841
9910
|
}
|
|
9842
9911
|
}
|
|
9843
9912
|
if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
|
|
@@ -10904,8 +10973,8 @@ function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) { if (r
|
|
|
10904
10973
|
i0.ɵɵadvance(1);
|
|
10905
10974
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r5.errorMessage));
|
|
10906
10975
|
} }
|
|
10907
|
-
const _c1$
|
|
10908
|
-
const _c2$
|
|
10976
|
+
const _c1$o = function (a0) { return { "form-group-error": a0 }; };
|
|
10977
|
+
const _c2$3 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
10909
10978
|
function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
10910
10979
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
10911
10980
|
i0.ɵɵelementStart(0, "div", 8)(1, "label", 9)(2, "span", 10);
|
|
@@ -10921,7 +10990,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
|
|
|
10921
10990
|
i0.ɵɵelementEnd()();
|
|
10922
10991
|
} if (rf & 2) {
|
|
10923
10992
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
10924
|
-
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
10993
|
+
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$o, ctx_r2.missingPostcode));
|
|
10925
10994
|
i0.ɵɵadvance(1);
|
|
10926
10995
|
i0.ɵɵproperty("for", ctx_r2.createElementId("postcodeInput"));
|
|
10927
10996
|
i0.ɵɵadvance(2);
|
|
@@ -10929,7 +10998,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
|
|
|
10929
10998
|
i0.ɵɵadvance(2);
|
|
10930
10999
|
i0.ɵɵproperty("ngIf", ctx_r2.missingPostcode);
|
|
10931
11000
|
i0.ɵɵadvance(1);
|
|
10932
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$
|
|
11001
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$3, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
|
|
10933
11002
|
i0.ɵɵadvance(2);
|
|
10934
11003
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "Find address"));
|
|
10935
11004
|
} }
|
|
@@ -10967,7 +11036,7 @@ function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) { if (rf & 1)
|
|
|
10967
11036
|
i0.ɵɵelementEnd()();
|
|
10968
11037
|
} if (rf & 2) {
|
|
10969
11038
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
10970
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$
|
|
11039
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$o, ctx_r3.noAddressSelected));
|
|
10971
11040
|
i0.ɵɵadvance(1);
|
|
10972
11041
|
i0.ɵɵproperty("for", ctx_r3.createElementId("addressList"));
|
|
10973
11042
|
i0.ɵɵadvance(2);
|
|
@@ -12384,7 +12453,7 @@ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
12384
12453
|
i0.ɵɵadvance(1);
|
|
12385
12454
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
|
|
12386
12455
|
} }
|
|
12387
|
-
const _c1$
|
|
12456
|
+
const _c1$n = function (a0) { return { "form-group-error": a0 }; };
|
|
12388
12457
|
class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
|
|
12389
12458
|
ngOnInit() {
|
|
12390
12459
|
if (this.caseField.value) {
|
|
@@ -12445,7 +12514,7 @@ WriteCaseLinkFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
12445
12514
|
i0.ɵɵelement(5, "input", 5);
|
|
12446
12515
|
i0.ɵɵelementEnd();
|
|
12447
12516
|
} if (rf & 2) {
|
|
12448
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
12517
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$n, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
|
|
12449
12518
|
i0.ɵɵadvance(1);
|
|
12450
12519
|
i0.ɵɵproperty("for", ctx.id());
|
|
12451
12520
|
i0.ɵɵadvance(1);
|
|
@@ -12477,7 +12546,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) { if (rf
|
|
|
12477
12546
|
i0.ɵɵadvance(4);
|
|
12478
12547
|
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction6(3, _c0$S, ctx_r1.caseField.label, ctx_r1.caseField.label, ctx_r1.caseField.field_type.collection_field_type, ctx_r1.caseField.display_context_parameter, ctx_r1.caseField.value, ctx_r1.caseField.hidden))("context", ctx_r1.context)("topLevelFormGroup", ctx_r1.topLevelFormGroup);
|
|
12479
12548
|
} }
|
|
12480
|
-
const _c1$
|
|
12549
|
+
const _c1$m = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
|
|
12481
12550
|
function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
12482
12551
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
12483
12552
|
i0.ɵɵelement(2, "ccd-field-read", 7);
|
|
@@ -12487,7 +12556,7 @@ function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { i
|
|
|
12487
12556
|
const i_r5 = ctx.index;
|
|
12488
12557
|
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
12489
12558
|
i0.ɵɵadvance(2);
|
|
12490
|
-
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$
|
|
12559
|
+
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$m, i_r5, ctx_r3.caseField.label + " " + (i_r5 + 1), ctx_r3.caseField.field_type.collection_field_type, item_r4.value, ctx_r3.caseField.hidden))("context", ctx_r3.context)("topLevelFormGroup", ctx_r3.topLevelFormGroup)("idPrefix", ctx_r3.buildIdPrefix(i_r5));
|
|
12491
12560
|
} }
|
|
12492
12561
|
function ReadCollectionFieldComponent_table_0_tbody_3_Template(rf, ctx) { if (rf & 1) {
|
|
12493
12562
|
i0.ɵɵelementStart(0, "tbody");
|
|
@@ -13310,7 +13379,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
|
|
|
13310
13379
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
13311
13380
|
i0.ɵɵproperty("caseField", ctx_r2.caseField);
|
|
13312
13381
|
} }
|
|
13313
|
-
const _c1$
|
|
13382
|
+
const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
13314
13383
|
class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
13315
13384
|
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
13316
13385
|
super();
|
|
@@ -13490,6 +13559,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13490
13559
|
if (documentHash) {
|
|
13491
13560
|
this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).setValue(documentHash);
|
|
13492
13561
|
}
|
|
13562
|
+
if (this.uploadedDocument.get(WriteDocumentFieldComponent.UPLOAD_TIMESTAMP)) {
|
|
13563
|
+
this.uploadedDocument.removeControl(WriteDocumentFieldComponent.UPLOAD_TIMESTAMP);
|
|
13564
|
+
}
|
|
13493
13565
|
}
|
|
13494
13566
|
createDocumentFormWithValidator(document) {
|
|
13495
13567
|
let documentFormGroup = {
|
|
@@ -13497,6 +13569,12 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13497
13569
|
document_binary_url: new FormControl(document.document_binary_url, Validators.required),
|
|
13498
13570
|
document_filename: new FormControl(document.document_filename, Validators.required)
|
|
13499
13571
|
};
|
|
13572
|
+
if (document.upload_timestamp && (typeof document.upload_timestamp === 'string')) {
|
|
13573
|
+
documentFormGroup = {
|
|
13574
|
+
...documentFormGroup,
|
|
13575
|
+
...{ upload_timestamp: new FormControl(document.upload_timestamp) }
|
|
13576
|
+
};
|
|
13577
|
+
}
|
|
13500
13578
|
documentFormGroup = this.secureModeOn ? {
|
|
13501
13579
|
...documentFormGroup,
|
|
13502
13580
|
...{ document_hash: new FormControl(document.document_hash) }
|
|
@@ -13509,6 +13587,12 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13509
13587
|
document_binary_url: new FormControl(document.document_binary_url),
|
|
13510
13588
|
document_filename: new FormControl(document.document_filename)
|
|
13511
13589
|
};
|
|
13590
|
+
if (document.upload_timestamp && (typeof document.upload_timestamp === 'string')) {
|
|
13591
|
+
documentFormGroup = {
|
|
13592
|
+
...documentFormGroup,
|
|
13593
|
+
...{ upload_timestamp: new FormControl(document.upload_timestamp) }
|
|
13594
|
+
};
|
|
13595
|
+
}
|
|
13512
13596
|
documentFormGroup = this.secureModeOn ? {
|
|
13513
13597
|
...documentFormGroup,
|
|
13514
13598
|
...{ document_hash: new FormControl(document.document_hash) }
|
|
@@ -13516,23 +13600,31 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13516
13600
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
13517
13601
|
}
|
|
13518
13602
|
getErrorMessage(error) {
|
|
13519
|
-
|
|
13520
|
-
|
|
13521
|
-
|
|
13522
|
-
|
|
13523
|
-
|
|
13524
|
-
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13603
|
+
switch (error.status) {
|
|
13604
|
+
case 0:
|
|
13605
|
+
case 502:
|
|
13606
|
+
return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
|
|
13607
|
+
case 422:
|
|
13608
|
+
{
|
|
13609
|
+
let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13610
|
+
if (error?.error) {
|
|
13611
|
+
const fullError = error.error;
|
|
13612
|
+
const start = fullError.indexOf('{');
|
|
13613
|
+
if (start >= 0) {
|
|
13614
|
+
const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
|
|
13615
|
+
const obj = JSON.parse(json);
|
|
13616
|
+
if (obj?.error) {
|
|
13617
|
+
errorMsg = obj.error;
|
|
13618
|
+
}
|
|
13619
|
+
}
|
|
13620
|
+
}
|
|
13621
|
+
return errorMsg;
|
|
13532
13622
|
}
|
|
13533
|
-
|
|
13623
|
+
case 429:
|
|
13624
|
+
return error?.error;
|
|
13625
|
+
default:
|
|
13626
|
+
return WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13534
13627
|
}
|
|
13535
|
-
return errorMsg;
|
|
13536
13628
|
}
|
|
13537
13629
|
buildDocumentUploadData(selectedFile) {
|
|
13538
13630
|
const documentUpload = new FormData();
|
|
@@ -13584,9 +13676,11 @@ WriteDocumentFieldComponent.DOCUMENT_URL = 'document_url';
|
|
|
13584
13676
|
WriteDocumentFieldComponent.DOCUMENT_BINARY_URL = 'document_binary_url';
|
|
13585
13677
|
WriteDocumentFieldComponent.DOCUMENT_FILENAME = 'document_filename';
|
|
13586
13678
|
WriteDocumentFieldComponent.DOCUMENT_HASH = 'document_hash';
|
|
13679
|
+
WriteDocumentFieldComponent.UPLOAD_TIMESTAMP = 'upload_timestamp';
|
|
13587
13680
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
13588
13681
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
13589
13682
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
13683
|
+
WriteDocumentFieldComponent.ERROR_UPLOADING_FILE = 'Error Uploading File';
|
|
13590
13684
|
WriteDocumentFieldComponent.ɵfac = function WriteDocumentFieldComponent_Factory(t) { return new (t || WriteDocumentFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(FileUploadStateService), i0.ɵɵdirectiveInject(JurisdictionService)); };
|
|
13591
13685
|
WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) { if (rf & 1) {
|
|
13592
13686
|
i0.ɵɵviewQuery(_c0$Q, 5);
|
|
@@ -13616,7 +13710,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
13616
13710
|
i0.ɵɵpipe(17, "rpxTranslate");
|
|
13617
13711
|
i0.ɵɵelementEnd()();
|
|
13618
13712
|
} if (rf & 2) {
|
|
13619
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$
|
|
13713
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
|
|
13620
13714
|
i0.ɵɵadvance(1);
|
|
13621
13715
|
i0.ɵɵproperty("for", ctx.id());
|
|
13622
13716
|
i0.ɵɵadvance(1);
|
|
@@ -13810,9 +13904,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
13810
13904
|
}], null, null); })();
|
|
13811
13905
|
|
|
13812
13906
|
class MarkdownComponent {
|
|
13813
|
-
constructor() {
|
|
13907
|
+
constructor() {
|
|
13908
|
+
this.renderUrlToTextFeature = true;
|
|
13909
|
+
}
|
|
13814
13910
|
ngOnInit() {
|
|
13815
13911
|
this.content = this.content.replace(/ \n/g, '<br>');
|
|
13912
|
+
if (this.renderUrlToTextFeature) {
|
|
13913
|
+
this.renderUrlToText();
|
|
13914
|
+
}
|
|
13816
13915
|
}
|
|
13817
13916
|
onMarkdownClick(event) {
|
|
13818
13917
|
// If we don't have an anchor tag, we don't need to do anything.
|
|
@@ -13821,11 +13920,26 @@ class MarkdownComponent {
|
|
|
13821
13920
|
}
|
|
13822
13921
|
return true;
|
|
13823
13922
|
}
|
|
13923
|
+
renderUrlToText() {
|
|
13924
|
+
const renderer = new marked.Renderer();
|
|
13925
|
+
renderer.link = (href, title, text) => {
|
|
13926
|
+
// Return the text without turning it into a link if it's not an internal link
|
|
13927
|
+
return this.isAllowedUrl(href) ? `<a href="${href}">${text}</a>` : text;
|
|
13928
|
+
};
|
|
13929
|
+
marked.setOptions({
|
|
13930
|
+
renderer: renderer
|
|
13931
|
+
});
|
|
13932
|
+
}
|
|
13933
|
+
isAllowedUrl(url) {
|
|
13934
|
+
const currentOrigin = window.location.origin;
|
|
13935
|
+
const urlOrigin = new URL(url, window.location.href).origin;
|
|
13936
|
+
return urlOrigin === currentOrigin || url.startsWith('/'); // Check if same origin or relative
|
|
13937
|
+
}
|
|
13824
13938
|
}
|
|
13825
13939
|
MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
|
|
13826
13940
|
MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
13827
13941
|
i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
|
|
13828
|
-
} }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13942
|
+
} }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13829
13943
|
i0.ɵɵelementStart(0, "div");
|
|
13830
13944
|
i0.ɵɵelement(1, "markdown", 0);
|
|
13831
13945
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -13842,6 +13956,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
|
|
|
13842
13956
|
type: Input
|
|
13843
13957
|
}], markdownUseHrefAsRouterLink: [{
|
|
13844
13958
|
type: Input
|
|
13959
|
+
}], renderUrlToTextFeature: [{
|
|
13960
|
+
type: Input
|
|
13845
13961
|
}], onMarkdownClick: [{
|
|
13846
13962
|
type: HostListener,
|
|
13847
13963
|
args: ['click', ['$event']]
|
|
@@ -13954,7 +14070,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
|
|
|
13954
14070
|
i0.ɵɵadvance(1);
|
|
13955
14071
|
i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
|
|
13956
14072
|
i0.ɵɵadvance(1);
|
|
13957
|
-
i0.ɵɵproperty("content", checkbox_r4.label);
|
|
14073
|
+
i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
|
|
13958
14074
|
} }
|
|
13959
14075
|
const _c0$O = function (a0) { return { "error": a0 }; };
|
|
13960
14076
|
class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
|
|
@@ -14018,13 +14134,13 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
|
|
|
14018
14134
|
}
|
|
14019
14135
|
}
|
|
14020
14136
|
WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
|
|
14021
|
-
WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14137
|
+
WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content", "renderUrlToTextFeature"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14022
14138
|
i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
|
|
14023
14139
|
i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
|
|
14024
14140
|
i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
|
|
14025
14141
|
i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
|
|
14026
14142
|
i0.ɵɵelementEnd();
|
|
14027
|
-
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5,
|
|
14143
|
+
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
|
|
14028
14144
|
i0.ɵɵelementEnd()();
|
|
14029
14145
|
} if (rf & 2) {
|
|
14030
14146
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$O, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
|
|
@@ -14039,7 +14155,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
|
|
|
14039
14155
|
} }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
|
|
14040
14156
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
|
|
14041
14157
|
type: Component,
|
|
14042
|
-
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\"></ccd-markdown>\n </label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n", styles: ["ccd-markdown{display:inline-block}\n"] }]
|
|
14158
|
+
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"] }]
|
|
14043
14159
|
}], null, null); })();
|
|
14044
14160
|
|
|
14045
14161
|
class DynamicRadioListPipe {
|
|
@@ -14160,7 +14276,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
|
|
|
14160
14276
|
i0.ɵɵadvance(1);
|
|
14161
14277
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
|
|
14162
14278
|
} }
|
|
14163
|
-
const _c1$
|
|
14279
|
+
const _c1$k = function (a0) { return { "form-group-error": a0 }; };
|
|
14164
14280
|
class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14165
14281
|
ngOnInit() {
|
|
14166
14282
|
/**
|
|
@@ -14198,7 +14314,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
|
|
|
14198
14314
|
i0.ɵɵelementContainerEnd();
|
|
14199
14315
|
i0.ɵɵelementEnd()();
|
|
14200
14316
|
} if (rf & 2) {
|
|
14201
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$
|
|
14317
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
|
|
14202
14318
|
i0.ɵɵadvance(3);
|
|
14203
14319
|
i0.ɵɵproperty("for", ctx.id());
|
|
14204
14320
|
i0.ɵɵadvance(1);
|
|
@@ -14279,7 +14395,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
14279
14395
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.emailControl.errors, ctx_r2.caseField.label));
|
|
14280
14396
|
} }
|
|
14281
14397
|
const _c0$M = function (a0) { return { "form-group-error": a0 }; };
|
|
14282
|
-
const _c1$
|
|
14398
|
+
const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
|
|
14283
14399
|
class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
|
|
14284
14400
|
ngOnInit() {
|
|
14285
14401
|
this.emailControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -14305,7 +14421,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
14305
14421
|
i0.ɵɵadvance(1);
|
|
14306
14422
|
i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
|
|
14307
14423
|
i0.ɵɵadvance(1);
|
|
14308
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
14424
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
|
|
14309
14425
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
14310
14426
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteEmailFieldComponent, [{
|
|
14311
14427
|
type: Component,
|
|
@@ -14516,7 +14632,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1)
|
|
|
14516
14632
|
i0.ɵɵadvance(1);
|
|
14517
14633
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
|
|
14518
14634
|
} }
|
|
14519
|
-
const _c1$
|
|
14635
|
+
const _c1$i = function (a0) { return { "form-group-error": a0 }; };
|
|
14520
14636
|
class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14521
14637
|
ngOnInit() {
|
|
14522
14638
|
const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
|
|
@@ -14536,7 +14652,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
14536
14652
|
i0.ɵɵelementContainerEnd();
|
|
14537
14653
|
i0.ɵɵelementEnd()();
|
|
14538
14654
|
} if (rf & 2) {
|
|
14539
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
14655
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
|
|
14540
14656
|
i0.ɵɵadvance(3);
|
|
14541
14657
|
i0.ɵɵproperty("for", ctx.id());
|
|
14542
14658
|
i0.ɵɵadvance(1);
|
|
@@ -14658,7 +14774,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) { if (r
|
|
|
14658
14774
|
i0.ɵɵtext(1, " Invalid search term ");
|
|
14659
14775
|
i0.ɵɵelementEnd();
|
|
14660
14776
|
} }
|
|
14661
|
-
const _c1$
|
|
14777
|
+
const _c1$h = function (a0) { return { "form-group-error": a0 }; };
|
|
14662
14778
|
class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
|
|
14663
14779
|
constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
|
|
14664
14780
|
super(compoundPipe, validatorsService);
|
|
@@ -14805,7 +14921,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
14805
14921
|
i0.ɵɵelementEnd()();
|
|
14806
14922
|
} if (rf & 2) {
|
|
14807
14923
|
const _r3 = i0.ɵɵreference(7);
|
|
14808
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$
|
|
14924
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
|
|
14809
14925
|
i0.ɵɵadvance(1);
|
|
14810
14926
|
i0.ɵɵproperty("for", ctx.id());
|
|
14811
14927
|
i0.ɵɵadvance(1);
|
|
@@ -15495,7 +15611,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
15495
15611
|
i0.ɵɵadvance(1);
|
|
15496
15612
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
|
|
15497
15613
|
} }
|
|
15498
|
-
const _c1$
|
|
15614
|
+
const _c1$g = function (a0) { return { "table-group-error": a0 }; };
|
|
15499
15615
|
function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
15500
15616
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
15501
15617
|
i0.ɵɵelementStart(0, "tr", 10)(1, "td", 38);
|
|
@@ -15526,7 +15642,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
|
15526
15642
|
const case_r16 = ctx.$implicit;
|
|
15527
15643
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
15528
15644
|
i0.ɵɵadvance(2);
|
|
15529
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$
|
|
15645
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
|
|
15530
15646
|
i0.ɵɵadvance(2);
|
|
15531
15647
|
i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
|
|
15532
15648
|
i0.ɵɵadvance(2);
|
|
@@ -17426,7 +17542,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
17426
17542
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.numberControl.errors, ctx_r2.caseField.label), " ");
|
|
17427
17543
|
} }
|
|
17428
17544
|
const _c0$E = function (a0) { return { "form-group-error": a0 }; };
|
|
17429
|
-
const _c1$
|
|
17545
|
+
const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
|
|
17430
17546
|
class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
|
|
17431
17547
|
ngOnInit() {
|
|
17432
17548
|
this.numberControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -17452,7 +17568,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
|
|
|
17452
17568
|
i0.ɵɵadvance(1);
|
|
17453
17569
|
i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
|
|
17454
17570
|
i0.ɵɵadvance(1);
|
|
17455
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
17571
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
|
|
17456
17572
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
17457
17573
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
|
|
17458
17574
|
type: Component,
|
|
@@ -18093,7 +18209,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
18093
18209
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.phoneUkControl.errors, ctx_r2.caseField.label), " ");
|
|
18094
18210
|
} }
|
|
18095
18211
|
const _c0$C = function (a0) { return { "form-group-error": a0 }; };
|
|
18096
|
-
const _c1$
|
|
18212
|
+
const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
|
|
18097
18213
|
class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
|
|
18098
18214
|
ngOnInit() {
|
|
18099
18215
|
this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -18119,7 +18235,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
18119
18235
|
i0.ɵɵadvance(1);
|
|
18120
18236
|
i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
|
|
18121
18237
|
i0.ɵɵadvance(1);
|
|
18122
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
18238
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
|
|
18123
18239
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
18124
18240
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WritePhoneUKFieldComponent, [{
|
|
18125
18241
|
type: Component,
|
|
@@ -20135,7 +20251,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20135
20251
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textareaControl.errors, ctx_r2.caseField.label), " ");
|
|
20136
20252
|
} }
|
|
20137
20253
|
const _c0$z = function (a0) { return { "form-group-error": a0 }; };
|
|
20138
|
-
const _c1$
|
|
20254
|
+
const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
|
|
20139
20255
|
class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
20140
20256
|
constructor(browserService) {
|
|
20141
20257
|
super();
|
|
@@ -20173,7 +20289,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
20173
20289
|
i0.ɵɵadvance(1);
|
|
20174
20290
|
i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
|
|
20175
20291
|
i0.ɵɵadvance(1);
|
|
20176
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20292
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
|
|
20177
20293
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20178
20294
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextAreaFieldComponent, [{
|
|
20179
20295
|
type: Component,
|
|
@@ -20231,7 +20347,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20231
20347
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textControl.errors, ctx_r2.caseField.label), " ");
|
|
20232
20348
|
} }
|
|
20233
20349
|
const _c0$y = function (a0) { return { "form-group-error": a0 }; };
|
|
20234
|
-
const _c1$
|
|
20350
|
+
const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
|
|
20235
20351
|
class WriteTextFieldComponent extends AbstractFieldWriteComponent {
|
|
20236
20352
|
ngOnInit() {
|
|
20237
20353
|
this.textControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -20261,7 +20377,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
|
|
|
20261
20377
|
i0.ɵɵadvance(1);
|
|
20262
20378
|
i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
|
|
20263
20379
|
i0.ɵɵadvance(1);
|
|
20264
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20380
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$c, (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched)))("id", ctx.id())("formControl", ctx.textControl);
|
|
20265
20381
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20266
20382
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextFieldComponent, [{
|
|
20267
20383
|
type: Component,
|
|
@@ -20434,7 +20550,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
20434
20550
|
i0.ɵɵadvance(1);
|
|
20435
20551
|
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
20436
20552
|
} }
|
|
20437
|
-
const _c1$
|
|
20553
|
+
const _c1$b = function (a0) { return { "form-group-error": a0 }; };
|
|
20438
20554
|
class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
|
|
20439
20555
|
constructor(yesNoService) {
|
|
20440
20556
|
super();
|
|
@@ -20456,7 +20572,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
20456
20572
|
i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 5, 14, "div", 6);
|
|
20457
20573
|
i0.ɵɵelementEnd()()();
|
|
20458
20574
|
} if (rf & 2) {
|
|
20459
|
-
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
20575
|
+
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
|
|
20460
20576
|
i0.ɵɵadvance(3);
|
|
20461
20577
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
20462
20578
|
i0.ɵɵadvance(1);
|
|
@@ -20813,7 +20929,7 @@ function CaseFileViewFolderSelectorComponent_ng_container_6_Template(rf, ctx) {
|
|
|
20813
20929
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
20814
20930
|
i0.ɵɵelementContainer(0);
|
|
20815
20931
|
} }
|
|
20816
|
-
const _c1$
|
|
20932
|
+
const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
|
|
20817
20933
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
20818
20934
|
i0.ɵɵelementContainerStart(0);
|
|
20819
20935
|
i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
|
|
@@ -20824,7 +20940,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
|
|
|
20824
20940
|
i0.ɵɵnextContext();
|
|
20825
20941
|
const _r1 = i0.ɵɵreference(13);
|
|
20826
20942
|
i0.ɵɵadvance(1);
|
|
20827
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$
|
|
20943
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
|
|
20828
20944
|
} }
|
|
20829
20945
|
function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
20830
20946
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
@@ -20992,7 +21108,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) { if (
|
|
|
20992
21108
|
i0.ɵɵproperty("ngForOf", ctx_r1.menuItems);
|
|
20993
21109
|
} }
|
|
20994
21110
|
const _c0$s = [[["", "trigger", ""]]];
|
|
20995
|
-
const _c1$
|
|
21111
|
+
const _c1$9 = ["[trigger]"];
|
|
20996
21112
|
class CaseFileViewOverlayMenuComponent {
|
|
20997
21113
|
constructor() {
|
|
20998
21114
|
this.title = '';
|
|
@@ -21006,7 +21122,7 @@ class CaseFileViewOverlayMenuComponent {
|
|
|
21006
21122
|
}
|
|
21007
21123
|
}
|
|
21008
21124
|
CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
|
|
21009
|
-
CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$
|
|
21125
|
+
CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$9, decls: 5, vars: 4, consts: [["type", "button", "cdkOverlayOrigin", "", 1, "overlay-toggle", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "overlay-menu"], [4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "overlay-menu__title"], [1, "overlay-menu__item", 3, "click"], ["class", "overlay-menu__itemIcon", 3, "src", "alt", 4, "ngIf"], [1, "overlay-menu__actionText"], [1, "overlay-menu__itemIcon", 3, "src", "alt"]], template: function CaseFileViewOverlayMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21010
21126
|
i0.ɵɵprojectionDef(_c0$s);
|
|
21011
21127
|
i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
|
|
21012
21128
|
i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_Template_button_click_1_listener($event) { $event.stopPropagation(); return ctx.isOpen = !ctx.isOpen; });
|
|
@@ -21274,9 +21390,10 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
21274
21390
|
i0.ɵɵelement(6, "br");
|
|
21275
21391
|
i0.ɵɵelementStart(7, "span", 17);
|
|
21276
21392
|
i0.ɵɵtext(8);
|
|
21393
|
+
i0.ɵɵpipe(9, "date");
|
|
21277
21394
|
i0.ɵɵelementEnd()();
|
|
21278
|
-
i0.ɵɵelementStart(
|
|
21279
|
-
i0.ɵɵlistener("changeFolderAction", function
|
|
21395
|
+
i0.ɵɵelementStart(10, "div", 18)(11, "ccd-case-file-view-folder-document-actions", 19);
|
|
21396
|
+
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.triggerDocumentAction("changeFolder", node_r4)); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.triggerDocumentAction("openInANewTab", node_r4)); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.triggerDocumentAction("download", node_r4)); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.triggerDocumentAction("print", node_r4)); });
|
|
21280
21397
|
i0.ɵɵelementEnd()()()();
|
|
21281
21398
|
} if (rf & 2) {
|
|
21282
21399
|
const node_r4 = ctx.$implicit;
|
|
@@ -21286,8 +21403,8 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
21286
21403
|
i0.ɵɵadvance(4);
|
|
21287
21404
|
i0.ɵɵtextInterpolate1(" ", node_r4.name, " ");
|
|
21288
21405
|
i0.ɵɵadvance(3);
|
|
21289
|
-
i0.ɵɵtextInterpolate(node_r4.upload_timestamp);
|
|
21290
|
-
i0.ɵɵadvance(
|
|
21406
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r4.upload_timestamp, "dd MMM YYYY"));
|
|
21407
|
+
i0.ɵɵadvance(3);
|
|
21291
21408
|
i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
|
|
21292
21409
|
} }
|
|
21293
21410
|
function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -21320,7 +21437,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
21320
21437
|
i0.ɵɵelementStart(0, "div", 7);
|
|
21321
21438
|
i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
|
|
21322
21439
|
i0.ɵɵelementStart(2, "div")(3, "cdk-tree", 9);
|
|
21323
|
-
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template,
|
|
21440
|
+
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 12, 8, "cdk-nested-tree-node", 10);
|
|
21324
21441
|
i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
|
|
21325
21442
|
i0.ɵɵelementEnd()()();
|
|
21326
21443
|
} if (rf & 2) {
|
|
@@ -21407,7 +21524,7 @@ class CaseFileViewFolderComponent {
|
|
|
21407
21524
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
21408
21525
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
21409
21526
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
21410
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
21527
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
21411
21528
|
documentsToReturn.push(documentTreeNode);
|
|
21412
21529
|
});
|
|
21413
21530
|
return documentsToReturn;
|
|
@@ -21422,7 +21539,7 @@ class CaseFileViewFolderComponent {
|
|
|
21422
21539
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
21423
21540
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
21424
21541
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
21425
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
21542
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
21426
21543
|
documents.push(documentTreeNode);
|
|
21427
21544
|
});
|
|
21428
21545
|
const uncategorisedNode = new DocumentTreeNode();
|
|
@@ -21542,7 +21659,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
21542
21659
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
21543
21660
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
21544
21661
|
CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
|
|
21545
|
-
CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21662
|
+
CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", "aria-label", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21546
21663
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
21547
21664
|
i0.ɵɵelement(2, "input", 2);
|
|
21548
21665
|
i0.ɵɵelementEnd()();
|
|
@@ -21560,10 +21677,10 @@ CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21560
21677
|
i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
|
|
21561
21678
|
i0.ɵɵadvance(3);
|
|
21562
21679
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
21563
|
-
} }, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
21680
|
+
} }, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent, i4.DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
21564
21681
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
21565
21682
|
type: Component,
|
|
21566
|
-
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
21683
|
+
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
21567
21684
|
}], function () { return [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }]; }, { categoriesAndDocuments: [{
|
|
21568
21685
|
type: Input
|
|
21569
21686
|
}], allowMoving: [{
|
|
@@ -23073,7 +23190,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
|
|
|
23073
23190
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
|
|
23074
23191
|
} }
|
|
23075
23192
|
const _c0$n = function (a0) { return { "form-group-error": a0 }; };
|
|
23076
|
-
const _c1$
|
|
23193
|
+
const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
23077
23194
|
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
23078
23195
|
i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
|
|
23079
23196
|
i0.ɵɵtext(3);
|
|
@@ -23093,7 +23210,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (r
|
|
|
23093
23210
|
i0.ɵɵadvance(3);
|
|
23094
23211
|
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
23095
23212
|
i0.ɵɵadvance(1);
|
|
23096
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
23213
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$8, ctx_r7.flagTypeErrorMessage.length > 0))("name", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION)("formControlName", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION);
|
|
23097
23214
|
i0.ɵɵadvance(1);
|
|
23098
23215
|
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
23099
23216
|
} }
|
|
@@ -23593,7 +23710,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
|
23593
23710
|
i0.ɵɵadvance(3);
|
|
23594
23711
|
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
23595
23712
|
} }
|
|
23596
|
-
const _c1$
|
|
23713
|
+
const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
|
|
23597
23714
|
class UpdateFlagComponent {
|
|
23598
23715
|
constructor(rpxTranslationService) {
|
|
23599
23716
|
this.rpxTranslationService = rpxTranslationService;
|
|
@@ -23795,7 +23912,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
|
|
|
23795
23912
|
const _r3 = i0.ɵɵreference(17);
|
|
23796
23913
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
23797
23914
|
i0.ɵɵadvance(2);
|
|
23798
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$
|
|
23915
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
|
|
23799
23916
|
i0.ɵɵadvance(3);
|
|
23800
23917
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
23801
23918
|
i0.ɵɵadvance(2);
|
|
@@ -25065,7 +25182,7 @@ const CUSTOM_MOMENT_FORMATS = {
|
|
|
25065
25182
|
};
|
|
25066
25183
|
|
|
25067
25184
|
const _c0$g = ["picker"];
|
|
25068
|
-
const _c1$
|
|
25185
|
+
const _c1$6 = ["input"];
|
|
25069
25186
|
function DatetimePickerComponent_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
25070
25187
|
i0.ɵɵelementStart(0, "span", 11);
|
|
25071
25188
|
i0.ɵɵtext(1);
|
|
@@ -25114,7 +25231,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
25114
25231
|
i0.ɵɵadvance(1);
|
|
25115
25232
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
|
|
25116
25233
|
} }
|
|
25117
|
-
const _c2$
|
|
25234
|
+
const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
|
|
25118
25235
|
class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
25119
25236
|
constructor(formatTranslationService, ngxMatDateFormats) {
|
|
25120
25237
|
super();
|
|
@@ -25279,7 +25396,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
25279
25396
|
DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { return new (t || DatetimePickerComponent)(i0.ɵɵdirectiveInject(FormatTranslatorService), i0.ɵɵdirectiveInject(NGX_MAT_DATE_FORMATS)); };
|
|
25280
25397
|
DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
25281
25398
|
i0.ɵɵviewQuery(_c0$g, 5);
|
|
25282
|
-
i0.ɵɵviewQuery(_c1$
|
|
25399
|
+
i0.ɵɵviewQuery(_c1$6, 5);
|
|
25283
25400
|
} if (rf & 2) {
|
|
25284
25401
|
let _t;
|
|
25285
25402
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimePicker = _t.first);
|
|
@@ -25311,7 +25428,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
25311
25428
|
i0.ɵɵelementEnd()()()()()();
|
|
25312
25429
|
} if (rf & 2) {
|
|
25313
25430
|
const _r6 = i0.ɵɵreference(13);
|
|
25314
|
-
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$
|
|
25431
|
+
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
|
|
25315
25432
|
i0.ɵɵadvance(3);
|
|
25316
25433
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
25317
25434
|
i0.ɵɵadvance(1);
|
|
@@ -25535,7 +25652,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
25535
25652
|
i0.ɵɵadvance(3);
|
|
25536
25653
|
i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
|
|
25537
25654
|
} }
|
|
25538
|
-
const _c1$
|
|
25655
|
+
const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
|
|
25539
25656
|
function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
25540
25657
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
25541
25658
|
i0.ɵɵelementStart(0, "tr", 4);
|
|
@@ -25566,7 +25683,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
|
25566
25683
|
} if (rf & 2) {
|
|
25567
25684
|
const event_r1 = ctx.$implicit;
|
|
25568
25685
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
25569
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$
|
|
25686
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
|
|
25570
25687
|
i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
|
|
25571
25688
|
i0.ɵɵadvance(2);
|
|
25572
25689
|
i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
|
|
@@ -27454,6 +27571,30 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) { if (r
|
|
|
27454
27571
|
i0.ɵɵadvance(3);
|
|
27455
27572
|
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
27456
27573
|
} }
|
|
27574
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
27575
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27576
|
+
i0.ɵɵtext(1);
|
|
27577
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27578
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27579
|
+
i0.ɵɵelementEnd();
|
|
27580
|
+
} if (rf & 2) {
|
|
27581
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
27582
|
+
i0.ɵɵadvance(1);
|
|
27583
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
|
|
27584
|
+
} }
|
|
27585
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
27586
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27587
|
+
i0.ɵɵtext(1);
|
|
27588
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27589
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27590
|
+
i0.ɵɵelementEnd();
|
|
27591
|
+
} if (rf & 2) {
|
|
27592
|
+
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
27593
|
+
i0.ɵɵadvance(1);
|
|
27594
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
|
|
27595
|
+
} }
|
|
27596
|
+
const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
|
|
27597
|
+
const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
27457
27598
|
function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
27458
27599
|
i0.ɵɵelementContainerStart(0);
|
|
27459
27600
|
i0.ɵɵelementStart(1, "fieldset", 39);
|
|
@@ -27463,19 +27604,35 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (r
|
|
|
27463
27604
|
i0.ɵɵelementStart(6, "span", 43);
|
|
27464
27605
|
i0.ɵɵtext(7, "A few words describing the purpose of the event.");
|
|
27465
27606
|
i0.ɵɵelementEnd()();
|
|
27466
|
-
i0.ɵɵ
|
|
27607
|
+
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
|
|
27608
|
+
i0.ɵɵelement(9, "input", 45);
|
|
27467
27609
|
i0.ɵɵelementEnd();
|
|
27468
|
-
i0.ɵɵelementStart(
|
|
27469
|
-
i0.ɵɵtext(
|
|
27610
|
+
i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
|
|
27611
|
+
i0.ɵɵtext(12, "Event description (optional)");
|
|
27470
27612
|
i0.ɵɵelementEnd();
|
|
27471
|
-
i0.ɵɵ
|
|
27613
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
|
|
27614
|
+
i0.ɵɵelement(14, "textarea", 47);
|
|
27472
27615
|
i0.ɵɵelementEnd()();
|
|
27473
27616
|
i0.ɵɵelementContainerEnd();
|
|
27617
|
+
} if (rf & 2) {
|
|
27618
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
27619
|
+
i0.ɵɵadvance(3);
|
|
27620
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
27621
|
+
i0.ɵɵadvance(5);
|
|
27622
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
|
|
27623
|
+
i0.ɵɵadvance(1);
|
|
27624
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$1, (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
27625
|
+
i0.ɵɵadvance(1);
|
|
27626
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
27627
|
+
i0.ɵɵadvance(3);
|
|
27628
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
|
|
27629
|
+
i0.ɵɵadvance(1);
|
|
27630
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c2$1, (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
27474
27631
|
} }
|
|
27475
27632
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
|
|
27476
|
-
const
|
|
27477
|
-
i0.ɵɵelementStart(0, "button",
|
|
27478
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
27633
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
27634
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
27635
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r38.previous()); });
|
|
27479
27636
|
i0.ɵɵtext(1);
|
|
27480
27637
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27481
27638
|
i0.ɵɵelementEnd();
|
|
@@ -27486,7 +27643,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1)
|
|
|
27486
27643
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Previous"), " ");
|
|
27487
27644
|
} }
|
|
27488
27645
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27489
|
-
const
|
|
27646
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
27490
27647
|
i0.ɵɵelementStart(0, "div")(1, "h1", 2);
|
|
27491
27648
|
i0.ɵɵtext(2);
|
|
27492
27649
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
@@ -27496,13 +27653,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27496
27653
|
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
27497
27654
|
i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
|
|
27498
27655
|
i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
|
|
27499
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(
|
|
27656
|
+
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.callbackErrorsNotify($event)); });
|
|
27500
27657
|
i0.ɵɵelementEnd();
|
|
27501
27658
|
i0.ɵɵelementStart(11, "form", 8);
|
|
27502
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(
|
|
27659
|
+
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.submit()); });
|
|
27503
27660
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
27504
27661
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
27505
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
27662
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
|
|
27506
27663
|
i0.ɵɵelementStart(15, "div", 9);
|
|
27507
27664
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
27508
27665
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -27510,7 +27667,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27510
27667
|
i0.ɵɵpipe(19, "rpxTranslate");
|
|
27511
27668
|
i0.ɵɵelementEnd()();
|
|
27512
27669
|
i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
|
|
27513
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(
|
|
27670
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(_r41); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.cancel()); });
|
|
27514
27671
|
i0.ɵɵtext(22);
|
|
27515
27672
|
i0.ɵɵpipe(23, "rpxTranslate");
|
|
27516
27673
|
i0.ɵɵelementEnd()()()();
|
|
@@ -27546,9 +27703,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27546
27703
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 20, ctx_r0.getCancelText()));
|
|
27547
27704
|
} }
|
|
27548
27705
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) { if (rf & 1) {
|
|
27549
|
-
const
|
|
27550
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
27551
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
27706
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
27707
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
|
|
27708
|
+
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.onEventCanBeCompleted($event)); });
|
|
27552
27709
|
i0.ɵɵelementEnd();
|
|
27553
27710
|
} if (rf & 2) {
|
|
27554
27711
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -27556,14 +27713,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
|
27556
27713
|
} }
|
|
27557
27714
|
// @dynamic
|
|
27558
27715
|
class CaseEditSubmitComponent {
|
|
27559
|
-
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
27716
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
|
|
27560
27717
|
this.caseEdit = caseEdit;
|
|
27561
27718
|
this.fieldsUtils = fieldsUtils;
|
|
27562
27719
|
this.caseFieldService = caseFieldService;
|
|
27563
27720
|
this.route = route;
|
|
27564
27721
|
this.orderService = orderService;
|
|
27565
27722
|
this.profileNotifier = profileNotifier;
|
|
27723
|
+
this.formValidatorsService = formValidatorsService;
|
|
27566
27724
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
27725
|
+
this.eventSummaryLabel = 'Event summary';
|
|
27726
|
+
this.eventDescriptionLabel = 'Event description';
|
|
27567
27727
|
}
|
|
27568
27728
|
get isDisabled() {
|
|
27569
27729
|
// EUI-3452.
|
|
@@ -27573,7 +27733,7 @@ class CaseEditSubmitComponent {
|
|
|
27573
27733
|
return this.caseEdit.isSubmitting || this.hasErrors;
|
|
27574
27734
|
}
|
|
27575
27735
|
ngOnInit() {
|
|
27576
|
-
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
27736
|
+
this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
|
|
27577
27737
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
27578
27738
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
27579
27739
|
this.editForm = this.caseEdit.form;
|
|
@@ -27587,10 +27747,12 @@ class CaseEditSubmitComponent {
|
|
|
27587
27747
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
27588
27748
|
// a FlagLauncher field in the event trigger
|
|
27589
27749
|
this.caseEdit.isCaseFlagSubmission =
|
|
27590
|
-
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27750
|
+
this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27591
27751
|
this.caseEdit.isLinkedCasesSubmission =
|
|
27592
27752
|
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
|
|
27593
27753
|
this.pageTitle = this.getPageTitle();
|
|
27754
|
+
this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
|
|
27755
|
+
this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
|
|
27594
27756
|
}
|
|
27595
27757
|
ngOnDestroy() {
|
|
27596
27758
|
/* istanbul ignore else */
|
|
@@ -27599,12 +27761,14 @@ class CaseEditSubmitComponent {
|
|
|
27599
27761
|
}
|
|
27600
27762
|
}
|
|
27601
27763
|
submit() {
|
|
27602
|
-
this.
|
|
27603
|
-
|
|
27604
|
-
|
|
27605
|
-
|
|
27606
|
-
|
|
27607
|
-
|
|
27764
|
+
if (this.summary.valid && this.description.valid) {
|
|
27765
|
+
this.caseEdit.submitForm({
|
|
27766
|
+
eventTrigger: this.eventTrigger,
|
|
27767
|
+
form: this.editForm,
|
|
27768
|
+
submit: this.caseEdit.submit,
|
|
27769
|
+
caseDetails: this.caseEdit.caseDetails
|
|
27770
|
+
});
|
|
27771
|
+
}
|
|
27608
27772
|
}
|
|
27609
27773
|
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
27610
27774
|
this.caseEdit.onEventCanBeCompleted({
|
|
@@ -27612,7 +27776,7 @@ class CaseEditSubmitComponent {
|
|
|
27612
27776
|
eventCanBeCompleted,
|
|
27613
27777
|
caseDetails: this.caseEdit.caseDetails,
|
|
27614
27778
|
form: this.editForm,
|
|
27615
|
-
submit: this.caseEdit.submit
|
|
27779
|
+
submit: this.caseEdit.submit
|
|
27616
27780
|
});
|
|
27617
27781
|
}
|
|
27618
27782
|
getPageTitle() {
|
|
@@ -27687,7 +27851,7 @@ class CaseEditSubmitComponent {
|
|
|
27687
27851
|
}
|
|
27688
27852
|
}
|
|
27689
27853
|
readOnlySummaryFieldsToDisplayExists() {
|
|
27690
|
-
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
27854
|
+
return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
|
|
27691
27855
|
}
|
|
27692
27856
|
showEventNotes() {
|
|
27693
27857
|
// Display event notes related controls only if the following conditions are met
|
|
@@ -27702,7 +27866,7 @@ class CaseEditSubmitComponent {
|
|
|
27702
27866
|
}
|
|
27703
27867
|
getLastPageShown() {
|
|
27704
27868
|
let lastPage;
|
|
27705
|
-
this.wizard.reverse().forEach(page => {
|
|
27869
|
+
this.wizard.reverse().forEach((page) => {
|
|
27706
27870
|
if (!lastPage && this.isShown(page)) {
|
|
27707
27871
|
lastPage = page;
|
|
27708
27872
|
}
|
|
@@ -27721,7 +27885,7 @@ class CaseEditSubmitComponent {
|
|
|
27721
27885
|
}
|
|
27722
27886
|
isShown(page) {
|
|
27723
27887
|
const fields = this.fieldsUtils
|
|
27724
|
-
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls
|
|
27888
|
+
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
|
|
27725
27889
|
return page.parsedShowCondition.match(fields);
|
|
27726
27890
|
}
|
|
27727
27891
|
canShowFieldInCYA(field) {
|
|
@@ -27730,7 +27894,7 @@ class CaseEditSubmitComponent {
|
|
|
27730
27894
|
sortFieldsByShowSummaryContent(fields) {
|
|
27731
27895
|
return this.orderService
|
|
27732
27896
|
.sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
|
|
27733
|
-
.filter(cf => cf.show_summary_content_option);
|
|
27897
|
+
.filter((cf) => cf.show_summary_content_option);
|
|
27734
27898
|
}
|
|
27735
27899
|
getCaseFields() {
|
|
27736
27900
|
if (this.caseEdit.caseDetails) {
|
|
@@ -27749,9 +27913,7 @@ class CaseEditSubmitComponent {
|
|
|
27749
27913
|
if (this.eventTrigger.can_save_draft) {
|
|
27750
27914
|
return 'Return to case list';
|
|
27751
27915
|
}
|
|
27752
|
-
|
|
27753
|
-
return 'Cancel';
|
|
27754
|
-
}
|
|
27916
|
+
return 'Cancel';
|
|
27755
27917
|
}
|
|
27756
27918
|
}
|
|
27757
27919
|
CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
@@ -27765,8 +27927,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
27765
27927
|
}
|
|
27766
27928
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
27767
27929
|
};
|
|
27768
|
-
CaseEditSubmitComponent.ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier)); };
|
|
27769
|
-
CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [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"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27930
|
+
CaseEditSubmitComponent.ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier), i0.ɵɵdirectiveInject(FormValidatorsService)); };
|
|
27931
|
+
CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [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"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group", 3, "ngClass"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["class", "error-message", 4, "ngIf"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], [1, "error-message"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27770
27932
|
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
|
|
27771
27933
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
27772
27934
|
} if (rf & 2) {
|
|
@@ -27776,8 +27938,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
27776
27938
|
} }, styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
|
|
27777
27939
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
27778
27940
|
type: Component,
|
|
27779
|
-
args: [{ selector: 'ccd-case-edit-submit', template: "<div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\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 <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n\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\" [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\">\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 <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n
|
|
27780
|
-
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null); })();
|
|
27941
|
+
args: [{ selector: 'ccd-case-edit-submit', template: "<div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\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 <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n\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\" [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 class=\"form-group form-group-related\">\n <button *ngIf=\"!caseEdit.isCaseFlagSubmission\" 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<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\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"] }]
|
|
27942
|
+
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null); })();
|
|
27781
27943
|
|
|
27782
27944
|
function CaseProgressComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27783
27945
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -28133,7 +28295,7 @@ i0.ɵɵsetComponentScope(CaseEditConfirmComponent, function () { return [i4.NgIf
|
|
|
28133
28295
|
i0.ɵɵsetComponentScope(CaseEditPageComponent, function () { return [i4.NgForOf, i4.NgIf, i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, CallbackErrorsComponent, MarkdownComponent, CaseEventCompletionComponent, CaseEditFormComponent,
|
|
28134
28296
|
CaseEditGenericErrorsComponent]; }, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
|
|
28135
28297
|
i0.ɵɵsetComponentScope(CaseEditFormComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.NgControlStatusGroup, i3.FormGroupDirective, LabelSubstitutorDirective, ConditionalShowFormDirective, FieldReadComponent, FieldWriteComponent]; }, function () { return [IsCompoundPipe, IsReadOnlyAndNotCollectionPipe]; });
|
|
28136
|
-
i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
|
|
28298
|
+
i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgClass, i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [FirstErrorPipe, IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
|
|
28137
28299
|
i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28138
28300
|
i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28139
28301
|
|
|
@@ -30875,7 +31037,7 @@ function CaseFullAccessViewComponent_ng_container_12_mat_tab_4_ng_template_2_Tem
|
|
|
30875
31037
|
const tab_r20 = i0.ɵɵnextContext().$implicit;
|
|
30876
31038
|
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
30877
31039
|
i0.ɵɵclassMap(tab_r20.id);
|
|
30878
|
-
i0.ɵɵattribute("aria-
|
|
31040
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 4, "case viewer table"));
|
|
30879
31041
|
i0.ɵɵadvance(3);
|
|
30880
31042
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(4, 6, i0.ɵɵpureFunction2(14, _c1$3, i0.ɵɵpipeBind1(5, 12, tab_r20), ctx_r22.formGroup.controls["data"])));
|
|
30881
31043
|
} }
|
|
@@ -31340,7 +31502,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
31340
31502
|
} }, styles: ["th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:0}.case-viewer-controls[_ngcontent-%COMP%]{margin-top:47px;margin-bottom:20px}ccd-case-header[_ngcontent-%COMP%]{float:left;margin-right:10px}ccd-event-trigger[_ngcontent-%COMP%]{float:right}.case-viewer-label[_ngcontent-%COMP%]{min-width:300px;white-space:normal}.markdown[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}"] });
|
|
31341
31503
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
31342
31504
|
type: Component,
|
|
31343
|
-
args: [{ selector: 'ccd-case-full-access-view', template: "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'Something went wrong' | rpxTranslate}}\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>{{\"We're working to fix the problem. Try again shortly.\" | rpxTranslate}}</p>\n <p>\n <a href=\"get-help\" target=\"_blank\">\n {{\"Contact us\" | rpxTranslate}}</a> {{\"if you're still having problems.\" | rpxTranslate}}\n </p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'The callback data failed validation' | rpxTranslate}}\n </h2>\n <p>{{error.message | rpxTranslate}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message | rpxTranslate}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">{{'Print' | rpxTranslate}}</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\" *ngIf=\"activeCaseFlags && !caseFlagsExternalUser\">\n <div class=\"column-full\">\n <ccd-notification-banner [notificationBannerConfig]=\"notificationBannerConfig\" (linkClicked)=\"onLinkClicked($event)\">\n </ccd-notification-banner>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedIndexChange)=\"tabChanged($event)\" [disableRipple]=\"true\"\n [selectedIndex]=\"selectedTabIndex\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\" [attr.aria-
|
|
31505
|
+
args: [{ selector: 'ccd-case-full-access-view', template: "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'Something went wrong' | rpxTranslate}}\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>{{\"We're working to fix the problem. Try again shortly.\" | rpxTranslate}}</p>\n <p>\n <a href=\"get-help\" target=\"_blank\">\n {{\"Contact us\" | rpxTranslate}}</a> {{\"if you're still having problems.\" | rpxTranslate}}\n </p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'The callback data failed validation' | rpxTranslate}}\n </h2>\n <p>{{error.message | rpxTranslate}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message | rpxTranslate}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">{{'Print' | rpxTranslate}}</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\" *ngIf=\"activeCaseFlags && !caseFlagsExternalUser\">\n <div class=\"column-full\">\n <ccd-notification-banner [notificationBannerConfig]=\"notificationBannerConfig\" (linkClicked)=\"onLinkClicked($event)\">\n </ccd-notification-banner>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedIndexChange)=\"tabChanged($event)\" [disableRipple]=\"true\"\n [selectedIndex]=\"selectedTabIndex\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\" [attr.aria-label]=\"'case viewer table' | rpxTranslate\">\n <tbody>\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true : formGroup.controls['data']\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"caseFields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-field-label\" *ngIf=\"!isFieldToHaveNoLabel(field)\">\n <div class=\"case-viewer-label text-16\">\n {{field.label | rpxTranslate}}</div>\n </th>\n <td [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <th [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </th>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </tbody>\n </table>\n </ng-template>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of appendedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n </mat-tab-group>\n <router-outlet *ngIf=\"(prependedTabs && prependedTabs.length) || (appendedTabs && appendedTabs.length)\"></router-outlet>\n </ng-container>\n </div>\n</div>\n", styles: ["th{width:1%;white-space:nowrap;vertical-align:top}.compound-field th{padding:0}.case-viewer-controls{margin-top:47px;margin-bottom:20px}ccd-case-header{float:left;margin-right:10px}ccd-event-trigger{float:right}.case-viewer-label{min-width:300px;white-space:normal}.markdown h3{margin-bottom:0}\n"] }]
|
|
31344
31506
|
}], function () { return [{ type: i0.NgZone }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NavigationNotifierService }, { type: OrderService }, { type: ActivityPollingService }, { type: i1$3.MatLegacyDialog }, { type: AlertService }, { type: DraftService }, { type: ErrorNotifierService }, { type: ConvertHrefToRouterService }, { type: i4.Location }, { type: i0.ChangeDetectorRef }, { type: SessionStorageService }, { type: i1.RpxTranslatePipe }]; }, { hasPrint: [{
|
|
31345
31507
|
type: Input
|
|
31346
31508
|
}], hasEventSelector: [{
|