@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';
|
|
@@ -133,11 +134,11 @@ function FooterComponent_div_3_Template(rf, ctx) {
|
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
const _c0$13 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
|
|
136
|
-
const _c1$
|
|
137
|
+
const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
|
|
137
138
|
class FooterComponent {
|
|
138
139
|
}
|
|
139
140
|
FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
|
|
140
|
-
FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$
|
|
141
|
+
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) {
|
|
141
142
|
if (rf & 1) {
|
|
142
143
|
i0.ɵɵprojectionDef(_c0$13);
|
|
143
144
|
i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
|
|
@@ -211,7 +212,7 @@ function HeaderBarComponent_div_10_Template(rf, ctx) {
|
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
const _c0$12 = [[["", "headerNavigation", ""]]];
|
|
214
|
-
const _c1$
|
|
215
|
+
const _c1$t = ["[headerNavigation]"];
|
|
215
216
|
class HeaderBarComponent {
|
|
216
217
|
constructor() {
|
|
217
218
|
this.signOutRequest = new EventEmitter();
|
|
@@ -221,7 +222,7 @@ class HeaderBarComponent {
|
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
224
|
HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
|
|
224
|
-
HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$
|
|
225
|
+
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) {
|
|
225
226
|
if (rf & 1) {
|
|
226
227
|
i0.ɵɵprojectionDef(_c0$12);
|
|
227
228
|
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
|
|
@@ -277,11 +278,11 @@ HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBa
|
|
|
277
278
|
})();
|
|
278
279
|
|
|
279
280
|
const _c0$11 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
|
|
280
|
-
const _c1$
|
|
281
|
+
const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
|
|
281
282
|
class NavigationComponent {
|
|
282
283
|
}
|
|
283
284
|
NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
|
|
284
|
-
NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$
|
|
285
|
+
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) {
|
|
285
286
|
if (rf & 1) {
|
|
286
287
|
i0.ɵɵprojectionDef(_c0$11);
|
|
287
288
|
i0.ɵɵelementStart(0, "div")(1, "nav", 0);
|
|
@@ -412,11 +413,11 @@ HeadersModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
|
|
|
412
413
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
|
|
413
414
|
|
|
414
415
|
const _c0$10 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
|
|
415
|
-
const _c1$
|
|
416
|
+
const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
|
|
416
417
|
class BodyComponent {
|
|
417
418
|
}
|
|
418
419
|
BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
|
|
419
|
-
BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$
|
|
420
|
+
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) {
|
|
420
421
|
if (rf & 1) {
|
|
421
422
|
i0.ɵɵprojectionDef(_c0$10);
|
|
422
423
|
i0.ɵɵelementStart(0, "div", 0);
|
|
@@ -1085,11 +1086,11 @@ NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
1085
1086
|
})();
|
|
1086
1087
|
|
|
1087
1088
|
const _c0$Z = function (a0) { return { "js-hidden": a0 }; };
|
|
1088
|
-
const _c1$
|
|
1089
|
+
const _c1$q = ["*"];
|
|
1089
1090
|
class TabComponent {
|
|
1090
1091
|
}
|
|
1091
1092
|
TabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
|
|
1092
|
-
TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$
|
|
1093
|
+
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) {
|
|
1093
1094
|
if (rf & 1) {
|
|
1094
1095
|
i0.ɵɵprojectionDef();
|
|
1095
1096
|
i0.ɵɵelementStart(0, "div", 0);
|
|
@@ -1115,8 +1116,8 @@ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent,
|
|
|
1115
1116
|
})();
|
|
1116
1117
|
|
|
1117
1118
|
const _c0$Y = ["tab"];
|
|
1118
|
-
const _c1$
|
|
1119
|
-
const _c2$
|
|
1119
|
+
const _c1$p = function () { return ["."]; };
|
|
1120
|
+
const _c2$4 = function (a0) { return { "tabs-toggle-selected": a0 }; };
|
|
1120
1121
|
function TabsComponent_li_2_Template(rf, ctx) {
|
|
1121
1122
|
if (rf & 1) {
|
|
1122
1123
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -1129,7 +1130,7 @@ function TabsComponent_li_2_Template(rf, ctx) {
|
|
|
1129
1130
|
if (rf & 2) {
|
|
1130
1131
|
const panel_r1 = ctx.$implicit;
|
|
1131
1132
|
i0.ɵɵadvance(1);
|
|
1132
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$
|
|
1133
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$p))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$4, panel_r1.selected));
|
|
1133
1134
|
i0.ɵɵattribute("aria-controls", panel_r1.id)("aria-selected", panel_r1.selected);
|
|
1134
1135
|
i0.ɵɵadvance(2);
|
|
1135
1136
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, panel_r1.title));
|
|
@@ -1333,6 +1334,11 @@ class HttpError {
|
|
|
1333
1334
|
}
|
|
1334
1335
|
static from(response) {
|
|
1335
1336
|
const error = new HttpError();
|
|
1337
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === 429) {
|
|
1338
|
+
error.error = HttpError.MESSAGE_ERROR_429;
|
|
1339
|
+
error.status = response.status;
|
|
1340
|
+
error.message = response.message;
|
|
1341
|
+
}
|
|
1336
1342
|
// Check that the HttpErrorResponse contains an "error" object before mapping the error properties
|
|
1337
1343
|
if (!!(response && response.error)) {
|
|
1338
1344
|
Object.keys(error).forEach((key) => {
|
|
@@ -1352,6 +1358,7 @@ class HttpError {
|
|
|
1352
1358
|
HttpError.DEFAULT_ERROR = 'Unknown error';
|
|
1353
1359
|
HttpError.DEFAULT_MESSAGE = 'Something unexpected happened, our technical staff have been automatically notified';
|
|
1354
1360
|
HttpError.DEFAULT_STATUS = 500;
|
|
1361
|
+
HttpError.MESSAGE_ERROR_429 = 'Your request was rate limited. Please wait a few seconds before retrying your document upload';
|
|
1355
1362
|
|
|
1356
1363
|
class AbstractAppConfig {
|
|
1357
1364
|
/**
|
|
@@ -2696,6 +2703,9 @@ class FirstErrorPipe {
|
|
|
2696
2703
|
else if (keys[0] === 'pattern') {
|
|
2697
2704
|
errorMessage = 'The data entered is not valid for %FIELDLABEL%';
|
|
2698
2705
|
}
|
|
2706
|
+
else if (keys[0] === 'markDownPattern') {
|
|
2707
|
+
errorMessage = 'The data entered is not valid for %FIELDLABEL%. Link mark up characters are not allowed in this field';
|
|
2708
|
+
}
|
|
2699
2709
|
else if (keys[0] === 'minlength') {
|
|
2700
2710
|
errorMessage = '%FIELDLABEL% is below the minimum length';
|
|
2701
2711
|
}
|
|
@@ -4544,6 +4554,7 @@ class FormValidatorsService {
|
|
|
4544
4554
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES.indexOf(caseField.field_type.type) === -1) {
|
|
4545
4555
|
const validators = [Validators.required];
|
|
4546
4556
|
if (caseField.field_type.type === 'Text') {
|
|
4557
|
+
validators.push(this.markDownPatternValidator());
|
|
4547
4558
|
if (caseField.field_type.regular_expression) {
|
|
4548
4559
|
validators.push(Validators.pattern(caseField.field_type.regular_expression));
|
|
4549
4560
|
}
|
|
@@ -4557,22 +4568,38 @@ class FormValidatorsService {
|
|
|
4557
4568
|
validators.push(Validators.maxLength(caseField.field_type.max));
|
|
4558
4569
|
}
|
|
4559
4570
|
}
|
|
4571
|
+
if (caseField.field_type.type === 'TextArea') {
|
|
4572
|
+
validators.push(this.emptyValidator());
|
|
4573
|
+
validators.push(this.markDownPatternValidator());
|
|
4574
|
+
}
|
|
4560
4575
|
if (control.validator) {
|
|
4561
4576
|
validators.push(control.validator);
|
|
4562
4577
|
}
|
|
4563
4578
|
control.setValidators(validators);
|
|
4564
4579
|
}
|
|
4580
|
+
else if (caseField.display_context === 'OPTIONAL' && (caseField.field_type.type === 'Text' || caseField.field_type.type === 'TextArea')) {
|
|
4581
|
+
control.setValidators(this.markDownPatternValidator());
|
|
4582
|
+
}
|
|
4565
4583
|
return control;
|
|
4566
4584
|
}
|
|
4567
4585
|
static emptyValidator() {
|
|
4568
4586
|
const validator = (control) => {
|
|
4569
|
-
|
|
4587
|
+
var _a;
|
|
4588
|
+
if (((_a = control === null || control === void 0 ? void 0 : control.value) === null || _a === void 0 ? void 0 : _a.toString().trim().length) === 0) {
|
|
4570
4589
|
return { required: {} };
|
|
4571
4590
|
}
|
|
4572
4591
|
return null;
|
|
4573
4592
|
};
|
|
4574
4593
|
return validator;
|
|
4575
4594
|
}
|
|
4595
|
+
static markDownPatternValidator() {
|
|
4596
|
+
const pattern = /(\[[^\]]{0,500}\]\([^)]{0,500}\)|!\[[^\]]{0,500}\]\([^)]{0,500}\)|<img[^>]{0,500}>|<a[^>]{0,500}>.*?<\/a>)/;
|
|
4597
|
+
return (control) => {
|
|
4598
|
+
var _a;
|
|
4599
|
+
const value = (_a = control === null || control === void 0 ? void 0 : control.value) === null || _a === void 0 ? void 0 : _a.toString().trim();
|
|
4600
|
+
return (value && pattern.test(value)) ? { markDownPattern: {} } : null;
|
|
4601
|
+
};
|
|
4602
|
+
}
|
|
4576
4603
|
// TODO: Strip this out as it's only here for the moment because
|
|
4577
4604
|
// the service is being injected all over the place but it doesn't
|
|
4578
4605
|
// need to be as FormValidatorsService.addValidators is perfectly
|
|
@@ -4580,10 +4607,20 @@ class FormValidatorsService {
|
|
|
4580
4607
|
addValidators(caseField, control) {
|
|
4581
4608
|
return FormValidatorsService.addValidators(caseField, control);
|
|
4582
4609
|
}
|
|
4610
|
+
addMarkDownValidators(formGroup, controlPath) {
|
|
4611
|
+
const control = formGroup.get(controlPath);
|
|
4612
|
+
if (control) {
|
|
4613
|
+
control.setValidators(FormValidatorsService.markDownPatternValidator());
|
|
4614
|
+
control.updateValueAndValidity();
|
|
4615
|
+
}
|
|
4616
|
+
return control;
|
|
4617
|
+
}
|
|
4583
4618
|
}
|
|
4584
4619
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES = [
|
|
4585
4620
|
'Date', 'MoneyGBP', 'Label', 'JudicialUser'
|
|
4586
4621
|
];
|
|
4622
|
+
FormValidatorsService.DEFAULT_INPUT_TEXT = 'text';
|
|
4623
|
+
FormValidatorsService.DEFAULT_INPUT_TEXTAREA = 'textAreas';
|
|
4587
4624
|
FormValidatorsService.ɵfac = function FormValidatorsService_Factory(t) { return new (t || FormValidatorsService)(); };
|
|
4588
4625
|
FormValidatorsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValidatorsService, factory: FormValidatorsService.ɵfac });
|
|
4589
4626
|
(function () {
|
|
@@ -5034,8 +5071,9 @@ class FieldsPurger {
|
|
|
5034
5071
|
}
|
|
5035
5072
|
}
|
|
5036
5073
|
else {
|
|
5037
|
-
// Delete the field
|
|
5038
|
-
|
|
5074
|
+
// Delete the field from formGroup
|
|
5075
|
+
const dataGroup = form.get('data');
|
|
5076
|
+
dataGroup.removeControl(field.id);
|
|
5039
5077
|
}
|
|
5040
5078
|
}
|
|
5041
5079
|
resetPage(form, wizardPage) {
|
|
@@ -8678,16 +8716,21 @@ class PageValidationService {
|
|
|
8678
8716
|
constructor(caseFieldService) {
|
|
8679
8717
|
this.caseFieldService = caseFieldService;
|
|
8680
8718
|
}
|
|
8681
|
-
|
|
8682
|
-
|
|
8719
|
+
getInvalidFields(page, editForm) {
|
|
8720
|
+
const failingCaseFields = [];
|
|
8721
|
+
page.case_fields
|
|
8683
8722
|
.filter(caseField => !this.caseFieldService.isReadOnly(caseField))
|
|
8684
8723
|
.filter(caseField => !this.isHidden(caseField, editForm))
|
|
8685
|
-
.
|
|
8724
|
+
.map(caseField => {
|
|
8686
8725
|
const theControl = FieldsUtils.isCaseFieldOfType(caseField, ['JudicialUser'])
|
|
8687
8726
|
? editForm.controls['data'].get(`${caseField.id}_judicialUserControl`)
|
|
8688
8727
|
: editForm.controls['data'].get(caseField.id);
|
|
8689
|
-
|
|
8728
|
+
if (!(this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl))) {
|
|
8729
|
+
failingCaseFields.push(caseField);
|
|
8730
|
+
}
|
|
8731
|
+
;
|
|
8690
8732
|
});
|
|
8733
|
+
return failingCaseFields;
|
|
8691
8734
|
}
|
|
8692
8735
|
isHidden(caseField, editForm, path) {
|
|
8693
8736
|
const formFields = editForm.getRawValue();
|
|
@@ -10112,7 +10155,8 @@ class CaseEditPageComponent {
|
|
|
10112
10155
|
return this.caseEdit.first();
|
|
10113
10156
|
}
|
|
10114
10157
|
currentPageIsNotValid() {
|
|
10115
|
-
|
|
10158
|
+
this.failingCaseFields = this.pageValidationService.getInvalidFields(this.currentPage, this.editForm);
|
|
10159
|
+
return this.failingCaseFields.length > 0 ||
|
|
10116
10160
|
(this.isLinkedCasesJourney() && !this.isLinkedCasesJourneyAtFinalStep);
|
|
10117
10161
|
}
|
|
10118
10162
|
isLinkedCasesJourney() {
|
|
@@ -10134,9 +10178,15 @@ class CaseEditPageComponent {
|
|
|
10134
10178
|
// Adding validation message to show it as Error Summary
|
|
10135
10179
|
generateErrorMessage(fields, container, path) {
|
|
10136
10180
|
const group = container || this.editForm.controls['data'];
|
|
10137
|
-
|
|
10138
|
-
|
|
10181
|
+
let validErrorFieldFound = false;
|
|
10182
|
+
let validationErrorAmount = this.validationErrors.length;
|
|
10183
|
+
const failingFields = fields.filter(casefield => !this.caseFieldService.isReadOnly(casefield))
|
|
10184
|
+
.filter(casefield => !this.pageValidationService.isHidden(casefield, this.editForm, path));
|
|
10185
|
+
// note that thougn these checks are on getinvalidfields they are needed for sub field checks
|
|
10186
|
+
failingFields
|
|
10139
10187
|
.forEach(casefield => {
|
|
10188
|
+
let errorPresent = true;
|
|
10189
|
+
validErrorFieldFound = true;
|
|
10140
10190
|
const fieldElement = FieldsUtils.isCaseFieldOfType(casefield, ['JudicialUser'])
|
|
10141
10191
|
? group.get(`${casefield.id}_judicialUserControl`)
|
|
10142
10192
|
: group.get(casefield.id);
|
|
@@ -10181,7 +10231,7 @@ class CaseEditPageComponent {
|
|
|
10181
10231
|
}
|
|
10182
10232
|
else if (fieldElement.invalid) {
|
|
10183
10233
|
if (casefield.isComplex()) {
|
|
10184
|
-
this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
10234
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
10185
10235
|
}
|
|
10186
10236
|
else if (casefield.isCollection() && casefield.field_type.collection_field_type.type === 'Complex') {
|
|
10187
10237
|
const fieldArray = fieldElement;
|
|
@@ -10189,7 +10239,7 @@ class CaseEditPageComponent {
|
|
|
10189
10239
|
id = `${fieldArray['component']['collItems'][0].prefix}`;
|
|
10190
10240
|
}
|
|
10191
10241
|
fieldArray.controls.forEach((c) => {
|
|
10192
|
-
this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
10242
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
10193
10243
|
});
|
|
10194
10244
|
}
|
|
10195
10245
|
else if (FieldsUtils.isCaseFieldOfType(casefield, ['FlagLauncher'])) {
|
|
@@ -10204,8 +10254,29 @@ class CaseEditPageComponent {
|
|
|
10204
10254
|
}
|
|
10205
10255
|
}
|
|
10206
10256
|
}
|
|
10257
|
+
else {
|
|
10258
|
+
validErrorFieldFound = false;
|
|
10259
|
+
}
|
|
10260
|
+
if (!errorPresent && this.validationErrors.length === validationErrorAmount) {
|
|
10261
|
+
// if no error messages have been added in internal field despite parent field failing
|
|
10262
|
+
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` });
|
|
10263
|
+
}
|
|
10207
10264
|
});
|
|
10265
|
+
if (!validErrorFieldFound) {
|
|
10266
|
+
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` })
|
|
10267
|
+
: this.validationErrors.push({ id: null, message: `The field that is causing the error cannot be determined but there is an error present` });
|
|
10268
|
+
}
|
|
10269
|
+
else if (this.validationErrors.length === validationErrorAmount) {
|
|
10270
|
+
// if no error messages have been generated
|
|
10271
|
+
if (path) {
|
|
10272
|
+
return false;
|
|
10273
|
+
}
|
|
10274
|
+
else {
|
|
10275
|
+
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` });
|
|
10276
|
+
}
|
|
10277
|
+
}
|
|
10208
10278
|
CaseEditPageComponent.scrollToTop();
|
|
10279
|
+
return true;
|
|
10209
10280
|
}
|
|
10210
10281
|
navigateToErrorElement(elementId) {
|
|
10211
10282
|
/* istanbul ignore else */
|
|
@@ -10230,7 +10301,7 @@ class CaseEditPageComponent {
|
|
|
10230
10301
|
CaseEditPageComponent.scrollToTop();
|
|
10231
10302
|
}
|
|
10232
10303
|
else {
|
|
10233
|
-
this.generateErrorMessage(this.
|
|
10304
|
+
this.generateErrorMessage(this.failingCaseFields);
|
|
10234
10305
|
}
|
|
10235
10306
|
}
|
|
10236
10307
|
if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
|
|
@@ -11088,8 +11159,8 @@ function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) {
|
|
|
11088
11159
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r5.errorMessage));
|
|
11089
11160
|
}
|
|
11090
11161
|
}
|
|
11091
|
-
const _c1$
|
|
11092
|
-
const _c2$
|
|
11162
|
+
const _c1$o = function (a0) { return { "form-group-error": a0 }; };
|
|
11163
|
+
const _c2$3 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
11093
11164
|
function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
|
|
11094
11165
|
if (rf & 1) {
|
|
11095
11166
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
@@ -11107,7 +11178,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
|
|
|
11107
11178
|
}
|
|
11108
11179
|
if (rf & 2) {
|
|
11109
11180
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
11110
|
-
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
11181
|
+
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$o, ctx_r2.missingPostcode));
|
|
11111
11182
|
i0.ɵɵadvance(1);
|
|
11112
11183
|
i0.ɵɵproperty("for", ctx_r2.createElementId("postcodeInput"));
|
|
11113
11184
|
i0.ɵɵadvance(2);
|
|
@@ -11115,7 +11186,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) {
|
|
|
11115
11186
|
i0.ɵɵadvance(2);
|
|
11116
11187
|
i0.ɵɵproperty("ngIf", ctx_r2.missingPostcode);
|
|
11117
11188
|
i0.ɵɵadvance(1);
|
|
11118
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$
|
|
11189
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$3, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
|
|
11119
11190
|
i0.ɵɵadvance(2);
|
|
11120
11191
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "Find address"));
|
|
11121
11192
|
}
|
|
@@ -11162,7 +11233,7 @@ function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) {
|
|
|
11162
11233
|
}
|
|
11163
11234
|
if (rf & 2) {
|
|
11164
11235
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
11165
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$
|
|
11236
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$o, ctx_r3.noAddressSelected));
|
|
11166
11237
|
i0.ɵɵadvance(1);
|
|
11167
11238
|
i0.ɵɵproperty("for", ctx_r3.createElementId("addressList"));
|
|
11168
11239
|
i0.ɵɵadvance(2);
|
|
@@ -12731,7 +12802,7 @@ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) {
|
|
|
12731
12802
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
|
|
12732
12803
|
}
|
|
12733
12804
|
}
|
|
12734
|
-
const _c1$
|
|
12805
|
+
const _c1$n = function (a0) { return { "form-group-error": a0 }; };
|
|
12735
12806
|
class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
|
|
12736
12807
|
ngOnInit() {
|
|
12737
12808
|
if (this.caseField.value) {
|
|
@@ -12797,7 +12868,7 @@ WriteCaseLinkFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
12797
12868
|
i0.ɵɵelementEnd();
|
|
12798
12869
|
}
|
|
12799
12870
|
if (rf & 2) {
|
|
12800
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
12871
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$n, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
|
|
12801
12872
|
i0.ɵɵadvance(1);
|
|
12802
12873
|
i0.ɵɵproperty("for", ctx.id());
|
|
12803
12874
|
i0.ɵɵadvance(1);
|
|
@@ -12835,7 +12906,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) {
|
|
|
12835
12906
|
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);
|
|
12836
12907
|
}
|
|
12837
12908
|
}
|
|
12838
|
-
const _c1$
|
|
12909
|
+
const _c1$m = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
|
|
12839
12910
|
function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) {
|
|
12840
12911
|
if (rf & 1) {
|
|
12841
12912
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -12847,7 +12918,7 @@ function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) {
|
|
|
12847
12918
|
const i_r5 = ctx.index;
|
|
12848
12919
|
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
12849
12920
|
i0.ɵɵadvance(2);
|
|
12850
|
-
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$
|
|
12921
|
+
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));
|
|
12851
12922
|
}
|
|
12852
12923
|
}
|
|
12853
12924
|
function ReadCollectionFieldComponent_table_0_tbody_3_Template(rf, ctx) {
|
|
@@ -13460,7 +13531,7 @@ class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
13460
13531
|
this.paletteContext = PaletteContext;
|
|
13461
13532
|
}
|
|
13462
13533
|
ngOnInit() {
|
|
13463
|
-
var _a, _b, _c;
|
|
13534
|
+
var _a, _b, _c, _d;
|
|
13464
13535
|
super.ngOnInit();
|
|
13465
13536
|
if (this.caseField.display_context_parameter) {
|
|
13466
13537
|
this.context = PaletteContext.TABLE_VIEW;
|
|
@@ -13471,18 +13542,20 @@ class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
13471
13542
|
this.context = PaletteContext.DEFAULT;
|
|
13472
13543
|
}
|
|
13473
13544
|
}
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13477
|
-
|
|
13478
|
-
|
|
13479
|
-
|
|
13480
|
-
|
|
13481
|
-
this.caseField.value[field.id].value.code
|
|
13482
|
-
|
|
13483
|
-
|
|
13484
|
-
|
|
13485
|
-
|
|
13545
|
+
if (((_a = this.caseField) === null || _a === void 0 ? void 0 : _a.field_type) && this.caseField.field_type.complex_fields) {
|
|
13546
|
+
(_d = (_c = (_b = this.caseField) === null || _b === void 0 ? void 0 : _b.field_type) === null || _c === void 0 ? void 0 : _c.complex_fields) === null || _d === void 0 ? void 0 : _d.forEach((field) => {
|
|
13547
|
+
var _a, _b, _c;
|
|
13548
|
+
if (field === null || field === void 0 ? void 0 : field.isDynamic()) {
|
|
13549
|
+
field.list_items = (_a = this.caseField.value[field.id]) === null || _a === void 0 ? void 0 : _a.list_items;
|
|
13550
|
+
field.value = {
|
|
13551
|
+
list_items: field.list_items,
|
|
13552
|
+
value: ((_b = this.caseField.value[field.id]) === null || _b === void 0 ? void 0 : _b.value) && this.caseField.value[field.id].value.code ?
|
|
13553
|
+
this.caseField.value[field.id].value.code :
|
|
13554
|
+
(_c = this.caseField.value[field.id]) === null || _c === void 0 ? void 0 : _c.value
|
|
13555
|
+
};
|
|
13556
|
+
}
|
|
13557
|
+
});
|
|
13558
|
+
}
|
|
13486
13559
|
}
|
|
13487
13560
|
}
|
|
13488
13561
|
ReadComplexFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵReadComplexFieldComponent_BaseFactory; return function ReadComplexFieldComponent_Factory(t) { return (ɵReadComplexFieldComponent_BaseFactory || (ɵReadComplexFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldComponent)))(t || ReadComplexFieldComponent); }; }();
|
|
@@ -14043,7 +14116,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
|
|
|
14043
14116
|
i0.ɵɵproperty("caseField", ctx_r2.caseField);
|
|
14044
14117
|
}
|
|
14045
14118
|
}
|
|
14046
|
-
const _c1$
|
|
14119
|
+
const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
14047
14120
|
class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
14048
14121
|
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
14049
14122
|
super();
|
|
@@ -14244,23 +14317,31 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14244
14317
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
14245
14318
|
}
|
|
14246
14319
|
getErrorMessage(error) {
|
|
14247
|
-
|
|
14248
|
-
|
|
14249
|
-
|
|
14250
|
-
|
|
14251
|
-
|
|
14252
|
-
|
|
14253
|
-
|
|
14254
|
-
|
|
14255
|
-
|
|
14256
|
-
|
|
14257
|
-
|
|
14258
|
-
|
|
14259
|
-
|
|
14320
|
+
switch (error.status) {
|
|
14321
|
+
case 0:
|
|
14322
|
+
case 502:
|
|
14323
|
+
return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
|
|
14324
|
+
case 422:
|
|
14325
|
+
{
|
|
14326
|
+
let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
14327
|
+
if (error === null || error === void 0 ? void 0 : error.error) {
|
|
14328
|
+
const fullError = error.error;
|
|
14329
|
+
const start = fullError.indexOf('{');
|
|
14330
|
+
if (start >= 0) {
|
|
14331
|
+
const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
|
|
14332
|
+
const obj = JSON.parse(json);
|
|
14333
|
+
if (obj === null || obj === void 0 ? void 0 : obj.error) {
|
|
14334
|
+
errorMsg = obj.error;
|
|
14335
|
+
}
|
|
14336
|
+
}
|
|
14337
|
+
}
|
|
14338
|
+
return errorMsg;
|
|
14260
14339
|
}
|
|
14261
|
-
|
|
14340
|
+
case 429:
|
|
14341
|
+
return error === null || error === void 0 ? void 0 : error.error;
|
|
14342
|
+
default:
|
|
14343
|
+
return WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
14262
14344
|
}
|
|
14263
|
-
return errorMsg;
|
|
14264
14345
|
}
|
|
14265
14346
|
buildDocumentUploadData(selectedFile) {
|
|
14266
14347
|
const documentUpload = new FormData();
|
|
@@ -14315,6 +14396,7 @@ WriteDocumentFieldComponent.DOCUMENT_HASH = 'document_hash';
|
|
|
14315
14396
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
14316
14397
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
14317
14398
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
14399
|
+
WriteDocumentFieldComponent.ERROR_UPLOADING_FILE = 'Error Uploading File';
|
|
14318
14400
|
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)); };
|
|
14319
14401
|
WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) {
|
|
14320
14402
|
if (rf & 1) {
|
|
@@ -14349,7 +14431,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
14349
14431
|
i0.ɵɵelementEnd()();
|
|
14350
14432
|
}
|
|
14351
14433
|
if (rf & 2) {
|
|
14352
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$
|
|
14434
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
|
|
14353
14435
|
i0.ɵɵadvance(1);
|
|
14354
14436
|
i0.ɵɵproperty("for", ctx.id());
|
|
14355
14437
|
i0.ɵɵadvance(1);
|
|
@@ -14385,7 +14467,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
14385
14467
|
|
|
14386
14468
|
class DynamicListPipe {
|
|
14387
14469
|
transform(value, items) {
|
|
14388
|
-
const item = items.find(i => i.code === value);
|
|
14470
|
+
const item = items === null || items === void 0 ? void 0 : items.find(i => i.code === value);
|
|
14389
14471
|
return item ? item.label : DynamicListPipe.EMPTY;
|
|
14390
14472
|
}
|
|
14391
14473
|
}
|
|
@@ -14573,9 +14655,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
14573
14655
|
})();
|
|
14574
14656
|
|
|
14575
14657
|
class MarkdownComponent {
|
|
14576
|
-
constructor() {
|
|
14658
|
+
constructor() {
|
|
14659
|
+
this.renderUrlToTextFeature = true;
|
|
14660
|
+
}
|
|
14577
14661
|
ngOnInit() {
|
|
14578
14662
|
this.content = this.content.replace(/ \n/g, '<br>');
|
|
14663
|
+
if (this.renderUrlToTextFeature) {
|
|
14664
|
+
this.renderUrlToText();
|
|
14665
|
+
}
|
|
14579
14666
|
}
|
|
14580
14667
|
onMarkdownClick(event) {
|
|
14581
14668
|
// If we don't have an anchor tag, we don't need to do anything.
|
|
@@ -14584,13 +14671,22 @@ class MarkdownComponent {
|
|
|
14584
14671
|
}
|
|
14585
14672
|
return true;
|
|
14586
14673
|
}
|
|
14674
|
+
renderUrlToText() {
|
|
14675
|
+
const renderer = new marked.Renderer();
|
|
14676
|
+
renderer.link = (href, title, text) => {
|
|
14677
|
+
return text; // Return the text without turning it into a link
|
|
14678
|
+
};
|
|
14679
|
+
marked.setOptions({
|
|
14680
|
+
renderer: renderer
|
|
14681
|
+
});
|
|
14682
|
+
}
|
|
14587
14683
|
}
|
|
14588
14684
|
MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
|
|
14589
14685
|
MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) {
|
|
14590
14686
|
if (rf & 1) {
|
|
14591
14687
|
i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
|
|
14592
14688
|
}
|
|
14593
|
-
}, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
|
|
14689
|
+
}, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
|
|
14594
14690
|
if (rf & 1) {
|
|
14595
14691
|
i0.ɵɵelementStart(0, "div");
|
|
14596
14692
|
i0.ɵɵelement(1, "markdown", 0);
|
|
@@ -14611,6 +14707,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
|
|
|
14611
14707
|
type: Input
|
|
14612
14708
|
}], markdownUseHrefAsRouterLink: [{
|
|
14613
14709
|
type: Input
|
|
14710
|
+
}], renderUrlToTextFeature: [{
|
|
14711
|
+
type: Input
|
|
14614
14712
|
}], onMarkdownClick: [{
|
|
14615
14713
|
type: HostListener,
|
|
14616
14714
|
args: ['click', ['$event']]
|
|
@@ -14745,7 +14843,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
|
|
|
14745
14843
|
i0.ɵɵadvance(1);
|
|
14746
14844
|
i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
|
|
14747
14845
|
i0.ɵɵadvance(1);
|
|
14748
|
-
i0.ɵɵproperty("content", checkbox_r4.label);
|
|
14846
|
+
i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
|
|
14749
14847
|
}
|
|
14750
14848
|
}
|
|
14751
14849
|
const _c0$O = function (a0) { return { "error": a0 }; };
|
|
@@ -14810,14 +14908,14 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
|
|
|
14810
14908
|
}
|
|
14811
14909
|
}
|
|
14812
14910
|
WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
|
|
14813
|
-
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) {
|
|
14911
|
+
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) {
|
|
14814
14912
|
if (rf & 1) {
|
|
14815
14913
|
i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
|
|
14816
14914
|
i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
|
|
14817
14915
|
i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
|
|
14818
14916
|
i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
|
|
14819
14917
|
i0.ɵɵelementEnd();
|
|
14820
|
-
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5,
|
|
14918
|
+
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
|
|
14821
14919
|
i0.ɵɵelementEnd()();
|
|
14822
14920
|
}
|
|
14823
14921
|
if (rf & 2) {
|
|
@@ -14835,7 +14933,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
|
|
|
14835
14933
|
(function () {
|
|
14836
14934
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
|
|
14837
14935
|
type: Component,
|
|
14838
|
-
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"] }]
|
|
14936
|
+
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"] }]
|
|
14839
14937
|
}], null, null);
|
|
14840
14938
|
})();
|
|
14841
14939
|
|
|
@@ -14979,7 +15077,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) {
|
|
|
14979
15077
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
|
|
14980
15078
|
}
|
|
14981
15079
|
}
|
|
14982
|
-
const _c1$
|
|
15080
|
+
const _c1$k = function (a0) { return { "form-group-error": a0 }; };
|
|
14983
15081
|
class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14984
15082
|
ngOnInit() {
|
|
14985
15083
|
/**
|
|
@@ -15019,7 +15117,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
|
|
|
15019
15117
|
i0.ɵɵelementEnd()();
|
|
15020
15118
|
}
|
|
15021
15119
|
if (rf & 2) {
|
|
15022
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$
|
|
15120
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
|
|
15023
15121
|
i0.ɵɵadvance(3);
|
|
15024
15122
|
i0.ɵɵproperty("for", ctx.id());
|
|
15025
15123
|
i0.ɵɵadvance(1);
|
|
@@ -15120,7 +15218,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) {
|
|
|
15120
15218
|
}
|
|
15121
15219
|
}
|
|
15122
15220
|
const _c0$M = function (a0) { return { "form-group-error": a0 }; };
|
|
15123
|
-
const _c1$
|
|
15221
|
+
const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
|
|
15124
15222
|
class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
|
|
15125
15223
|
ngOnInit() {
|
|
15126
15224
|
this.emailControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -15148,7 +15246,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
15148
15246
|
i0.ɵɵadvance(1);
|
|
15149
15247
|
i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
|
|
15150
15248
|
i0.ɵɵadvance(1);
|
|
15151
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
15249
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
|
|
15152
15250
|
}
|
|
15153
15251
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
15154
15252
|
(function () {
|
|
@@ -15403,7 +15501,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) {
|
|
|
15403
15501
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
|
|
15404
15502
|
}
|
|
15405
15503
|
}
|
|
15406
|
-
const _c1$
|
|
15504
|
+
const _c1$i = function (a0) { return { "form-group-error": a0 }; };
|
|
15407
15505
|
class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
15408
15506
|
ngOnInit() {
|
|
15409
15507
|
const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
|
|
@@ -15425,7 +15523,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
15425
15523
|
i0.ɵɵelementEnd()();
|
|
15426
15524
|
}
|
|
15427
15525
|
if (rf & 2) {
|
|
15428
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
15526
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
|
|
15429
15527
|
i0.ɵɵadvance(3);
|
|
15430
15528
|
i0.ɵɵproperty("for", ctx.id());
|
|
15431
15529
|
i0.ɵɵadvance(1);
|
|
@@ -15579,7 +15677,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) {
|
|
|
15579
15677
|
i0.ɵɵelementEnd();
|
|
15580
15678
|
}
|
|
15581
15679
|
}
|
|
15582
|
-
const _c1$
|
|
15680
|
+
const _c1$h = function (a0) { return { "form-group-error": a0 }; };
|
|
15583
15681
|
class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
|
|
15584
15682
|
constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
|
|
15585
15683
|
super(compoundPipe, validatorsService);
|
|
@@ -15732,7 +15830,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
15732
15830
|
}
|
|
15733
15831
|
if (rf & 2) {
|
|
15734
15832
|
const _r3 = i0.ɵɵreference(7);
|
|
15735
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$
|
|
15833
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
|
|
15736
15834
|
i0.ɵɵadvance(1);
|
|
15737
15835
|
i0.ɵɵproperty("for", ctx.id());
|
|
15738
15836
|
i0.ɵɵadvance(1);
|
|
@@ -16519,7 +16617,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) {
|
|
|
16519
16617
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
|
|
16520
16618
|
}
|
|
16521
16619
|
}
|
|
16522
|
-
const _c1$
|
|
16620
|
+
const _c1$g = function (a0) { return { "table-group-error": a0 }; };
|
|
16523
16621
|
function LinkCasesComponent_tr_31_Template(rf, ctx) {
|
|
16524
16622
|
if (rf & 1) {
|
|
16525
16623
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
@@ -16552,7 +16650,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) {
|
|
|
16552
16650
|
const case_r16 = ctx.$implicit;
|
|
16553
16651
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
16554
16652
|
i0.ɵɵadvance(2);
|
|
16555
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$
|
|
16653
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
|
|
16556
16654
|
i0.ɵɵadvance(2);
|
|
16557
16655
|
i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
|
|
16558
16656
|
i0.ɵɵadvance(2);
|
|
@@ -18639,7 +18737,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) {
|
|
|
18639
18737
|
}
|
|
18640
18738
|
}
|
|
18641
18739
|
const _c0$E = function (a0) { return { "form-group-error": a0 }; };
|
|
18642
|
-
const _c1$
|
|
18740
|
+
const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
|
|
18643
18741
|
class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
|
|
18644
18742
|
ngOnInit() {
|
|
18645
18743
|
this.numberControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -18667,7 +18765,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
|
|
|
18667
18765
|
i0.ɵɵadvance(1);
|
|
18668
18766
|
i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
|
|
18669
18767
|
i0.ɵɵadvance(1);
|
|
18670
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
18768
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
|
|
18671
18769
|
}
|
|
18672
18770
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
18673
18771
|
(function () {
|
|
@@ -19383,7 +19481,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) {
|
|
|
19383
19481
|
}
|
|
19384
19482
|
}
|
|
19385
19483
|
const _c0$C = function (a0) { return { "form-group-error": a0 }; };
|
|
19386
|
-
const _c1$
|
|
19484
|
+
const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
|
|
19387
19485
|
class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
|
|
19388
19486
|
ngOnInit() {
|
|
19389
19487
|
this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -19411,7 +19509,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
19411
19509
|
i0.ɵɵadvance(1);
|
|
19412
19510
|
i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
|
|
19413
19511
|
i0.ɵɵadvance(1);
|
|
19414
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
19512
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
|
|
19415
19513
|
}
|
|
19416
19514
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
19417
19515
|
(function () {
|
|
@@ -21653,7 +21751,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) {
|
|
|
21653
21751
|
}
|
|
21654
21752
|
}
|
|
21655
21753
|
const _c0$z = function (a0) { return { "form-group-error": a0 }; };
|
|
21656
|
-
const _c1$
|
|
21754
|
+
const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
|
|
21657
21755
|
class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
21658
21756
|
constructor(browserService) {
|
|
21659
21757
|
super();
|
|
@@ -21693,7 +21791,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21693
21791
|
i0.ɵɵadvance(1);
|
|
21694
21792
|
i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
|
|
21695
21793
|
i0.ɵɵadvance(1);
|
|
21696
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
21794
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
|
|
21697
21795
|
}
|
|
21698
21796
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
21699
21797
|
(function () {
|
|
@@ -21768,7 +21866,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) {
|
|
|
21768
21866
|
}
|
|
21769
21867
|
}
|
|
21770
21868
|
const _c0$y = function (a0) { return { "form-group-error": a0 }; };
|
|
21771
|
-
const _c1$
|
|
21869
|
+
const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
|
|
21772
21870
|
class WriteTextFieldComponent extends AbstractFieldWriteComponent {
|
|
21773
21871
|
ngOnInit() {
|
|
21774
21872
|
this.textControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -21800,7 +21898,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
|
|
|
21800
21898
|
i0.ɵɵadvance(1);
|
|
21801
21899
|
i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
|
|
21802
21900
|
i0.ɵɵadvance(1);
|
|
21803
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
21901
|
+
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);
|
|
21804
21902
|
}
|
|
21805
21903
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
21806
21904
|
(function () {
|
|
@@ -22007,7 +22105,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) {
|
|
|
22007
22105
|
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
22008
22106
|
}
|
|
22009
22107
|
}
|
|
22010
|
-
const _c1$
|
|
22108
|
+
const _c1$b = function (a0) { return { "form-group-error": a0 }; };
|
|
22011
22109
|
class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
|
|
22012
22110
|
constructor(yesNoService) {
|
|
22013
22111
|
super();
|
|
@@ -22031,7 +22129,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
22031
22129
|
i0.ɵɵelementEnd()()();
|
|
22032
22130
|
}
|
|
22033
22131
|
if (rf & 2) {
|
|
22034
|
-
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
22132
|
+
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
|
|
22035
22133
|
i0.ɵɵadvance(3);
|
|
22036
22134
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
22037
22135
|
i0.ɵɵadvance(1);
|
|
@@ -22429,7 +22527,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_co
|
|
|
22429
22527
|
i0.ɵɵelementContainer(0);
|
|
22430
22528
|
}
|
|
22431
22529
|
}
|
|
22432
|
-
const _c1$
|
|
22530
|
+
const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
|
|
22433
22531
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) {
|
|
22434
22532
|
if (rf & 1) {
|
|
22435
22533
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -22442,7 +22540,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
|
|
|
22442
22540
|
i0.ɵɵnextContext();
|
|
22443
22541
|
const _r1 = i0.ɵɵreference(13);
|
|
22444
22542
|
i0.ɵɵadvance(1);
|
|
22445
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$
|
|
22543
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
|
|
22446
22544
|
}
|
|
22447
22545
|
}
|
|
22448
22546
|
function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) {
|
|
@@ -22633,7 +22731,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) {
|
|
|
22633
22731
|
}
|
|
22634
22732
|
}
|
|
22635
22733
|
const _c0$s = [[["", "trigger", ""]]];
|
|
22636
|
-
const _c1$
|
|
22734
|
+
const _c1$9 = ["[trigger]"];
|
|
22637
22735
|
class CaseFileViewOverlayMenuComponent {
|
|
22638
22736
|
constructor() {
|
|
22639
22737
|
this.title = '';
|
|
@@ -22647,7 +22745,7 @@ class CaseFileViewOverlayMenuComponent {
|
|
|
22647
22745
|
}
|
|
22648
22746
|
}
|
|
22649
22747
|
CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
|
|
22650
|
-
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$
|
|
22748
|
+
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) {
|
|
22651
22749
|
if (rf & 1) {
|
|
22652
22750
|
i0.ɵɵprojectionDef(_c0$s);
|
|
22653
22751
|
i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
|
|
@@ -23216,7 +23314,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
23216
23314
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
23217
23315
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
23218
23316
|
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)); };
|
|
23219
|
-
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) {
|
|
23317
|
+
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) {
|
|
23220
23318
|
if (rf & 1) {
|
|
23221
23319
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
23222
23320
|
i0.ɵɵelement(2, "input", 2);
|
|
@@ -23241,7 +23339,7 @@ CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
23241
23339
|
(function () {
|
|
23242
23340
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
23243
23341
|
type: Component,
|
|
23244
|
-
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"] }]
|
|
23342
|
+
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"] }]
|
|
23245
23343
|
}], function () { return [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }]; }, { categoriesAndDocuments: [{
|
|
23246
23344
|
type: Input
|
|
23247
23345
|
}], allowMoving: [{
|
|
@@ -24908,7 +25006,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
|
|
|
24908
25006
|
}
|
|
24909
25007
|
}
|
|
24910
25008
|
const _c0$n = function (a0) { return { "form-group-error": a0 }; };
|
|
24911
|
-
const _c1$
|
|
25009
|
+
const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
24912
25010
|
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
|
|
24913
25011
|
if (rf & 1) {
|
|
24914
25012
|
i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
|
|
@@ -24930,7 +25028,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
|
|
|
24930
25028
|
i0.ɵɵadvance(3);
|
|
24931
25029
|
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
24932
25030
|
i0.ɵɵadvance(1);
|
|
24933
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
25031
|
+
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);
|
|
24934
25032
|
i0.ɵɵadvance(1);
|
|
24935
25033
|
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
24936
25034
|
}
|
|
@@ -25500,7 +25598,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) {
|
|
|
25500
25598
|
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
25501
25599
|
}
|
|
25502
25600
|
}
|
|
25503
|
-
const _c1$
|
|
25601
|
+
const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
|
|
25504
25602
|
class UpdateFlagComponent {
|
|
25505
25603
|
constructor(rpxTranslationService) {
|
|
25506
25604
|
this.rpxTranslationService = rpxTranslationService;
|
|
@@ -25709,7 +25807,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
|
|
|
25709
25807
|
const _r3 = i0.ɵɵreference(17);
|
|
25710
25808
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
25711
25809
|
i0.ɵɵadvance(2);
|
|
25712
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$
|
|
25810
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
|
|
25713
25811
|
i0.ɵɵadvance(3);
|
|
25714
25812
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
25715
25813
|
i0.ɵɵadvance(2);
|
|
@@ -27105,7 +27203,7 @@ const CUSTOM_MOMENT_FORMATS = {
|
|
|
27105
27203
|
};
|
|
27106
27204
|
|
|
27107
27205
|
const _c0$g = ["picker"];
|
|
27108
|
-
const _c1$
|
|
27206
|
+
const _c1$6 = ["input"];
|
|
27109
27207
|
function DatetimePickerComponent_span_3_Template(rf, ctx) {
|
|
27110
27208
|
if (rf & 1) {
|
|
27111
27209
|
i0.ɵɵelementStart(0, "span", 11);
|
|
@@ -27169,7 +27267,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) {
|
|
|
27169
27267
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
|
|
27170
27268
|
}
|
|
27171
27269
|
}
|
|
27172
|
-
const _c2$
|
|
27270
|
+
const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
|
|
27173
27271
|
class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
27174
27272
|
constructor(formatTranslationService, ngxMatDateFormats) {
|
|
27175
27273
|
super();
|
|
@@ -27335,7 +27433,7 @@ DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { re
|
|
|
27335
27433
|
DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) {
|
|
27336
27434
|
if (rf & 1) {
|
|
27337
27435
|
i0.ɵɵviewQuery(_c0$g, 5);
|
|
27338
|
-
i0.ɵɵviewQuery(_c1$
|
|
27436
|
+
i0.ɵɵviewQuery(_c1$6, 5);
|
|
27339
27437
|
}
|
|
27340
27438
|
if (rf & 2) {
|
|
27341
27439
|
let _t;
|
|
@@ -27371,7 +27469,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
27371
27469
|
}
|
|
27372
27470
|
if (rf & 2) {
|
|
27373
27471
|
const _r6 = i0.ɵɵreference(13);
|
|
27374
|
-
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$
|
|
27472
|
+
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
|
|
27375
27473
|
i0.ɵɵadvance(3);
|
|
27376
27474
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
27377
27475
|
i0.ɵɵadvance(1);
|
|
@@ -27625,7 +27723,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) {
|
|
|
27625
27723
|
i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
|
|
27626
27724
|
}
|
|
27627
27725
|
}
|
|
27628
|
-
const _c1$
|
|
27726
|
+
const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
|
|
27629
27727
|
function EventLogTableComponent_tr_20_Template(rf, ctx) {
|
|
27630
27728
|
if (rf & 1) {
|
|
27631
27729
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
@@ -27658,7 +27756,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) {
|
|
|
27658
27756
|
if (rf & 2) {
|
|
27659
27757
|
const event_r1 = ctx.$implicit;
|
|
27660
27758
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
27661
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$
|
|
27759
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
|
|
27662
27760
|
i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
|
|
27663
27761
|
i0.ɵɵadvance(2);
|
|
27664
27762
|
i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
|
|
@@ -29726,6 +29824,36 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) {
|
|
|
29726
29824
|
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
29727
29825
|
}
|
|
29728
29826
|
}
|
|
29827
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) {
|
|
29828
|
+
if (rf & 1) {
|
|
29829
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
29830
|
+
i0.ɵɵtext(1);
|
|
29831
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29832
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
29833
|
+
i0.ɵɵelementEnd();
|
|
29834
|
+
}
|
|
29835
|
+
if (rf & 2) {
|
|
29836
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
29837
|
+
i0.ɵɵadvance(1);
|
|
29838
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
|
|
29839
|
+
}
|
|
29840
|
+
}
|
|
29841
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) {
|
|
29842
|
+
if (rf & 1) {
|
|
29843
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
29844
|
+
i0.ɵɵtext(1);
|
|
29845
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29846
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
29847
|
+
i0.ɵɵelementEnd();
|
|
29848
|
+
}
|
|
29849
|
+
if (rf & 2) {
|
|
29850
|
+
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
29851
|
+
i0.ɵɵadvance(1);
|
|
29852
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
|
|
29853
|
+
}
|
|
29854
|
+
}
|
|
29855
|
+
const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
|
|
29856
|
+
const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
29729
29857
|
function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
|
|
29730
29858
|
if (rf & 1) {
|
|
29731
29859
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -29736,21 +29864,38 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
|
|
|
29736
29864
|
i0.ɵɵelementStart(6, "span", 43);
|
|
29737
29865
|
i0.ɵɵtext(7, "A few words describing the purpose of the event.");
|
|
29738
29866
|
i0.ɵɵelementEnd()();
|
|
29739
|
-
i0.ɵɵ
|
|
29867
|
+
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
|
|
29868
|
+
i0.ɵɵelement(9, "input", 45);
|
|
29740
29869
|
i0.ɵɵelementEnd();
|
|
29741
|
-
i0.ɵɵelementStart(
|
|
29742
|
-
i0.ɵɵtext(
|
|
29870
|
+
i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
|
|
29871
|
+
i0.ɵɵtext(12, "Event description (optional)");
|
|
29743
29872
|
i0.ɵɵelementEnd();
|
|
29744
|
-
i0.ɵɵ
|
|
29873
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
|
|
29874
|
+
i0.ɵɵelement(14, "textarea", 47);
|
|
29745
29875
|
i0.ɵɵelementEnd()();
|
|
29746
29876
|
i0.ɵɵelementContainerEnd();
|
|
29747
29877
|
}
|
|
29878
|
+
if (rf & 2) {
|
|
29879
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
29880
|
+
i0.ɵɵadvance(3);
|
|
29881
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
29882
|
+
i0.ɵɵadvance(5);
|
|
29883
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
|
|
29884
|
+
i0.ɵɵadvance(1);
|
|
29885
|
+
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)));
|
|
29886
|
+
i0.ɵɵadvance(1);
|
|
29887
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
29888
|
+
i0.ɵɵadvance(3);
|
|
29889
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
|
|
29890
|
+
i0.ɵɵadvance(1);
|
|
29891
|
+
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)));
|
|
29892
|
+
}
|
|
29748
29893
|
}
|
|
29749
29894
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
|
|
29750
29895
|
if (rf & 1) {
|
|
29751
|
-
const
|
|
29752
|
-
i0.ɵɵelementStart(0, "button",
|
|
29753
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
29896
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
29897
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
29898
|
+
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()); });
|
|
29754
29899
|
i0.ɵɵtext(1);
|
|
29755
29900
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29756
29901
|
i0.ɵɵelementEnd();
|
|
@@ -29764,7 +29909,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
|
|
|
29764
29909
|
}
|
|
29765
29910
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
29766
29911
|
if (rf & 1) {
|
|
29767
|
-
const
|
|
29912
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
29768
29913
|
i0.ɵɵelementStart(0, "div")(1, "h1", 2);
|
|
29769
29914
|
i0.ɵɵtext(2);
|
|
29770
29915
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
@@ -29774,13 +29919,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29774
29919
|
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
29775
29920
|
i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
|
|
29776
29921
|
i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
|
|
29777
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(
|
|
29922
|
+
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)); });
|
|
29778
29923
|
i0.ɵɵelementEnd();
|
|
29779
29924
|
i0.ɵɵelementStart(11, "form", 8);
|
|
29780
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(
|
|
29925
|
+
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()); });
|
|
29781
29926
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
29782
29927
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
29783
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
29928
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
|
|
29784
29929
|
i0.ɵɵelementStart(15, "div", 9);
|
|
29785
29930
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
29786
29931
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -29788,7 +29933,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29788
29933
|
i0.ɵɵpipe(19, "rpxTranslate");
|
|
29789
29934
|
i0.ɵɵelementEnd()();
|
|
29790
29935
|
i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
|
|
29791
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(
|
|
29936
|
+
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()); });
|
|
29792
29937
|
i0.ɵɵtext(22);
|
|
29793
29938
|
i0.ɵɵpipe(23, "rpxTranslate");
|
|
29794
29939
|
i0.ɵɵelementEnd()()()();
|
|
@@ -29827,9 +29972,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29827
29972
|
}
|
|
29828
29973
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
29829
29974
|
if (rf & 1) {
|
|
29830
|
-
const
|
|
29831
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
29832
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
29975
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
29976
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
|
|
29977
|
+
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)); });
|
|
29833
29978
|
i0.ɵɵelementEnd();
|
|
29834
29979
|
}
|
|
29835
29980
|
if (rf & 2) {
|
|
@@ -29839,14 +29984,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
|
29839
29984
|
}
|
|
29840
29985
|
// @dynamic
|
|
29841
29986
|
class CaseEditSubmitComponent {
|
|
29842
|
-
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
29987
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
|
|
29843
29988
|
this.caseEdit = caseEdit;
|
|
29844
29989
|
this.fieldsUtils = fieldsUtils;
|
|
29845
29990
|
this.caseFieldService = caseFieldService;
|
|
29846
29991
|
this.route = route;
|
|
29847
29992
|
this.orderService = orderService;
|
|
29848
29993
|
this.profileNotifier = profileNotifier;
|
|
29994
|
+
this.formValidatorsService = formValidatorsService;
|
|
29849
29995
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
29996
|
+
this.eventSummaryLabel = 'Event summary';
|
|
29997
|
+
this.eventDescriptionLabel = 'Event description';
|
|
29850
29998
|
}
|
|
29851
29999
|
get isDisabled() {
|
|
29852
30000
|
// EUI-3452.
|
|
@@ -29857,7 +30005,7 @@ class CaseEditSubmitComponent {
|
|
|
29857
30005
|
}
|
|
29858
30006
|
ngOnInit() {
|
|
29859
30007
|
var _a, _b, _c;
|
|
29860
|
-
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
30008
|
+
this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
|
|
29861
30009
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
29862
30010
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
29863
30011
|
this.editForm = this.caseEdit.form;
|
|
@@ -29870,10 +30018,12 @@ class CaseEditSubmitComponent {
|
|
|
29870
30018
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
29871
30019
|
// a FlagLauncher field in the event trigger
|
|
29872
30020
|
this.caseEdit.isCaseFlagSubmission =
|
|
29873
|
-
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
30021
|
+
this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
29874
30022
|
this.caseEdit.isLinkedCasesSubmission =
|
|
29875
30023
|
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
|
|
29876
30024
|
this.pageTitle = this.getPageTitle();
|
|
30025
|
+
this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
|
|
30026
|
+
this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
|
|
29877
30027
|
}
|
|
29878
30028
|
ngOnDestroy() {
|
|
29879
30029
|
/* istanbul ignore else */
|
|
@@ -29882,12 +30032,14 @@ class CaseEditSubmitComponent {
|
|
|
29882
30032
|
}
|
|
29883
30033
|
}
|
|
29884
30034
|
submit() {
|
|
29885
|
-
this.
|
|
29886
|
-
|
|
29887
|
-
|
|
29888
|
-
|
|
29889
|
-
|
|
29890
|
-
|
|
30035
|
+
if (this.summary.valid && this.description.valid) {
|
|
30036
|
+
this.caseEdit.submitForm({
|
|
30037
|
+
eventTrigger: this.eventTrigger,
|
|
30038
|
+
form: this.editForm,
|
|
30039
|
+
submit: this.caseEdit.submit,
|
|
30040
|
+
caseDetails: this.caseEdit.caseDetails
|
|
30041
|
+
});
|
|
30042
|
+
}
|
|
29891
30043
|
}
|
|
29892
30044
|
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
29893
30045
|
this.caseEdit.onEventCanBeCompleted({
|
|
@@ -29895,7 +30047,7 @@ class CaseEditSubmitComponent {
|
|
|
29895
30047
|
eventCanBeCompleted,
|
|
29896
30048
|
caseDetails: this.caseEdit.caseDetails,
|
|
29897
30049
|
form: this.editForm,
|
|
29898
|
-
submit: this.caseEdit.submit
|
|
30050
|
+
submit: this.caseEdit.submit
|
|
29899
30051
|
});
|
|
29900
30052
|
}
|
|
29901
30053
|
getPageTitle() {
|
|
@@ -29971,7 +30123,7 @@ class CaseEditSubmitComponent {
|
|
|
29971
30123
|
}
|
|
29972
30124
|
}
|
|
29973
30125
|
readOnlySummaryFieldsToDisplayExists() {
|
|
29974
|
-
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
30126
|
+
return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
|
|
29975
30127
|
}
|
|
29976
30128
|
showEventNotes() {
|
|
29977
30129
|
var _a;
|
|
@@ -29987,7 +30139,7 @@ class CaseEditSubmitComponent {
|
|
|
29987
30139
|
}
|
|
29988
30140
|
getLastPageShown() {
|
|
29989
30141
|
let lastPage;
|
|
29990
|
-
this.wizard.reverse().forEach(page => {
|
|
30142
|
+
this.wizard.reverse().forEach((page) => {
|
|
29991
30143
|
if (!lastPage && this.isShown(page)) {
|
|
29992
30144
|
lastPage = page;
|
|
29993
30145
|
}
|
|
@@ -30006,7 +30158,7 @@ class CaseEditSubmitComponent {
|
|
|
30006
30158
|
}
|
|
30007
30159
|
isShown(page) {
|
|
30008
30160
|
const fields = this.fieldsUtils
|
|
30009
|
-
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls
|
|
30161
|
+
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
|
|
30010
30162
|
return page.parsedShowCondition.match(fields);
|
|
30011
30163
|
}
|
|
30012
30164
|
canShowFieldInCYA(field) {
|
|
@@ -30015,7 +30167,7 @@ class CaseEditSubmitComponent {
|
|
|
30015
30167
|
sortFieldsByShowSummaryContent(fields) {
|
|
30016
30168
|
return this.orderService
|
|
30017
30169
|
.sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
|
|
30018
|
-
.filter(cf => cf.show_summary_content_option);
|
|
30170
|
+
.filter((cf) => cf.show_summary_content_option);
|
|
30019
30171
|
}
|
|
30020
30172
|
getCaseFields() {
|
|
30021
30173
|
if (this.caseEdit.caseDetails) {
|
|
@@ -30034,9 +30186,7 @@ class CaseEditSubmitComponent {
|
|
|
30034
30186
|
if (this.eventTrigger.can_save_draft) {
|
|
30035
30187
|
return 'Return to case list';
|
|
30036
30188
|
}
|
|
30037
|
-
|
|
30038
|
-
return 'Cancel';
|
|
30039
|
-
}
|
|
30189
|
+
return 'Cancel';
|
|
30040
30190
|
}
|
|
30041
30191
|
}
|
|
30042
30192
|
CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
@@ -30050,8 +30200,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
30050
30200
|
}
|
|
30051
30201
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
30052
30202
|
};
|
|
30053
|
-
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)); };
|
|
30054
|
-
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) {
|
|
30203
|
+
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)); };
|
|
30204
|
+
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) {
|
|
30055
30205
|
if (rf & 1) {
|
|
30056
30206
|
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
|
|
30057
30207
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
@@ -30065,8 +30215,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
30065
30215
|
(function () {
|
|
30066
30216
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
30067
30217
|
type: Component,
|
|
30068
|
-
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
|
|
30069
|
-
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null);
|
|
30218
|
+
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"] }]
|
|
30219
|
+
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null);
|
|
30070
30220
|
})();
|
|
30071
30221
|
|
|
30072
30222
|
function CaseProgressComponent_div_0_Template(rf, ctx) {
|
|
@@ -30464,7 +30614,7 @@ i0.ɵɵsetComponentScope(CaseEditPageComponent, function () {
|
|
|
30464
30614
|
CaseEditGenericErrorsComponent];
|
|
30465
30615
|
}, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
|
|
30466
30616
|
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]; });
|
|
30467
|
-
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]; });
|
|
30617
|
+
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]; });
|
|
30468
30618
|
i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
30469
30619
|
i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
30470
30620
|
|
|
@@ -32215,29 +32365,29 @@ function CaseHistoryComponent_div_0_Template(rf, ctx) {
|
|
|
32215
32365
|
i0.ɵɵadvance(6);
|
|
32216
32366
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 19, "Date"));
|
|
32217
32367
|
i0.ɵɵadvance(3);
|
|
32218
|
-
i0.ɵɵtextInterpolate(i0.ɵɵ
|
|
32368
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(18, 21, ctx_r0.caseHistory.event.timestamp, "local"));
|
|
32219
32369
|
i0.ɵɵadvance(4);
|
|
32220
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22,
|
|
32370
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 24, "Author"));
|
|
32221
32371
|
i0.ɵɵadvance(3);
|
|
32222
|
-
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25,
|
|
32372
|
+
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25, 26, ctx_r0.caseHistory.event.user_first_name), " ", i0.ɵɵpipeBind1(26, 28, ctx_r0.caseHistory.event.user_last_name), "");
|
|
32223
32373
|
i0.ɵɵadvance(5);
|
|
32224
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30,
|
|
32374
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 30, "End state"));
|
|
32225
32375
|
i0.ɵɵadvance(3);
|
|
32226
32376
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.state_name);
|
|
32227
32377
|
i0.ɵɵadvance(3);
|
|
32228
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36,
|
|
32378
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36, 32, "Event"));
|
|
32229
32379
|
i0.ɵɵadvance(3);
|
|
32230
32380
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.event_name);
|
|
32231
32381
|
i0.ɵɵadvance(3);
|
|
32232
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42,
|
|
32382
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42, 34, "Summary"));
|
|
32233
32383
|
i0.ɵɵadvance(3);
|
|
32234
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45,
|
|
32384
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 36, ctx_r0.caseHistory.event.summary));
|
|
32235
32385
|
i0.ɵɵadvance(4);
|
|
32236
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49,
|
|
32386
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49, 38, "Comment"));
|
|
32237
32387
|
i0.ɵɵadvance(3);
|
|
32238
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52,
|
|
32388
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52, 40, ctx_r0.caseHistory.event.comment));
|
|
32239
32389
|
i0.ɵɵadvance(4);
|
|
32240
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56,
|
|
32390
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56, 42, "Case Details"));
|
|
32241
32391
|
i0.ɵɵadvance(2);
|
|
32242
32392
|
i0.ɵɵproperty("ngForOf", ctx_r0.tabs);
|
|
32243
32393
|
}
|
|
@@ -32293,7 +32443,7 @@ CaseHistoryComponent.ERROR_MESSAGE = 'No case history to show';
|
|
|
32293
32443
|
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)); };
|
|
32294
32444
|
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) {
|
|
32295
32445
|
if (rf & 1) {
|
|
32296
|
-
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58,
|
|
32446
|
+
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58, 44, "div", 0);
|
|
32297
32447
|
}
|
|
32298
32448
|
if (rf & 2) {
|
|
32299
32449
|
i0.ɵɵproperty("ngIf", ctx.isDataLoaded());
|
|
@@ -32302,7 +32452,7 @@ CaseHistoryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseHi
|
|
|
32302
32452
|
(function () {
|
|
32303
32453
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseHistoryComponent, [{
|
|
32304
32454
|
type: Component,
|
|
32305
|
-
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"] }]
|
|
32455
|
+
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"] }]
|
|
32306
32456
|
}], function () { return [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }]; }, { event: [{
|
|
32307
32457
|
type: Input
|
|
32308
32458
|
}] });
|
|
@@ -33504,7 +33654,7 @@ function CaseFullAccessViewComponent_ng_container_12_mat_tab_4_ng_template_2_Tem
|
|
|
33504
33654
|
const tab_r20 = i0.ɵɵnextContext().$implicit;
|
|
33505
33655
|
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
33506
33656
|
i0.ɵɵclassMap(tab_r20.id);
|
|
33507
|
-
i0.ɵɵattribute("aria-
|
|
33657
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 4, "case viewer table"));
|
|
33508
33658
|
i0.ɵɵadvance(3);
|
|
33509
33659
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(4, 6, i0.ɵɵpureFunction2(14, _c1$3, i0.ɵɵpipeBind1(5, 12, tab_r20), ctx_r22.formGroup.controls["data"])));
|
|
33510
33660
|
}
|
|
@@ -33988,7 +34138,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
33988
34138
|
(function () {
|
|
33989
34139
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
33990
34140
|
type: Component,
|
|
33991
|
-
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-
|
|
34141
|
+
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"] }]
|
|
33992
34142
|
}], 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: [{
|
|
33993
34143
|
type: Input
|
|
33994
34144
|
}], hasEventSelector: [{
|