@hmcts/ccd-case-ui-toolkit 7.0.22 → 7.0.23-pre-release-markdown
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +35 -7
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +83 -38
- package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +6 -5
- package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +10 -5
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +12 -11
- package/esm2020/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +12 -12
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +41 -16
- package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +5 -5
- package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +26 -3
- package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +4 -1
- package/esm2020/lib/shared/domain/document/document-data.model.mjs +1 -1
- package/esm2020/lib/shared/domain/http/http-error.model.mjs +7 -1
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +4 -3
- package/esm2020/lib/shared/services/form/form-validators.service.mjs +27 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +306 -141
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +303 -141
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +8 -3
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +2 -0
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts +4 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
- package/lib/shared/domain/document/document-data.model.d.ts +1 -0
- package/lib/shared/domain/document/document-data.model.d.ts.map +1 -1
- package/lib/shared/domain/http/http-error.model.d.ts +1 -0
- package/lib/shared/domain/http/http-error.model.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/form/form-validators.service.d.ts +4 -0
- package/lib/shared/services/form/form-validators.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ import { MatDialogConfig } from '@angular/material/dialog';
|
|
|
27
27
|
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
28
28
|
import * as i2 from '@nicky-lenaers/ngx-scroll-to';
|
|
29
29
|
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
|
30
|
+
import * as marked from 'marked';
|
|
30
31
|
import * as i1$4 from 'ngx-md';
|
|
31
32
|
import { NgxMdModule } from 'ngx-md';
|
|
32
33
|
import * as i5 from '@angular/material/legacy-autocomplete';
|
|
@@ -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) {
|
|
@@ -14045,7 +14116,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
|
|
|
14045
14116
|
i0.ɵɵproperty("caseField", ctx_r2.caseField);
|
|
14046
14117
|
}
|
|
14047
14118
|
}
|
|
14048
|
-
const _c1$
|
|
14119
|
+
const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
14049
14120
|
class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
14050
14121
|
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
14051
14122
|
super();
|
|
@@ -14226,6 +14297,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14226
14297
|
if (documentHash) {
|
|
14227
14298
|
this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).setValue(documentHash);
|
|
14228
14299
|
}
|
|
14300
|
+
if (this.uploadedDocument.get(WriteDocumentFieldComponent.UPLOAD_TIMESTAMP)) {
|
|
14301
|
+
this.uploadedDocument.removeControl(WriteDocumentFieldComponent.UPLOAD_TIMESTAMP);
|
|
14302
|
+
}
|
|
14229
14303
|
}
|
|
14230
14304
|
createDocumentFormWithValidator(document) {
|
|
14231
14305
|
let documentFormGroup = {
|
|
@@ -14233,6 +14307,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14233
14307
|
document_binary_url: new FormControl(document.document_binary_url, Validators.required),
|
|
14234
14308
|
document_filename: new FormControl(document.document_filename, Validators.required)
|
|
14235
14309
|
};
|
|
14310
|
+
if (document.upload_timestamp && (typeof document.upload_timestamp === 'string')) {
|
|
14311
|
+
documentFormGroup = Object.assign(Object.assign({}, documentFormGroup), { upload_timestamp: new FormControl(document.upload_timestamp) });
|
|
14312
|
+
}
|
|
14236
14313
|
documentFormGroup = this.secureModeOn ? Object.assign(Object.assign({}, documentFormGroup), { document_hash: new FormControl(document.document_hash) }) : documentFormGroup;
|
|
14237
14314
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
14238
14315
|
}
|
|
@@ -14242,27 +14319,38 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14242
14319
|
document_binary_url: new FormControl(document.document_binary_url),
|
|
14243
14320
|
document_filename: new FormControl(document.document_filename)
|
|
14244
14321
|
};
|
|
14322
|
+
if (document.upload_timestamp && (typeof document.upload_timestamp === 'string')) {
|
|
14323
|
+
documentFormGroup = Object.assign(Object.assign({}, documentFormGroup), { upload_timestamp: new FormControl(document.upload_timestamp) });
|
|
14324
|
+
}
|
|
14245
14325
|
documentFormGroup = this.secureModeOn ? Object.assign(Object.assign({}, documentFormGroup), { document_hash: new FormControl(document.document_hash) }) : documentFormGroup;
|
|
14246
14326
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
14247
14327
|
}
|
|
14248
14328
|
getErrorMessage(error) {
|
|
14249
|
-
|
|
14250
|
-
|
|
14251
|
-
|
|
14252
|
-
|
|
14253
|
-
|
|
14254
|
-
|
|
14255
|
-
|
|
14256
|
-
|
|
14257
|
-
|
|
14258
|
-
|
|
14259
|
-
|
|
14260
|
-
|
|
14261
|
-
|
|
14329
|
+
switch (error.status) {
|
|
14330
|
+
case 0:
|
|
14331
|
+
case 502:
|
|
14332
|
+
return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
|
|
14333
|
+
case 422:
|
|
14334
|
+
{
|
|
14335
|
+
let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
14336
|
+
if (error === null || error === void 0 ? void 0 : error.error) {
|
|
14337
|
+
const fullError = error.error;
|
|
14338
|
+
const start = fullError.indexOf('{');
|
|
14339
|
+
if (start >= 0) {
|
|
14340
|
+
const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
|
|
14341
|
+
const obj = JSON.parse(json);
|
|
14342
|
+
if (obj === null || obj === void 0 ? void 0 : obj.error) {
|
|
14343
|
+
errorMsg = obj.error;
|
|
14344
|
+
}
|
|
14345
|
+
}
|
|
14346
|
+
}
|
|
14347
|
+
return errorMsg;
|
|
14262
14348
|
}
|
|
14263
|
-
|
|
14349
|
+
case 429:
|
|
14350
|
+
return error === null || error === void 0 ? void 0 : error.error;
|
|
14351
|
+
default:
|
|
14352
|
+
return WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
14264
14353
|
}
|
|
14265
|
-
return errorMsg;
|
|
14266
14354
|
}
|
|
14267
14355
|
buildDocumentUploadData(selectedFile) {
|
|
14268
14356
|
const documentUpload = new FormData();
|
|
@@ -14314,9 +14402,11 @@ WriteDocumentFieldComponent.DOCUMENT_URL = 'document_url';
|
|
|
14314
14402
|
WriteDocumentFieldComponent.DOCUMENT_BINARY_URL = 'document_binary_url';
|
|
14315
14403
|
WriteDocumentFieldComponent.DOCUMENT_FILENAME = 'document_filename';
|
|
14316
14404
|
WriteDocumentFieldComponent.DOCUMENT_HASH = 'document_hash';
|
|
14405
|
+
WriteDocumentFieldComponent.UPLOAD_TIMESTAMP = 'upload_timestamp';
|
|
14317
14406
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
14318
14407
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
14319
14408
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
14409
|
+
WriteDocumentFieldComponent.ERROR_UPLOADING_FILE = 'Error Uploading File';
|
|
14320
14410
|
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)); };
|
|
14321
14411
|
WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) {
|
|
14322
14412
|
if (rf & 1) {
|
|
@@ -14351,7 +14441,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
14351
14441
|
i0.ɵɵelementEnd()();
|
|
14352
14442
|
}
|
|
14353
14443
|
if (rf & 2) {
|
|
14354
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$
|
|
14444
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
|
|
14355
14445
|
i0.ɵɵadvance(1);
|
|
14356
14446
|
i0.ɵɵproperty("for", ctx.id());
|
|
14357
14447
|
i0.ɵɵadvance(1);
|
|
@@ -14575,9 +14665,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
14575
14665
|
})();
|
|
14576
14666
|
|
|
14577
14667
|
class MarkdownComponent {
|
|
14578
|
-
constructor() {
|
|
14668
|
+
constructor() {
|
|
14669
|
+
this.renderUrlToTextFeature = true;
|
|
14670
|
+
}
|
|
14579
14671
|
ngOnInit() {
|
|
14580
14672
|
this.content = this.content.replace(/ \n/g, '<br>');
|
|
14673
|
+
if (this.renderUrlToTextFeature) {
|
|
14674
|
+
this.renderUrlToText();
|
|
14675
|
+
}
|
|
14581
14676
|
}
|
|
14582
14677
|
onMarkdownClick(event) {
|
|
14583
14678
|
// If we don't have an anchor tag, we don't need to do anything.
|
|
@@ -14586,13 +14681,28 @@ class MarkdownComponent {
|
|
|
14586
14681
|
}
|
|
14587
14682
|
return true;
|
|
14588
14683
|
}
|
|
14684
|
+
renderUrlToText() {
|
|
14685
|
+
const renderer = new marked.Renderer();
|
|
14686
|
+
renderer.link = (href, title, text) => {
|
|
14687
|
+
// Return the text without turning it into a link if it's not an internal link
|
|
14688
|
+
return this.isAllowedUrl(href) ? `<a href="${href}">${text}</a>` : text;
|
|
14689
|
+
};
|
|
14690
|
+
marked.setOptions({
|
|
14691
|
+
renderer: renderer
|
|
14692
|
+
});
|
|
14693
|
+
}
|
|
14694
|
+
isAllowedUrl(url) {
|
|
14695
|
+
const currentOrigin = window.location.origin;
|
|
14696
|
+
const urlOrigin = new URL(url, window.location.href).origin;
|
|
14697
|
+
return urlOrigin === currentOrigin || url.startsWith('/'); // Check if same origin or relative
|
|
14698
|
+
}
|
|
14589
14699
|
}
|
|
14590
14700
|
MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
|
|
14591
14701
|
MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) {
|
|
14592
14702
|
if (rf & 1) {
|
|
14593
14703
|
i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
|
|
14594
14704
|
}
|
|
14595
|
-
}, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
|
|
14705
|
+
}, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) {
|
|
14596
14706
|
if (rf & 1) {
|
|
14597
14707
|
i0.ɵɵelementStart(0, "div");
|
|
14598
14708
|
i0.ɵɵelement(1, "markdown", 0);
|
|
@@ -14613,6 +14723,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
|
|
|
14613
14723
|
type: Input
|
|
14614
14724
|
}], markdownUseHrefAsRouterLink: [{
|
|
14615
14725
|
type: Input
|
|
14726
|
+
}], renderUrlToTextFeature: [{
|
|
14727
|
+
type: Input
|
|
14616
14728
|
}], onMarkdownClick: [{
|
|
14617
14729
|
type: HostListener,
|
|
14618
14730
|
args: ['click', ['$event']]
|
|
@@ -14747,7 +14859,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
|
|
|
14747
14859
|
i0.ɵɵadvance(1);
|
|
14748
14860
|
i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
|
|
14749
14861
|
i0.ɵɵadvance(1);
|
|
14750
|
-
i0.ɵɵproperty("content", checkbox_r4.label);
|
|
14862
|
+
i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
|
|
14751
14863
|
}
|
|
14752
14864
|
}
|
|
14753
14865
|
const _c0$O = function (a0) { return { "error": a0 }; };
|
|
@@ -14812,14 +14924,14 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
|
|
|
14812
14924
|
}
|
|
14813
14925
|
}
|
|
14814
14926
|
WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
|
|
14815
|
-
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) {
|
|
14927
|
+
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) {
|
|
14816
14928
|
if (rf & 1) {
|
|
14817
14929
|
i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
|
|
14818
14930
|
i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
|
|
14819
14931
|
i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
|
|
14820
14932
|
i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
|
|
14821
14933
|
i0.ɵɵelementEnd();
|
|
14822
|
-
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5,
|
|
14934
|
+
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
|
|
14823
14935
|
i0.ɵɵelementEnd()();
|
|
14824
14936
|
}
|
|
14825
14937
|
if (rf & 2) {
|
|
@@ -14837,7 +14949,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
|
|
|
14837
14949
|
(function () {
|
|
14838
14950
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
|
|
14839
14951
|
type: Component,
|
|
14840
|
-
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"] }]
|
|
14952
|
+
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"] }]
|
|
14841
14953
|
}], null, null);
|
|
14842
14954
|
})();
|
|
14843
14955
|
|
|
@@ -14981,7 +15093,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) {
|
|
|
14981
15093
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
|
|
14982
15094
|
}
|
|
14983
15095
|
}
|
|
14984
|
-
const _c1$
|
|
15096
|
+
const _c1$k = function (a0) { return { "form-group-error": a0 }; };
|
|
14985
15097
|
class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14986
15098
|
ngOnInit() {
|
|
14987
15099
|
/**
|
|
@@ -15021,7 +15133,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
|
|
|
15021
15133
|
i0.ɵɵelementEnd()();
|
|
15022
15134
|
}
|
|
15023
15135
|
if (rf & 2) {
|
|
15024
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$
|
|
15136
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
|
|
15025
15137
|
i0.ɵɵadvance(3);
|
|
15026
15138
|
i0.ɵɵproperty("for", ctx.id());
|
|
15027
15139
|
i0.ɵɵadvance(1);
|
|
@@ -15122,7 +15234,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) {
|
|
|
15122
15234
|
}
|
|
15123
15235
|
}
|
|
15124
15236
|
const _c0$M = function (a0) { return { "form-group-error": a0 }; };
|
|
15125
|
-
const _c1$
|
|
15237
|
+
const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
|
|
15126
15238
|
class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
|
|
15127
15239
|
ngOnInit() {
|
|
15128
15240
|
this.emailControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -15150,7 +15262,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
15150
15262
|
i0.ɵɵadvance(1);
|
|
15151
15263
|
i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
|
|
15152
15264
|
i0.ɵɵadvance(1);
|
|
15153
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
15265
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
|
|
15154
15266
|
}
|
|
15155
15267
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
15156
15268
|
(function () {
|
|
@@ -15405,7 +15517,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) {
|
|
|
15405
15517
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
|
|
15406
15518
|
}
|
|
15407
15519
|
}
|
|
15408
|
-
const _c1$
|
|
15520
|
+
const _c1$i = function (a0) { return { "form-group-error": a0 }; };
|
|
15409
15521
|
class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
15410
15522
|
ngOnInit() {
|
|
15411
15523
|
const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
|
|
@@ -15427,7 +15539,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
15427
15539
|
i0.ɵɵelementEnd()();
|
|
15428
15540
|
}
|
|
15429
15541
|
if (rf & 2) {
|
|
15430
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
15542
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
|
|
15431
15543
|
i0.ɵɵadvance(3);
|
|
15432
15544
|
i0.ɵɵproperty("for", ctx.id());
|
|
15433
15545
|
i0.ɵɵadvance(1);
|
|
@@ -15581,7 +15693,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) {
|
|
|
15581
15693
|
i0.ɵɵelementEnd();
|
|
15582
15694
|
}
|
|
15583
15695
|
}
|
|
15584
|
-
const _c1$
|
|
15696
|
+
const _c1$h = function (a0) { return { "form-group-error": a0 }; };
|
|
15585
15697
|
class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
|
|
15586
15698
|
constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
|
|
15587
15699
|
super(compoundPipe, validatorsService);
|
|
@@ -15734,7 +15846,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
15734
15846
|
}
|
|
15735
15847
|
if (rf & 2) {
|
|
15736
15848
|
const _r3 = i0.ɵɵreference(7);
|
|
15737
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$
|
|
15849
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
|
|
15738
15850
|
i0.ɵɵadvance(1);
|
|
15739
15851
|
i0.ɵɵproperty("for", ctx.id());
|
|
15740
15852
|
i0.ɵɵadvance(1);
|
|
@@ -16521,7 +16633,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) {
|
|
|
16521
16633
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
|
|
16522
16634
|
}
|
|
16523
16635
|
}
|
|
16524
|
-
const _c1$
|
|
16636
|
+
const _c1$g = function (a0) { return { "table-group-error": a0 }; };
|
|
16525
16637
|
function LinkCasesComponent_tr_31_Template(rf, ctx) {
|
|
16526
16638
|
if (rf & 1) {
|
|
16527
16639
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
@@ -16554,7 +16666,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) {
|
|
|
16554
16666
|
const case_r16 = ctx.$implicit;
|
|
16555
16667
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
16556
16668
|
i0.ɵɵadvance(2);
|
|
16557
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$
|
|
16669
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
|
|
16558
16670
|
i0.ɵɵadvance(2);
|
|
16559
16671
|
i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
|
|
16560
16672
|
i0.ɵɵadvance(2);
|
|
@@ -18641,7 +18753,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) {
|
|
|
18641
18753
|
}
|
|
18642
18754
|
}
|
|
18643
18755
|
const _c0$E = function (a0) { return { "form-group-error": a0 }; };
|
|
18644
|
-
const _c1$
|
|
18756
|
+
const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
|
|
18645
18757
|
class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
|
|
18646
18758
|
ngOnInit() {
|
|
18647
18759
|
this.numberControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -18669,7 +18781,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
|
|
|
18669
18781
|
i0.ɵɵadvance(1);
|
|
18670
18782
|
i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
|
|
18671
18783
|
i0.ɵɵadvance(1);
|
|
18672
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
18784
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
|
|
18673
18785
|
}
|
|
18674
18786
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
18675
18787
|
(function () {
|
|
@@ -19385,7 +19497,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) {
|
|
|
19385
19497
|
}
|
|
19386
19498
|
}
|
|
19387
19499
|
const _c0$C = function (a0) { return { "form-group-error": a0 }; };
|
|
19388
|
-
const _c1$
|
|
19500
|
+
const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
|
|
19389
19501
|
class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
|
|
19390
19502
|
ngOnInit() {
|
|
19391
19503
|
this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -19413,7 +19525,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
19413
19525
|
i0.ɵɵadvance(1);
|
|
19414
19526
|
i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
|
|
19415
19527
|
i0.ɵɵadvance(1);
|
|
19416
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
19528
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
|
|
19417
19529
|
}
|
|
19418
19530
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
19419
19531
|
(function () {
|
|
@@ -21655,7 +21767,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) {
|
|
|
21655
21767
|
}
|
|
21656
21768
|
}
|
|
21657
21769
|
const _c0$z = function (a0) { return { "form-group-error": a0 }; };
|
|
21658
|
-
const _c1$
|
|
21770
|
+
const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
|
|
21659
21771
|
class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
21660
21772
|
constructor(browserService) {
|
|
21661
21773
|
super();
|
|
@@ -21695,7 +21807,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21695
21807
|
i0.ɵɵadvance(1);
|
|
21696
21808
|
i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
|
|
21697
21809
|
i0.ɵɵadvance(1);
|
|
21698
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
21810
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
|
|
21699
21811
|
}
|
|
21700
21812
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
21701
21813
|
(function () {
|
|
@@ -21770,7 +21882,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) {
|
|
|
21770
21882
|
}
|
|
21771
21883
|
}
|
|
21772
21884
|
const _c0$y = function (a0) { return { "form-group-error": a0 }; };
|
|
21773
|
-
const _c1$
|
|
21885
|
+
const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
|
|
21774
21886
|
class WriteTextFieldComponent extends AbstractFieldWriteComponent {
|
|
21775
21887
|
ngOnInit() {
|
|
21776
21888
|
this.textControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -21802,7 +21914,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
|
|
|
21802
21914
|
i0.ɵɵadvance(1);
|
|
21803
21915
|
i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
|
|
21804
21916
|
i0.ɵɵadvance(1);
|
|
21805
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
21917
|
+
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);
|
|
21806
21918
|
}
|
|
21807
21919
|
}, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
21808
21920
|
(function () {
|
|
@@ -22009,7 +22121,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) {
|
|
|
22009
22121
|
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
22010
22122
|
}
|
|
22011
22123
|
}
|
|
22012
|
-
const _c1$
|
|
22124
|
+
const _c1$b = function (a0) { return { "form-group-error": a0 }; };
|
|
22013
22125
|
class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
|
|
22014
22126
|
constructor(yesNoService) {
|
|
22015
22127
|
super();
|
|
@@ -22033,7 +22145,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
22033
22145
|
i0.ɵɵelementEnd()()();
|
|
22034
22146
|
}
|
|
22035
22147
|
if (rf & 2) {
|
|
22036
|
-
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
22148
|
+
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
|
|
22037
22149
|
i0.ɵɵadvance(3);
|
|
22038
22150
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
22039
22151
|
i0.ɵɵadvance(1);
|
|
@@ -22431,7 +22543,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_co
|
|
|
22431
22543
|
i0.ɵɵelementContainer(0);
|
|
22432
22544
|
}
|
|
22433
22545
|
}
|
|
22434
|
-
const _c1$
|
|
22546
|
+
const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
|
|
22435
22547
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) {
|
|
22436
22548
|
if (rf & 1) {
|
|
22437
22549
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -22444,7 +22556,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
|
|
|
22444
22556
|
i0.ɵɵnextContext();
|
|
22445
22557
|
const _r1 = i0.ɵɵreference(13);
|
|
22446
22558
|
i0.ɵɵadvance(1);
|
|
22447
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$
|
|
22559
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
|
|
22448
22560
|
}
|
|
22449
22561
|
}
|
|
22450
22562
|
function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) {
|
|
@@ -22635,7 +22747,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) {
|
|
|
22635
22747
|
}
|
|
22636
22748
|
}
|
|
22637
22749
|
const _c0$s = [[["", "trigger", ""]]];
|
|
22638
|
-
const _c1$
|
|
22750
|
+
const _c1$9 = ["[trigger]"];
|
|
22639
22751
|
class CaseFileViewOverlayMenuComponent {
|
|
22640
22752
|
constructor() {
|
|
22641
22753
|
this.title = '';
|
|
@@ -22649,7 +22761,7 @@ class CaseFileViewOverlayMenuComponent {
|
|
|
22649
22761
|
}
|
|
22650
22762
|
}
|
|
22651
22763
|
CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
|
|
22652
|
-
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$
|
|
22764
|
+
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) {
|
|
22653
22765
|
if (rf & 1) {
|
|
22654
22766
|
i0.ɵɵprojectionDef(_c0$s);
|
|
22655
22767
|
i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
|
|
@@ -22939,9 +23051,10 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
22939
23051
|
i0.ɵɵelement(6, "br");
|
|
22940
23052
|
i0.ɵɵelementStart(7, "span", 17);
|
|
22941
23053
|
i0.ɵɵtext(8);
|
|
23054
|
+
i0.ɵɵpipe(9, "date");
|
|
22942
23055
|
i0.ɵɵelementEnd()();
|
|
22943
|
-
i0.ɵɵelementStart(
|
|
22944
|
-
i0.ɵɵlistener("changeFolderAction", function
|
|
23056
|
+
i0.ɵɵelementStart(10, "div", 18)(11, "ccd-case-file-view-folder-document-actions", 19);
|
|
23057
|
+
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.triggerDocumentAction("changeFolder", node_r4)); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.triggerDocumentAction("openInANewTab", node_r4)); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.triggerDocumentAction("download", node_r4)); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.triggerDocumentAction("print", node_r4)); });
|
|
22945
23058
|
i0.ɵɵelementEnd()()()();
|
|
22946
23059
|
}
|
|
22947
23060
|
if (rf & 2) {
|
|
@@ -22952,8 +23065,8 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
22952
23065
|
i0.ɵɵadvance(4);
|
|
22953
23066
|
i0.ɵɵtextInterpolate1(" ", node_r4.name, " ");
|
|
22954
23067
|
i0.ɵɵadvance(3);
|
|
22955
|
-
i0.ɵɵtextInterpolate(node_r4.upload_timestamp);
|
|
22956
|
-
i0.ɵɵadvance(
|
|
23068
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r4.upload_timestamp, "dd MMM YYYY"));
|
|
23069
|
+
i0.ɵɵadvance(3);
|
|
22957
23070
|
i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
|
|
22958
23071
|
}
|
|
22959
23072
|
}
|
|
@@ -22991,7 +23104,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) {
|
|
|
22991
23104
|
i0.ɵɵelementStart(0, "div", 7);
|
|
22992
23105
|
i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
|
|
22993
23106
|
i0.ɵɵelementStart(2, "div")(3, "cdk-tree", 9);
|
|
22994
|
-
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template,
|
|
23107
|
+
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 12, 8, "cdk-nested-tree-node", 10);
|
|
22995
23108
|
i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
|
|
22996
23109
|
i0.ɵɵelementEnd()()();
|
|
22997
23110
|
}
|
|
@@ -23081,7 +23194,7 @@ class CaseFileViewFolderComponent {
|
|
|
23081
23194
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
23082
23195
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
23083
23196
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
23084
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
23197
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
23085
23198
|
documentsToReturn.push(documentTreeNode);
|
|
23086
23199
|
});
|
|
23087
23200
|
return documentsToReturn;
|
|
@@ -23096,7 +23209,7 @@ class CaseFileViewFolderComponent {
|
|
|
23096
23209
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
23097
23210
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
23098
23211
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
23099
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
23212
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
23100
23213
|
documents.push(documentTreeNode);
|
|
23101
23214
|
});
|
|
23102
23215
|
const uncategorisedNode = new DocumentTreeNode();
|
|
@@ -23218,7 +23331,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
23218
23331
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
23219
23332
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
23220
23333
|
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)); };
|
|
23221
|
-
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) {
|
|
23334
|
+
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) {
|
|
23222
23335
|
if (rf & 1) {
|
|
23223
23336
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
23224
23337
|
i0.ɵɵelement(2, "input", 2);
|
|
@@ -23239,11 +23352,11 @@ CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
23239
23352
|
i0.ɵɵadvance(3);
|
|
23240
23353
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
23241
23354
|
}
|
|
23242
|
-
}, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
23355
|
+
}, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent, i4.DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
23243
23356
|
(function () {
|
|
23244
23357
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
23245
23358
|
type: Component,
|
|
23246
|
-
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"] }]
|
|
23359
|
+
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
23247
23360
|
}], function () { return [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }]; }, { categoriesAndDocuments: [{
|
|
23248
23361
|
type: Input
|
|
23249
23362
|
}], allowMoving: [{
|
|
@@ -24910,7 +25023,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
|
|
|
24910
25023
|
}
|
|
24911
25024
|
}
|
|
24912
25025
|
const _c0$n = function (a0) { return { "form-group-error": a0 }; };
|
|
24913
|
-
const _c1$
|
|
25026
|
+
const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
24914
25027
|
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
|
|
24915
25028
|
if (rf & 1) {
|
|
24916
25029
|
i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
|
|
@@ -24932,7 +25045,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) {
|
|
|
24932
25045
|
i0.ɵɵadvance(3);
|
|
24933
25046
|
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
24934
25047
|
i0.ɵɵadvance(1);
|
|
24935
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
25048
|
+
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);
|
|
24936
25049
|
i0.ɵɵadvance(1);
|
|
24937
25050
|
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
24938
25051
|
}
|
|
@@ -25502,7 +25615,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) {
|
|
|
25502
25615
|
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
25503
25616
|
}
|
|
25504
25617
|
}
|
|
25505
|
-
const _c1$
|
|
25618
|
+
const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
|
|
25506
25619
|
class UpdateFlagComponent {
|
|
25507
25620
|
constructor(rpxTranslationService) {
|
|
25508
25621
|
this.rpxTranslationService = rpxTranslationService;
|
|
@@ -25711,7 +25824,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
|
|
|
25711
25824
|
const _r3 = i0.ɵɵreference(17);
|
|
25712
25825
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
25713
25826
|
i0.ɵɵadvance(2);
|
|
25714
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$
|
|
25827
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
|
|
25715
25828
|
i0.ɵɵadvance(3);
|
|
25716
25829
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
25717
25830
|
i0.ɵɵadvance(2);
|
|
@@ -27107,7 +27220,7 @@ const CUSTOM_MOMENT_FORMATS = {
|
|
|
27107
27220
|
};
|
|
27108
27221
|
|
|
27109
27222
|
const _c0$g = ["picker"];
|
|
27110
|
-
const _c1$
|
|
27223
|
+
const _c1$6 = ["input"];
|
|
27111
27224
|
function DatetimePickerComponent_span_3_Template(rf, ctx) {
|
|
27112
27225
|
if (rf & 1) {
|
|
27113
27226
|
i0.ɵɵelementStart(0, "span", 11);
|
|
@@ -27171,7 +27284,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) {
|
|
|
27171
27284
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
|
|
27172
27285
|
}
|
|
27173
27286
|
}
|
|
27174
|
-
const _c2$
|
|
27287
|
+
const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
|
|
27175
27288
|
class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
27176
27289
|
constructor(formatTranslationService, ngxMatDateFormats) {
|
|
27177
27290
|
super();
|
|
@@ -27337,7 +27450,7 @@ DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { re
|
|
|
27337
27450
|
DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) {
|
|
27338
27451
|
if (rf & 1) {
|
|
27339
27452
|
i0.ɵɵviewQuery(_c0$g, 5);
|
|
27340
|
-
i0.ɵɵviewQuery(_c1$
|
|
27453
|
+
i0.ɵɵviewQuery(_c1$6, 5);
|
|
27341
27454
|
}
|
|
27342
27455
|
if (rf & 2) {
|
|
27343
27456
|
let _t;
|
|
@@ -27373,7 +27486,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
27373
27486
|
}
|
|
27374
27487
|
if (rf & 2) {
|
|
27375
27488
|
const _r6 = i0.ɵɵreference(13);
|
|
27376
|
-
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$
|
|
27489
|
+
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
|
|
27377
27490
|
i0.ɵɵadvance(3);
|
|
27378
27491
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
27379
27492
|
i0.ɵɵadvance(1);
|
|
@@ -27627,7 +27740,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) {
|
|
|
27627
27740
|
i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
|
|
27628
27741
|
}
|
|
27629
27742
|
}
|
|
27630
|
-
const _c1$
|
|
27743
|
+
const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
|
|
27631
27744
|
function EventLogTableComponent_tr_20_Template(rf, ctx) {
|
|
27632
27745
|
if (rf & 1) {
|
|
27633
27746
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
@@ -27660,7 +27773,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) {
|
|
|
27660
27773
|
if (rf & 2) {
|
|
27661
27774
|
const event_r1 = ctx.$implicit;
|
|
27662
27775
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
27663
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$
|
|
27776
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
|
|
27664
27777
|
i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
|
|
27665
27778
|
i0.ɵɵadvance(2);
|
|
27666
27779
|
i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
|
|
@@ -29728,6 +29841,36 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) {
|
|
|
29728
29841
|
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
29729
29842
|
}
|
|
29730
29843
|
}
|
|
29844
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) {
|
|
29845
|
+
if (rf & 1) {
|
|
29846
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
29847
|
+
i0.ɵɵtext(1);
|
|
29848
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29849
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
29850
|
+
i0.ɵɵelementEnd();
|
|
29851
|
+
}
|
|
29852
|
+
if (rf & 2) {
|
|
29853
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
29854
|
+
i0.ɵɵadvance(1);
|
|
29855
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
|
|
29856
|
+
}
|
|
29857
|
+
}
|
|
29858
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) {
|
|
29859
|
+
if (rf & 1) {
|
|
29860
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
29861
|
+
i0.ɵɵtext(1);
|
|
29862
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29863
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
29864
|
+
i0.ɵɵelementEnd();
|
|
29865
|
+
}
|
|
29866
|
+
if (rf & 2) {
|
|
29867
|
+
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
29868
|
+
i0.ɵɵadvance(1);
|
|
29869
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
|
|
29870
|
+
}
|
|
29871
|
+
}
|
|
29872
|
+
const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
|
|
29873
|
+
const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
29731
29874
|
function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
|
|
29732
29875
|
if (rf & 1) {
|
|
29733
29876
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -29738,21 +29881,38 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
|
|
|
29738
29881
|
i0.ɵɵelementStart(6, "span", 43);
|
|
29739
29882
|
i0.ɵɵtext(7, "A few words describing the purpose of the event.");
|
|
29740
29883
|
i0.ɵɵelementEnd()();
|
|
29741
|
-
i0.ɵɵ
|
|
29884
|
+
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
|
|
29885
|
+
i0.ɵɵelement(9, "input", 45);
|
|
29742
29886
|
i0.ɵɵelementEnd();
|
|
29743
|
-
i0.ɵɵelementStart(
|
|
29744
|
-
i0.ɵɵtext(
|
|
29887
|
+
i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
|
|
29888
|
+
i0.ɵɵtext(12, "Event description (optional)");
|
|
29745
29889
|
i0.ɵɵelementEnd();
|
|
29746
|
-
i0.ɵɵ
|
|
29890
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
|
|
29891
|
+
i0.ɵɵelement(14, "textarea", 47);
|
|
29747
29892
|
i0.ɵɵelementEnd()();
|
|
29748
29893
|
i0.ɵɵelementContainerEnd();
|
|
29749
29894
|
}
|
|
29895
|
+
if (rf & 2) {
|
|
29896
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
29897
|
+
i0.ɵɵadvance(3);
|
|
29898
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
29899
|
+
i0.ɵɵadvance(5);
|
|
29900
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
|
|
29901
|
+
i0.ɵɵadvance(1);
|
|
29902
|
+
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)));
|
|
29903
|
+
i0.ɵɵadvance(1);
|
|
29904
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
29905
|
+
i0.ɵɵadvance(3);
|
|
29906
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
|
|
29907
|
+
i0.ɵɵadvance(1);
|
|
29908
|
+
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)));
|
|
29909
|
+
}
|
|
29750
29910
|
}
|
|
29751
29911
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
|
|
29752
29912
|
if (rf & 1) {
|
|
29753
|
-
const
|
|
29754
|
-
i0.ɵɵelementStart(0, "button",
|
|
29755
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
29913
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
29914
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
29915
|
+
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()); });
|
|
29756
29916
|
i0.ɵɵtext(1);
|
|
29757
29917
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
29758
29918
|
i0.ɵɵelementEnd();
|
|
@@ -29766,7 +29926,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
|
|
|
29766
29926
|
}
|
|
29767
29927
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
29768
29928
|
if (rf & 1) {
|
|
29769
|
-
const
|
|
29929
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
29770
29930
|
i0.ɵɵelementStart(0, "div")(1, "h1", 2);
|
|
29771
29931
|
i0.ɵɵtext(2);
|
|
29772
29932
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
@@ -29776,13 +29936,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29776
29936
|
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
29777
29937
|
i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
|
|
29778
29938
|
i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
|
|
29779
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(
|
|
29939
|
+
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)); });
|
|
29780
29940
|
i0.ɵɵelementEnd();
|
|
29781
29941
|
i0.ɵɵelementStart(11, "form", 8);
|
|
29782
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(
|
|
29942
|
+
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()); });
|
|
29783
29943
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
29784
29944
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
29785
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
29945
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
|
|
29786
29946
|
i0.ɵɵelementStart(15, "div", 9);
|
|
29787
29947
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
29788
29948
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -29790,7 +29950,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29790
29950
|
i0.ɵɵpipe(19, "rpxTranslate");
|
|
29791
29951
|
i0.ɵɵelementEnd()();
|
|
29792
29952
|
i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
|
|
29793
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(
|
|
29953
|
+
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()); });
|
|
29794
29954
|
i0.ɵɵtext(22);
|
|
29795
29955
|
i0.ɵɵpipe(23, "rpxTranslate");
|
|
29796
29956
|
i0.ɵɵelementEnd()()()();
|
|
@@ -29829,9 +29989,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29829
29989
|
}
|
|
29830
29990
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
29831
29991
|
if (rf & 1) {
|
|
29832
|
-
const
|
|
29833
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
29834
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
29992
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
29993
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
|
|
29994
|
+
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)); });
|
|
29835
29995
|
i0.ɵɵelementEnd();
|
|
29836
29996
|
}
|
|
29837
29997
|
if (rf & 2) {
|
|
@@ -29841,14 +30001,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
|
29841
30001
|
}
|
|
29842
30002
|
// @dynamic
|
|
29843
30003
|
class CaseEditSubmitComponent {
|
|
29844
|
-
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
30004
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
|
|
29845
30005
|
this.caseEdit = caseEdit;
|
|
29846
30006
|
this.fieldsUtils = fieldsUtils;
|
|
29847
30007
|
this.caseFieldService = caseFieldService;
|
|
29848
30008
|
this.route = route;
|
|
29849
30009
|
this.orderService = orderService;
|
|
29850
30010
|
this.profileNotifier = profileNotifier;
|
|
30011
|
+
this.formValidatorsService = formValidatorsService;
|
|
29851
30012
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
30013
|
+
this.eventSummaryLabel = 'Event summary';
|
|
30014
|
+
this.eventDescriptionLabel = 'Event description';
|
|
29852
30015
|
}
|
|
29853
30016
|
get isDisabled() {
|
|
29854
30017
|
// EUI-3452.
|
|
@@ -29859,7 +30022,7 @@ class CaseEditSubmitComponent {
|
|
|
29859
30022
|
}
|
|
29860
30023
|
ngOnInit() {
|
|
29861
30024
|
var _a, _b, _c;
|
|
29862
|
-
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
30025
|
+
this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
|
|
29863
30026
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
29864
30027
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
29865
30028
|
this.editForm = this.caseEdit.form;
|
|
@@ -29872,10 +30035,12 @@ class CaseEditSubmitComponent {
|
|
|
29872
30035
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
29873
30036
|
// a FlagLauncher field in the event trigger
|
|
29874
30037
|
this.caseEdit.isCaseFlagSubmission =
|
|
29875
|
-
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
30038
|
+
this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
29876
30039
|
this.caseEdit.isLinkedCasesSubmission =
|
|
29877
30040
|
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
|
|
29878
30041
|
this.pageTitle = this.getPageTitle();
|
|
30042
|
+
this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
|
|
30043
|
+
this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
|
|
29879
30044
|
}
|
|
29880
30045
|
ngOnDestroy() {
|
|
29881
30046
|
/* istanbul ignore else */
|
|
@@ -29884,12 +30049,14 @@ class CaseEditSubmitComponent {
|
|
|
29884
30049
|
}
|
|
29885
30050
|
}
|
|
29886
30051
|
submit() {
|
|
29887
|
-
this.
|
|
29888
|
-
|
|
29889
|
-
|
|
29890
|
-
|
|
29891
|
-
|
|
29892
|
-
|
|
30052
|
+
if (this.summary.valid && this.description.valid) {
|
|
30053
|
+
this.caseEdit.submitForm({
|
|
30054
|
+
eventTrigger: this.eventTrigger,
|
|
30055
|
+
form: this.editForm,
|
|
30056
|
+
submit: this.caseEdit.submit,
|
|
30057
|
+
caseDetails: this.caseEdit.caseDetails
|
|
30058
|
+
});
|
|
30059
|
+
}
|
|
29893
30060
|
}
|
|
29894
30061
|
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
29895
30062
|
this.caseEdit.onEventCanBeCompleted({
|
|
@@ -29897,7 +30064,7 @@ class CaseEditSubmitComponent {
|
|
|
29897
30064
|
eventCanBeCompleted,
|
|
29898
30065
|
caseDetails: this.caseEdit.caseDetails,
|
|
29899
30066
|
form: this.editForm,
|
|
29900
|
-
submit: this.caseEdit.submit
|
|
30067
|
+
submit: this.caseEdit.submit
|
|
29901
30068
|
});
|
|
29902
30069
|
}
|
|
29903
30070
|
getPageTitle() {
|
|
@@ -29973,7 +30140,7 @@ class CaseEditSubmitComponent {
|
|
|
29973
30140
|
}
|
|
29974
30141
|
}
|
|
29975
30142
|
readOnlySummaryFieldsToDisplayExists() {
|
|
29976
|
-
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
30143
|
+
return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
|
|
29977
30144
|
}
|
|
29978
30145
|
showEventNotes() {
|
|
29979
30146
|
var _a;
|
|
@@ -29989,7 +30156,7 @@ class CaseEditSubmitComponent {
|
|
|
29989
30156
|
}
|
|
29990
30157
|
getLastPageShown() {
|
|
29991
30158
|
let lastPage;
|
|
29992
|
-
this.wizard.reverse().forEach(page => {
|
|
30159
|
+
this.wizard.reverse().forEach((page) => {
|
|
29993
30160
|
if (!lastPage && this.isShown(page)) {
|
|
29994
30161
|
lastPage = page;
|
|
29995
30162
|
}
|
|
@@ -30008,7 +30175,7 @@ class CaseEditSubmitComponent {
|
|
|
30008
30175
|
}
|
|
30009
30176
|
isShown(page) {
|
|
30010
30177
|
const fields = this.fieldsUtils
|
|
30011
|
-
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls
|
|
30178
|
+
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
|
|
30012
30179
|
return page.parsedShowCondition.match(fields);
|
|
30013
30180
|
}
|
|
30014
30181
|
canShowFieldInCYA(field) {
|
|
@@ -30017,7 +30184,7 @@ class CaseEditSubmitComponent {
|
|
|
30017
30184
|
sortFieldsByShowSummaryContent(fields) {
|
|
30018
30185
|
return this.orderService
|
|
30019
30186
|
.sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
|
|
30020
|
-
.filter(cf => cf.show_summary_content_option);
|
|
30187
|
+
.filter((cf) => cf.show_summary_content_option);
|
|
30021
30188
|
}
|
|
30022
30189
|
getCaseFields() {
|
|
30023
30190
|
if (this.caseEdit.caseDetails) {
|
|
@@ -30036,9 +30203,7 @@ class CaseEditSubmitComponent {
|
|
|
30036
30203
|
if (this.eventTrigger.can_save_draft) {
|
|
30037
30204
|
return 'Return to case list';
|
|
30038
30205
|
}
|
|
30039
|
-
|
|
30040
|
-
return 'Cancel';
|
|
30041
|
-
}
|
|
30206
|
+
return 'Cancel';
|
|
30042
30207
|
}
|
|
30043
30208
|
}
|
|
30044
30209
|
CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
@@ -30052,8 +30217,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
30052
30217
|
}
|
|
30053
30218
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
30054
30219
|
};
|
|
30055
|
-
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)); };
|
|
30056
|
-
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) {
|
|
30220
|
+
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)); };
|
|
30221
|
+
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) {
|
|
30057
30222
|
if (rf & 1) {
|
|
30058
30223
|
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
|
|
30059
30224
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
@@ -30067,8 +30232,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
30067
30232
|
(function () {
|
|
30068
30233
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
30069
30234
|
type: Component,
|
|
30070
|
-
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
|
|
30071
|
-
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null);
|
|
30235
|
+
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"] }]
|
|
30236
|
+
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null);
|
|
30072
30237
|
})();
|
|
30073
30238
|
|
|
30074
30239
|
function CaseProgressComponent_div_0_Template(rf, ctx) {
|
|
@@ -30466,7 +30631,7 @@ i0.ɵɵsetComponentScope(CaseEditPageComponent, function () {
|
|
|
30466
30631
|
CaseEditGenericErrorsComponent];
|
|
30467
30632
|
}, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
|
|
30468
30633
|
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]; });
|
|
30469
|
-
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]; });
|
|
30634
|
+
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]; });
|
|
30470
30635
|
i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
30471
30636
|
i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
30472
30637
|
|
|
@@ -33506,7 +33671,7 @@ function CaseFullAccessViewComponent_ng_container_12_mat_tab_4_ng_template_2_Tem
|
|
|
33506
33671
|
const tab_r20 = i0.ɵɵnextContext().$implicit;
|
|
33507
33672
|
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
33508
33673
|
i0.ɵɵclassMap(tab_r20.id);
|
|
33509
|
-
i0.ɵɵattribute("aria-
|
|
33674
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 4, "case viewer table"));
|
|
33510
33675
|
i0.ɵɵadvance(3);
|
|
33511
33676
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(4, 6, i0.ɵɵpureFunction2(14, _c1$3, i0.ɵɵpipeBind1(5, 12, tab_r20), ctx_r22.formGroup.controls["data"])));
|
|
33512
33677
|
}
|
|
@@ -33990,7 +34155,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
33990
34155
|
(function () {
|
|
33991
34156
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
33992
34157
|
type: Component,
|
|
33993
|
-
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-
|
|
34158
|
+
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"] }]
|
|
33994
34159
|
}], 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: [{
|
|
33995
34160
|
type: Input
|
|
33996
34161
|
}], hasEventSelector: [{
|