@hmcts/ccd-case-ui-toolkit 7.0.21 → 7.0.22-rc2
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-history/case-history.component.mjs +13 -13
- 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 +3 -3
- package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +14 -12
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +25 -16
- package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +2 -2
- 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 +20 -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/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 +309 -159
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +298 -157
- 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/complex/read-complex-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +1 -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 +3 -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/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");
|
|
@@ -13056,17 +13125,19 @@ class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
13056
13125
|
this.context = PaletteContext.DEFAULT;
|
|
13057
13126
|
}
|
|
13058
13127
|
}
|
|
13059
|
-
this.caseField?.field_type
|
|
13060
|
-
|
|
13061
|
-
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
|
|
13065
|
-
this.caseField.value[field.id].value.code
|
|
13066
|
-
|
|
13067
|
-
|
|
13068
|
-
|
|
13069
|
-
|
|
13128
|
+
if (this.caseField?.field_type && this.caseField.field_type.complex_fields) {
|
|
13129
|
+
this.caseField?.field_type?.complex_fields?.forEach((field) => {
|
|
13130
|
+
if (field?.isDynamic()) {
|
|
13131
|
+
field.list_items = this.caseField.value[field.id]?.list_items;
|
|
13132
|
+
field.value = {
|
|
13133
|
+
list_items: field.list_items,
|
|
13134
|
+
value: this.caseField.value[field.id]?.value && this.caseField.value[field.id].value.code ?
|
|
13135
|
+
this.caseField.value[field.id].value.code :
|
|
13136
|
+
this.caseField.value[field.id]?.value
|
|
13137
|
+
};
|
|
13138
|
+
}
|
|
13139
|
+
});
|
|
13140
|
+
}
|
|
13070
13141
|
}
|
|
13071
13142
|
}
|
|
13072
13143
|
ReadComplexFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵReadComplexFieldComponent_BaseFactory; return function ReadComplexFieldComponent_Factory(t) { return (ɵReadComplexFieldComponent_BaseFactory || (ɵReadComplexFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldComponent)))(t || ReadComplexFieldComponent); }; }();
|
|
@@ -13308,7 +13379,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
|
|
|
13308
13379
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
13309
13380
|
i0.ɵɵproperty("caseField", ctx_r2.caseField);
|
|
13310
13381
|
} }
|
|
13311
|
-
const _c1$
|
|
13382
|
+
const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
13312
13383
|
class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
13313
13384
|
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
13314
13385
|
super();
|
|
@@ -13514,23 +13585,31 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13514
13585
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
13515
13586
|
}
|
|
13516
13587
|
getErrorMessage(error) {
|
|
13517
|
-
|
|
13518
|
-
|
|
13519
|
-
|
|
13520
|
-
|
|
13521
|
-
|
|
13522
|
-
|
|
13523
|
-
|
|
13524
|
-
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13588
|
+
switch (error.status) {
|
|
13589
|
+
case 0:
|
|
13590
|
+
case 502:
|
|
13591
|
+
return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
|
|
13592
|
+
case 422:
|
|
13593
|
+
{
|
|
13594
|
+
let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13595
|
+
if (error?.error) {
|
|
13596
|
+
const fullError = error.error;
|
|
13597
|
+
const start = fullError.indexOf('{');
|
|
13598
|
+
if (start >= 0) {
|
|
13599
|
+
const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
|
|
13600
|
+
const obj = JSON.parse(json);
|
|
13601
|
+
if (obj?.error) {
|
|
13602
|
+
errorMsg = obj.error;
|
|
13603
|
+
}
|
|
13604
|
+
}
|
|
13605
|
+
}
|
|
13606
|
+
return errorMsg;
|
|
13530
13607
|
}
|
|
13531
|
-
|
|
13608
|
+
case 429:
|
|
13609
|
+
return error?.error;
|
|
13610
|
+
default:
|
|
13611
|
+
return WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13532
13612
|
}
|
|
13533
|
-
return errorMsg;
|
|
13534
13613
|
}
|
|
13535
13614
|
buildDocumentUploadData(selectedFile) {
|
|
13536
13615
|
const documentUpload = new FormData();
|
|
@@ -13585,6 +13664,7 @@ WriteDocumentFieldComponent.DOCUMENT_HASH = 'document_hash';
|
|
|
13585
13664
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
13586
13665
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
13587
13666
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
13667
|
+
WriteDocumentFieldComponent.ERROR_UPLOADING_FILE = 'Error Uploading File';
|
|
13588
13668
|
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)); };
|
|
13589
13669
|
WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) { if (rf & 1) {
|
|
13590
13670
|
i0.ɵɵviewQuery(_c0$Q, 5);
|
|
@@ -13614,7 +13694,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
13614
13694
|
i0.ɵɵpipe(17, "rpxTranslate");
|
|
13615
13695
|
i0.ɵɵelementEnd()();
|
|
13616
13696
|
} if (rf & 2) {
|
|
13617
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$
|
|
13697
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
|
|
13618
13698
|
i0.ɵɵadvance(1);
|
|
13619
13699
|
i0.ɵɵproperty("for", ctx.id());
|
|
13620
13700
|
i0.ɵɵadvance(1);
|
|
@@ -13647,7 +13727,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
13647
13727
|
|
|
13648
13728
|
class DynamicListPipe {
|
|
13649
13729
|
transform(value, items) {
|
|
13650
|
-
const item = items
|
|
13730
|
+
const item = items?.find(i => i.code === value);
|
|
13651
13731
|
return item ? item.label : DynamicListPipe.EMPTY;
|
|
13652
13732
|
}
|
|
13653
13733
|
}
|
|
@@ -13808,9 +13888,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
13808
13888
|
}], null, null); })();
|
|
13809
13889
|
|
|
13810
13890
|
class MarkdownComponent {
|
|
13811
|
-
constructor() {
|
|
13891
|
+
constructor() {
|
|
13892
|
+
this.renderUrlToTextFeature = true;
|
|
13893
|
+
}
|
|
13812
13894
|
ngOnInit() {
|
|
13813
13895
|
this.content = this.content.replace(/ \n/g, '<br>');
|
|
13896
|
+
if (this.renderUrlToTextFeature) {
|
|
13897
|
+
this.renderUrlToText();
|
|
13898
|
+
}
|
|
13814
13899
|
}
|
|
13815
13900
|
onMarkdownClick(event) {
|
|
13816
13901
|
// If we don't have an anchor tag, we don't need to do anything.
|
|
@@ -13819,11 +13904,20 @@ class MarkdownComponent {
|
|
|
13819
13904
|
}
|
|
13820
13905
|
return true;
|
|
13821
13906
|
}
|
|
13907
|
+
renderUrlToText() {
|
|
13908
|
+
const renderer = new marked.Renderer();
|
|
13909
|
+
renderer.link = (href, title, text) => {
|
|
13910
|
+
return text; // Return the text without turning it into a link
|
|
13911
|
+
};
|
|
13912
|
+
marked.setOptions({
|
|
13913
|
+
renderer: renderer
|
|
13914
|
+
});
|
|
13915
|
+
}
|
|
13822
13916
|
}
|
|
13823
13917
|
MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
|
|
13824
13918
|
MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
13825
13919
|
i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
|
|
13826
|
-
} }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13920
|
+
} }, 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) {
|
|
13827
13921
|
i0.ɵɵelementStart(0, "div");
|
|
13828
13922
|
i0.ɵɵelement(1, "markdown", 0);
|
|
13829
13923
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -13840,6 +13934,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
|
|
|
13840
13934
|
type: Input
|
|
13841
13935
|
}], markdownUseHrefAsRouterLink: [{
|
|
13842
13936
|
type: Input
|
|
13937
|
+
}], renderUrlToTextFeature: [{
|
|
13938
|
+
type: Input
|
|
13843
13939
|
}], onMarkdownClick: [{
|
|
13844
13940
|
type: HostListener,
|
|
13845
13941
|
args: ['click', ['$event']]
|
|
@@ -13952,7 +14048,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
|
|
|
13952
14048
|
i0.ɵɵadvance(1);
|
|
13953
14049
|
i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
|
|
13954
14050
|
i0.ɵɵadvance(1);
|
|
13955
|
-
i0.ɵɵproperty("content", checkbox_r4.label);
|
|
14051
|
+
i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
|
|
13956
14052
|
} }
|
|
13957
14053
|
const _c0$O = function (a0) { return { "error": a0 }; };
|
|
13958
14054
|
class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
|
|
@@ -14016,13 +14112,13 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
|
|
|
14016
14112
|
}
|
|
14017
14113
|
}
|
|
14018
14114
|
WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
|
|
14019
|
-
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) {
|
|
14115
|
+
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) {
|
|
14020
14116
|
i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
|
|
14021
14117
|
i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
|
|
14022
14118
|
i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
|
|
14023
14119
|
i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
|
|
14024
14120
|
i0.ɵɵelementEnd();
|
|
14025
|
-
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5,
|
|
14121
|
+
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
|
|
14026
14122
|
i0.ɵɵelementEnd()();
|
|
14027
14123
|
} if (rf & 2) {
|
|
14028
14124
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$O, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
|
|
@@ -14037,7 +14133,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
|
|
|
14037
14133
|
} }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
|
|
14038
14134
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
|
|
14039
14135
|
type: Component,
|
|
14040
|
-
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"] }]
|
|
14136
|
+
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"] }]
|
|
14041
14137
|
}], null, null); })();
|
|
14042
14138
|
|
|
14043
14139
|
class DynamicRadioListPipe {
|
|
@@ -14158,7 +14254,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
|
|
|
14158
14254
|
i0.ɵɵadvance(1);
|
|
14159
14255
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
|
|
14160
14256
|
} }
|
|
14161
|
-
const _c1$
|
|
14257
|
+
const _c1$k = function (a0) { return { "form-group-error": a0 }; };
|
|
14162
14258
|
class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14163
14259
|
ngOnInit() {
|
|
14164
14260
|
/**
|
|
@@ -14196,7 +14292,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
|
|
|
14196
14292
|
i0.ɵɵelementContainerEnd();
|
|
14197
14293
|
i0.ɵɵelementEnd()();
|
|
14198
14294
|
} if (rf & 2) {
|
|
14199
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$
|
|
14295
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
|
|
14200
14296
|
i0.ɵɵadvance(3);
|
|
14201
14297
|
i0.ɵɵproperty("for", ctx.id());
|
|
14202
14298
|
i0.ɵɵadvance(1);
|
|
@@ -14277,7 +14373,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
14277
14373
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.emailControl.errors, ctx_r2.caseField.label));
|
|
14278
14374
|
} }
|
|
14279
14375
|
const _c0$M = function (a0) { return { "form-group-error": a0 }; };
|
|
14280
|
-
const _c1$
|
|
14376
|
+
const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
|
|
14281
14377
|
class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
|
|
14282
14378
|
ngOnInit() {
|
|
14283
14379
|
this.emailControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -14303,7 +14399,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
14303
14399
|
i0.ɵɵadvance(1);
|
|
14304
14400
|
i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
|
|
14305
14401
|
i0.ɵɵadvance(1);
|
|
14306
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
14402
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
|
|
14307
14403
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
14308
14404
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteEmailFieldComponent, [{
|
|
14309
14405
|
type: Component,
|
|
@@ -14514,7 +14610,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1)
|
|
|
14514
14610
|
i0.ɵɵadvance(1);
|
|
14515
14611
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
|
|
14516
14612
|
} }
|
|
14517
|
-
const _c1$
|
|
14613
|
+
const _c1$i = function (a0) { return { "form-group-error": a0 }; };
|
|
14518
14614
|
class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14519
14615
|
ngOnInit() {
|
|
14520
14616
|
const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
|
|
@@ -14534,7 +14630,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
14534
14630
|
i0.ɵɵelementContainerEnd();
|
|
14535
14631
|
i0.ɵɵelementEnd()();
|
|
14536
14632
|
} if (rf & 2) {
|
|
14537
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
14633
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
|
|
14538
14634
|
i0.ɵɵadvance(3);
|
|
14539
14635
|
i0.ɵɵproperty("for", ctx.id());
|
|
14540
14636
|
i0.ɵɵadvance(1);
|
|
@@ -14656,7 +14752,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) { if (r
|
|
|
14656
14752
|
i0.ɵɵtext(1, " Invalid search term ");
|
|
14657
14753
|
i0.ɵɵelementEnd();
|
|
14658
14754
|
} }
|
|
14659
|
-
const _c1$
|
|
14755
|
+
const _c1$h = function (a0) { return { "form-group-error": a0 }; };
|
|
14660
14756
|
class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
|
|
14661
14757
|
constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
|
|
14662
14758
|
super(compoundPipe, validatorsService);
|
|
@@ -14803,7 +14899,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
14803
14899
|
i0.ɵɵelementEnd()();
|
|
14804
14900
|
} if (rf & 2) {
|
|
14805
14901
|
const _r3 = i0.ɵɵreference(7);
|
|
14806
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$
|
|
14902
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
|
|
14807
14903
|
i0.ɵɵadvance(1);
|
|
14808
14904
|
i0.ɵɵproperty("for", ctx.id());
|
|
14809
14905
|
i0.ɵɵadvance(1);
|
|
@@ -15493,7 +15589,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
15493
15589
|
i0.ɵɵadvance(1);
|
|
15494
15590
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
|
|
15495
15591
|
} }
|
|
15496
|
-
const _c1$
|
|
15592
|
+
const _c1$g = function (a0) { return { "table-group-error": a0 }; };
|
|
15497
15593
|
function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
15498
15594
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
15499
15595
|
i0.ɵɵelementStart(0, "tr", 10)(1, "td", 38);
|
|
@@ -15524,7 +15620,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
|
15524
15620
|
const case_r16 = ctx.$implicit;
|
|
15525
15621
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
15526
15622
|
i0.ɵɵadvance(2);
|
|
15527
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$
|
|
15623
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
|
|
15528
15624
|
i0.ɵɵadvance(2);
|
|
15529
15625
|
i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
|
|
15530
15626
|
i0.ɵɵadvance(2);
|
|
@@ -17424,7 +17520,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
17424
17520
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.numberControl.errors, ctx_r2.caseField.label), " ");
|
|
17425
17521
|
} }
|
|
17426
17522
|
const _c0$E = function (a0) { return { "form-group-error": a0 }; };
|
|
17427
|
-
const _c1$
|
|
17523
|
+
const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
|
|
17428
17524
|
class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
|
|
17429
17525
|
ngOnInit() {
|
|
17430
17526
|
this.numberControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -17450,7 +17546,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
|
|
|
17450
17546
|
i0.ɵɵadvance(1);
|
|
17451
17547
|
i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
|
|
17452
17548
|
i0.ɵɵadvance(1);
|
|
17453
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
17549
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
|
|
17454
17550
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
17455
17551
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
|
|
17456
17552
|
type: Component,
|
|
@@ -18091,7 +18187,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
18091
18187
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.phoneUkControl.errors, ctx_r2.caseField.label), " ");
|
|
18092
18188
|
} }
|
|
18093
18189
|
const _c0$C = function (a0) { return { "form-group-error": a0 }; };
|
|
18094
|
-
const _c1$
|
|
18190
|
+
const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
|
|
18095
18191
|
class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
|
|
18096
18192
|
ngOnInit() {
|
|
18097
18193
|
this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -18117,7 +18213,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
18117
18213
|
i0.ɵɵadvance(1);
|
|
18118
18214
|
i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
|
|
18119
18215
|
i0.ɵɵadvance(1);
|
|
18120
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
18216
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
|
|
18121
18217
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
18122
18218
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WritePhoneUKFieldComponent, [{
|
|
18123
18219
|
type: Component,
|
|
@@ -20133,7 +20229,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20133
20229
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textareaControl.errors, ctx_r2.caseField.label), " ");
|
|
20134
20230
|
} }
|
|
20135
20231
|
const _c0$z = function (a0) { return { "form-group-error": a0 }; };
|
|
20136
|
-
const _c1$
|
|
20232
|
+
const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
|
|
20137
20233
|
class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
20138
20234
|
constructor(browserService) {
|
|
20139
20235
|
super();
|
|
@@ -20171,7 +20267,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
20171
20267
|
i0.ɵɵadvance(1);
|
|
20172
20268
|
i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
|
|
20173
20269
|
i0.ɵɵadvance(1);
|
|
20174
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20270
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
|
|
20175
20271
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20176
20272
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextAreaFieldComponent, [{
|
|
20177
20273
|
type: Component,
|
|
@@ -20229,7 +20325,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20229
20325
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textControl.errors, ctx_r2.caseField.label), " ");
|
|
20230
20326
|
} }
|
|
20231
20327
|
const _c0$y = function (a0) { return { "form-group-error": a0 }; };
|
|
20232
|
-
const _c1$
|
|
20328
|
+
const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
|
|
20233
20329
|
class WriteTextFieldComponent extends AbstractFieldWriteComponent {
|
|
20234
20330
|
ngOnInit() {
|
|
20235
20331
|
this.textControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -20259,7 +20355,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
|
|
|
20259
20355
|
i0.ɵɵadvance(1);
|
|
20260
20356
|
i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
|
|
20261
20357
|
i0.ɵɵadvance(1);
|
|
20262
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20358
|
+
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);
|
|
20263
20359
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20264
20360
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextFieldComponent, [{
|
|
20265
20361
|
type: Component,
|
|
@@ -20432,7 +20528,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
20432
20528
|
i0.ɵɵadvance(1);
|
|
20433
20529
|
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
20434
20530
|
} }
|
|
20435
|
-
const _c1$
|
|
20531
|
+
const _c1$b = function (a0) { return { "form-group-error": a0 }; };
|
|
20436
20532
|
class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
|
|
20437
20533
|
constructor(yesNoService) {
|
|
20438
20534
|
super();
|
|
@@ -20454,7 +20550,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
20454
20550
|
i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 5, 14, "div", 6);
|
|
20455
20551
|
i0.ɵɵelementEnd()()();
|
|
20456
20552
|
} if (rf & 2) {
|
|
20457
|
-
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
20553
|
+
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
|
|
20458
20554
|
i0.ɵɵadvance(3);
|
|
20459
20555
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
20460
20556
|
i0.ɵɵadvance(1);
|
|
@@ -20811,7 +20907,7 @@ function CaseFileViewFolderSelectorComponent_ng_container_6_Template(rf, ctx) {
|
|
|
20811
20907
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
20812
20908
|
i0.ɵɵelementContainer(0);
|
|
20813
20909
|
} }
|
|
20814
|
-
const _c1$
|
|
20910
|
+
const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
|
|
20815
20911
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
20816
20912
|
i0.ɵɵelementContainerStart(0);
|
|
20817
20913
|
i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
|
|
@@ -20822,7 +20918,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
|
|
|
20822
20918
|
i0.ɵɵnextContext();
|
|
20823
20919
|
const _r1 = i0.ɵɵreference(13);
|
|
20824
20920
|
i0.ɵɵadvance(1);
|
|
20825
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$
|
|
20921
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
|
|
20826
20922
|
} }
|
|
20827
20923
|
function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
20828
20924
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
@@ -20990,7 +21086,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) { if (
|
|
|
20990
21086
|
i0.ɵɵproperty("ngForOf", ctx_r1.menuItems);
|
|
20991
21087
|
} }
|
|
20992
21088
|
const _c0$s = [[["", "trigger", ""]]];
|
|
20993
|
-
const _c1$
|
|
21089
|
+
const _c1$9 = ["[trigger]"];
|
|
20994
21090
|
class CaseFileViewOverlayMenuComponent {
|
|
20995
21091
|
constructor() {
|
|
20996
21092
|
this.title = '';
|
|
@@ -21004,7 +21100,7 @@ class CaseFileViewOverlayMenuComponent {
|
|
|
21004
21100
|
}
|
|
21005
21101
|
}
|
|
21006
21102
|
CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
|
|
21007
|
-
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$
|
|
21103
|
+
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) {
|
|
21008
21104
|
i0.ɵɵprojectionDef(_c0$s);
|
|
21009
21105
|
i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
|
|
21010
21106
|
i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_Template_button_click_1_listener($event) { $event.stopPropagation(); return ctx.isOpen = !ctx.isOpen; });
|
|
@@ -21540,7 +21636,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
21540
21636
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
21541
21637
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
21542
21638
|
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)); };
|
|
21543
|
-
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) {
|
|
21639
|
+
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) {
|
|
21544
21640
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
21545
21641
|
i0.ɵɵelement(2, "input", 2);
|
|
21546
21642
|
i0.ɵɵelementEnd()();
|
|
@@ -21561,7 +21657,7 @@ CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21561
21657
|
} }, 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}"] });
|
|
21562
21658
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
21563
21659
|
type: Component,
|
|
21564
|
-
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"] }]
|
|
21660
|
+
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}}</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"] }]
|
|
21565
21661
|
}], function () { return [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }]; }, { categoriesAndDocuments: [{
|
|
21566
21662
|
type: Input
|
|
21567
21663
|
}], allowMoving: [{
|
|
@@ -23071,7 +23167,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
|
|
|
23071
23167
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
|
|
23072
23168
|
} }
|
|
23073
23169
|
const _c0$n = function (a0) { return { "form-group-error": a0 }; };
|
|
23074
|
-
const _c1$
|
|
23170
|
+
const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
23075
23171
|
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
23076
23172
|
i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
|
|
23077
23173
|
i0.ɵɵtext(3);
|
|
@@ -23091,7 +23187,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (r
|
|
|
23091
23187
|
i0.ɵɵadvance(3);
|
|
23092
23188
|
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
23093
23189
|
i0.ɵɵadvance(1);
|
|
23094
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
23190
|
+
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);
|
|
23095
23191
|
i0.ɵɵadvance(1);
|
|
23096
23192
|
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
23097
23193
|
} }
|
|
@@ -23591,7 +23687,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
|
23591
23687
|
i0.ɵɵadvance(3);
|
|
23592
23688
|
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
23593
23689
|
} }
|
|
23594
|
-
const _c1$
|
|
23690
|
+
const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
|
|
23595
23691
|
class UpdateFlagComponent {
|
|
23596
23692
|
constructor(rpxTranslationService) {
|
|
23597
23693
|
this.rpxTranslationService = rpxTranslationService;
|
|
@@ -23793,7 +23889,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
|
|
|
23793
23889
|
const _r3 = i0.ɵɵreference(17);
|
|
23794
23890
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
23795
23891
|
i0.ɵɵadvance(2);
|
|
23796
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$
|
|
23892
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
|
|
23797
23893
|
i0.ɵɵadvance(3);
|
|
23798
23894
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
23799
23895
|
i0.ɵɵadvance(2);
|
|
@@ -25063,7 +25159,7 @@ const CUSTOM_MOMENT_FORMATS = {
|
|
|
25063
25159
|
};
|
|
25064
25160
|
|
|
25065
25161
|
const _c0$g = ["picker"];
|
|
25066
|
-
const _c1$
|
|
25162
|
+
const _c1$6 = ["input"];
|
|
25067
25163
|
function DatetimePickerComponent_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
25068
25164
|
i0.ɵɵelementStart(0, "span", 11);
|
|
25069
25165
|
i0.ɵɵtext(1);
|
|
@@ -25112,7 +25208,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
25112
25208
|
i0.ɵɵadvance(1);
|
|
25113
25209
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
|
|
25114
25210
|
} }
|
|
25115
|
-
const _c2$
|
|
25211
|
+
const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
|
|
25116
25212
|
class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
25117
25213
|
constructor(formatTranslationService, ngxMatDateFormats) {
|
|
25118
25214
|
super();
|
|
@@ -25277,7 +25373,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
25277
25373
|
DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { return new (t || DatetimePickerComponent)(i0.ɵɵdirectiveInject(FormatTranslatorService), i0.ɵɵdirectiveInject(NGX_MAT_DATE_FORMATS)); };
|
|
25278
25374
|
DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
25279
25375
|
i0.ɵɵviewQuery(_c0$g, 5);
|
|
25280
|
-
i0.ɵɵviewQuery(_c1$
|
|
25376
|
+
i0.ɵɵviewQuery(_c1$6, 5);
|
|
25281
25377
|
} if (rf & 2) {
|
|
25282
25378
|
let _t;
|
|
25283
25379
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimePicker = _t.first);
|
|
@@ -25309,7 +25405,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
25309
25405
|
i0.ɵɵelementEnd()()()()()();
|
|
25310
25406
|
} if (rf & 2) {
|
|
25311
25407
|
const _r6 = i0.ɵɵreference(13);
|
|
25312
|
-
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$
|
|
25408
|
+
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
|
|
25313
25409
|
i0.ɵɵadvance(3);
|
|
25314
25410
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
25315
25411
|
i0.ɵɵadvance(1);
|
|
@@ -25533,7 +25629,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
25533
25629
|
i0.ɵɵadvance(3);
|
|
25534
25630
|
i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
|
|
25535
25631
|
} }
|
|
25536
|
-
const _c1$
|
|
25632
|
+
const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
|
|
25537
25633
|
function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
25538
25634
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
25539
25635
|
i0.ɵɵelementStart(0, "tr", 4);
|
|
@@ -25564,7 +25660,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
|
25564
25660
|
} if (rf & 2) {
|
|
25565
25661
|
const event_r1 = ctx.$implicit;
|
|
25566
25662
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
25567
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$
|
|
25663
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
|
|
25568
25664
|
i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
|
|
25569
25665
|
i0.ɵɵadvance(2);
|
|
25570
25666
|
i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
|
|
@@ -27452,6 +27548,30 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) { if (r
|
|
|
27452
27548
|
i0.ɵɵadvance(3);
|
|
27453
27549
|
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
27454
27550
|
} }
|
|
27551
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
27552
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27553
|
+
i0.ɵɵtext(1);
|
|
27554
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27555
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27556
|
+
i0.ɵɵelementEnd();
|
|
27557
|
+
} if (rf & 2) {
|
|
27558
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
27559
|
+
i0.ɵɵadvance(1);
|
|
27560
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
|
|
27561
|
+
} }
|
|
27562
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
27563
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27564
|
+
i0.ɵɵtext(1);
|
|
27565
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27566
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27567
|
+
i0.ɵɵelementEnd();
|
|
27568
|
+
} if (rf & 2) {
|
|
27569
|
+
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
27570
|
+
i0.ɵɵadvance(1);
|
|
27571
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
|
|
27572
|
+
} }
|
|
27573
|
+
const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
|
|
27574
|
+
const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
27455
27575
|
function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
27456
27576
|
i0.ɵɵelementContainerStart(0);
|
|
27457
27577
|
i0.ɵɵelementStart(1, "fieldset", 39);
|
|
@@ -27461,19 +27581,35 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (r
|
|
|
27461
27581
|
i0.ɵɵelementStart(6, "span", 43);
|
|
27462
27582
|
i0.ɵɵtext(7, "A few words describing the purpose of the event.");
|
|
27463
27583
|
i0.ɵɵelementEnd()();
|
|
27464
|
-
i0.ɵɵ
|
|
27584
|
+
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
|
|
27585
|
+
i0.ɵɵelement(9, "input", 45);
|
|
27465
27586
|
i0.ɵɵelementEnd();
|
|
27466
|
-
i0.ɵɵelementStart(
|
|
27467
|
-
i0.ɵɵtext(
|
|
27587
|
+
i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
|
|
27588
|
+
i0.ɵɵtext(12, "Event description (optional)");
|
|
27468
27589
|
i0.ɵɵelementEnd();
|
|
27469
|
-
i0.ɵɵ
|
|
27590
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
|
|
27591
|
+
i0.ɵɵelement(14, "textarea", 47);
|
|
27470
27592
|
i0.ɵɵelementEnd()();
|
|
27471
27593
|
i0.ɵɵelementContainerEnd();
|
|
27594
|
+
} if (rf & 2) {
|
|
27595
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
27596
|
+
i0.ɵɵadvance(3);
|
|
27597
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
27598
|
+
i0.ɵɵadvance(5);
|
|
27599
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
|
|
27600
|
+
i0.ɵɵadvance(1);
|
|
27601
|
+
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)));
|
|
27602
|
+
i0.ɵɵadvance(1);
|
|
27603
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
27604
|
+
i0.ɵɵadvance(3);
|
|
27605
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
|
|
27606
|
+
i0.ɵɵadvance(1);
|
|
27607
|
+
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)));
|
|
27472
27608
|
} }
|
|
27473
27609
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
|
|
27474
|
-
const
|
|
27475
|
-
i0.ɵɵelementStart(0, "button",
|
|
27476
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
27610
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
27611
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
27612
|
+
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()); });
|
|
27477
27613
|
i0.ɵɵtext(1);
|
|
27478
27614
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27479
27615
|
i0.ɵɵelementEnd();
|
|
@@ -27484,7 +27620,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1)
|
|
|
27484
27620
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Previous"), " ");
|
|
27485
27621
|
} }
|
|
27486
27622
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27487
|
-
const
|
|
27623
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
27488
27624
|
i0.ɵɵelementStart(0, "div")(1, "h1", 2);
|
|
27489
27625
|
i0.ɵɵtext(2);
|
|
27490
27626
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
@@ -27494,13 +27630,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27494
27630
|
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
27495
27631
|
i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
|
|
27496
27632
|
i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
|
|
27497
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(
|
|
27633
|
+
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)); });
|
|
27498
27634
|
i0.ɵɵelementEnd();
|
|
27499
27635
|
i0.ɵɵelementStart(11, "form", 8);
|
|
27500
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(
|
|
27636
|
+
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()); });
|
|
27501
27637
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
27502
27638
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
27503
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
27639
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
|
|
27504
27640
|
i0.ɵɵelementStart(15, "div", 9);
|
|
27505
27641
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
27506
27642
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -27508,7 +27644,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27508
27644
|
i0.ɵɵpipe(19, "rpxTranslate");
|
|
27509
27645
|
i0.ɵɵelementEnd()();
|
|
27510
27646
|
i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
|
|
27511
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(
|
|
27647
|
+
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()); });
|
|
27512
27648
|
i0.ɵɵtext(22);
|
|
27513
27649
|
i0.ɵɵpipe(23, "rpxTranslate");
|
|
27514
27650
|
i0.ɵɵelementEnd()()()();
|
|
@@ -27544,9 +27680,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27544
27680
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 20, ctx_r0.getCancelText()));
|
|
27545
27681
|
} }
|
|
27546
27682
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) { if (rf & 1) {
|
|
27547
|
-
const
|
|
27548
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
27549
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
27683
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
27684
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
|
|
27685
|
+
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)); });
|
|
27550
27686
|
i0.ɵɵelementEnd();
|
|
27551
27687
|
} if (rf & 2) {
|
|
27552
27688
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -27554,14 +27690,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
|
27554
27690
|
} }
|
|
27555
27691
|
// @dynamic
|
|
27556
27692
|
class CaseEditSubmitComponent {
|
|
27557
|
-
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
27693
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
|
|
27558
27694
|
this.caseEdit = caseEdit;
|
|
27559
27695
|
this.fieldsUtils = fieldsUtils;
|
|
27560
27696
|
this.caseFieldService = caseFieldService;
|
|
27561
27697
|
this.route = route;
|
|
27562
27698
|
this.orderService = orderService;
|
|
27563
27699
|
this.profileNotifier = profileNotifier;
|
|
27700
|
+
this.formValidatorsService = formValidatorsService;
|
|
27564
27701
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
27702
|
+
this.eventSummaryLabel = 'Event summary';
|
|
27703
|
+
this.eventDescriptionLabel = 'Event description';
|
|
27565
27704
|
}
|
|
27566
27705
|
get isDisabled() {
|
|
27567
27706
|
// EUI-3452.
|
|
@@ -27571,7 +27710,7 @@ class CaseEditSubmitComponent {
|
|
|
27571
27710
|
return this.caseEdit.isSubmitting || this.hasErrors;
|
|
27572
27711
|
}
|
|
27573
27712
|
ngOnInit() {
|
|
27574
|
-
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
27713
|
+
this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
|
|
27575
27714
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
27576
27715
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
27577
27716
|
this.editForm = this.caseEdit.form;
|
|
@@ -27585,10 +27724,12 @@ class CaseEditSubmitComponent {
|
|
|
27585
27724
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
27586
27725
|
// a FlagLauncher field in the event trigger
|
|
27587
27726
|
this.caseEdit.isCaseFlagSubmission =
|
|
27588
|
-
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27727
|
+
this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27589
27728
|
this.caseEdit.isLinkedCasesSubmission =
|
|
27590
27729
|
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
|
|
27591
27730
|
this.pageTitle = this.getPageTitle();
|
|
27731
|
+
this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
|
|
27732
|
+
this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
|
|
27592
27733
|
}
|
|
27593
27734
|
ngOnDestroy() {
|
|
27594
27735
|
/* istanbul ignore else */
|
|
@@ -27597,12 +27738,14 @@ class CaseEditSubmitComponent {
|
|
|
27597
27738
|
}
|
|
27598
27739
|
}
|
|
27599
27740
|
submit() {
|
|
27600
|
-
this.
|
|
27601
|
-
|
|
27602
|
-
|
|
27603
|
-
|
|
27604
|
-
|
|
27605
|
-
|
|
27741
|
+
if (this.summary.valid && this.description.valid) {
|
|
27742
|
+
this.caseEdit.submitForm({
|
|
27743
|
+
eventTrigger: this.eventTrigger,
|
|
27744
|
+
form: this.editForm,
|
|
27745
|
+
submit: this.caseEdit.submit,
|
|
27746
|
+
caseDetails: this.caseEdit.caseDetails
|
|
27747
|
+
});
|
|
27748
|
+
}
|
|
27606
27749
|
}
|
|
27607
27750
|
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
27608
27751
|
this.caseEdit.onEventCanBeCompleted({
|
|
@@ -27610,7 +27753,7 @@ class CaseEditSubmitComponent {
|
|
|
27610
27753
|
eventCanBeCompleted,
|
|
27611
27754
|
caseDetails: this.caseEdit.caseDetails,
|
|
27612
27755
|
form: this.editForm,
|
|
27613
|
-
submit: this.caseEdit.submit
|
|
27756
|
+
submit: this.caseEdit.submit
|
|
27614
27757
|
});
|
|
27615
27758
|
}
|
|
27616
27759
|
getPageTitle() {
|
|
@@ -27685,7 +27828,7 @@ class CaseEditSubmitComponent {
|
|
|
27685
27828
|
}
|
|
27686
27829
|
}
|
|
27687
27830
|
readOnlySummaryFieldsToDisplayExists() {
|
|
27688
|
-
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
27831
|
+
return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
|
|
27689
27832
|
}
|
|
27690
27833
|
showEventNotes() {
|
|
27691
27834
|
// Display event notes related controls only if the following conditions are met
|
|
@@ -27700,7 +27843,7 @@ class CaseEditSubmitComponent {
|
|
|
27700
27843
|
}
|
|
27701
27844
|
getLastPageShown() {
|
|
27702
27845
|
let lastPage;
|
|
27703
|
-
this.wizard.reverse().forEach(page => {
|
|
27846
|
+
this.wizard.reverse().forEach((page) => {
|
|
27704
27847
|
if (!lastPage && this.isShown(page)) {
|
|
27705
27848
|
lastPage = page;
|
|
27706
27849
|
}
|
|
@@ -27719,7 +27862,7 @@ class CaseEditSubmitComponent {
|
|
|
27719
27862
|
}
|
|
27720
27863
|
isShown(page) {
|
|
27721
27864
|
const fields = this.fieldsUtils
|
|
27722
|
-
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls
|
|
27865
|
+
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
|
|
27723
27866
|
return page.parsedShowCondition.match(fields);
|
|
27724
27867
|
}
|
|
27725
27868
|
canShowFieldInCYA(field) {
|
|
@@ -27728,7 +27871,7 @@ class CaseEditSubmitComponent {
|
|
|
27728
27871
|
sortFieldsByShowSummaryContent(fields) {
|
|
27729
27872
|
return this.orderService
|
|
27730
27873
|
.sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
|
|
27731
|
-
.filter(cf => cf.show_summary_content_option);
|
|
27874
|
+
.filter((cf) => cf.show_summary_content_option);
|
|
27732
27875
|
}
|
|
27733
27876
|
getCaseFields() {
|
|
27734
27877
|
if (this.caseEdit.caseDetails) {
|
|
@@ -27747,9 +27890,7 @@ class CaseEditSubmitComponent {
|
|
|
27747
27890
|
if (this.eventTrigger.can_save_draft) {
|
|
27748
27891
|
return 'Return to case list';
|
|
27749
27892
|
}
|
|
27750
|
-
|
|
27751
|
-
return 'Cancel';
|
|
27752
|
-
}
|
|
27893
|
+
return 'Cancel';
|
|
27753
27894
|
}
|
|
27754
27895
|
}
|
|
27755
27896
|
CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
@@ -27763,8 +27904,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
27763
27904
|
}
|
|
27764
27905
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
27765
27906
|
};
|
|
27766
|
-
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)); };
|
|
27767
|
-
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) {
|
|
27907
|
+
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)); };
|
|
27908
|
+
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) {
|
|
27768
27909
|
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
|
|
27769
27910
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
27770
27911
|
} if (rf & 2) {
|
|
@@ -27774,8 +27915,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
27774
27915
|
} }, 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%}"] });
|
|
27775
27916
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
27776
27917
|
type: Component,
|
|
27777
|
-
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
|
|
27778
|
-
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null); })();
|
|
27918
|
+
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"] }]
|
|
27919
|
+
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null); })();
|
|
27779
27920
|
|
|
27780
27921
|
function CaseProgressComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27781
27922
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -28131,7 +28272,7 @@ i0.ɵɵsetComponentScope(CaseEditConfirmComponent, function () { return [i4.NgIf
|
|
|
28131
28272
|
i0.ɵɵsetComponentScope(CaseEditPageComponent, function () { return [i4.NgForOf, i4.NgIf, i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, CallbackErrorsComponent, MarkdownComponent, CaseEventCompletionComponent, CaseEditFormComponent,
|
|
28132
28273
|
CaseEditGenericErrorsComponent]; }, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
|
|
28133
28274
|
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]; });
|
|
28134
|
-
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]; });
|
|
28275
|
+
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]; });
|
|
28135
28276
|
i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28136
28277
|
i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28137
28278
|
|
|
@@ -29717,29 +29858,29 @@ function CaseHistoryComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
29717
29858
|
i0.ɵɵadvance(6);
|
|
29718
29859
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 19, "Date"));
|
|
29719
29860
|
i0.ɵɵadvance(3);
|
|
29720
|
-
i0.ɵɵtextInterpolate(i0.ɵɵ
|
|
29861
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(18, 21, ctx_r0.caseHistory.event.timestamp, "local"));
|
|
29721
29862
|
i0.ɵɵadvance(4);
|
|
29722
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22,
|
|
29863
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 24, "Author"));
|
|
29723
29864
|
i0.ɵɵadvance(3);
|
|
29724
|
-
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25,
|
|
29865
|
+
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25, 26, ctx_r0.caseHistory.event.user_first_name), " ", i0.ɵɵpipeBind1(26, 28, ctx_r0.caseHistory.event.user_last_name), "");
|
|
29725
29866
|
i0.ɵɵadvance(5);
|
|
29726
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30,
|
|
29867
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 30, "End state"));
|
|
29727
29868
|
i0.ɵɵadvance(3);
|
|
29728
29869
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.state_name);
|
|
29729
29870
|
i0.ɵɵadvance(3);
|
|
29730
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36,
|
|
29871
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36, 32, "Event"));
|
|
29731
29872
|
i0.ɵɵadvance(3);
|
|
29732
29873
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.event_name);
|
|
29733
29874
|
i0.ɵɵadvance(3);
|
|
29734
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42,
|
|
29875
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42, 34, "Summary"));
|
|
29735
29876
|
i0.ɵɵadvance(3);
|
|
29736
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45,
|
|
29877
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 36, ctx_r0.caseHistory.event.summary));
|
|
29737
29878
|
i0.ɵɵadvance(4);
|
|
29738
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49,
|
|
29879
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49, 38, "Comment"));
|
|
29739
29880
|
i0.ɵɵadvance(3);
|
|
29740
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52,
|
|
29881
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52, 40, ctx_r0.caseHistory.event.comment));
|
|
29741
29882
|
i0.ɵɵadvance(4);
|
|
29742
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56,
|
|
29883
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56, 42, "Case Details"));
|
|
29743
29884
|
i0.ɵɵadvance(2);
|
|
29744
29885
|
i0.ɵɵproperty("ngForOf", ctx_r0.tabs);
|
|
29745
29886
|
} }
|
|
@@ -29793,13 +29934,13 @@ CaseHistoryComponent.PARAM_EVENT_ID = 'eid';
|
|
|
29793
29934
|
CaseHistoryComponent.ERROR_MESSAGE = 'No case history to show';
|
|
29794
29935
|
CaseHistoryComponent.ɵfac = function CaseHistoryComponent_Factory(t) { return new (t || CaseHistoryComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(CaseHistoryService)); };
|
|
29795
29936
|
CaseHistoryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseHistoryComponent, selectors: [["ccd-case-history"]], inputs: { event: "event" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "grid-row"], [1, "column-full"], [3, "caseDetails"], [1, "heading-h2"], ["aria-describedby", "event details table", 1, "EventDetails"], [4, "ngFor", "ngForOf"], [1, "caseHistorySection"], [1, "heading-h3"], [1, "CaseHistory", 3, "id"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], ["id", "case-viewer-label-header"], [1, "case-viewer-label"], [3, "caseField", "caseReference"], [1, "compound-field"], ["colspan", "2"]], template: function CaseHistoryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29796
|
-
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58,
|
|
29937
|
+
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58, 44, "div", 0);
|
|
29797
29938
|
} if (rf & 2) {
|
|
29798
29939
|
i0.ɵɵproperty("ngIf", ctx.isDataLoaded());
|
|
29799
29940
|
} }, styles: [".CaseHistory[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .CaseHistory[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:none}.caseHistorySection[_ngcontent-%COMP%]{margin-top:40px}.EventDetails[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .EventDetails[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:none}th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_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}"] });
|
|
29800
29941
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseHistoryComponent, [{
|
|
29801
29942
|
type: Component,
|
|
29802
|
-
args: [{ selector: 'ccd-case-history', template: "<div *ngIf=\"isDataLoaded()\">\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n </div>\n </div>\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <div>\n <h2 class=\"heading-h2\">{{'Event Details' | rpxTranslate}}</h2>\n <table class=\"EventDetails\" aria-describedby=\"event details table\">\n <tbody>\n <tr>\n <th>{{'Date' | rpxTranslate}}</th>\n <td>{{caseHistory.event.timestamp | ccdDate}}</td>\n </tr>\n <tr>\n <th>{{'Author' | rpxTranslate}}</th>\n <td>{{caseHistory.event.user_first_name | titlecase}} {{caseHistory.event.user_last_name | uppercase}}</td>\n </tr>\n <tr>\n <th>{{'End state' | rpxTranslate}}</th>\n <td>{{caseHistory.event.state_name}}</td>\n </tr>\n <tr>\n <th>{{'Event' | rpxTranslate}}</th>\n <td>{{caseHistory.event.event_name}}</td>\n </tr>\n <tr>\n <th>{{'Summary' | rpxTranslate}}</th>\n <td>{{caseHistory.event.summary | ccdDash}}</td>\n </tr>\n <tr>\n <th>{{'Comment' | rpxTranslate}}</th>\n <td>{{caseHistory.event.comment | ccdDash}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div>\n <h2 class=\"heading-h2\">{{'Case Details' | rpxTranslate}}</h2>\n <ng-container *ngFor=\"let tab of tabs\">\n <div class=\"caseHistorySection\">\n <h3 class=\"heading-h3\">{{tab.label}}</h3>\n <table class=\"CaseHistory\" id=\"{{tab.id}}\" [attr.aria-describedby]=\"'case history table' | rpxTranslate\">\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"tab.fields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-label-header\">\n <div class=\"case-viewer-label\">{{field.label}}</div>\n </th>\n <td>\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <td colspan=\"2\">\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </table>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".CaseHistory th,.CaseHistory td{border-bottom:none}.caseHistorySection{margin-top:40px}.EventDetails th,.EventDetails td{border-bottom:none}th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{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}\n"] }]
|
|
29943
|
+
args: [{ selector: 'ccd-case-history', template: "<div *ngIf=\"isDataLoaded()\">\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n </div>\n </div>\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <div>\n <h2 class=\"heading-h2\">{{'Event Details' | rpxTranslate}}</h2>\n <table class=\"EventDetails\" aria-describedby=\"event details table\">\n <tbody>\n <tr>\n <th>{{'Date' | rpxTranslate}}</th>\n <td>{{caseHistory.event.timestamp | ccdDate : 'local'}}</td>\n </tr>\n <tr>\n <th>{{'Author' | rpxTranslate}}</th>\n <td>{{caseHistory.event.user_first_name | titlecase}} {{caseHistory.event.user_last_name | uppercase}}</td>\n </tr>\n <tr>\n <th>{{'End state' | rpxTranslate}}</th>\n <td>{{caseHistory.event.state_name}}</td>\n </tr>\n <tr>\n <th>{{'Event' | rpxTranslate}}</th>\n <td>{{caseHistory.event.event_name}}</td>\n </tr>\n <tr>\n <th>{{'Summary' | rpxTranslate}}</th>\n <td>{{caseHistory.event.summary | ccdDash}}</td>\n </tr>\n <tr>\n <th>{{'Comment' | rpxTranslate}}</th>\n <td>{{caseHistory.event.comment | ccdDash}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div>\n <h2 class=\"heading-h2\">{{'Case Details' | rpxTranslate}}</h2>\n <ng-container *ngFor=\"let tab of tabs\">\n <div class=\"caseHistorySection\">\n <h3 class=\"heading-h3\">{{tab.label}}</h3>\n <table class=\"CaseHistory\" id=\"{{tab.id}}\" [attr.aria-describedby]=\"'case history table' | rpxTranslate\">\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"tab.fields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-label-header\">\n <div class=\"case-viewer-label\">{{field.label}}</div>\n </th>\n <td>\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <td colspan=\"2\">\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </table>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".CaseHistory th,.CaseHistory td{border-bottom:none}.caseHistorySection{margin-top:40px}.EventDetails th,.EventDetails td{border-bottom:none}th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{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}\n"] }]
|
|
29803
29944
|
}], function () { return [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }]; }, { event: [{
|
|
29804
29945
|
type: Input
|
|
29805
29946
|
}] }); })();
|
|
@@ -30873,7 +31014,7 @@ function CaseFullAccessViewComponent_ng_container_12_mat_tab_4_ng_template_2_Tem
|
|
|
30873
31014
|
const tab_r20 = i0.ɵɵnextContext().$implicit;
|
|
30874
31015
|
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
30875
31016
|
i0.ɵɵclassMap(tab_r20.id);
|
|
30876
|
-
i0.ɵɵattribute("aria-
|
|
31017
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 4, "case viewer table"));
|
|
30877
31018
|
i0.ɵɵadvance(3);
|
|
30878
31019
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(4, 6, i0.ɵɵpureFunction2(14, _c1$3, i0.ɵɵpipeBind1(5, 12, tab_r20), ctx_r22.formGroup.controls["data"])));
|
|
30879
31020
|
} }
|
|
@@ -31338,7 +31479,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
31338
31479
|
} }, 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}"] });
|
|
31339
31480
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
31340
31481
|
type: Component,
|
|
31341
|
-
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-
|
|
31482
|
+
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"] }]
|
|
31342
31483
|
}], 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: [{
|
|
31343
31484
|
type: Input
|
|
31344
31485
|
}], hasEventSelector: [{
|