@hmcts/ccd-case-ui-toolkit 7.0.22-upload-timestamp → 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-history/case-history.component.mjs +13 -13
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +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/complex/read-complex-field.component.mjs +14 -12
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +25 -16
- package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +2 -2
- package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +5 -5
- package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +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 +324 -167
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +313 -165
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +8 -3
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +1 -0
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts +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 -1
- package/lib/shared/domain/document/document-data.model.d.ts.map +1 -1
- package/lib/shared/domain/http/http-error.model.d.ts +1 -0
- package/lib/shared/domain/http/http-error.model.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/form/form-validators.service.d.ts +4 -0
- package/lib/shared/services/form/form-validators.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ import { MatDialogConfig } from '@angular/material/dialog';
|
|
|
27
27
|
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
28
28
|
import * as i2 from '@nicky-lenaers/ngx-scroll-to';
|
|
29
29
|
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
|
30
|
+
import * as marked from 'marked';
|
|
30
31
|
import * as i1$4 from 'ngx-md';
|
|
31
32
|
import { NgxMdModule } from 'ngx-md';
|
|
32
33
|
import * as i5 from '@angular/material/legacy-autocomplete';
|
|
@@ -127,11 +128,11 @@ function FooterComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
127
128
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 13, ctx_r1.workhours));
|
|
128
129
|
} }
|
|
129
130
|
const _c0$13 = [[["", "footerSolsNavLinks", ""]], [["", "footerCaseWorkerNavLinks", ""]]];
|
|
130
|
-
const _c1$
|
|
131
|
+
const _c1$u = ["[footerSolsNavLinks]", "[footerCaseWorkerNavLinks]"];
|
|
131
132
|
class FooterComponent {
|
|
132
133
|
}
|
|
133
134
|
FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
|
|
134
|
-
FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$
|
|
135
|
+
FooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FooterComponent, selectors: [["cut-footer-bar"]], inputs: { email: "email", isSolicitor: "isSolicitor", phone: "phone", workhours: "workhours" }, ngContentSelectors: _c1$u, decls: 4, vars: 4, consts: [["id", "footer", "role", "footer", 1, "group", "js-footer"], [1, "footer-wrapper"], ["class", "footer-meta", 4, "ngIf"], [1, "footer-meta"], [1, "footer-meta-inner"], [1, "open-government-licence"], [1, "logo"], ["href", "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/", "rel", "license"], [1, "copyright"], ["href", "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/"], [1, "title"], [1, "footer-text"], [1, "email"], [3, "href"], [1, "phone"], [1, "work-hours"]], template: function FooterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
135
136
|
i0.ɵɵprojectionDef(_c0$13);
|
|
136
137
|
i0.ɵɵelementStart(0, "footer", 0)(1, "div", 1);
|
|
137
138
|
i0.ɵɵtemplate(2, FooterComponent_div_2_Template, 20, 15, "div", 2);
|
|
@@ -191,7 +192,7 @@ function HeaderBarComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
191
192
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, ctx_r2.title));
|
|
192
193
|
} }
|
|
193
194
|
const _c0$12 = [[["", "headerNavigation", ""]]];
|
|
194
|
-
const _c1$
|
|
195
|
+
const _c1$t = ["[headerNavigation]"];
|
|
195
196
|
class HeaderBarComponent {
|
|
196
197
|
constructor() {
|
|
197
198
|
this.signOutRequest = new EventEmitter();
|
|
@@ -201,7 +202,7 @@ class HeaderBarComponent {
|
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
204
|
HeaderBarComponent.ɵfac = function HeaderBarComponent_Factory(t) { return new (t || HeaderBarComponent)(); };
|
|
204
|
-
HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$
|
|
205
|
+
HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBarComponent, selectors: [["cut-header-bar"]], inputs: { title: "title", isSolicitor: "isSolicitor", username: "username" }, outputs: { signOutRequest: "signOutRequest" }, ngContentSelectors: _c1$t, decls: 17, vars: 14, consts: [["role", "banner", "id", "global-header", 1, "with-proposition"], [1, "header-wrapper"], [1, "header-global"], [4, "ngIf"], ["class", "global-header", 4, "ngIf"], [1, "header-proposition"], [1, "content"], ["href", "#proposition-links", 1, "js-header-toggle", "menu"], ["id", "proposition-menu", 4, "ngIf"], [1, "proposition-right"], ["id", "user-name"], ["id", "sign-out", "href", "javascript:void(0)", 3, "click"], ["href", "https://www.gov.uk", "title", "Go to the GOV.UK homepage", "id", "logo", 1, "content", 2, "margin-left", "0px"], ["src", "/img/gov.uk_logotype_crown_invert_trans.png?0.23.0", "width", "36", "height", "32", "alt", ""], [1, "global-header"], [1, "title"], ["id", "proposition-menu"], [1, "title-solicitor"], ["id", "proposition-name"]], template: function HeaderBarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
205
206
|
i0.ɵɵprojectionDef(_c0$12);
|
|
206
207
|
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2);
|
|
207
208
|
i0.ɵɵtemplate(3, HeaderBarComponent_div_3_Template, 5, 3, "div", 3);
|
|
@@ -252,11 +253,11 @@ HeaderBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderBa
|
|
|
252
253
|
}] }); })();
|
|
253
254
|
|
|
254
255
|
const _c0$11 = [[["", "leftNavLinks", ""]], [["", "rightNavLinks", ""]]];
|
|
255
|
-
const _c1$
|
|
256
|
+
const _c1$s = ["[leftNavLinks]", "[rightNavLinks]"];
|
|
256
257
|
class NavigationComponent {
|
|
257
258
|
}
|
|
258
259
|
NavigationComponent.ɵfac = function NavigationComponent_Factory(t) { return new (t || NavigationComponent)(); };
|
|
259
|
-
NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$
|
|
260
|
+
NavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavigationComponent, selectors: [["cut-nav-bar"]], inputs: { isSolicitor: "isSolicitor" }, ngContentSelectors: _c1$s, decls: 4, vars: 2, consts: [[1, "cut-nav-bar"]], template: function NavigationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
260
261
|
i0.ɵɵprojectionDef(_c0$11);
|
|
261
262
|
i0.ɵɵelementStart(0, "div")(1, "nav", 0);
|
|
262
263
|
i0.ɵɵprojection(2);
|
|
@@ -367,11 +368,11 @@ HeadersModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
|
|
|
367
368
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(HeadersModule, { declarations: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent], imports: [CommonModule, RouterModule, i1.RpxTranslationModule], exports: [PhaseComponent, HeaderBarComponent, NavigationComponent, NavigationItemComponent] }); })();
|
|
368
369
|
|
|
369
370
|
const _c0$10 = [[["", "topBody", ""]], [["", "leftBody", ""]], [["", "rightBody", ""]]];
|
|
370
|
-
const _c1$
|
|
371
|
+
const _c1$r = ["[topBody]", "[leftBody]", "[rightBody]"];
|
|
371
372
|
class BodyComponent {
|
|
372
373
|
}
|
|
373
374
|
BodyComponent.ɵfac = function BodyComponent_Factory(t) { return new (t || BodyComponent)(); };
|
|
374
|
-
BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$
|
|
375
|
+
BodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyComponent, selectors: [["cut-body"]], ngContentSelectors: _c1$r, decls: 4, vars: 0, consts: [[1, "global-display"]], template: function BodyComponent_Template(rf, ctx) { if (rf & 1) {
|
|
375
376
|
i0.ɵɵprojectionDef(_c0$10);
|
|
376
377
|
i0.ɵɵelementStart(0, "div", 0);
|
|
377
378
|
i0.ɵɵprojection(1);
|
|
@@ -981,11 +982,11 @@ NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
981
982
|
}] }); })();
|
|
982
983
|
|
|
983
984
|
const _c0$Z = function (a0) { return { "js-hidden": a0 }; };
|
|
984
|
-
const _c1$
|
|
985
|
+
const _c1$q = ["*"];
|
|
985
986
|
class TabComponent {
|
|
986
987
|
}
|
|
987
988
|
TabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };
|
|
988
|
-
TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$
|
|
989
|
+
TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["cut-tab"]], inputs: { id: "id", title: "title", selected: "selected" }, ngContentSelectors: _c1$q, decls: 2, vars: 5, consts: [["role", "tabpanel", 1, "tabs-panel", 3, "id", "ngClass"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
989
990
|
i0.ɵɵprojectionDef();
|
|
990
991
|
i0.ɵɵelementStart(0, "div", 0);
|
|
991
992
|
i0.ɵɵprojection(1);
|
|
@@ -1006,8 +1007,8 @@ TabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent,
|
|
|
1006
1007
|
}] }); })();
|
|
1007
1008
|
|
|
1008
1009
|
const _c0$Y = ["tab"];
|
|
1009
|
-
const _c1$
|
|
1010
|
-
const _c2$
|
|
1010
|
+
const _c1$p = function () { return ["."]; };
|
|
1011
|
+
const _c2$4 = function (a0) { return { "tabs-toggle-selected": a0 }; };
|
|
1011
1012
|
function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
|
|
1012
1013
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
1013
1014
|
i0.ɵɵelementStart(0, "li", 4)(1, "a", 5, 6);
|
|
@@ -1018,7 +1019,7 @@ function TabsComponent_li_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
1018
1019
|
} if (rf & 2) {
|
|
1019
1020
|
const panel_r1 = ctx.$implicit;
|
|
1020
1021
|
i0.ɵɵadvance(1);
|
|
1021
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$
|
|
1022
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction0(8, _c1$p))("fragment", panel_r1.id)("ngClass", i0.ɵɵpureFunction1(9, _c2$4, panel_r1.selected));
|
|
1022
1023
|
i0.ɵɵattribute("aria-controls", panel_r1.id)("aria-selected", panel_r1.selected);
|
|
1023
1024
|
i0.ɵɵadvance(2);
|
|
1024
1025
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, panel_r1.title));
|
|
@@ -1241,6 +1242,11 @@ class HttpError {
|
|
|
1241
1242
|
}
|
|
1242
1243
|
static from(response) {
|
|
1243
1244
|
const error = new HttpError();
|
|
1245
|
+
if (response?.status === 429) {
|
|
1246
|
+
error.error = HttpError.MESSAGE_ERROR_429;
|
|
1247
|
+
error.status = response.status;
|
|
1248
|
+
error.message = response.message;
|
|
1249
|
+
}
|
|
1244
1250
|
// Check that the HttpErrorResponse contains an "error" object before mapping the error properties
|
|
1245
1251
|
if (!!(response && response.error)) {
|
|
1246
1252
|
Object.keys(error).forEach((key) => {
|
|
@@ -1260,6 +1266,7 @@ class HttpError {
|
|
|
1260
1266
|
HttpError.DEFAULT_ERROR = 'Unknown error';
|
|
1261
1267
|
HttpError.DEFAULT_MESSAGE = 'Something unexpected happened, our technical staff have been automatically notified';
|
|
1262
1268
|
HttpError.DEFAULT_STATUS = 500;
|
|
1269
|
+
HttpError.MESSAGE_ERROR_429 = 'Your request was rate limited. Please wait a few seconds before retrying your document upload';
|
|
1263
1270
|
|
|
1264
1271
|
/**
|
|
1265
1272
|
* `Oauth2Service` and `AuthService` cannot be merged as it creates a cyclic dependency on `AuthService` through `HttpErrorService`.
|
|
@@ -2730,6 +2737,9 @@ class FirstErrorPipe {
|
|
|
2730
2737
|
else if (keys[0] === 'pattern') {
|
|
2731
2738
|
errorMessage = 'The data entered is not valid for %FIELDLABEL%';
|
|
2732
2739
|
}
|
|
2740
|
+
else if (keys[0] === 'markDownPattern') {
|
|
2741
|
+
errorMessage = 'The data entered is not valid for %FIELDLABEL%. Link mark up characters are not allowed in this field';
|
|
2742
|
+
}
|
|
2733
2743
|
else if (keys[0] === 'minlength') {
|
|
2734
2744
|
errorMessage = '%FIELDLABEL% is below the minimum length';
|
|
2735
2745
|
}
|
|
@@ -4547,6 +4557,7 @@ class FormValidatorsService {
|
|
|
4547
4557
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES.indexOf(caseField.field_type.type) === -1) {
|
|
4548
4558
|
const validators = [Validators.required];
|
|
4549
4559
|
if (caseField.field_type.type === 'Text') {
|
|
4560
|
+
validators.push(this.markDownPatternValidator());
|
|
4550
4561
|
if (caseField.field_type.regular_expression) {
|
|
4551
4562
|
validators.push(Validators.pattern(caseField.field_type.regular_expression));
|
|
4552
4563
|
}
|
|
@@ -4560,22 +4571,36 @@ class FormValidatorsService {
|
|
|
4560
4571
|
validators.push(Validators.maxLength(caseField.field_type.max));
|
|
4561
4572
|
}
|
|
4562
4573
|
}
|
|
4574
|
+
if (caseField.field_type.type === 'TextArea') {
|
|
4575
|
+
validators.push(this.emptyValidator());
|
|
4576
|
+
validators.push(this.markDownPatternValidator());
|
|
4577
|
+
}
|
|
4563
4578
|
if (control.validator) {
|
|
4564
4579
|
validators.push(control.validator);
|
|
4565
4580
|
}
|
|
4566
4581
|
control.setValidators(validators);
|
|
4567
4582
|
}
|
|
4583
|
+
else if (caseField.display_context === 'OPTIONAL' && (caseField.field_type.type === 'Text' || caseField.field_type.type === 'TextArea')) {
|
|
4584
|
+
control.setValidators(this.markDownPatternValidator());
|
|
4585
|
+
}
|
|
4568
4586
|
return control;
|
|
4569
4587
|
}
|
|
4570
4588
|
static emptyValidator() {
|
|
4571
4589
|
const validator = (control) => {
|
|
4572
|
-
if (control
|
|
4590
|
+
if (control?.value?.toString().trim().length === 0) {
|
|
4573
4591
|
return { required: {} };
|
|
4574
4592
|
}
|
|
4575
4593
|
return null;
|
|
4576
4594
|
};
|
|
4577
4595
|
return validator;
|
|
4578
4596
|
}
|
|
4597
|
+
static markDownPatternValidator() {
|
|
4598
|
+
const pattern = /(\[[^\]]{0,500}\]\([^)]{0,500}\)|!\[[^\]]{0,500}\]\([^)]{0,500}\)|<img[^>]{0,500}>|<a[^>]{0,500}>.*?<\/a>)/;
|
|
4599
|
+
return (control) => {
|
|
4600
|
+
const value = control?.value?.toString().trim();
|
|
4601
|
+
return (value && pattern.test(value)) ? { markDownPattern: {} } : null;
|
|
4602
|
+
};
|
|
4603
|
+
}
|
|
4579
4604
|
// TODO: Strip this out as it's only here for the moment because
|
|
4580
4605
|
// the service is being injected all over the place but it doesn't
|
|
4581
4606
|
// need to be as FormValidatorsService.addValidators is perfectly
|
|
@@ -4583,10 +4608,20 @@ class FormValidatorsService {
|
|
|
4583
4608
|
addValidators(caseField, control) {
|
|
4584
4609
|
return FormValidatorsService.addValidators(caseField, control);
|
|
4585
4610
|
}
|
|
4611
|
+
addMarkDownValidators(formGroup, controlPath) {
|
|
4612
|
+
const control = formGroup.get(controlPath);
|
|
4613
|
+
if (control) {
|
|
4614
|
+
control.setValidators(FormValidatorsService.markDownPatternValidator());
|
|
4615
|
+
control.updateValueAndValidity();
|
|
4616
|
+
}
|
|
4617
|
+
return control;
|
|
4618
|
+
}
|
|
4586
4619
|
}
|
|
4587
4620
|
FormValidatorsService.CUSTOM_VALIDATED_TYPES = [
|
|
4588
4621
|
'Date', 'MoneyGBP', 'Label', 'JudicialUser'
|
|
4589
4622
|
];
|
|
4623
|
+
FormValidatorsService.DEFAULT_INPUT_TEXT = 'text';
|
|
4624
|
+
FormValidatorsService.DEFAULT_INPUT_TEXTAREA = 'textAreas';
|
|
4590
4625
|
FormValidatorsService.ɵfac = function FormValidatorsService_Factory(t) { return new (t || FormValidatorsService)(); };
|
|
4591
4626
|
FormValidatorsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValidatorsService, factory: FormValidatorsService.ɵfac });
|
|
4592
4627
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormValidatorsService, [{
|
|
@@ -5026,8 +5061,9 @@ class FieldsPurger {
|
|
|
5026
5061
|
}
|
|
5027
5062
|
}
|
|
5028
5063
|
else {
|
|
5029
|
-
// Delete the field
|
|
5030
|
-
|
|
5064
|
+
// Delete the field from formGroup
|
|
5065
|
+
const dataGroup = form.get('data');
|
|
5066
|
+
dataGroup.removeControl(field.id);
|
|
5031
5067
|
}
|
|
5032
5068
|
}
|
|
5033
5069
|
resetPage(form, wizardPage) {
|
|
@@ -8385,16 +8421,21 @@ class PageValidationService {
|
|
|
8385
8421
|
constructor(caseFieldService) {
|
|
8386
8422
|
this.caseFieldService = caseFieldService;
|
|
8387
8423
|
}
|
|
8388
|
-
|
|
8389
|
-
|
|
8424
|
+
getInvalidFields(page, editForm) {
|
|
8425
|
+
const failingCaseFields = [];
|
|
8426
|
+
page.case_fields
|
|
8390
8427
|
.filter(caseField => !this.caseFieldService.isReadOnly(caseField))
|
|
8391
8428
|
.filter(caseField => !this.isHidden(caseField, editForm))
|
|
8392
|
-
.
|
|
8429
|
+
.map(caseField => {
|
|
8393
8430
|
const theControl = FieldsUtils.isCaseFieldOfType(caseField, ['JudicialUser'])
|
|
8394
8431
|
? editForm.controls['data'].get(`${caseField.id}_judicialUserControl`)
|
|
8395
8432
|
: editForm.controls['data'].get(caseField.id);
|
|
8396
|
-
|
|
8433
|
+
if (!(this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl))) {
|
|
8434
|
+
failingCaseFields.push(caseField);
|
|
8435
|
+
}
|
|
8436
|
+
;
|
|
8397
8437
|
});
|
|
8438
|
+
return failingCaseFields;
|
|
8398
8439
|
}
|
|
8399
8440
|
isHidden(caseField, editForm, path) {
|
|
8400
8441
|
const formFields = editForm.getRawValue();
|
|
@@ -9719,7 +9760,8 @@ class CaseEditPageComponent {
|
|
|
9719
9760
|
return this.caseEdit.first();
|
|
9720
9761
|
}
|
|
9721
9762
|
currentPageIsNotValid() {
|
|
9722
|
-
|
|
9763
|
+
this.failingCaseFields = this.pageValidationService.getInvalidFields(this.currentPage, this.editForm);
|
|
9764
|
+
return this.failingCaseFields.length > 0 ||
|
|
9723
9765
|
(this.isLinkedCasesJourney() && !this.isLinkedCasesJourneyAtFinalStep);
|
|
9724
9766
|
}
|
|
9725
9767
|
isLinkedCasesJourney() {
|
|
@@ -9741,9 +9783,15 @@ class CaseEditPageComponent {
|
|
|
9741
9783
|
// Adding validation message to show it as Error Summary
|
|
9742
9784
|
generateErrorMessage(fields, container, path) {
|
|
9743
9785
|
const group = container || this.editForm.controls['data'];
|
|
9744
|
-
|
|
9745
|
-
|
|
9786
|
+
let validErrorFieldFound = false;
|
|
9787
|
+
let validationErrorAmount = this.validationErrors.length;
|
|
9788
|
+
const failingFields = fields.filter(casefield => !this.caseFieldService.isReadOnly(casefield))
|
|
9789
|
+
.filter(casefield => !this.pageValidationService.isHidden(casefield, this.editForm, path));
|
|
9790
|
+
// note that thougn these checks are on getinvalidfields they are needed for sub field checks
|
|
9791
|
+
failingFields
|
|
9746
9792
|
.forEach(casefield => {
|
|
9793
|
+
let errorPresent = true;
|
|
9794
|
+
validErrorFieldFound = true;
|
|
9747
9795
|
const fieldElement = FieldsUtils.isCaseFieldOfType(casefield, ['JudicialUser'])
|
|
9748
9796
|
? group.get(`${casefield.id}_judicialUserControl`)
|
|
9749
9797
|
: group.get(casefield.id);
|
|
@@ -9788,7 +9836,7 @@ class CaseEditPageComponent {
|
|
|
9788
9836
|
}
|
|
9789
9837
|
else if (fieldElement.invalid) {
|
|
9790
9838
|
if (casefield.isComplex()) {
|
|
9791
|
-
this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
9839
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.complex_fields, fieldElement, id);
|
|
9792
9840
|
}
|
|
9793
9841
|
else if (casefield.isCollection() && casefield.field_type.collection_field_type.type === 'Complex') {
|
|
9794
9842
|
const fieldArray = fieldElement;
|
|
@@ -9796,7 +9844,7 @@ class CaseEditPageComponent {
|
|
|
9796
9844
|
id = `${fieldArray['component']['collItems'][0].prefix}`;
|
|
9797
9845
|
}
|
|
9798
9846
|
fieldArray.controls.forEach((c) => {
|
|
9799
|
-
this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
9847
|
+
errorPresent = this.generateErrorMessage(casefield.field_type.collection_field_type.complex_fields, c.get('value'), id);
|
|
9800
9848
|
});
|
|
9801
9849
|
}
|
|
9802
9850
|
else if (FieldsUtils.isCaseFieldOfType(casefield, ['FlagLauncher'])) {
|
|
@@ -9811,8 +9859,29 @@ class CaseEditPageComponent {
|
|
|
9811
9859
|
}
|
|
9812
9860
|
}
|
|
9813
9861
|
}
|
|
9862
|
+
else {
|
|
9863
|
+
validErrorFieldFound = false;
|
|
9864
|
+
}
|
|
9865
|
+
if (!errorPresent && this.validationErrors.length === validationErrorAmount) {
|
|
9866
|
+
// if no error messages have been added in internal field despite parent field failing
|
|
9867
|
+
this.validationErrors.push({ id: casefield.id, message: `A field that is causing an error is ${casefield.id} but it is not producing a valid error message. Please ensure all details are correct` });
|
|
9868
|
+
}
|
|
9814
9869
|
});
|
|
9870
|
+
if (!validErrorFieldFound) {
|
|
9871
|
+
path ? this.validationErrors.push({ id: path, message: `There is an internal issue with ${path} fields. The field that is causing the error cannot be determined but there is an error present` })
|
|
9872
|
+
: this.validationErrors.push({ id: null, message: `The field that is causing the error cannot be determined but there is an error present` });
|
|
9873
|
+
}
|
|
9874
|
+
else if (this.validationErrors.length === validationErrorAmount) {
|
|
9875
|
+
// if no error messages have been generated
|
|
9876
|
+
if (path) {
|
|
9877
|
+
return false;
|
|
9878
|
+
}
|
|
9879
|
+
else {
|
|
9880
|
+
this.validationErrors.push({ id: null, message: `The field that is causing the error cannot be determined but there is an error present. Please fill in more of the form` });
|
|
9881
|
+
}
|
|
9882
|
+
}
|
|
9815
9883
|
CaseEditPageComponent.scrollToTop();
|
|
9884
|
+
return true;
|
|
9816
9885
|
}
|
|
9817
9886
|
navigateToErrorElement(elementId) {
|
|
9818
9887
|
/* istanbul ignore else */
|
|
@@ -9837,7 +9906,7 @@ class CaseEditPageComponent {
|
|
|
9837
9906
|
CaseEditPageComponent.scrollToTop();
|
|
9838
9907
|
}
|
|
9839
9908
|
else {
|
|
9840
|
-
this.generateErrorMessage(this.
|
|
9909
|
+
this.generateErrorMessage(this.failingCaseFields);
|
|
9841
9910
|
}
|
|
9842
9911
|
}
|
|
9843
9912
|
if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
|
|
@@ -10904,8 +10973,8 @@ function WriteAddressFieldComponent_div_1_div_4_span_5_Template(rf, ctx) { if (r
|
|
|
10904
10973
|
i0.ɵɵadvance(1);
|
|
10905
10974
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r5.errorMessage));
|
|
10906
10975
|
} }
|
|
10907
|
-
const _c1$
|
|
10908
|
-
const _c2$
|
|
10976
|
+
const _c1$o = function (a0) { return { "form-group-error": a0 }; };
|
|
10977
|
+
const _c2$3 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
10909
10978
|
function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
10910
10979
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
10911
10980
|
i0.ɵɵelementStart(0, "div", 8)(1, "label", 9)(2, "span", 10);
|
|
@@ -10921,7 +10990,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
|
|
|
10921
10990
|
i0.ɵɵelementEnd()();
|
|
10922
10991
|
} if (rf & 2) {
|
|
10923
10992
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
10924
|
-
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
10993
|
+
i0.ɵɵproperty("id", ctx_r2.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(13, _c1$o, ctx_r2.missingPostcode));
|
|
10925
10994
|
i0.ɵɵadvance(1);
|
|
10926
10995
|
i0.ɵɵproperty("for", ctx_r2.createElementId("postcodeInput"));
|
|
10927
10996
|
i0.ɵɵadvance(2);
|
|
@@ -10929,7 +10998,7 @@ function WriteAddressFieldComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1)
|
|
|
10929
10998
|
i0.ɵɵadvance(2);
|
|
10930
10999
|
i0.ɵɵproperty("ngIf", ctx_r2.missingPostcode);
|
|
10931
11000
|
i0.ɵɵadvance(1);
|
|
10932
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$
|
|
11001
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2$3, ctx_r2.missingPostcode))("id", ctx_r2.createElementId("postcodeInput"))("formControl", ctx_r2.postcode);
|
|
10933
11002
|
i0.ɵɵadvance(2);
|
|
10934
11003
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 11, "Find address"));
|
|
10935
11004
|
} }
|
|
@@ -10967,7 +11036,7 @@ function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) { if (rf & 1)
|
|
|
10967
11036
|
i0.ɵɵelementEnd()();
|
|
10968
11037
|
} if (rf & 2) {
|
|
10969
11038
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
10970
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$
|
|
11039
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c1$o, ctx_r3.noAddressSelected));
|
|
10971
11040
|
i0.ɵɵadvance(1);
|
|
10972
11041
|
i0.ɵɵproperty("for", ctx_r3.createElementId("addressList"));
|
|
10973
11042
|
i0.ɵɵadvance(2);
|
|
@@ -12384,7 +12453,7 @@ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
12384
12453
|
i0.ɵɵadvance(1);
|
|
12385
12454
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label), " ");
|
|
12386
12455
|
} }
|
|
12387
|
-
const _c1$
|
|
12456
|
+
const _c1$n = function (a0) { return { "form-group-error": a0 }; };
|
|
12388
12457
|
class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
|
|
12389
12458
|
ngOnInit() {
|
|
12390
12459
|
if (this.caseField.value) {
|
|
@@ -12445,7 +12514,7 @@ WriteCaseLinkFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
12445
12514
|
i0.ɵɵelement(5, "input", 5);
|
|
12446
12515
|
i0.ɵɵelementEnd();
|
|
12447
12516
|
} if (rf & 2) {
|
|
12448
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
12517
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$n, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
|
|
12449
12518
|
i0.ɵɵadvance(1);
|
|
12450
12519
|
i0.ɵɵproperty("for", ctx.id());
|
|
12451
12520
|
i0.ɵɵadvance(1);
|
|
@@ -12477,7 +12546,7 @@ function ReadCollectionFieldComponent_table_0_tbody_2_Template(rf, ctx) { if (rf
|
|
|
12477
12546
|
i0.ɵɵadvance(4);
|
|
12478
12547
|
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction6(3, _c0$S, ctx_r1.caseField.label, ctx_r1.caseField.label, ctx_r1.caseField.field_type.collection_field_type, ctx_r1.caseField.display_context_parameter, ctx_r1.caseField.value, ctx_r1.caseField.hidden))("context", ctx_r1.context)("topLevelFormGroup", ctx_r1.topLevelFormGroup);
|
|
12479
12548
|
} }
|
|
12480
|
-
const _c1$
|
|
12549
|
+
const _c1$m = function (a0, a1, a2, a3, a4) { return { id: a0, label: a1, field_type: a2, value: a3, hidden: a4 }; };
|
|
12481
12550
|
function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
12482
12551
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
12483
12552
|
i0.ɵɵelement(2, "ccd-field-read", 7);
|
|
@@ -12487,7 +12556,7 @@ function ReadCollectionFieldComponent_table_0_tbody_3_tr_1_Template(rf, ctx) { i
|
|
|
12487
12556
|
const i_r5 = ctx.index;
|
|
12488
12557
|
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
12489
12558
|
i0.ɵɵadvance(2);
|
|
12490
|
-
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$
|
|
12559
|
+
i0.ɵɵproperty("caseField", i0.ɵɵpureFunction5(4, _c1$m, i_r5, ctx_r3.caseField.label + " " + (i_r5 + 1), ctx_r3.caseField.field_type.collection_field_type, item_r4.value, ctx_r3.caseField.hidden))("context", ctx_r3.context)("topLevelFormGroup", ctx_r3.topLevelFormGroup)("idPrefix", ctx_r3.buildIdPrefix(i_r5));
|
|
12491
12560
|
} }
|
|
12492
12561
|
function ReadCollectionFieldComponent_table_0_tbody_3_Template(rf, ctx) { if (rf & 1) {
|
|
12493
12562
|
i0.ɵɵelementStart(0, "tbody");
|
|
@@ -13056,17 +13125,19 @@ class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
13056
13125
|
this.context = PaletteContext.DEFAULT;
|
|
13057
13126
|
}
|
|
13058
13127
|
}
|
|
13059
|
-
this.caseField?.field_type
|
|
13060
|
-
|
|
13061
|
-
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
|
|
13065
|
-
this.caseField.value[field.id].value.code
|
|
13066
|
-
|
|
13067
|
-
|
|
13068
|
-
|
|
13069
|
-
|
|
13128
|
+
if (this.caseField?.field_type && this.caseField.field_type.complex_fields) {
|
|
13129
|
+
this.caseField?.field_type?.complex_fields?.forEach((field) => {
|
|
13130
|
+
if (field?.isDynamic()) {
|
|
13131
|
+
field.list_items = this.caseField.value[field.id]?.list_items;
|
|
13132
|
+
field.value = {
|
|
13133
|
+
list_items: field.list_items,
|
|
13134
|
+
value: this.caseField.value[field.id]?.value && this.caseField.value[field.id].value.code ?
|
|
13135
|
+
this.caseField.value[field.id].value.code :
|
|
13136
|
+
this.caseField.value[field.id]?.value
|
|
13137
|
+
};
|
|
13138
|
+
}
|
|
13139
|
+
});
|
|
13140
|
+
}
|
|
13070
13141
|
}
|
|
13071
13142
|
}
|
|
13072
13143
|
ReadComplexFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵReadComplexFieldComponent_BaseFactory; return function ReadComplexFieldComponent_Factory(t) { return (ɵReadComplexFieldComponent_BaseFactory || (ɵReadComplexFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldComponent)))(t || ReadComplexFieldComponent); }; }();
|
|
@@ -13308,7 +13379,7 @@ function WriteDocumentFieldComponent_ccd_read_document_field_9_Template(rf, ctx)
|
|
|
13308
13379
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
13309
13380
|
i0.ɵɵproperty("caseField", ctx_r2.caseField);
|
|
13310
13381
|
} }
|
|
13311
|
-
const _c1$
|
|
13382
|
+
const _c1$l = function (a0) { return { "form-group-error bottom-30": a0 }; };
|
|
13312
13383
|
class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
13313
13384
|
constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
|
|
13314
13385
|
super();
|
|
@@ -13529,23 +13600,31 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13529
13600
|
this.uploadedDocument = this.registerControl(new FormGroup(documentFormGroup), true);
|
|
13530
13601
|
}
|
|
13531
13602
|
getErrorMessage(error) {
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13603
|
+
switch (error.status) {
|
|
13604
|
+
case 0:
|
|
13605
|
+
case 502:
|
|
13606
|
+
return WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE;
|
|
13607
|
+
case 422:
|
|
13608
|
+
{
|
|
13609
|
+
let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13610
|
+
if (error?.error) {
|
|
13611
|
+
const fullError = error.error;
|
|
13612
|
+
const start = fullError.indexOf('{');
|
|
13613
|
+
if (start >= 0) {
|
|
13614
|
+
const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
|
|
13615
|
+
const obj = JSON.parse(json);
|
|
13616
|
+
if (obj?.error) {
|
|
13617
|
+
errorMsg = obj.error;
|
|
13618
|
+
}
|
|
13619
|
+
}
|
|
13620
|
+
}
|
|
13621
|
+
return errorMsg;
|
|
13545
13622
|
}
|
|
13546
|
-
|
|
13623
|
+
case 429:
|
|
13624
|
+
return error?.error;
|
|
13625
|
+
default:
|
|
13626
|
+
return WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
|
|
13547
13627
|
}
|
|
13548
|
-
return errorMsg;
|
|
13549
13628
|
}
|
|
13550
13629
|
buildDocumentUploadData(selectedFile) {
|
|
13551
13630
|
const documentUpload = new FormData();
|
|
@@ -13601,6 +13680,7 @@ WriteDocumentFieldComponent.UPLOAD_TIMESTAMP = 'upload_timestamp';
|
|
|
13601
13680
|
WriteDocumentFieldComponent.UPLOAD_ERROR_FILE_REQUIRED = 'File required';
|
|
13602
13681
|
WriteDocumentFieldComponent.UPLOAD_ERROR_NOT_AVAILABLE = 'Document upload facility is not available at the moment';
|
|
13603
13682
|
WriteDocumentFieldComponent.UPLOAD_WAITING_FILE_STATUS = 'Uploading...';
|
|
13683
|
+
WriteDocumentFieldComponent.ERROR_UPLOADING_FILE = 'Error Uploading File';
|
|
13604
13684
|
WriteDocumentFieldComponent.ɵfac = function WriteDocumentFieldComponent_Factory(t) { return new (t || WriteDocumentFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(FileUploadStateService), i0.ɵɵdirectiveInject(JurisdictionService)); };
|
|
13605
13685
|
WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDocumentFieldComponent, selectors: [["ccd-write-document-field"]], viewQuery: function WriteDocumentFieldComponent_Query(rf, ctx) { if (rf & 1) {
|
|
13606
13686
|
i0.ɵɵviewQuery(_c0$Q, 5);
|
|
@@ -13630,7 +13710,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
13630
13710
|
i0.ɵɵpipe(17, "rpxTranslate");
|
|
13631
13711
|
i0.ɵɵelementEnd()();
|
|
13632
13712
|
} if (rf & 2) {
|
|
13633
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$
|
|
13713
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1$l, !ctx.valid));
|
|
13634
13714
|
i0.ɵɵadvance(1);
|
|
13635
13715
|
i0.ɵɵproperty("for", ctx.id());
|
|
13636
13716
|
i0.ɵɵadvance(1);
|
|
@@ -13663,7 +13743,7 @@ WriteDocumentFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
13663
13743
|
|
|
13664
13744
|
class DynamicListPipe {
|
|
13665
13745
|
transform(value, items) {
|
|
13666
|
-
const item = items
|
|
13746
|
+
const item = items?.find(i => i.code === value);
|
|
13667
13747
|
return item ? item.label : DynamicListPipe.EMPTY;
|
|
13668
13748
|
}
|
|
13669
13749
|
}
|
|
@@ -13824,9 +13904,14 @@ WriteDynamicListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
13824
13904
|
}], null, null); })();
|
|
13825
13905
|
|
|
13826
13906
|
class MarkdownComponent {
|
|
13827
|
-
constructor() {
|
|
13907
|
+
constructor() {
|
|
13908
|
+
this.renderUrlToTextFeature = true;
|
|
13909
|
+
}
|
|
13828
13910
|
ngOnInit() {
|
|
13829
13911
|
this.content = this.content.replace(/ \n/g, '<br>');
|
|
13912
|
+
if (this.renderUrlToTextFeature) {
|
|
13913
|
+
this.renderUrlToText();
|
|
13914
|
+
}
|
|
13830
13915
|
}
|
|
13831
13916
|
onMarkdownClick(event) {
|
|
13832
13917
|
// If we don't have an anchor tag, we don't need to do anything.
|
|
@@ -13835,11 +13920,26 @@ class MarkdownComponent {
|
|
|
13835
13920
|
}
|
|
13836
13921
|
return true;
|
|
13837
13922
|
}
|
|
13923
|
+
renderUrlToText() {
|
|
13924
|
+
const renderer = new marked.Renderer();
|
|
13925
|
+
renderer.link = (href, title, text) => {
|
|
13926
|
+
// Return the text without turning it into a link if it's not an internal link
|
|
13927
|
+
return this.isAllowedUrl(href) ? `<a href="${href}">${text}</a>` : text;
|
|
13928
|
+
};
|
|
13929
|
+
marked.setOptions({
|
|
13930
|
+
renderer: renderer
|
|
13931
|
+
});
|
|
13932
|
+
}
|
|
13933
|
+
isAllowedUrl(url) {
|
|
13934
|
+
const currentOrigin = window.location.origin;
|
|
13935
|
+
const urlOrigin = new URL(url, window.location.href).origin;
|
|
13936
|
+
return urlOrigin === currentOrigin || url.startsWith('/'); // Check if same origin or relative
|
|
13937
|
+
}
|
|
13838
13938
|
}
|
|
13839
13939
|
MarkdownComponent.ɵfac = function MarkdownComponent_Factory(t) { return new (t || MarkdownComponent)(); };
|
|
13840
13940
|
MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownComponent, selectors: [["ccd-markdown"]], hostBindings: function MarkdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
13841
13941
|
i0.ɵɵlistener("click", function MarkdownComponent_click_HostBindingHandler($event) { return ctx.onMarkdownClick($event); });
|
|
13842
|
-
} }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13942
|
+
} }, inputs: { content: "content", markdownUseHrefAsRouterLink: "markdownUseHrefAsRouterLink", renderUrlToTextFeature: "renderUrlToTextFeature" }, decls: 4, vars: 5, consts: [[1, "markdown", 3, "data"]], template: function MarkdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13843
13943
|
i0.ɵɵelementStart(0, "div");
|
|
13844
13944
|
i0.ɵɵelement(1, "markdown", 0);
|
|
13845
13945
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -13856,6 +13956,8 @@ MarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownC
|
|
|
13856
13956
|
type: Input
|
|
13857
13957
|
}], markdownUseHrefAsRouterLink: [{
|
|
13858
13958
|
type: Input
|
|
13959
|
+
}], renderUrlToTextFeature: [{
|
|
13960
|
+
type: Input
|
|
13859
13961
|
}], onMarkdownClick: [{
|
|
13860
13962
|
type: HostListener,
|
|
13861
13963
|
args: ['click', ['$event']]
|
|
@@ -13968,7 +14070,7 @@ function WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template(rf, c
|
|
|
13968
14070
|
i0.ɵɵadvance(1);
|
|
13969
14071
|
i0.ɵɵpropertyInterpolate("for", ctx_r3.createElementId(checkbox_r4.code));
|
|
13970
14072
|
i0.ɵɵadvance(1);
|
|
13971
|
-
i0.ɵɵproperty("content", checkbox_r4.label);
|
|
14073
|
+
i0.ɵɵproperty("content", checkbox_r4.label)("renderUrlToTextFeature", false);
|
|
13972
14074
|
} }
|
|
13973
14075
|
const _c0$O = function (a0) { return { "error": a0 }; };
|
|
13974
14076
|
class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteComponent {
|
|
@@ -14032,13 +14134,13 @@ class WriteDynamicMultiSelectListFieldComponent extends AbstractFieldWriteCompon
|
|
|
14032
14134
|
}
|
|
14033
14135
|
}
|
|
14034
14136
|
WriteDynamicMultiSelectListFieldComponent.ɵfac = /*@__PURE__*/ function () { let ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory; return function WriteDynamicMultiSelectListFieldComponent_Factory(t) { return (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory || (ɵWriteDynamicMultiSelectListFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteDynamicMultiSelectListFieldComponent)))(t || WriteDynamicMultiSelectListFieldComponent); }; }();
|
|
14035
|
-
WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14137
|
+
WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteDynamicMultiSelectListFieldComponent, selectors: [["ccd-write-dynamic-multi-select-list-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 8, consts: [[1, "form-group", "bottom-30", 3, "ngClass", "id"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "multiple-choice"], ["type", "checkbox", 1, "form-control", 3, "id", "name", "value", "checked", "change"], [1, "form-label", 3, "for"], [3, "content", "renderUrlToTextFeature"]], template: function WriteDynamicMultiSelectListFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14036
14138
|
i0.ɵɵelementStart(0, "div", 0)(1, "fieldset")(2, "legend");
|
|
14037
14139
|
i0.ɵɵtemplate(3, WriteDynamicMultiSelectListFieldComponent_span_3_Template, 3, 3, "span", 1);
|
|
14038
14140
|
i0.ɵɵtemplate(4, WriteDynamicMultiSelectListFieldComponent_span_4_Template, 2, 1, "span", 2);
|
|
14039
14141
|
i0.ɵɵtemplate(5, WriteDynamicMultiSelectListFieldComponent_span_5_Template, 3, 3, "span", 3);
|
|
14040
14142
|
i0.ɵɵelementEnd();
|
|
14041
|
-
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5,
|
|
14143
|
+
i0.ɵɵtemplate(6, WriteDynamicMultiSelectListFieldComponent_ng_container_6_Template, 5, 7, "ng-container", 4);
|
|
14042
14144
|
i0.ɵɵelementEnd()();
|
|
14043
14145
|
} if (rf & 2) {
|
|
14044
14146
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0$O, !ctx.checkboxes.valid && ctx.checkboxes.touched))("id", ctx.id());
|
|
@@ -14053,7 +14155,7 @@ WriteDynamicMultiSelectListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineCom
|
|
|
14053
14155
|
} }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, MarkdownComponent, FieldLabelPipe, FirstErrorPipe], styles: ["ccd-markdown[_ngcontent-%COMP%]{display:inline-block}"] });
|
|
14054
14156
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDynamicMultiSelectListFieldComponent, [{
|
|
14055
14157
|
type: Component,
|
|
14056
|
-
args: [{ selector: 'ccd-write-dynamic-multi-select-list-field', template: "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && checkboxes.touched}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span *ngIf=\"caseField.label\" class=\"form-label\">{{caseField | ccdFieldLabel}}</span>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && checkboxes.touched\" class=\"error-message\">{{checkboxes.errors |\n ccdFirstError}}</span>\n </legend>\n\n <ng-container *ngFor=\"let checkbox of caseField.list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" id=\"{{ createElementId(checkbox.code) }}\" name=\"{{ id() }}\" type=\"checkbox\"\n [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" for=\"{{ createElementId(checkbox.code) }}\">\n <ccd-markdown [content]=\"checkbox.label\"></ccd-markdown>\n </label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n", styles: ["ccd-markdown{display:inline-block}\n"] }]
|
|
14158
|
+
args: [{ selector: 'ccd-write-dynamic-multi-select-list-field', template: "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && checkboxes.touched}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span *ngIf=\"caseField.label\" class=\"form-label\">{{caseField | ccdFieldLabel}}</span>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && checkboxes.touched\" class=\"error-message\">{{checkboxes.errors |\n ccdFirstError}}</span>\n </legend>\n\n <ng-container *ngFor=\"let checkbox of caseField.list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" id=\"{{ createElementId(checkbox.code) }}\" name=\"{{ id() }}\" type=\"checkbox\"\n [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" for=\"{{ createElementId(checkbox.code) }}\">\n <ccd-markdown [content]=\"checkbox.label\" [renderUrlToTextFeature]=\"false\"></ccd-markdown>\n </label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n", styles: ["ccd-markdown{display:inline-block}\n"] }]
|
|
14057
14159
|
}], null, null); })();
|
|
14058
14160
|
|
|
14059
14161
|
class DynamicRadioListPipe {
|
|
@@ -14174,7 +14276,7 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
|
|
|
14174
14276
|
i0.ɵɵadvance(1);
|
|
14175
14277
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r5.label));
|
|
14176
14278
|
} }
|
|
14177
|
-
const _c1$
|
|
14279
|
+
const _c1$k = function (a0) { return { "form-group-error": a0 }; };
|
|
14178
14280
|
class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14179
14281
|
ngOnInit() {
|
|
14180
14282
|
/**
|
|
@@ -14212,7 +14314,7 @@ WriteDynamicRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent
|
|
|
14212
14314
|
i0.ɵɵelementContainerEnd();
|
|
14213
14315
|
i0.ɵɵelementEnd()();
|
|
14214
14316
|
} if (rf & 2) {
|
|
14215
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$
|
|
14317
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1$k, !ctx.dynamicRadioListControl.valid && ctx.dynamicRadioListControl.dirty))("id", ctx.id());
|
|
14216
14318
|
i0.ɵɵadvance(3);
|
|
14217
14319
|
i0.ɵɵproperty("for", ctx.id());
|
|
14218
14320
|
i0.ɵɵadvance(1);
|
|
@@ -14293,7 +14395,7 @@ function WriteEmailFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
14293
14395
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.emailControl.errors, ctx_r2.caseField.label));
|
|
14294
14396
|
} }
|
|
14295
14397
|
const _c0$M = function (a0) { return { "form-group-error": a0 }; };
|
|
14296
|
-
const _c1$
|
|
14398
|
+
const _c1$j = function (a0) { return { "govuk-input--error": a0 }; };
|
|
14297
14399
|
class WriteEmailFieldComponent extends AbstractFieldWriteComponent {
|
|
14298
14400
|
ngOnInit() {
|
|
14299
14401
|
this.emailControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -14319,7 +14421,7 @@ WriteEmailFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
14319
14421
|
i0.ɵɵadvance(1);
|
|
14320
14422
|
i0.ɵɵproperty("ngIf", ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched));
|
|
14321
14423
|
i0.ɵɵadvance(1);
|
|
14322
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
14424
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$j, ctx.emailControl.errors && (ctx.emailControl.dirty || ctx.emailControl.touched)))("id", ctx.id())("formControl", ctx.emailControl);
|
|
14323
14425
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
14324
14426
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteEmailFieldComponent, [{
|
|
14325
14427
|
type: Component,
|
|
@@ -14530,7 +14632,7 @@ function WriteFixedRadioListFieldComponent_div_8_Template(rf, ctx) { if (rf & 1)
|
|
|
14530
14632
|
i0.ɵɵadvance(1);
|
|
14531
14633
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, radioButton_r4.label));
|
|
14532
14634
|
} }
|
|
14533
|
-
const _c1$
|
|
14635
|
+
const _c1$i = function (a0) { return { "form-group-error": a0 }; };
|
|
14534
14636
|
class WriteFixedRadioListFieldComponent extends AbstractFieldWriteComponent {
|
|
14535
14637
|
ngOnInit() {
|
|
14536
14638
|
const notEmpty = this.caseField.value !== null && this.caseField.value !== undefined;
|
|
@@ -14550,7 +14652,7 @@ WriteFixedRadioListFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
14550
14652
|
i0.ɵɵelementContainerEnd();
|
|
14551
14653
|
i0.ɵɵelementEnd()();
|
|
14552
14654
|
} if (rf & 2) {
|
|
14553
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
14655
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$i, !ctx.fixedRadioListControl.valid && (ctx.fixedRadioListControl.dirty || ctx.fixedRadioListControl.touched)))("id", ctx.id());
|
|
14554
14656
|
i0.ɵɵadvance(3);
|
|
14555
14657
|
i0.ɵɵproperty("for", ctx.id());
|
|
14556
14658
|
i0.ɵɵadvance(1);
|
|
@@ -14672,7 +14774,7 @@ function WriteJudicialUserFieldComponent_mat_option_11_Template(rf, ctx) { if (r
|
|
|
14672
14774
|
i0.ɵɵtext(1, " Invalid search term ");
|
|
14673
14775
|
i0.ɵɵelementEnd();
|
|
14674
14776
|
} }
|
|
14675
|
-
const _c1$
|
|
14777
|
+
const _c1$h = function (a0) { return { "form-group-error": a0 }; };
|
|
14676
14778
|
class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent {
|
|
14677
14779
|
constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService, compoundPipe, validatorsService) {
|
|
14678
14780
|
super(compoundPipe, validatorsService);
|
|
@@ -14819,7 +14921,7 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
14819
14921
|
i0.ɵɵelementEnd()();
|
|
14820
14922
|
} if (rf & 2) {
|
|
14821
14923
|
const _r3 = i0.ɵɵreference(7);
|
|
14822
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$
|
|
14924
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(15, _c1$h, !!ctx.judicialUserControl && ctx.errors));
|
|
14823
14925
|
i0.ɵɵadvance(1);
|
|
14824
14926
|
i0.ɵɵproperty("for", ctx.id());
|
|
14825
14927
|
i0.ɵɵadvance(1);
|
|
@@ -15509,7 +15611,7 @@ function LinkCasesComponent_tr_31_span_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
15509
15611
|
i0.ɵɵadvance(1);
|
|
15510
15612
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, reason_r19));
|
|
15511
15613
|
} }
|
|
15512
|
-
const _c1$
|
|
15614
|
+
const _c1$g = function (a0) { return { "table-group-error": a0 }; };
|
|
15513
15615
|
function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
15514
15616
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
15515
15617
|
i0.ɵɵelementStart(0, "tr", 10)(1, "td", 38);
|
|
@@ -15540,7 +15642,7 @@ function LinkCasesComponent_tr_31_Template(rf, ctx) { if (rf & 1) {
|
|
|
15540
15642
|
const case_r16 = ctx.$implicit;
|
|
15541
15643
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
15542
15644
|
i0.ɵɵadvance(2);
|
|
15543
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$
|
|
15645
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$g, ctx_r2.caseSelectionError && case_r16.caseReference === ctx_r2.linkCaseForm.value.caseNumber));
|
|
15544
15646
|
i0.ɵɵadvance(2);
|
|
15545
15647
|
i0.ɵɵtextInterpolate1("", case_r16.caseName, " ");
|
|
15546
15648
|
i0.ɵɵadvance(2);
|
|
@@ -17440,7 +17542,7 @@ function WriteNumberFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
17440
17542
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.numberControl.errors, ctx_r2.caseField.label), " ");
|
|
17441
17543
|
} }
|
|
17442
17544
|
const _c0$E = function (a0) { return { "form-group-error": a0 }; };
|
|
17443
|
-
const _c1$
|
|
17545
|
+
const _c1$f = function (a0) { return { "govuk-input--error": a0 }; };
|
|
17444
17546
|
class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
|
|
17445
17547
|
ngOnInit() {
|
|
17446
17548
|
this.numberControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -17466,7 +17568,7 @@ WriteNumberFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: W
|
|
|
17466
17568
|
i0.ɵɵadvance(1);
|
|
17467
17569
|
i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
|
|
17468
17570
|
i0.ɵɵadvance(1);
|
|
17469
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
17571
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
|
|
17470
17572
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
17471
17573
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
|
|
17472
17574
|
type: Component,
|
|
@@ -18107,7 +18209,7 @@ function WritePhoneUKFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
18107
18209
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.phoneUkControl.errors, ctx_r2.caseField.label), " ");
|
|
18108
18210
|
} }
|
|
18109
18211
|
const _c0$C = function (a0) { return { "form-group-error": a0 }; };
|
|
18110
|
-
const _c1$
|
|
18212
|
+
const _c1$e = function (a0) { return { "govuk-input--error": a0 }; };
|
|
18111
18213
|
class WritePhoneUKFieldComponent extends AbstractFieldWriteComponent {
|
|
18112
18214
|
ngOnInit() {
|
|
18113
18215
|
this.phoneUkControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -18133,7 +18235,7 @@ WritePhoneUKFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
18133
18235
|
i0.ɵɵadvance(1);
|
|
18134
18236
|
i0.ɵɵproperty("ngIf", ctx.phoneUkControl.errors && (ctx.phoneUkControl.dirty || ctx.phoneUkControl.touched));
|
|
18135
18237
|
i0.ɵɵadvance(1);
|
|
18136
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
18238
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$e, ctx.phoneUkControl.errors && ctx.phoneUkControl.dirty))("id", ctx.id())("formControl", ctx.phoneUkControl);
|
|
18137
18239
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
18138
18240
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WritePhoneUKFieldComponent, [{
|
|
18139
18241
|
type: Component,
|
|
@@ -20149,7 +20251,7 @@ function WriteTextAreaFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20149
20251
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textareaControl.errors, ctx_r2.caseField.label), " ");
|
|
20150
20252
|
} }
|
|
20151
20253
|
const _c0$z = function (a0) { return { "form-group-error": a0 }; };
|
|
20152
|
-
const _c1$
|
|
20254
|
+
const _c1$d = function (a0) { return { "govuk-textarea--error": a0 }; };
|
|
20153
20255
|
class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
20154
20256
|
constructor(browserService) {
|
|
20155
20257
|
super();
|
|
@@ -20187,7 +20289,7 @@ WriteTextAreaFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
20187
20289
|
i0.ɵɵadvance(1);
|
|
20188
20290
|
i0.ɵɵproperty("ngIf", ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched));
|
|
20189
20291
|
i0.ɵɵadvance(1);
|
|
20190
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20292
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$d, ctx.textareaControl.errors && (ctx.textareaControl.dirty || ctx.textareaControl.touched)))("id", ctx.id())("formControl", ctx.textareaControl);
|
|
20191
20293
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20192
20294
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextAreaFieldComponent, [{
|
|
20193
20295
|
type: Component,
|
|
@@ -20245,7 +20347,7 @@ function WriteTextFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
20245
20347
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r2.textControl.errors, ctx_r2.caseField.label), " ");
|
|
20246
20348
|
} }
|
|
20247
20349
|
const _c0$y = function (a0) { return { "form-group-error": a0 }; };
|
|
20248
|
-
const _c1$
|
|
20350
|
+
const _c1$c = function (a0) { return { "govuk-input--error": a0 }; };
|
|
20249
20351
|
class WriteTextFieldComponent extends AbstractFieldWriteComponent {
|
|
20250
20352
|
ngOnInit() {
|
|
20251
20353
|
this.textControl = this.registerControl(new FormControl(this.caseField.value));
|
|
@@ -20275,7 +20377,7 @@ WriteTextFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wri
|
|
|
20275
20377
|
i0.ɵɵadvance(1);
|
|
20276
20378
|
i0.ɵɵproperty("ngIf", (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched));
|
|
20277
20379
|
i0.ɵɵadvance(1);
|
|
20278
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$
|
|
20380
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$c, (ctx.textControl == null ? null : ctx.textControl.errors) && (ctx.textControl.dirty || ctx.textControl.touched)))("id", ctx.id())("formControl", ctx.textControl);
|
|
20279
20381
|
} }, dependencies: [i4.NgClass, i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
|
|
20280
20382
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteTextFieldComponent, [{
|
|
20281
20383
|
type: Component,
|
|
@@ -20448,7 +20550,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
20448
20550
|
i0.ɵɵadvance(1);
|
|
20449
20551
|
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
20450
20552
|
} }
|
|
20451
|
-
const _c1$
|
|
20553
|
+
const _c1$b = function (a0) { return { "form-group-error": a0 }; };
|
|
20452
20554
|
class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
|
|
20453
20555
|
constructor(yesNoService) {
|
|
20454
20556
|
super();
|
|
@@ -20470,7 +20572,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
20470
20572
|
i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 5, 14, "div", 6);
|
|
20471
20573
|
i0.ɵɵelementEnd()()();
|
|
20472
20574
|
} if (rf & 2) {
|
|
20473
|
-
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$
|
|
20575
|
+
i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c1$b, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
|
|
20474
20576
|
i0.ɵɵadvance(3);
|
|
20475
20577
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
20476
20578
|
i0.ɵɵadvance(1);
|
|
@@ -20827,7 +20929,7 @@ function CaseFileViewFolderSelectorComponent_ng_container_6_Template(rf, ctx) {
|
|
|
20827
20929
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
20828
20930
|
i0.ɵɵelementContainer(0);
|
|
20829
20931
|
} }
|
|
20830
|
-
const _c1$
|
|
20932
|
+
const _c1$a = function (a0, a1) { return { cat: a0, level: a1 }; };
|
|
20831
20933
|
function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
20832
20934
|
i0.ɵɵelementContainerStart(0);
|
|
20833
20935
|
i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
|
|
@@ -20838,7 +20940,7 @@ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Templ
|
|
|
20838
20940
|
i0.ɵɵnextContext();
|
|
20839
20941
|
const _r1 = i0.ɵɵreference(13);
|
|
20840
20942
|
i0.ɵɵadvance(1);
|
|
20841
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$
|
|
20943
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1$a, subcat_r8, level_r6 + 1));
|
|
20842
20944
|
} }
|
|
20843
20945
|
function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
20844
20946
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
@@ -21006,7 +21108,7 @@ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) { if (
|
|
|
21006
21108
|
i0.ɵɵproperty("ngForOf", ctx_r1.menuItems);
|
|
21007
21109
|
} }
|
|
21008
21110
|
const _c0$s = [[["", "trigger", ""]]];
|
|
21009
|
-
const _c1$
|
|
21111
|
+
const _c1$9 = ["[trigger]"];
|
|
21010
21112
|
class CaseFileViewOverlayMenuComponent {
|
|
21011
21113
|
constructor() {
|
|
21012
21114
|
this.title = '';
|
|
@@ -21020,7 +21122,7 @@ class CaseFileViewOverlayMenuComponent {
|
|
|
21020
21122
|
}
|
|
21021
21123
|
}
|
|
21022
21124
|
CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
|
|
21023
|
-
CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$
|
|
21125
|
+
CaseFileViewOverlayMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1$9, decls: 5, vars: 4, consts: [["type", "button", "cdkOverlayOrigin", "", 1, "overlay-toggle", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "overlay-menu"], [4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "overlay-menu__title"], [1, "overlay-menu__item", 3, "click"], ["class", "overlay-menu__itemIcon", 3, "src", "alt", 4, "ngIf"], [1, "overlay-menu__actionText"], [1, "overlay-menu__itemIcon", 3, "src", "alt"]], template: function CaseFileViewOverlayMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21024
21126
|
i0.ɵɵprojectionDef(_c0$s);
|
|
21025
21127
|
i0.ɵɵelementStart(0, "div")(1, "button", 0, 1);
|
|
21026
21128
|
i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_Template_button_click_1_listener($event) { $event.stopPropagation(); return ctx.isOpen = !ctx.isOpen; });
|
|
@@ -21288,9 +21390,10 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
21288
21390
|
i0.ɵɵelement(6, "br");
|
|
21289
21391
|
i0.ɵɵelementStart(7, "span", 17);
|
|
21290
21392
|
i0.ɵɵtext(8);
|
|
21393
|
+
i0.ɵɵpipe(9, "date");
|
|
21291
21394
|
i0.ɵɵelementEnd()();
|
|
21292
|
-
i0.ɵɵelementStart(
|
|
21293
|
-
i0.ɵɵlistener("changeFolderAction", function
|
|
21395
|
+
i0.ɵɵelementStart(10, "div", 18)(11, "ccd-case-file-view-folder-document-actions", 19);
|
|
21396
|
+
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.triggerDocumentAction("changeFolder", node_r4)); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.triggerDocumentAction("openInANewTab", node_r4)); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.triggerDocumentAction("download", node_r4)); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_11_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const node_r4 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.triggerDocumentAction("print", node_r4)); });
|
|
21294
21397
|
i0.ɵɵelementEnd()()()();
|
|
21295
21398
|
} if (rf & 2) {
|
|
21296
21399
|
const node_r4 = ctx.$implicit;
|
|
@@ -21300,8 +21403,8 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
21300
21403
|
i0.ɵɵadvance(4);
|
|
21301
21404
|
i0.ɵɵtextInterpolate1(" ", node_r4.name, " ");
|
|
21302
21405
|
i0.ɵɵadvance(3);
|
|
21303
|
-
i0.ɵɵtextInterpolate(node_r4.upload_timestamp);
|
|
21304
|
-
i0.ɵɵadvance(
|
|
21406
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r4.upload_timestamp, "dd MMM YYYY"));
|
|
21407
|
+
i0.ɵɵadvance(3);
|
|
21305
21408
|
i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
|
|
21306
21409
|
} }
|
|
21307
21410
|
function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -21334,7 +21437,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
21334
21437
|
i0.ɵɵelementStart(0, "div", 7);
|
|
21335
21438
|
i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
|
|
21336
21439
|
i0.ɵɵelementStart(2, "div")(3, "cdk-tree", 9);
|
|
21337
|
-
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template,
|
|
21440
|
+
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 12, 8, "cdk-nested-tree-node", 10);
|
|
21338
21441
|
i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
|
|
21339
21442
|
i0.ɵɵelementEnd()()();
|
|
21340
21443
|
} if (rf & 2) {
|
|
@@ -21421,7 +21524,7 @@ class CaseFileViewFolderComponent {
|
|
|
21421
21524
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
21422
21525
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
21423
21526
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
21424
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
21527
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
21425
21528
|
documentsToReturn.push(documentTreeNode);
|
|
21426
21529
|
});
|
|
21427
21530
|
return documentsToReturn;
|
|
@@ -21436,7 +21539,7 @@ class CaseFileViewFolderComponent {
|
|
|
21436
21539
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
21437
21540
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
21438
21541
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
21439
|
-
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY') : '';
|
|
21542
|
+
&& document.upload_timestamp ? moment$1(document.upload_timestamp).format('DD MMM YYYY HH:mm:ss') : '';
|
|
21440
21543
|
documents.push(documentTreeNode);
|
|
21441
21544
|
});
|
|
21442
21545
|
const uncategorisedNode = new DocumentTreeNode();
|
|
@@ -21556,7 +21659,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
|
|
|
21556
21659
|
CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
21557
21660
|
CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
|
|
21558
21661
|
CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
|
|
21559
|
-
CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21662
|
+
CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", "aria-label", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21560
21663
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
21561
21664
|
i0.ɵɵelement(2, "input", 2);
|
|
21562
21665
|
i0.ɵɵelementEnd()();
|
|
@@ -21574,10 +21677,10 @@ CaseFileViewFolderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21574
21677
|
i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
|
|
21575
21678
|
i0.ɵɵadvance(3);
|
|
21576
21679
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
21577
|
-
} }, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
21680
|
+
} }, dependencies: [i4.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent, i4.DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
21578
21681
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
21579
21682
|
type: Component,
|
|
21580
|
-
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
21683
|
+
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #FFF;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#EEE}.document-tree-container::-webkit-scrollbar-thumb{background:#CCC}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
21581
21684
|
}], function () { return [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }]; }, { categoriesAndDocuments: [{
|
|
21582
21685
|
type: Input
|
|
21583
21686
|
}], allowMoving: [{
|
|
@@ -23087,7 +23190,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) {
|
|
|
23087
23190
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
|
|
23088
23191
|
} }
|
|
23089
23192
|
const _c0$n = function (a0) { return { "form-group-error": a0 }; };
|
|
23090
|
-
const _c1$
|
|
23193
|
+
const _c1$8 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
23091
23194
|
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
23092
23195
|
i0.ɵɵelementStart(0, "div", 18)(1, "div", 3)(2, "label", 19);
|
|
23093
23196
|
i0.ɵɵtext(3);
|
|
@@ -23107,7 +23210,7 @@ function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (r
|
|
|
23107
23210
|
i0.ɵɵadvance(3);
|
|
23108
23211
|
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
23109
23212
|
i0.ɵɵadvance(1);
|
|
23110
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$
|
|
23213
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$8, ctx_r7.flagTypeErrorMessage.length > 0))("name", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION)("formControlName", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION);
|
|
23111
23214
|
i0.ɵɵadvance(1);
|
|
23112
23215
|
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
23113
23216
|
} }
|
|
@@ -23607,7 +23710,7 @@ function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
|
23607
23710
|
i0.ɵɵadvance(3);
|
|
23608
23711
|
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
23609
23712
|
} }
|
|
23610
|
-
const _c1$
|
|
23713
|
+
const _c1$7 = function (a0) { return { "form-group-error": a0 }; };
|
|
23611
23714
|
class UpdateFlagComponent {
|
|
23612
23715
|
constructor(rpxTranslationService) {
|
|
23613
23716
|
this.rpxTranslationService = rpxTranslationService;
|
|
@@ -23809,7 +23912,7 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
|
|
|
23809
23912
|
const _r3 = i0.ɵɵreference(17);
|
|
23810
23913
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
23811
23914
|
i0.ɵɵadvance(2);
|
|
23812
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$
|
|
23915
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1$7, ctx.errorMessages.length > 0));
|
|
23813
23916
|
i0.ɵɵadvance(3);
|
|
23814
23917
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
23815
23918
|
i0.ɵɵadvance(2);
|
|
@@ -25079,7 +25182,7 @@ const CUSTOM_MOMENT_FORMATS = {
|
|
|
25079
25182
|
};
|
|
25080
25183
|
|
|
25081
25184
|
const _c0$g = ["picker"];
|
|
25082
|
-
const _c1$
|
|
25185
|
+
const _c1$6 = ["input"];
|
|
25083
25186
|
function DatetimePickerComponent_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
25084
25187
|
i0.ɵɵelementStart(0, "span", 11);
|
|
25085
25188
|
i0.ɵɵtext(1);
|
|
@@ -25128,7 +25231,7 @@ function DatetimePickerComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
25128
25231
|
i0.ɵɵadvance(1);
|
|
25129
25232
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
|
|
25130
25233
|
} }
|
|
25131
|
-
const _c2$
|
|
25234
|
+
const _c2$2 = function (a0) { return { "form-group-error": a0 }; };
|
|
25132
25235
|
class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
25133
25236
|
constructor(formatTranslationService, ngxMatDateFormats) {
|
|
25134
25237
|
super();
|
|
@@ -25293,7 +25396,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
25293
25396
|
DatetimePickerComponent.ɵfac = function DatetimePickerComponent_Factory(t) { return new (t || DatetimePickerComponent)(i0.ɵɵdirectiveInject(FormatTranslatorService), i0.ɵɵdirectiveInject(NGX_MAT_DATE_FORMATS)); };
|
|
25294
25397
|
DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DatetimePickerComponent, selectors: [["ccd-datetime-picker"]], viewQuery: function DatetimePickerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
25295
25398
|
i0.ɵɵviewQuery(_c0$g, 5);
|
|
25296
|
-
i0.ɵɵviewQuery(_c1$
|
|
25399
|
+
i0.ɵɵviewQuery(_c1$6, 5);
|
|
25297
25400
|
} if (rf & 2) {
|
|
25298
25401
|
let _t;
|
|
25299
25402
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimePicker = _t.first);
|
|
@@ -25325,7 +25428,7 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
25325
25428
|
i0.ɵɵelementEnd()()()()()();
|
|
25326
25429
|
} if (rf & 2) {
|
|
25327
25430
|
const _r6 = i0.ɵɵreference(13);
|
|
25328
|
-
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$
|
|
25431
|
+
i0.ɵɵproperty("id", ctx.caseField.id)("ngClass", i0.ɵɵpureFunction1(24, _c2$2, ctx.dateControl && !ctx.dateControl.valid && ctx.dateControl.dirty));
|
|
25329
25432
|
i0.ɵɵadvance(3);
|
|
25330
25433
|
i0.ɵɵproperty("ngIf", ctx.caseField.label);
|
|
25331
25434
|
i0.ɵɵadvance(1);
|
|
@@ -25549,7 +25652,7 @@ function EventLogTableComponent_tr_20_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
25549
25652
|
i0.ɵɵadvance(3);
|
|
25550
25653
|
i0.ɵɵtextInterpolate(ctx_r5.getSignificantItemDesc(event_r1));
|
|
25551
25654
|
} }
|
|
25552
|
-
const _c1$
|
|
25655
|
+
const _c1$5 = function (a0) { return { "EventLogTable-Selected": a0 }; };
|
|
25553
25656
|
function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
25554
25657
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
25555
25658
|
i0.ɵɵelementStart(0, "tr", 4);
|
|
@@ -25580,7 +25683,7 @@ function EventLogTableComponent_tr_20_Template(rf, ctx) { if (rf & 1) {
|
|
|
25580
25683
|
} if (rf & 2) {
|
|
25581
25684
|
const event_r1 = ctx.$implicit;
|
|
25582
25685
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
25583
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$
|
|
25686
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c1$5, ctx_r0.selected === event_r1));
|
|
25584
25687
|
i0.ɵɵattribute("aria-label", ctx_r0.getAriaLabelforRow(event_r1));
|
|
25585
25688
|
i0.ɵɵadvance(2);
|
|
25586
25689
|
i0.ɵɵproperty("ngSwitch", ctx_r0.isPartOfCaseTimeline);
|
|
@@ -27468,6 +27571,30 @@ function CaseEditSubmitComponent_div_0_ng_container_13_Template(rf, ctx) { if (r
|
|
|
27468
27571
|
i0.ɵɵadvance(3);
|
|
27469
27572
|
i0.ɵɵproperty("ngForOf", ctx_r8.showSummaryFields);
|
|
27470
27573
|
} }
|
|
27574
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
27575
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27576
|
+
i0.ɵɵtext(1);
|
|
27577
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27578
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27579
|
+
i0.ɵɵelementEnd();
|
|
27580
|
+
} if (rf & 2) {
|
|
27581
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
27582
|
+
i0.ɵɵadvance(1);
|
|
27583
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r36.summary.errors, ctx_r36.eventSummaryLabel)), " ");
|
|
27584
|
+
} }
|
|
27585
|
+
function CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
27586
|
+
i0.ɵɵelementStart(0, "span", 48);
|
|
27587
|
+
i0.ɵɵtext(1);
|
|
27588
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27589
|
+
i0.ɵɵpipe(3, "ccdFirstError");
|
|
27590
|
+
i0.ɵɵelementEnd();
|
|
27591
|
+
} if (rf & 2) {
|
|
27592
|
+
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
27593
|
+
i0.ɵɵadvance(1);
|
|
27594
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r37.description.errors, ctx_r37.eventDescriptionLabel)), " ");
|
|
27595
|
+
} }
|
|
27596
|
+
const _c1$4 = function (a0) { return { "form-group-error": a0 }; };
|
|
27597
|
+
const _c2$1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
27471
27598
|
function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
27472
27599
|
i0.ɵɵelementContainerStart(0);
|
|
27473
27600
|
i0.ɵɵelementStart(1, "fieldset", 39);
|
|
@@ -27477,19 +27604,35 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) { if (r
|
|
|
27477
27604
|
i0.ɵɵelementStart(6, "span", 43);
|
|
27478
27605
|
i0.ɵɵtext(7, "A few words describing the purpose of the event.");
|
|
27479
27606
|
i0.ɵɵelementEnd()();
|
|
27480
|
-
i0.ɵɵ
|
|
27607
|
+
i0.ɵɵtemplate(8, CaseEditSubmitComponent_div_0_ng_container_14_span_8_Template, 4, 6, "span", 44);
|
|
27608
|
+
i0.ɵɵelement(9, "input", 45);
|
|
27481
27609
|
i0.ɵɵelementEnd();
|
|
27482
|
-
i0.ɵɵelementStart(
|
|
27483
|
-
i0.ɵɵtext(
|
|
27610
|
+
i0.ɵɵelementStart(10, "div", 41)(11, "label", 46);
|
|
27611
|
+
i0.ɵɵtext(12, "Event description (optional)");
|
|
27484
27612
|
i0.ɵɵelementEnd();
|
|
27485
|
-
i0.ɵɵ
|
|
27613
|
+
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_14_span_13_Template, 4, 6, "span", 44);
|
|
27614
|
+
i0.ɵɵelement(14, "textarea", 47);
|
|
27486
27615
|
i0.ɵɵelementEnd()();
|
|
27487
27616
|
i0.ɵɵelementContainerEnd();
|
|
27617
|
+
} if (rf & 2) {
|
|
27618
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
27619
|
+
i0.ɵɵadvance(3);
|
|
27620
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1$4, !!ctx_r9.summary && !ctx_r9.summary.valid && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
27621
|
+
i0.ɵɵadvance(5);
|
|
27622
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched));
|
|
27623
|
+
i0.ɵɵadvance(1);
|
|
27624
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$1, (ctx_r9.summary == null ? null : ctx_r9.summary.errors) && (ctx_r9.summary.dirty || ctx_r9.summary.touched)));
|
|
27625
|
+
i0.ɵɵadvance(1);
|
|
27626
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$4, !!ctx_r9.description && !ctx_r9.description.valid && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
27627
|
+
i0.ɵɵadvance(3);
|
|
27628
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched));
|
|
27629
|
+
i0.ɵɵadvance(1);
|
|
27630
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c2$1, (ctx_r9.description == null ? null : ctx_r9.description.errors) && (ctx_r9.description.dirty || ctx_r9.description.touched)));
|
|
27488
27631
|
} }
|
|
27489
27632
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
|
|
27490
|
-
const
|
|
27491
|
-
i0.ɵɵelementStart(0, "button",
|
|
27492
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
27633
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
27634
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
27635
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r38.previous()); });
|
|
27493
27636
|
i0.ɵɵtext(1);
|
|
27494
27637
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
27495
27638
|
i0.ɵɵelementEnd();
|
|
@@ -27500,7 +27643,7 @@ function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1)
|
|
|
27500
27643
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Previous"), " ");
|
|
27501
27644
|
} }
|
|
27502
27645
|
function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27503
|
-
const
|
|
27646
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
27504
27647
|
i0.ɵɵelementStart(0, "div")(1, "h1", 2);
|
|
27505
27648
|
i0.ɵɵtext(2);
|
|
27506
27649
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
@@ -27510,13 +27653,13 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27510
27653
|
i0.ɵɵtemplate(7, CaseEditSubmitComponent_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
27511
27654
|
i0.ɵɵelement(9, "ccd-case-edit-generic-errors", 6);
|
|
27512
27655
|
i0.ɵɵelementStart(10, "ccd-callback-errors", 7);
|
|
27513
|
-
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(
|
|
27656
|
+
i0.ɵɵlistener("callbackErrorsContext", function CaseEditSubmitComponent_div_0_Template_ccd_callback_errors_callbackErrorsContext_10_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.callbackErrorsNotify($event)); });
|
|
27514
27657
|
i0.ɵɵelementEnd();
|
|
27515
27658
|
i0.ɵɵelementStart(11, "form", 8);
|
|
27516
|
-
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(
|
|
27659
|
+
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.submit()); });
|
|
27517
27660
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
27518
27661
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
27519
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
27662
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 15, 14, "ng-container", 0);
|
|
27520
27663
|
i0.ɵɵelementStart(15, "div", 9);
|
|
27521
27664
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
27522
27665
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -27524,7 +27667,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27524
27667
|
i0.ɵɵpipe(19, "rpxTranslate");
|
|
27525
27668
|
i0.ɵɵelementEnd()();
|
|
27526
27669
|
i0.ɵɵelementStart(20, "p", 12)(21, "a", 13);
|
|
27527
|
-
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(
|
|
27670
|
+
i0.ɵɵlistener("click", function CaseEditSubmitComponent_div_0_Template_a_click_21_listener() { i0.ɵɵrestoreView(_r41); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.cancel()); });
|
|
27528
27671
|
i0.ɵɵtext(22);
|
|
27529
27672
|
i0.ɵɵpipe(23, "rpxTranslate");
|
|
27530
27673
|
i0.ɵɵelementEnd()()()();
|
|
@@ -27560,9 +27703,9 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
27560
27703
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 20, ctx_r0.getCancelText()));
|
|
27561
27704
|
} }
|
|
27562
27705
|
function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) { if (rf & 1) {
|
|
27563
|
-
const
|
|
27564
|
-
i0.ɵɵelementStart(0, "ccd-case-event-completion",
|
|
27565
|
-
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(
|
|
27706
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
27707
|
+
i0.ɵɵelementStart(0, "ccd-case-event-completion", 50);
|
|
27708
|
+
i0.ɵɵlistener("eventCanBeCompleted", function CaseEditSubmitComponent_ccd_case_event_completion_1_Template_ccd_case_event_completion_eventCanBeCompleted_0_listener($event) { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.onEventCanBeCompleted($event)); });
|
|
27566
27709
|
i0.ɵɵelementEnd();
|
|
27567
27710
|
} if (rf & 2) {
|
|
27568
27711
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -27570,14 +27713,17 @@ function CaseEditSubmitComponent_ccd_case_event_completion_1_Template(rf, ctx) {
|
|
|
27570
27713
|
} }
|
|
27571
27714
|
// @dynamic
|
|
27572
27715
|
class CaseEditSubmitComponent {
|
|
27573
|
-
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier) {
|
|
27716
|
+
constructor(caseEdit, fieldsUtils, caseFieldService, route, orderService, profileNotifier, formValidatorsService) {
|
|
27574
27717
|
this.caseEdit = caseEdit;
|
|
27575
27718
|
this.fieldsUtils = fieldsUtils;
|
|
27576
27719
|
this.caseFieldService = caseFieldService;
|
|
27577
27720
|
this.route = route;
|
|
27578
27721
|
this.orderService = orderService;
|
|
27579
27722
|
this.profileNotifier = profileNotifier;
|
|
27723
|
+
this.formValidatorsService = formValidatorsService;
|
|
27580
27724
|
this.paletteContext = PaletteContext.CHECK_YOUR_ANSWER;
|
|
27725
|
+
this.eventSummaryLabel = 'Event summary';
|
|
27726
|
+
this.eventDescriptionLabel = 'Event description';
|
|
27581
27727
|
}
|
|
27582
27728
|
get isDisabled() {
|
|
27583
27729
|
// EUI-3452.
|
|
@@ -27587,7 +27733,7 @@ class CaseEditSubmitComponent {
|
|
|
27587
27733
|
return this.caseEdit.isSubmitting || this.hasErrors;
|
|
27588
27734
|
}
|
|
27589
27735
|
ngOnInit() {
|
|
27590
|
-
this.profileSubscription = this.profileNotifier.profile.subscribe(_ => this.profile = _);
|
|
27736
|
+
this.profileSubscription = this.profileNotifier.profile.subscribe((_) => this.profile = _);
|
|
27591
27737
|
this.eventTrigger = this.caseEdit.eventTrigger;
|
|
27592
27738
|
this.triggerText = this.eventTrigger.end_button_label || CallbackErrorsComponent.TRIGGER_TEXT_SUBMIT;
|
|
27593
27739
|
this.editForm = this.caseEdit.form;
|
|
@@ -27601,10 +27747,12 @@ class CaseEditSubmitComponent {
|
|
|
27601
27747
|
// Indicates if the submission is for a Case Flag, as opposed to a "regular" form submission, by the presence of
|
|
27602
27748
|
// a FlagLauncher field in the event trigger
|
|
27603
27749
|
this.caseEdit.isCaseFlagSubmission =
|
|
27604
|
-
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27750
|
+
this.eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
27605
27751
|
this.caseEdit.isLinkedCasesSubmission =
|
|
27606
27752
|
this.eventTrigger.case_fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']));
|
|
27607
27753
|
this.pageTitle = this.getPageTitle();
|
|
27754
|
+
this.summary = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.summary');
|
|
27755
|
+
this.description = this.formValidatorsService.addMarkDownValidators(this.editForm, 'event.description');
|
|
27608
27756
|
}
|
|
27609
27757
|
ngOnDestroy() {
|
|
27610
27758
|
/* istanbul ignore else */
|
|
@@ -27613,12 +27761,14 @@ class CaseEditSubmitComponent {
|
|
|
27613
27761
|
}
|
|
27614
27762
|
}
|
|
27615
27763
|
submit() {
|
|
27616
|
-
this.
|
|
27617
|
-
|
|
27618
|
-
|
|
27619
|
-
|
|
27620
|
-
|
|
27621
|
-
|
|
27764
|
+
if (this.summary.valid && this.description.valid) {
|
|
27765
|
+
this.caseEdit.submitForm({
|
|
27766
|
+
eventTrigger: this.eventTrigger,
|
|
27767
|
+
form: this.editForm,
|
|
27768
|
+
submit: this.caseEdit.submit,
|
|
27769
|
+
caseDetails: this.caseEdit.caseDetails
|
|
27770
|
+
});
|
|
27771
|
+
}
|
|
27622
27772
|
}
|
|
27623
27773
|
onEventCanBeCompleted(eventCanBeCompleted) {
|
|
27624
27774
|
this.caseEdit.onEventCanBeCompleted({
|
|
@@ -27626,7 +27776,7 @@ class CaseEditSubmitComponent {
|
|
|
27626
27776
|
eventCanBeCompleted,
|
|
27627
27777
|
caseDetails: this.caseEdit.caseDetails,
|
|
27628
27778
|
form: this.editForm,
|
|
27629
|
-
submit: this.caseEdit.submit
|
|
27779
|
+
submit: this.caseEdit.submit
|
|
27630
27780
|
});
|
|
27631
27781
|
}
|
|
27632
27782
|
getPageTitle() {
|
|
@@ -27701,7 +27851,7 @@ class CaseEditSubmitComponent {
|
|
|
27701
27851
|
}
|
|
27702
27852
|
}
|
|
27703
27853
|
readOnlySummaryFieldsToDisplayExists() {
|
|
27704
|
-
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
27854
|
+
return this.eventTrigger.case_fields.some((field) => field.show_summary_content_option >= 0);
|
|
27705
27855
|
}
|
|
27706
27856
|
showEventNotes() {
|
|
27707
27857
|
// Display event notes related controls only if the following conditions are met
|
|
@@ -27716,7 +27866,7 @@ class CaseEditSubmitComponent {
|
|
|
27716
27866
|
}
|
|
27717
27867
|
getLastPageShown() {
|
|
27718
27868
|
let lastPage;
|
|
27719
|
-
this.wizard.reverse().forEach(page => {
|
|
27869
|
+
this.wizard.reverse().forEach((page) => {
|
|
27720
27870
|
if (!lastPage && this.isShown(page)) {
|
|
27721
27871
|
lastPage = page;
|
|
27722
27872
|
}
|
|
@@ -27735,7 +27885,7 @@ class CaseEditSubmitComponent {
|
|
|
27735
27885
|
}
|
|
27736
27886
|
isShown(page) {
|
|
27737
27887
|
const fields = this.fieldsUtils
|
|
27738
|
-
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls
|
|
27888
|
+
.mergeCaseFieldsAndFormFields(this.eventTrigger.case_fields, this.editForm.controls.data.value);
|
|
27739
27889
|
return page.parsedShowCondition.match(fields);
|
|
27740
27890
|
}
|
|
27741
27891
|
canShowFieldInCYA(field) {
|
|
@@ -27744,7 +27894,7 @@ class CaseEditSubmitComponent {
|
|
|
27744
27894
|
sortFieldsByShowSummaryContent(fields) {
|
|
27745
27895
|
return this.orderService
|
|
27746
27896
|
.sort(fields, CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION)
|
|
27747
|
-
.filter(cf => cf.show_summary_content_option);
|
|
27897
|
+
.filter((cf) => cf.show_summary_content_option);
|
|
27748
27898
|
}
|
|
27749
27899
|
getCaseFields() {
|
|
27750
27900
|
if (this.caseEdit.caseDetails) {
|
|
@@ -27763,9 +27913,7 @@ class CaseEditSubmitComponent {
|
|
|
27763
27913
|
if (this.eventTrigger.can_save_draft) {
|
|
27764
27914
|
return 'Return to case list';
|
|
27765
27915
|
}
|
|
27766
|
-
|
|
27767
|
-
return 'Cancel';
|
|
27768
|
-
}
|
|
27916
|
+
return 'Cancel';
|
|
27769
27917
|
}
|
|
27770
27918
|
}
|
|
27771
27919
|
CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
@@ -27779,8 +27927,8 @@ CaseEditSubmitComponent.SHOW_SUMMARY_CONTENT_COMPARE_FUNCTION = (a, b) => {
|
|
|
27779
27927
|
}
|
|
27780
27928
|
return a.show_summary_content_option - b.show_summary_content_option;
|
|
27781
27929
|
};
|
|
27782
|
-
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)); };
|
|
27783
|
-
CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [1, "form-group", "form-group-related"], ["class", "button button-secondary", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27930
|
+
CaseEditSubmitComponent.ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier), i0.ɵɵdirectiveInject(FormValidatorsService)); };
|
|
27931
|
+
CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["titleBlock", ""], ["idBlock", ""], [3, "error"], [3, "callbackErrorsSubject", "callbackErrorsContext"], [1, "check-your-answers", 3, "formGroup", "submit"], [1, "form-group", "form-group-related"], ["class", "button button-secondary", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group", 3, "ngClass"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["class", "error-message", 4, "ngIf"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], [1, "error-message"], ["type", "button", 1, "button", "button-secondary", 3, "disabled", "click"], [3, "eventCompletionParams", "eventCanBeCompleted"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27784
27932
|
i0.ɵɵtemplate(0, CaseEditSubmitComponent_div_0_Template, 24, 22, "div", 0);
|
|
27785
27933
|
i0.ɵɵtemplate(1, CaseEditSubmitComponent_ccd_case_event_completion_1_Template, 1, 1, "ccd-case-event-completion", 1);
|
|
27786
27934
|
} if (rf & 2) {
|
|
@@ -27790,8 +27938,8 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
27790
27938
|
} }, styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
|
|
27791
27939
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
27792
27940
|
type: Component,
|
|
27793
|
-
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
|
|
27794
|
-
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null); })();
|
|
27941
|
+
args: [{ selector: 'ccd-case-edit-submit', template: "<div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <!-- Event trigger name -->\n <h1 class=\"govuk-heading-l\">{{eventTrigger.name | rpxTranslate}}</h1>\n\n <!--Case ID or Title -->\n <div *ngIf=\"getCaseTitle(); then titleBlock; else idBlock\"></div>\n <ng-template #titleBlock>\n <ccd-markdown [content]=\"getCaseTitle() | ccdCaseTitle: contextFields : editForm.controls['data']\"></ccd-markdown>\n </ng-template>\n <ng-template #idBlock>\n <h2 *ngIf=\"getCaseId()\" class=\"heading-h2\">#{{ getCaseId() | ccdCaseReference }}</h2>\n </ng-template>\n\n <ccd-case-edit-generic-errors [error]=\"caseEdit.error\"></ccd-case-edit-generic-errors>\n\n <ccd-callback-errors [callbackErrorsSubject]=\"caseEdit.callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\"></ccd-callback-errors>\n\n <form class=\"check-your-answers\" [formGroup]=\"editForm\" (submit)=\"submit()\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n\n <h2 class=\"heading-h2\">{{pageTitle | rpxTranslate }}</h2>\n <span class=\"text-16\" *ngIf=\"!caseEdit.isCaseFlagSubmission\">{{'Check the information below carefully.' | rpxTranslate}}</span>\n\n <table class=\"form-table\" aria-describedby=\"check your answers table\">\n <tbody>\n <ng-container *ngFor=\"let page of wizard.pages\">\n <ng-container *ngIf=\"isShown(page)\">\n <ng-container *ngFor=\"let field of page\n | ccdPageFields: editForm\n | ccdReadFieldsFilter: false :undefined :true :allFieldsValues\n | ccdCYAPageLabelFilter\">\n <ng-container *ngIf=\"canShowFieldInCYA(field)\">\n <tr ccdLabelSubstitutor [caseField]=\"field\" [hidden]=\"field.hidden\"\n [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th *ngIf=\"!isLabel(field) && !caseEdit.isCaseFlagSubmission\" class=\"valign-top case-field-label\">\n <span class=\"text-16\">{{field.label | rpxTranslate}}</span>\n </th>\n <td class=\"form-cell case-field-content\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n <div class=\"form-group form-group-related\">\n <button *ngIf=\"!caseEdit.isCaseFlagSubmission\" class=\"button button-secondary\" type=\"button\" [disabled]=\"!hasPrevious() || caseEdit.isSubmitting\" (click)=\"previous()\">\n {{'Previous' | rpxTranslate}}\n </button>\n <button type=\"submit\" [disabled]=\"isDisabled\" class=\"button\">\n {{triggerText | rpxTranslate}}\n </button>\n </div>\n <p class=\"cancel\">\n <a (click)=\"cancel()\" href=\"javascript:void(0)\" [class.disabled]=\"caseEdit.isSubmitting\">{{getCancelText() | rpxTranslate}}</a>\n </p>\n </form>\n</div>\n<ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n</ccd-case-event-completion>\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
|
|
27942
|
+
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }]; }, null); })();
|
|
27795
27943
|
|
|
27796
27944
|
function CaseProgressComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
27797
27945
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -28147,7 +28295,7 @@ i0.ɵɵsetComponentScope(CaseEditConfirmComponent, function () { return [i4.NgIf
|
|
|
28147
28295
|
i0.ɵɵsetComponentScope(CaseEditPageComponent, function () { return [i4.NgForOf, i4.NgIf, i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, CallbackErrorsComponent, MarkdownComponent, CaseEventCompletionComponent, CaseEditFormComponent,
|
|
28148
28296
|
CaseEditGenericErrorsComponent]; }, function () { return [i4.AsyncPipe, CaseReferencePipe, CcdCaseTitlePipe, i1.RpxTranslatePipe]; });
|
|
28149
28297
|
i0.ɵɵsetComponentScope(CaseEditFormComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.NgControlStatusGroup, i3.FormGroupDirective, LabelSubstitutorDirective, ConditionalShowFormDirective, FieldReadComponent, FieldWriteComponent]; }, function () { return [IsCompoundPipe, IsReadOnlyAndNotCollectionPipe]; });
|
|
28150
|
-
i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
|
|
28298
|
+
i0.ɵɵsetComponentScope(CaseEditSubmitComponent, function () { return [i4.NgClass, i4.NgForOf, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, LabelSubstitutorDirective, CallbackErrorsComponent, MarkdownComponent, FieldReadComponent, CaseEventCompletionComponent, CaseEditGenericErrorsComponent]; }, function () { return [FirstErrorPipe, IsCompoundPipe, CaseReferencePipe, CcdCaseTitlePipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdPageFieldsPipe, i1.RpxTranslatePipe]; });
|
|
28151
28299
|
i0.ɵɵsetComponentScope(CaseCreateComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28152
28300
|
i0.ɵɵsetComponentScope(CaseProgressComponent, function () { return [i4.NgIf, CaseEditComponent]; }, []);
|
|
28153
28301
|
|
|
@@ -29733,29 +29881,29 @@ function CaseHistoryComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
29733
29881
|
i0.ɵɵadvance(6);
|
|
29734
29882
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 19, "Date"));
|
|
29735
29883
|
i0.ɵɵadvance(3);
|
|
29736
|
-
i0.ɵɵtextInterpolate(i0.ɵɵ
|
|
29884
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(18, 21, ctx_r0.caseHistory.event.timestamp, "local"));
|
|
29737
29885
|
i0.ɵɵadvance(4);
|
|
29738
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22,
|
|
29886
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 24, "Author"));
|
|
29739
29887
|
i0.ɵɵadvance(3);
|
|
29740
|
-
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25,
|
|
29888
|
+
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(25, 26, ctx_r0.caseHistory.event.user_first_name), " ", i0.ɵɵpipeBind1(26, 28, ctx_r0.caseHistory.event.user_last_name), "");
|
|
29741
29889
|
i0.ɵɵadvance(5);
|
|
29742
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30,
|
|
29890
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 30, "End state"));
|
|
29743
29891
|
i0.ɵɵadvance(3);
|
|
29744
29892
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.state_name);
|
|
29745
29893
|
i0.ɵɵadvance(3);
|
|
29746
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36,
|
|
29894
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36, 32, "Event"));
|
|
29747
29895
|
i0.ɵɵadvance(3);
|
|
29748
29896
|
i0.ɵɵtextInterpolate(ctx_r0.caseHistory.event.event_name);
|
|
29749
29897
|
i0.ɵɵadvance(3);
|
|
29750
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42,
|
|
29898
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(42, 34, "Summary"));
|
|
29751
29899
|
i0.ɵɵadvance(3);
|
|
29752
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45,
|
|
29900
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 36, ctx_r0.caseHistory.event.summary));
|
|
29753
29901
|
i0.ɵɵadvance(4);
|
|
29754
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49,
|
|
29902
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49, 38, "Comment"));
|
|
29755
29903
|
i0.ɵɵadvance(3);
|
|
29756
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52,
|
|
29904
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(52, 40, ctx_r0.caseHistory.event.comment));
|
|
29757
29905
|
i0.ɵɵadvance(4);
|
|
29758
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56,
|
|
29906
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56, 42, "Case Details"));
|
|
29759
29907
|
i0.ɵɵadvance(2);
|
|
29760
29908
|
i0.ɵɵproperty("ngForOf", ctx_r0.tabs);
|
|
29761
29909
|
} }
|
|
@@ -29809,13 +29957,13 @@ CaseHistoryComponent.PARAM_EVENT_ID = 'eid';
|
|
|
29809
29957
|
CaseHistoryComponent.ERROR_MESSAGE = 'No case history to show';
|
|
29810
29958
|
CaseHistoryComponent.ɵfac = function CaseHistoryComponent_Factory(t) { return new (t || CaseHistoryComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(CaseHistoryService)); };
|
|
29811
29959
|
CaseHistoryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseHistoryComponent, selectors: [["ccd-case-history"]], inputs: { event: "event" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "grid-row"], [1, "column-full"], [3, "caseDetails"], [1, "heading-h2"], ["aria-describedby", "event details table", 1, "EventDetails"], [4, "ngFor", "ngForOf"], [1, "caseHistorySection"], [1, "heading-h3"], [1, "CaseHistory", 3, "id"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], ["id", "case-viewer-label-header"], [1, "case-viewer-label"], [3, "caseField", "caseReference"], [1, "compound-field"], ["colspan", "2"]], template: function CaseHistoryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29812
|
-
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58,
|
|
29960
|
+
i0.ɵɵtemplate(0, CaseHistoryComponent_div_0_Template, 58, 44, "div", 0);
|
|
29813
29961
|
} if (rf & 2) {
|
|
29814
29962
|
i0.ɵɵproperty("ngIf", ctx.isDataLoaded());
|
|
29815
29963
|
} }, styles: [".CaseHistory[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .CaseHistory[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:none}.caseHistorySection[_ngcontent-%COMP%]{margin-top:40px}.EventDetails[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .EventDetails[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:none}th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}.case-viewer-controls[_ngcontent-%COMP%]{margin-top:47px;margin-bottom:20px}ccd-case-header[_ngcontent-%COMP%]{float:left;margin-right:10px}ccd-event-trigger[_ngcontent-%COMP%]{float:right}.case-viewer-label[_ngcontent-%COMP%]{min-width:300px;white-space:normal}"] });
|
|
29816
29964
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseHistoryComponent, [{
|
|
29817
29965
|
type: Component,
|
|
29818
|
-
args: [{ selector: 'ccd-case-history', template: "<div *ngIf=\"isDataLoaded()\">\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n </div>\n </div>\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <div>\n <h2 class=\"heading-h2\">{{'Event Details' | rpxTranslate}}</h2>\n <table class=\"EventDetails\" aria-describedby=\"event details table\">\n <tbody>\n <tr>\n <th>{{'Date' | rpxTranslate}}</th>\n <td>{{caseHistory.event.timestamp | ccdDate}}</td>\n </tr>\n <tr>\n <th>{{'Author' | rpxTranslate}}</th>\n <td>{{caseHistory.event.user_first_name | titlecase}} {{caseHistory.event.user_last_name | uppercase}}</td>\n </tr>\n <tr>\n <th>{{'End state' | rpxTranslate}}</th>\n <td>{{caseHistory.event.state_name}}</td>\n </tr>\n <tr>\n <th>{{'Event' | rpxTranslate}}</th>\n <td>{{caseHistory.event.event_name}}</td>\n </tr>\n <tr>\n <th>{{'Summary' | rpxTranslate}}</th>\n <td>{{caseHistory.event.summary | ccdDash}}</td>\n </tr>\n <tr>\n <th>{{'Comment' | rpxTranslate}}</th>\n <td>{{caseHistory.event.comment | ccdDash}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div>\n <h2 class=\"heading-h2\">{{'Case Details' | rpxTranslate}}</h2>\n <ng-container *ngFor=\"let tab of tabs\">\n <div class=\"caseHistorySection\">\n <h3 class=\"heading-h3\">{{tab.label}}</h3>\n <table class=\"CaseHistory\" id=\"{{tab.id}}\" [attr.aria-describedby]=\"'case history table' | rpxTranslate\">\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"tab.fields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-label-header\">\n <div class=\"case-viewer-label\">{{field.label}}</div>\n </th>\n <td>\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <td colspan=\"2\">\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </table>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".CaseHistory th,.CaseHistory td{border-bottom:none}.caseHistorySection{margin-top:40px}.EventDetails th,.EventDetails td{border-bottom:none}th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}.case-viewer-controls{margin-top:47px;margin-bottom:20px}ccd-case-header{float:left;margin-right:10px}ccd-event-trigger{float:right}.case-viewer-label{min-width:300px;white-space:normal}\n"] }]
|
|
29966
|
+
args: [{ selector: 'ccd-case-history', template: "<div *ngIf=\"isDataLoaded()\">\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n </div>\n </div>\n <div class=\"grid-row\">\n <div class=\"column-full\">\n <div>\n <h2 class=\"heading-h2\">{{'Event Details' | rpxTranslate}}</h2>\n <table class=\"EventDetails\" aria-describedby=\"event details table\">\n <tbody>\n <tr>\n <th>{{'Date' | rpxTranslate}}</th>\n <td>{{caseHistory.event.timestamp | ccdDate : 'local'}}</td>\n </tr>\n <tr>\n <th>{{'Author' | rpxTranslate}}</th>\n <td>{{caseHistory.event.user_first_name | titlecase}} {{caseHistory.event.user_last_name | uppercase}}</td>\n </tr>\n <tr>\n <th>{{'End state' | rpxTranslate}}</th>\n <td>{{caseHistory.event.state_name}}</td>\n </tr>\n <tr>\n <th>{{'Event' | rpxTranslate}}</th>\n <td>{{caseHistory.event.event_name}}</td>\n </tr>\n <tr>\n <th>{{'Summary' | rpxTranslate}}</th>\n <td>{{caseHistory.event.summary | ccdDash}}</td>\n </tr>\n <tr>\n <th>{{'Comment' | rpxTranslate}}</th>\n <td>{{caseHistory.event.comment | ccdDash}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div>\n <h2 class=\"heading-h2\">{{'Case Details' | rpxTranslate}}</h2>\n <ng-container *ngFor=\"let tab of tabs\">\n <div class=\"caseHistorySection\">\n <h3 class=\"heading-h3\">{{tab.label}}</h3>\n <table class=\"CaseHistory\" id=\"{{tab.id}}\" [attr.aria-describedby]=\"'case history table' | rpxTranslate\">\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"tab.fields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-label-header\">\n <div class=\"case-viewer-label\">{{field.label}}</div>\n </th>\n <td>\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <td colspan=\"2\">\n <ccd-field-read [caseField]=\"field\" [caseReference]=\"caseHistory.case_id\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </table>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".CaseHistory th,.CaseHistory td{border-bottom:none}.caseHistorySection{margin-top:40px}.EventDetails th,.EventDetails td{border-bottom:none}th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}.case-viewer-controls{margin-top:47px;margin-bottom:20px}ccd-case-header{float:left;margin-right:10px}ccd-event-trigger{float:right}.case-viewer-label{min-width:300px;white-space:normal}\n"] }]
|
|
29819
29967
|
}], function () { return [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }]; }, { event: [{
|
|
29820
29968
|
type: Input
|
|
29821
29969
|
}] }); })();
|
|
@@ -30889,7 +31037,7 @@ function CaseFullAccessViewComponent_ng_container_12_mat_tab_4_ng_template_2_Tem
|
|
|
30889
31037
|
const tab_r20 = i0.ɵɵnextContext().$implicit;
|
|
30890
31038
|
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
30891
31039
|
i0.ɵɵclassMap(tab_r20.id);
|
|
30892
|
-
i0.ɵɵattribute("aria-
|
|
31040
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 4, "case viewer table"));
|
|
30893
31041
|
i0.ɵɵadvance(3);
|
|
30894
31042
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(4, 6, i0.ɵɵpureFunction2(14, _c1$3, i0.ɵɵpipeBind1(5, 12, tab_r20), ctx_r22.formGroup.controls["data"])));
|
|
30895
31043
|
} }
|
|
@@ -31354,7 +31502,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
31354
31502
|
} }, styles: ["th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:0}.case-viewer-controls[_ngcontent-%COMP%]{margin-top:47px;margin-bottom:20px}ccd-case-header[_ngcontent-%COMP%]{float:left;margin-right:10px}ccd-event-trigger[_ngcontent-%COMP%]{float:right}.case-viewer-label[_ngcontent-%COMP%]{min-width:300px;white-space:normal}.markdown[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}"] });
|
|
31355
31503
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
31356
31504
|
type: Component,
|
|
31357
|
-
args: [{ selector: 'ccd-case-full-access-view', template: "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'Something went wrong' | rpxTranslate}}\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>{{\"We're working to fix the problem. Try again shortly.\" | rpxTranslate}}</p>\n <p>\n <a href=\"get-help\" target=\"_blank\">\n {{\"Contact us\" | rpxTranslate}}</a> {{\"if you're still having problems.\" | rpxTranslate}}\n </p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'The callback data failed validation' | rpxTranslate}}\n </h2>\n <p>{{error.message | rpxTranslate}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message | rpxTranslate}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">{{'Print' | rpxTranslate}}</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\" *ngIf=\"activeCaseFlags && !caseFlagsExternalUser\">\n <div class=\"column-full\">\n <ccd-notification-banner [notificationBannerConfig]=\"notificationBannerConfig\" (linkClicked)=\"onLinkClicked($event)\">\n </ccd-notification-banner>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedIndexChange)=\"tabChanged($event)\" [disableRipple]=\"true\"\n [selectedIndex]=\"selectedTabIndex\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\" [attr.aria-
|
|
31505
|
+
args: [{ selector: 'ccd-case-full-access-view', template: "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'Something went wrong' | rpxTranslate}}\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>{{\"We're working to fix the problem. Try again shortly.\" | rpxTranslate}}</p>\n <p>\n <a href=\"get-help\" target=\"_blank\">\n {{\"Contact us\" | rpxTranslate}}</a> {{\"if you're still having problems.\" | rpxTranslate}}\n </p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'The callback data failed validation' | rpxTranslate}}\n </h2>\n <p>{{error.message | rpxTranslate}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message | rpxTranslate}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">{{'Print' | rpxTranslate}}</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\" *ngIf=\"activeCaseFlags && !caseFlagsExternalUser\">\n <div class=\"column-full\">\n <ccd-notification-banner [notificationBannerConfig]=\"notificationBannerConfig\" (linkClicked)=\"onLinkClicked($event)\">\n </ccd-notification-banner>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedIndexChange)=\"tabChanged($event)\" [disableRipple]=\"true\"\n [selectedIndex]=\"selectedTabIndex\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\" [attr.aria-label]=\"'case viewer table' | rpxTranslate\">\n <tbody>\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true : formGroup.controls['data']\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"caseFields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-field-label\" *ngIf=\"!isFieldToHaveNoLabel(field)\">\n <div class=\"case-viewer-label text-16\">\n {{field.label | rpxTranslate}}</div>\n </th>\n <td [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <th [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </th>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </tbody>\n </table>\n </ng-template>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of appendedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n </mat-tab-group>\n <router-outlet *ngIf=\"(prependedTabs && prependedTabs.length) || (appendedTabs && appendedTabs.length)\"></router-outlet>\n </ng-container>\n </div>\n</div>\n", styles: ["th{width:1%;white-space:nowrap;vertical-align:top}.compound-field th{padding:0}.case-viewer-controls{margin-top:47px;margin-bottom:20px}ccd-case-header{float:left;margin-right:10px}ccd-event-trigger{float:right}.case-viewer-label{min-width:300px;white-space:normal}.markdown h3{margin-bottom:0}\n"] }]
|
|
31358
31506
|
}], function () { return [{ type: i0.NgZone }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NavigationNotifierService }, { type: OrderService }, { type: ActivityPollingService }, { type: i1$3.MatLegacyDialog }, { type: AlertService }, { type: DraftService }, { type: ErrorNotifierService }, { type: ConvertHrefToRouterService }, { type: i4.Location }, { type: i0.ChangeDetectorRef }, { type: SessionStorageService }, { type: i1.RpxTranslatePipe }]; }, { hasPrint: [{
|
|
31359
31507
|
type: Input
|
|
31360
31508
|
}], hasEventSelector: [{
|