@hmcts/ccd-case-ui-toolkit 7.0.9 → 7.0.10-welsh-translation-fixes
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/components/banners/notification-banner/domain/notification-banner-config.model.mjs +1 -1
- package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +41 -30
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +21 -19
- package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +1 -1
- package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +1 -1
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +19 -17
- package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +24 -4
- package/esm2020/lib/shared/domain/work-allocation/task-response.model.mjs +1 -1
- package/esm2020/lib/shared/services/alert/alert.service.mjs +1 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +121 -84
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +102 -67
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/components/banners/notification-banner/domain/notification-banner-config.model.d.ts +6 -5
- package/lib/components/banners/notification-banner/domain/notification-banner-config.model.d.ts.map +1 -1
- 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/work-allocation.service.d.ts +2 -2
- package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -4
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters.component.d.ts.map +1 -1
- package/lib/shared/domain/work-allocation/task-response.model.d.ts +1 -1
- package/lib/shared/domain/work-allocation/task-response.model.d.ts.map +1 -1
- package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import * as i1$1 from '@angular/router';
|
|
|
8
8
|
import { RouterModule, NavigationStart, NavigationEnd } from '@angular/router';
|
|
9
9
|
import * as i3 from '@angular/forms';
|
|
10
10
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
11
|
-
import { throwError, Subject, EMPTY, Observable, of, BehaviorSubject, timer, fromEvent, forkJoin, Subscription, combineLatest } from 'rxjs';
|
|
11
|
+
import { throwError, Subject, EMPTY, Observable, of, BehaviorSubject, timer, fromEvent, forkJoin, Subscription, combineLatest, firstValueFrom } from 'rxjs';
|
|
12
12
|
import * as i1$2 from '@angular/common/http';
|
|
13
13
|
import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
14
14
|
import { catchError, map, switchMap, debounceTime, publish, refCount, delay, distinctUntilChanged, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
|
|
@@ -55,6 +55,7 @@ import * as i2$2 from 'ngx-pagination';
|
|
|
55
55
|
import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
|
|
56
56
|
import * as i10 from '@angular/material/legacy-tabs';
|
|
57
57
|
import { MatLegacyTabsModule } from '@angular/material/legacy-tabs';
|
|
58
|
+
import { decompressFromUTF16, compressToUTF16 } from 'lz-string';
|
|
58
59
|
|
|
59
60
|
function FooterComponent_div_2_Template(rf, ctx) {
|
|
60
61
|
if (rf & 1) {
|
|
@@ -945,7 +946,7 @@ var NotificationBannerType;
|
|
|
945
946
|
NotificationBannerType["INFORMATION"] = "information";
|
|
946
947
|
})(NotificationBannerType || (NotificationBannerType = {}));
|
|
947
948
|
|
|
948
|
-
function
|
|
949
|
+
function NotificationBannerComponent_div_0_ng_container_8_Template(rf, ctx) {
|
|
949
950
|
if (rf & 1) {
|
|
950
951
|
i0.ɵɵelementContainerStart(0);
|
|
951
952
|
i0.ɵɵnamespaceSVG();
|
|
@@ -955,7 +956,7 @@ function NotificationBannerComponent_div_0_ng_container_7_Template(rf, ctx) {
|
|
|
955
956
|
i0.ɵɵelementContainerEnd();
|
|
956
957
|
}
|
|
957
958
|
}
|
|
958
|
-
function
|
|
959
|
+
function NotificationBannerComponent_div_0_ng_container_9_Template(rf, ctx) {
|
|
959
960
|
if (rf & 1) {
|
|
960
961
|
i0.ɵɵelementContainerStart(0);
|
|
961
962
|
i0.ɵɵnamespaceSVG();
|
|
@@ -965,7 +966,7 @@ function NotificationBannerComponent_div_0_ng_container_8_Template(rf, ctx) {
|
|
|
965
966
|
i0.ɵɵelementContainerEnd();
|
|
966
967
|
}
|
|
967
968
|
}
|
|
968
|
-
function
|
|
969
|
+
function NotificationBannerComponent_div_0_ng_container_10_Template(rf, ctx) {
|
|
969
970
|
if (rf & 1) {
|
|
970
971
|
i0.ɵɵelementContainerStart(0);
|
|
971
972
|
i0.ɵɵnamespaceSVG();
|
|
@@ -975,7 +976,7 @@ function NotificationBannerComponent_div_0_ng_container_9_Template(rf, ctx) {
|
|
|
975
976
|
i0.ɵɵelementContainerEnd();
|
|
976
977
|
}
|
|
977
978
|
}
|
|
978
|
-
function
|
|
979
|
+
function NotificationBannerComponent_div_0_ng_container_11_Template(rf, ctx) {
|
|
979
980
|
if (rf & 1) {
|
|
980
981
|
i0.ɵɵelementContainerStart(0);
|
|
981
982
|
i0.ɵɵnamespaceSVG();
|
|
@@ -985,56 +986,67 @@ function NotificationBannerComponent_div_0_ng_container_10_Template(rf, ctx) {
|
|
|
985
986
|
i0.ɵɵelementContainerEnd();
|
|
986
987
|
}
|
|
987
988
|
}
|
|
988
|
-
function
|
|
989
|
+
function NotificationBannerComponent_div_0_a_14_Template(rf, ctx) {
|
|
989
990
|
if (rf & 1) {
|
|
990
991
|
i0.ɵɵelementStart(0, "a", 14);
|
|
991
|
-
i0.ɵɵ
|
|
992
|
+
i0.ɵɵpipe(1, "async");
|
|
993
|
+
i0.ɵɵtext(2);
|
|
994
|
+
i0.ɵɵpipe(3, "async");
|
|
992
995
|
i0.ɵɵelementEnd();
|
|
993
996
|
}
|
|
994
997
|
if (rf & 2) {
|
|
995
998
|
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
996
|
-
i0.ɵɵpropertyInterpolate("href", ctx_r5.notificationBannerConfig.linkUrl, i0.ɵɵsanitizeUrl);
|
|
997
|
-
i0.ɵɵadvance(
|
|
998
|
-
i0.ɵɵtextInterpolate(ctx_r5.notificationBannerConfig.linkText);
|
|
999
|
+
i0.ɵɵpropertyInterpolate("href", i0.ɵɵpipeBind1(1, 2, ctx_r5.notificationBannerConfig.linkUrl), i0.ɵɵsanitizeUrl);
|
|
1000
|
+
i0.ɵɵadvance(2);
|
|
1001
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, ctx_r5.notificationBannerConfig.linkText));
|
|
999
1002
|
}
|
|
1000
1003
|
}
|
|
1001
|
-
function
|
|
1004
|
+
function NotificationBannerComponent_div_0_ng_container_15_Template(rf, ctx) {
|
|
1002
1005
|
if (rf & 1) {
|
|
1003
|
-
const
|
|
1004
|
-
i0.ɵɵ
|
|
1005
|
-
i0.ɵɵ
|
|
1006
|
-
i0.ɵɵ
|
|
1006
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
1007
|
+
i0.ɵɵelementContainerStart(0);
|
|
1008
|
+
i0.ɵɵelement(1, "input", 15, 16);
|
|
1009
|
+
i0.ɵɵpipe(3, "async");
|
|
1010
|
+
i0.ɵɵelementStart(4, "a", 17);
|
|
1011
|
+
i0.ɵɵlistener("click", function NotificationBannerComponent_div_0_ng_container_15_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r9); const _r7 = i0.ɵɵreference(2); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.onLinkClick(_r7.value)); });
|
|
1012
|
+
i0.ɵɵtext(5);
|
|
1013
|
+
i0.ɵɵpipe(6, "async");
|
|
1007
1014
|
i0.ɵɵelementEnd();
|
|
1015
|
+
i0.ɵɵelementContainerEnd();
|
|
1008
1016
|
}
|
|
1009
1017
|
if (rf & 2) {
|
|
1010
1018
|
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
1011
1019
|
i0.ɵɵadvance(1);
|
|
1012
|
-
i0.ɵɵ
|
|
1020
|
+
i0.ɵɵpropertyInterpolate("value", i0.ɵɵpipeBind1(3, 2, ctx_r6.notificationBannerConfig.triggerOutputEventText));
|
|
1021
|
+
i0.ɵɵadvance(4);
|
|
1022
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, ctx_r6.notificationBannerConfig.linkText));
|
|
1013
1023
|
}
|
|
1014
1024
|
}
|
|
1015
1025
|
function NotificationBannerComponent_div_0_Template(rf, ctx) {
|
|
1016
1026
|
if (rf & 1) {
|
|
1017
1027
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h2", 3);
|
|
1018
1028
|
i0.ɵɵtext(3);
|
|
1029
|
+
i0.ɵɵpipe(4, "async");
|
|
1019
1030
|
i0.ɵɵelementEnd()();
|
|
1020
|
-
i0.ɵɵelementStart(
|
|
1021
|
-
i0.ɵɵelementContainerStart(
|
|
1022
|
-
i0.ɵɵtemplate(7, NotificationBannerComponent_div_0_ng_container_7_Template, 3, 0, "ng-container", 7);
|
|
1031
|
+
i0.ɵɵelementStart(5, "div", 4)(6, "p", 5);
|
|
1032
|
+
i0.ɵɵelementContainerStart(7, 6);
|
|
1023
1033
|
i0.ɵɵtemplate(8, NotificationBannerComponent_div_0_ng_container_8_Template, 3, 0, "ng-container", 7);
|
|
1024
1034
|
i0.ɵɵtemplate(9, NotificationBannerComponent_div_0_ng_container_9_Template, 3, 0, "ng-container", 7);
|
|
1025
1035
|
i0.ɵɵtemplate(10, NotificationBannerComponent_div_0_ng_container_10_Template, 3, 0, "ng-container", 7);
|
|
1036
|
+
i0.ɵɵtemplate(11, NotificationBannerComponent_div_0_ng_container_11_Template, 3, 0, "ng-container", 7);
|
|
1026
1037
|
i0.ɵɵelementContainerEnd();
|
|
1027
|
-
i0.ɵɵtext(
|
|
1028
|
-
i0.ɵɵ
|
|
1029
|
-
i0.ɵɵtemplate(
|
|
1038
|
+
i0.ɵɵtext(12);
|
|
1039
|
+
i0.ɵɵpipe(13, "async");
|
|
1040
|
+
i0.ɵɵtemplate(14, NotificationBannerComponent_div_0_a_14_Template, 4, 6, "a", 8);
|
|
1041
|
+
i0.ɵɵtemplate(15, NotificationBannerComponent_div_0_ng_container_15_Template, 7, 6, "ng-container", 9);
|
|
1030
1042
|
i0.ɵɵelementEnd()()();
|
|
1031
1043
|
}
|
|
1032
1044
|
if (rf & 2) {
|
|
1033
1045
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
1034
1046
|
i0.ɵɵproperty("ngClass", ctx_r0.notificationBannerConfig.headerClass);
|
|
1035
1047
|
i0.ɵɵadvance(3);
|
|
1036
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.notificationBannerConfig.headingText, " ");
|
|
1037
|
-
i0.ɵɵadvance(
|
|
1048
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 10, ctx_r0.notificationBannerConfig.headingText), " ");
|
|
1049
|
+
i0.ɵɵadvance(4);
|
|
1038
1050
|
i0.ɵɵproperty("ngSwitch", ctx_r0.notificationBannerConfig.bannerType);
|
|
1039
1051
|
i0.ɵɵadvance(1);
|
|
1040
1052
|
i0.ɵɵproperty("ngSwitchCase", ctx_r0.notificationBannerType.WARNING);
|
|
@@ -1045,8 +1057,8 @@ function NotificationBannerComponent_div_0_Template(rf, ctx) {
|
|
|
1045
1057
|
i0.ɵɵadvance(1);
|
|
1046
1058
|
i0.ɵɵproperty("ngSwitchCase", ctx_r0.notificationBannerType.INFORMATION);
|
|
1047
1059
|
i0.ɵɵadvance(1);
|
|
1048
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.notificationBannerConfig.description, " ");
|
|
1049
|
-
i0.ɵɵadvance(
|
|
1060
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 12, ctx_r0.notificationBannerConfig.description), " ");
|
|
1061
|
+
i0.ɵɵadvance(2);
|
|
1050
1062
|
i0.ɵɵproperty("ngIf", ctx_r0.notificationBannerConfig.showLink && !ctx_r0.notificationBannerConfig.triggerOutputEvent);
|
|
1051
1063
|
i0.ɵɵadvance(1);
|
|
1052
1064
|
i0.ɵɵproperty("ngIf", ctx_r0.notificationBannerConfig.showLink && ctx_r0.notificationBannerConfig.triggerOutputEvent);
|
|
@@ -1064,18 +1076,18 @@ class NotificationBannerComponent {
|
|
|
1064
1076
|
}
|
|
1065
1077
|
}
|
|
1066
1078
|
NotificationBannerComponent.ɵfac = function NotificationBannerComponent_Factory(t) { return new (t || NotificationBannerComponent)(); };
|
|
1067
|
-
NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NotificationBannerComponent, selectors: [["ccd-notification-banner"]], inputs: { notificationBannerConfig: "notificationBannerConfig" }, outputs: { linkClicked: "linkClicked" }, decls: 1, vars: 1, consts: [["class", "govuk-notification-banner", "role", "region", "aria-labelledby", "govuk-notification-banner-title", "data-module", "govuk-notification-banner", 3, "ngClass", 4, "ngIf"], ["role", "region", "aria-labelledby", "govuk-notification-banner-title", "data-module", "govuk-notification-banner", 1, "govuk-notification-banner", 3, "ngClass"], [1, "govuk-notification-banner__header"], ["id", "govuk-notification-banner-title", 1, "govuk-notification-banner__title"], [1, "govuk-notification-banner__content"], [1, "govuk-notification-banner__heading"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "govuk-notification-banner__link", 3, "href", 4, "ngIf"], [
|
|
1079
|
+
NotificationBannerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NotificationBannerComponent, selectors: [["ccd-notification-banner"]], inputs: { notificationBannerConfig: "notificationBannerConfig" }, outputs: { linkClicked: "linkClicked" }, decls: 1, vars: 1, consts: [["class", "govuk-notification-banner", "role", "region", "aria-labelledby", "govuk-notification-banner-title", "data-module", "govuk-notification-banner", 3, "ngClass", 4, "ngIf"], ["role", "region", "aria-labelledby", "govuk-notification-banner-title", "data-module", "govuk-notification-banner", 1, "govuk-notification-banner", 3, "ngClass"], [1, "govuk-notification-banner__header"], ["id", "govuk-notification-banner-title", 1, "govuk-notification-banner__title"], [1, "govuk-notification-banner__content"], [1, "govuk-notification-banner__heading"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "govuk-notification-banner__link", 3, "href", 4, "ngIf"], [4, "ngIf"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "36", "width", "36", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], ["d", "M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"], ["d", "M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"], [1, "govuk-notification-banner__link", 3, "href"], ["type", "text", 2, "display", "none", 3, "value"], ["triggerOutputEventText", ""], ["href", "javascript:void(0)", 1, "govuk-notification-banner__link", 3, "click"]], template: function NotificationBannerComponent_Template(rf, ctx) {
|
|
1068
1080
|
if (rf & 1) {
|
|
1069
|
-
i0.ɵɵtemplate(0, NotificationBannerComponent_div_0_Template,
|
|
1081
|
+
i0.ɵɵtemplate(0, NotificationBannerComponent_div_0_Template, 16, 14, "div", 0);
|
|
1070
1082
|
}
|
|
1071
1083
|
if (rf & 2) {
|
|
1072
1084
|
i0.ɵɵproperty("ngIf", ctx.notificationBannerConfig);
|
|
1073
1085
|
}
|
|
1074
|
-
}, dependencies: [i4.NgClass, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase], styles: [".govuk-notification-banner[_ngcontent-%COMP%] .govuk-notification-banner__content[_ngcontent-%COMP%] .govuk-notification-banner__heading[_ngcontent-%COMP%]{margin-left:0;max-width:900px}.govuk-notification-banner[_ngcontent-%COMP%] .govuk-notification-banner__content[_ngcontent-%COMP%] .govuk-notification-banner__heading[_ngcontent-%COMP%] .govuk-notification-banner__link[_ngcontent-%COMP%]{margin-left:10px}.notification-banner-information[_ngcontent-%COMP%], .notification-banner-error[_ngcontent-%COMP%]{background-color:#d4351c;border:5px solid #d4351c}.notification-banner-warning[_ngcontent-%COMP%]{background-color:#912b88;border:5px solid #912b88}.notification-banner-success[_ngcontent-%COMP%]{background-color:#006435;border:5px solid #006435}"] });
|
|
1086
|
+
}, dependencies: [i4.NgClass, i4.NgIf, i4.NgSwitch, i4.NgSwitchCase, i4.AsyncPipe], styles: [".govuk-notification-banner[_ngcontent-%COMP%] .govuk-notification-banner__content[_ngcontent-%COMP%] .govuk-notification-banner__heading[_ngcontent-%COMP%]{margin-left:0;max-width:900px}.govuk-notification-banner[_ngcontent-%COMP%] .govuk-notification-banner__content[_ngcontent-%COMP%] .govuk-notification-banner__heading[_ngcontent-%COMP%] .govuk-notification-banner__link[_ngcontent-%COMP%]{margin-left:10px}.notification-banner-information[_ngcontent-%COMP%], .notification-banner-error[_ngcontent-%COMP%]{background-color:#d4351c;border:5px solid #d4351c}.notification-banner-warning[_ngcontent-%COMP%]{background-color:#912b88;border:5px solid #912b88}.notification-banner-success[_ngcontent-%COMP%]{background-color:#006435;border:5px solid #006435}"] });
|
|
1075
1087
|
(function () {
|
|
1076
1088
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotificationBannerComponent, [{
|
|
1077
1089
|
type: Component,
|
|
1078
|
-
args: [{ selector: 'ccd-notification-banner', template: "<div *ngIf=\"notificationBannerConfig\"\n class=\"govuk-notification-banner\"\n [ngClass]=\"notificationBannerConfig.headerClass\"\n role=\"region\"\n aria-labelledby=\"govuk-notification-banner-title\"\n data-module=\"govuk-notification-banner\">\n\n <div class=\"govuk-notification-banner__header\">\n <h2 class=\"govuk-notification-banner__title\" id=\"govuk-notification-banner-title\">\n {{notificationBannerConfig.headingText}}\n </h2>\n </div>\n <div class=\"govuk-notification-banner__content\">\n <p class=\"govuk-notification-banner__heading\">\n <ng-container [ngSwitch]=\"notificationBannerConfig.bannerType\">\n <ng-container *ngSwitchCase=\"notificationBannerType.WARNING\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.ERROR\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.SUCCESS\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.INFORMATION\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n </ng-container>\n </ng-container>\n {{notificationBannerConfig.description}}\n <a *ngIf=\"notificationBannerConfig.showLink && !notificationBannerConfig.triggerOutputEvent\"\n class=\"govuk-notification-banner__link\"\n href=\"{{notificationBannerConfig.linkUrl}}\">{{notificationBannerConfig.linkText}}</a>\n <
|
|
1090
|
+
args: [{ selector: 'ccd-notification-banner', template: "<div *ngIf=\"notificationBannerConfig\"\n class=\"govuk-notification-banner\"\n [ngClass]=\"notificationBannerConfig.headerClass\"\n role=\"region\"\n aria-labelledby=\"govuk-notification-banner-title\"\n data-module=\"govuk-notification-banner\">\n\n <div class=\"govuk-notification-banner__header\">\n <h2 class=\"govuk-notification-banner__title\" id=\"govuk-notification-banner-title\">\n {{notificationBannerConfig.headingText | async}}\n </h2>\n </div>\n <div class=\"govuk-notification-banner__content\">\n <p class=\"govuk-notification-banner__heading\">\n <ng-container [ngSwitch]=\"notificationBannerConfig.bannerType\">\n <ng-container *ngSwitchCase=\"notificationBannerType.WARNING\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.ERROR\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.SUCCESS\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"notificationBannerType.INFORMATION\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"36\" width=\"36\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n </ng-container>\n </ng-container>\n {{notificationBannerConfig.description | async}}\n <a *ngIf=\"notificationBannerConfig.showLink && !notificationBannerConfig.triggerOutputEvent\"\n class=\"govuk-notification-banner__link\"\n href=\"{{notificationBannerConfig.linkUrl | async}}\">{{notificationBannerConfig.linkText | async}}</a>\n <ng-container *ngIf=\"notificationBannerConfig.showLink && notificationBannerConfig.triggerOutputEvent\">\n <input #triggerOutputEventText style=\"display: none\" type=\"text\" value=\"{{notificationBannerConfig.triggerOutputEventText | async}}\">\n <a class=\"govuk-notification-banner__link\"\n href=\"javascript:void(0)\"\n (click)=\"onLinkClick(triggerOutputEventText.value)\">{{notificationBannerConfig.linkText | async}}</a>\n </ng-container>\n </p>\n </div>\n</div>\n", styles: [".govuk-notification-banner .govuk-notification-banner__content .govuk-notification-banner__heading{margin-left:0;max-width:900px}.govuk-notification-banner .govuk-notification-banner__content .govuk-notification-banner__heading .govuk-notification-banner__link{margin-left:10px}.notification-banner-information,.notification-banner-error{background-color:#d4351c;border:5px solid #d4351c}.notification-banner-warning{background-color:#912b88;border:5px solid #912b88}.notification-banner-success{background-color:#006435;border:5px solid #006435}\n"] }]
|
|
1079
1091
|
}], null, { notificationBannerConfig: [{
|
|
1080
1092
|
type: Input
|
|
1081
1093
|
}], linkClicked: [{
|
|
@@ -21926,7 +21938,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) {
|
|
|
21926
21938
|
i0.ɵɵadvance(1);
|
|
21927
21939
|
i0.ɵɵproperty("for", ctx_r3.createElementId(value_r4));
|
|
21928
21940
|
i0.ɵɵadvance(1);
|
|
21929
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4));
|
|
21941
|
+
i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
|
|
21930
21942
|
}
|
|
21931
21943
|
}
|
|
21932
21944
|
const _c1$a = function (a0) { return { "form-group-error": a0 }; };
|
|
@@ -21969,7 +21981,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
|
|
|
21969
21981
|
(function () {
|
|
21970
21982
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteYesNoFieldComponent, [{
|
|
21971
21983
|
type: Component,
|
|
21972
|
-
args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n
|
|
21984
|
+
args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label ? (caseField.label | rpxTranslate:null:value) : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\n" }]
|
|
21973
21985
|
}], function () { return [{ type: YesNoService }]; }, null);
|
|
21974
21986
|
})();
|
|
21975
21987
|
|
|
@@ -29654,19 +29666,30 @@ function CaseEditSubmitComponent_div_0_ng_container_14_Template(rf, ctx) {
|
|
|
29654
29666
|
i0.ɵɵelementStart(1, "fieldset", 39);
|
|
29655
29667
|
i0.ɵɵelement(2, "legend", 40);
|
|
29656
29668
|
i0.ɵɵelementStart(3, "div", 41)(4, "label", 42);
|
|
29657
|
-
i0.ɵɵtext(5
|
|
29658
|
-
i0.ɵɵ
|
|
29659
|
-
i0.ɵɵ
|
|
29669
|
+
i0.ɵɵtext(5);
|
|
29670
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
29671
|
+
i0.ɵɵelementStart(7, "span", 43);
|
|
29672
|
+
i0.ɵɵtext(8);
|
|
29673
|
+
i0.ɵɵpipe(9, "rpxTranslate");
|
|
29660
29674
|
i0.ɵɵelementEnd()();
|
|
29661
|
-
i0.ɵɵelement(
|
|
29675
|
+
i0.ɵɵelement(10, "input", 44);
|
|
29662
29676
|
i0.ɵɵelementEnd();
|
|
29663
|
-
i0.ɵɵelementStart(
|
|
29664
|
-
i0.ɵɵtext(
|
|
29677
|
+
i0.ɵɵelementStart(11, "div", 41)(12, "label", 45);
|
|
29678
|
+
i0.ɵɵtext(13);
|
|
29679
|
+
i0.ɵɵpipe(14, "rpxTranslate");
|
|
29665
29680
|
i0.ɵɵelementEnd();
|
|
29666
|
-
i0.ɵɵelement(
|
|
29681
|
+
i0.ɵɵelement(15, "textarea", 46);
|
|
29667
29682
|
i0.ɵɵelementEnd()();
|
|
29668
29683
|
i0.ɵɵelementContainerEnd();
|
|
29669
29684
|
}
|
|
29685
|
+
if (rf & 2) {
|
|
29686
|
+
i0.ɵɵadvance(5);
|
|
29687
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 3, "Event summary (optional)"), " ");
|
|
29688
|
+
i0.ɵɵadvance(3);
|
|
29689
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 5, "A few words describing the purpose of the event."));
|
|
29690
|
+
i0.ɵɵadvance(5);
|
|
29691
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 7, "Event description (optional)"));
|
|
29692
|
+
}
|
|
29670
29693
|
}
|
|
29671
29694
|
function CaseEditSubmitComponent_div_0_button_16_Template(rf, ctx) {
|
|
29672
29695
|
if (rf & 1) {
|
|
@@ -29702,7 +29725,7 @@ function CaseEditSubmitComponent_div_0_Template(rf, ctx) {
|
|
|
29702
29725
|
i0.ɵɵlistener("submit", function CaseEditSubmitComponent_div_0_Template_form_submit_11_listener() { i0.ɵɵrestoreView(_r39); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.submit()); });
|
|
29703
29726
|
i0.ɵɵtemplate(12, CaseEditSubmitComponent_div_0_ng_container_12_Template, 8, 5, "ng-container", 0);
|
|
29704
29727
|
i0.ɵɵtemplate(13, CaseEditSubmitComponent_div_0_ng_container_13_Template, 4, 1, "ng-container", 0);
|
|
29705
|
-
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template,
|
|
29728
|
+
i0.ɵɵtemplate(14, CaseEditSubmitComponent_div_0_ng_container_14_Template, 16, 9, "ng-container", 0);
|
|
29706
29729
|
i0.ɵɵelementStart(15, "div", 9);
|
|
29707
29730
|
i0.ɵɵtemplate(16, CaseEditSubmitComponent_div_0_button_16_Template, 3, 4, "button", 10);
|
|
29708
29731
|
i0.ɵɵelementStart(17, "button", 11);
|
|
@@ -29896,16 +29919,7 @@ class CaseEditSubmitComponent {
|
|
|
29896
29919
|
return this.eventTrigger.case_fields.some(field => field.show_summary_content_option >= 0);
|
|
29897
29920
|
}
|
|
29898
29921
|
showEventNotes() {
|
|
29899
|
-
|
|
29900
|
-
// Display event notes related controls only if the following conditions are met
|
|
29901
|
-
// 1. show_event_notes flag is set to true
|
|
29902
|
-
// 2. profile is not a solicitor
|
|
29903
|
-
// 3. is not a case flags journey, as it uses a custom check your answers component
|
|
29904
|
-
if (this.eventTrigger.show_event_notes) {
|
|
29905
|
-
return !((_a = this.profile) === null || _a === void 0 ? void 0 : _a.isSolicitor())
|
|
29906
|
-
&& !this.caseEdit.isCaseFlagSubmission;
|
|
29907
|
-
}
|
|
29908
|
-
return false;
|
|
29922
|
+
return !!this.eventTrigger.show_event_notes;
|
|
29909
29923
|
}
|
|
29910
29924
|
getLastPageShown() {
|
|
29911
29925
|
let lastPage;
|
|
@@ -29987,7 +30001,7 @@ CaseEditSubmitComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cas
|
|
|
29987
30001
|
(function () {
|
|
29988
30002
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
|
|
29989
30003
|
type: Component,
|
|
29990
|
-
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
|
|
30004
|
+
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)' | rpxTranslate}}\n <span class=\"form-hint\">{{'A few words describing the purpose of the event.' | rpxTranslate}}</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)' | rpxTranslate}}</label>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n 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"] }]
|
|
29991
30005
|
}], function () { return [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }]; }, null);
|
|
29992
30006
|
})();
|
|
29993
30007
|
|
|
@@ -33474,7 +33488,7 @@ function CaseFullAccessViewComponent_ng_container_12_Template(rf, ctx) {
|
|
|
33474
33488
|
}
|
|
33475
33489
|
}
|
|
33476
33490
|
class CaseFullAccessViewComponent {
|
|
33477
|
-
constructor(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, errorNotifierService, convertHrefToRouterService, location, crf, sessionStorageService,
|
|
33491
|
+
constructor(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, errorNotifierService, convertHrefToRouterService, location, crf, sessionStorageService, rpxTranslationService) {
|
|
33478
33492
|
this.ngZone = ngZone;
|
|
33479
33493
|
this.route = route;
|
|
33480
33494
|
this.router = router;
|
|
@@ -33489,7 +33503,7 @@ class CaseFullAccessViewComponent {
|
|
|
33489
33503
|
this.location = location;
|
|
33490
33504
|
this.crf = crf;
|
|
33491
33505
|
this.sessionStorageService = sessionStorageService;
|
|
33492
|
-
this.
|
|
33506
|
+
this.rpxTranslationService = rpxTranslationService;
|
|
33493
33507
|
this.HEARINGS_TAB_LABEL = 'Hearings';
|
|
33494
33508
|
this.hasPrint = true;
|
|
33495
33509
|
this.hasEventSelector = true;
|
|
@@ -33718,25 +33732,28 @@ class CaseFullAccessViewComponent {
|
|
|
33718
33732
|
// Refactored under EXUI-110 to address infinite tab loop to use tabIndexChanged instead
|
|
33719
33733
|
tabChanged(tabIndexChanged) {
|
|
33720
33734
|
var _a;
|
|
33721
|
-
|
|
33722
|
-
|
|
33723
|
-
|
|
33724
|
-
|
|
33725
|
-
|
|
33726
|
-
|
|
33727
|
-
|
|
33728
|
-
|
|
33729
|
-
|
|
33730
|
-
|
|
33731
|
-
|
|
33732
|
-
|
|
33733
|
-
|
|
33734
|
-
|
|
33735
|
-
|
|
33736
|
-
|
|
33737
|
-
|
|
33738
|
-
|
|
33739
|
-
|
|
33735
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33736
|
+
const hearingsInWelsh = yield firstValueFrom(this.rpxTranslationService.getTranslation$(this.HEARINGS_TAB_LABEL));
|
|
33737
|
+
const matTab = this.tabGroup._tabs.find(tab => tab.isActive);
|
|
33738
|
+
const tabLabel = matTab.textLabel;
|
|
33739
|
+
// sortedTabs are fragments
|
|
33740
|
+
// appended/prepended tabs use router navigation
|
|
33741
|
+
if ((tabIndexChanged <= 1 && this.prependedTabs && this.prependedTabs.length) ||
|
|
33742
|
+
(((_a = this.appendedTabs) === null || _a === void 0 ? void 0 : _a.length) && (tabLabel === this.HEARINGS_TAB_LABEL
|
|
33743
|
+
|| tabLabel === hearingsInWelsh))) {
|
|
33744
|
+
// Hack to get ID from tab as it's not easily achieved through Angular Material Tabs
|
|
33745
|
+
const tab = matTab['_viewContainerRef'];
|
|
33746
|
+
const id = tab.element.nativeElement.id;
|
|
33747
|
+
// cases/case-details/:caseId/hearings
|
|
33748
|
+
// cases/case-details/:caseId/roles-and-access
|
|
33749
|
+
this.router.navigate([id], { relativeTo: this.route });
|
|
33750
|
+
}
|
|
33751
|
+
else {
|
|
33752
|
+
// Routing here is based on tab label, not ideal
|
|
33753
|
+
// cases/case-details/:caseId#tabLabel
|
|
33754
|
+
this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: tabLabel });
|
|
33755
|
+
}
|
|
33756
|
+
});
|
|
33740
33757
|
}
|
|
33741
33758
|
onLinkClicked(triggerOutputEventText) {
|
|
33742
33759
|
// Get the *absolute* (not relative) index of the target tab and set as the active tab, using the selectedIndex input
|
|
@@ -33750,33 +33767,34 @@ class CaseFullAccessViewComponent {
|
|
|
33750
33767
|
hasActiveCaseFlags() {
|
|
33751
33768
|
// Determine which tab contains the FlagLauncher CaseField type, from the CaseView object in the snapshot data
|
|
33752
33769
|
const caseFlagsTab = this.caseDetails.tabs
|
|
33753
|
-
? (this.caseDetails.tabs).filter(tab => tab.fields && tab.fields.some(caseField => FieldsUtils.
|
|
33770
|
+
? (this.caseDetails.tabs).filter(tab => tab.fields && tab.fields.some(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])))[0]
|
|
33754
33771
|
: null;
|
|
33755
33772
|
if (caseFlagsTab) {
|
|
33756
33773
|
// Check whether the FlagLauncher CaseField is in external mode or not; the notification banner should not be
|
|
33757
33774
|
// displayed for external users
|
|
33758
|
-
this.caseFlagsExternalUser = caseFlagsTab.fields.find(caseField => FieldsUtils.
|
|
33775
|
+
this.caseFlagsExternalUser = caseFlagsTab.fields.find(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])).display_context_parameter === this.caseFlagsReadExternalMode;
|
|
33759
33776
|
// Get the active case flags count
|
|
33760
33777
|
// Cannot filter out anything other than to remove the FlagLauncher CaseField because Flags fields may be
|
|
33761
33778
|
// contained in other CaseField instances, either as a sub-field of a Complex field, or fields in a collection
|
|
33762
33779
|
// (or sub-fields of Complex fields in a collection)
|
|
33763
33780
|
const activeCaseFlags = caseFlagsTab.fields
|
|
33764
|
-
.filter(caseField => !FieldsUtils.
|
|
33781
|
+
.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']) && caseField.value)
|
|
33765
33782
|
.reduce((active, caseFlag) => {
|
|
33766
33783
|
return FieldsUtils.countActiveFlagsInCaseField(active, caseFlag);
|
|
33767
33784
|
}, 0);
|
|
33768
33785
|
if (activeCaseFlags > 0) {
|
|
33769
33786
|
const description = activeCaseFlags > 1
|
|
33770
|
-
? `There are
|
|
33787
|
+
? this.rpxTranslationService.getTranslationWithReplacements$(`There are %activeCaseFlags% active flags on this case.`, { activeCaseFlags: '' + activeCaseFlags })
|
|
33788
|
+
: this.rpxTranslationService.getTranslation$('There is 1 active flag on this case.');
|
|
33771
33789
|
// Initialise and display notification banner
|
|
33772
33790
|
this.notificationBannerConfig = {
|
|
33773
33791
|
bannerType: NotificationBannerType.INFORMATION,
|
|
33774
|
-
headingText: 'Important',
|
|
33792
|
+
headingText: this.rpxTranslationService.getTranslation$('Important'),
|
|
33775
33793
|
description,
|
|
33776
33794
|
showLink: true,
|
|
33777
|
-
linkText: 'View case flags',
|
|
33795
|
+
linkText: this.rpxTranslationService.getTranslation$('View case flags'),
|
|
33778
33796
|
triggerOutputEvent: true,
|
|
33779
|
-
triggerOutputEventText: caseFlagsTab.label,
|
|
33797
|
+
triggerOutputEventText: this.rpxTranslationService.getTranslation$(caseFlagsTab.label),
|
|
33780
33798
|
headerClass: NotificationBannerHeaderClass.INFORMATION
|
|
33781
33799
|
};
|
|
33782
33800
|
return true;
|
|
@@ -33847,7 +33865,7 @@ CaseFullAccessViewComponent.TRIGGER_TEXT_START = 'Go';
|
|
|
33847
33865
|
CaseFullAccessViewComponent.TRIGGER_TEXT_CONTINUE = 'Ignore Warning and Go';
|
|
33848
33866
|
CaseFullAccessViewComponent.UNICODE_SPACE = '%20';
|
|
33849
33867
|
CaseFullAccessViewComponent.EMPTY_SPACE = ' ';
|
|
33850
|
-
CaseFullAccessViewComponent.ɵfac = function CaseFullAccessViewComponent_Factory(t) { return new (t || CaseFullAccessViewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(NavigationNotifierService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(DraftService), i0.ɵɵdirectiveInject(ErrorNotifierService), i0.ɵɵdirectiveInject(ConvertHrefToRouterService), i0.ɵɵdirectiveInject(i4.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1.
|
|
33868
|
+
CaseFullAccessViewComponent.ɵfac = function CaseFullAccessViewComponent_Factory(t) { return new (t || CaseFullAccessViewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(NavigationNotifierService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(DraftService), i0.ɵɵdirectiveInject(ErrorNotifierService), i0.ɵɵdirectiveInject(ConvertHrefToRouterService), i0.ɵɵdirectiveInject(i4.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
|
|
33851
33869
|
CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFullAccessViewComponent, selectors: [["ccd-case-full-access-view"]], viewQuery: function CaseFullAccessViewComponent_Query(rf, ctx) {
|
|
33852
33870
|
if (rf & 1) {
|
|
33853
33871
|
i0.ɵɵviewQuery(_c0$b, 5);
|
|
@@ -33899,7 +33917,7 @@ CaseFullAccessViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
33899
33917
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
33900
33918
|
type: Component,
|
|
33901
33919
|
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-describedby]=\"'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"] }]
|
|
33902
|
-
}], 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.
|
|
33920
|
+
}], 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.RpxTranslationService }]; }, { hasPrint: [{
|
|
33903
33921
|
type: Input
|
|
33904
33922
|
}], hasEventSelector: [{
|
|
33905
33923
|
type: Input
|
|
@@ -36884,8 +36902,18 @@ class SearchFiltersComponent {
|
|
|
36884
36902
|
if (this.jurisdictions.length === 1 || jurisdiction) {
|
|
36885
36903
|
this.selected.jurisdiction = this.jurisdictions[0];
|
|
36886
36904
|
if (jurisdiction) {
|
|
36887
|
-
|
|
36888
|
-
|
|
36905
|
+
try {
|
|
36906
|
+
console.log('jurisdiction retrieved from local storage len = ' + jurisdiction.length);
|
|
36907
|
+
const localStorageJurisdiction = JSON.parse(decompressFromUTF16(jurisdiction));
|
|
36908
|
+
if (localStorageJurisdiction) {
|
|
36909
|
+
this.selected.jurisdiction = this.jurisdictions
|
|
36910
|
+
.filter(j => j.id === localStorageJurisdiction.id)[0];
|
|
36911
|
+
}
|
|
36912
|
+
}
|
|
36913
|
+
catch (e) {
|
|
36914
|
+
console.log("Failed to retrieve jurisdiction from local storage");
|
|
36915
|
+
this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
|
|
36916
|
+
}
|
|
36889
36917
|
}
|
|
36890
36918
|
this.onJurisdictionIdChange();
|
|
36891
36919
|
}
|
|
@@ -36910,6 +36938,7 @@ class SearchFiltersComponent {
|
|
|
36910
36938
|
this.onReset.emit();
|
|
36911
36939
|
}
|
|
36912
36940
|
apply() {
|
|
36941
|
+
console.log("Search filters apply");
|
|
36913
36942
|
this.selected.formGroup = this.formGroup;
|
|
36914
36943
|
this.selected.page = 1;
|
|
36915
36944
|
this.selected.metadataFields = this.getMetadataFields();
|
|
@@ -36923,7 +36952,15 @@ class SearchFiltersComponent {
|
|
|
36923
36952
|
populateValuesInLocalStorage() {
|
|
36924
36953
|
this.windowService.setLocalStorage(FORM_GROUP_VALUE_LOC_STORAGE, JSON.stringify(this.selected.formGroup.value));
|
|
36925
36954
|
this.windowService.setLocalStorage(META_FIELDS_LOC_STORAGE, JSON.stringify(this.selected.metadataFields));
|
|
36926
|
-
|
|
36955
|
+
try {
|
|
36956
|
+
const compJurisd = compressToUTF16(JSON.stringify(this.selected.jurisdiction));
|
|
36957
|
+
this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, compJurisd);
|
|
36958
|
+
console.log('jurisdiction compressed into local storage, length = ' + compJurisd.length);
|
|
36959
|
+
}
|
|
36960
|
+
catch (e) {
|
|
36961
|
+
console.log('Could not store jurisdiction in local storage');
|
|
36962
|
+
this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
|
|
36963
|
+
}
|
|
36927
36964
|
if (this.selected.caseType) {
|
|
36928
36965
|
this.windowService.setLocalStorage(CASE_TYPE_LOC_STORAGE, JSON.stringify(this.selected.caseType));
|
|
36929
36966
|
}
|