@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.
Files changed (26) hide show
  1. package/esm2020/lib/components/banners/notification-banner/domain/notification-banner-config.model.mjs +1 -1
  2. package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +41 -30
  3. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +21 -19
  4. package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +1 -1
  5. package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +1 -1
  6. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +19 -17
  7. package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +3 -3
  8. package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +24 -4
  9. package/esm2020/lib/shared/domain/work-allocation/task-response.model.mjs +1 -1
  10. package/esm2020/lib/shared/services/alert/alert.service.mjs +1 -1
  11. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +121 -84
  12. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  13. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +102 -67
  14. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  15. package/lib/components/banners/notification-banner/domain/notification-banner-config.model.d.ts +6 -5
  16. package/lib/components/banners/notification-banner/domain/notification-banner-config.model.d.ts.map +1 -1
  17. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  18. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts +2 -2
  19. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
  20. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -4
  21. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  22. package/lib/shared/components/search-filters/search-filters.component.d.ts.map +1 -1
  23. package/lib/shared/domain/work-allocation/task-response.model.d.ts +1 -1
  24. package/lib/shared/domain/work-allocation/task-response.model.d.ts.map +1 -1
  25. package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
  26. 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 NotificationBannerComponent_div_0_ng_container_7_Template(rf, ctx) {
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 NotificationBannerComponent_div_0_ng_container_8_Template(rf, ctx) {
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 NotificationBannerComponent_div_0_ng_container_9_Template(rf, ctx) {
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 NotificationBannerComponent_div_0_ng_container_10_Template(rf, ctx) {
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 NotificationBannerComponent_div_0_a_12_Template(rf, ctx) {
989
+ function NotificationBannerComponent_div_0_a_14_Template(rf, ctx) {
989
990
  if (rf & 1) {
990
991
  i0.ɵɵelementStart(0, "a", 14);
991
- i0.ɵɵtext(1);
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(1);
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 NotificationBannerComponent_div_0_a_13_Template(rf, ctx) {
1004
+ function NotificationBannerComponent_div_0_ng_container_15_Template(rf, ctx) {
1002
1005
  if (rf & 1) {
1003
- const _r8 = i0.ɵɵgetCurrentView();
1004
- i0.ɵɵelementStart(0, "a", 15);
1005
- i0.ɵɵlistener("click", function NotificationBannerComponent_div_0_a_13_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.onLinkClick(ctx_r7.notificationBannerConfig.triggerOutputEventText)); });
1006
- i0.ɵɵtext(1);
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.ɵɵtextInterpolate(ctx_r6.notificationBannerConfig.linkText);
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(4, "div", 4)(5, "p", 5);
1021
- i0.ɵɵelementContainerStart(6, 6);
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(11);
1028
- i0.ɵɵtemplate(12, NotificationBannerComponent_div_0_a_12_Template, 2, 2, "a", 8);
1029
- i0.ɵɵtemplate(13, NotificationBannerComponent_div_0_a_13_Template, 2, 1, "a", 9);
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(3);
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(1);
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"], ["class", "govuk-notification-banner__link", "href", "javascript:void(0)", 3, "click", 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"], ["href", "javascript:void(0)", 1, "govuk-notification-banner__link", 3, "click"]], template: function NotificationBannerComponent_Template(rf, ctx) {
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, 14, 10, "div", 0);
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 <a *ngIf=\"notificationBannerConfig.showLink && notificationBannerConfig.triggerOutputEvent\"\n class=\"govuk-notification-banner__link\"\n href=\"javascript:void(0)\"\n (click)=\"onLinkClick(notificationBannerConfig.triggerOutputEventText)\">{{notificationBannerConfig.linkText}}</a>\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"] }]
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 \t <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label | rpxTranslate : null : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\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, " Event summary (optional) ");
29658
- i0.ɵɵelementStart(6, "span", 43);
29659
- i0.ɵɵtext(7, "A few words describing the purpose of the event.");
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(8, "input", 44);
29675
+ i0.ɵɵelement(10, "input", 44);
29662
29676
  i0.ɵɵelementEnd();
29663
- i0.ɵɵelementStart(9, "div", 41)(10, "label", 45);
29664
- i0.ɵɵtext(11, "Event description (optional)");
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(12, "textarea", 46);
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, 13, 0, "ng-container", 0);
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
- var _a;
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 }}</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 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"] }]
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, rpxTranslationPipe) {
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.rpxTranslationPipe = rpxTranslationPipe;
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
- const matTab = this.tabGroup._tabs.find(tab => tab.isActive);
33722
- const tabLabel = matTab.textLabel;
33723
- // sortedTabs are fragments
33724
- // appended/prepepended tabs use router navigation
33725
- if ((tabIndexChanged <= 1 && this.prependedTabs && this.prependedTabs.length) ||
33726
- (((_a = this.appendedTabs) === null || _a === void 0 ? void 0 : _a.length) && (tabLabel === this.HEARINGS_TAB_LABEL
33727
- || tabLabel === this.rpxTranslationPipe.transform(this.HEARINGS_TAB_LABEL)))) {
33728
- // Hack to get ID from tab as it's not easily achieved through Angular Material Tabs
33729
- const tab = matTab['_viewContainerRef'];
33730
- const id = tab.element.nativeElement.id;
33731
- // cases/case-details/:caseId/hearings
33732
- // cases/case-details/:caseId/roles-and-access
33733
- this.router.navigate([id], { relativeTo: this.route });
33734
- }
33735
- else {
33736
- // Routing here is based on tab label, not ideal
33737
- // cases/case-details/:caseId#tabLabel
33738
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: tabLabel });
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.isFlagLauncherCaseField(caseField)))[0]
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.isFlagLauncherCaseField(caseField)).display_context_parameter === this.caseFlagsReadExternalMode;
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.isFlagLauncherCaseField(caseField) && caseField.value)
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 ${activeCaseFlags} active flags on this case.` : 'There is 1 active flag on this case.';
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.RpxTranslatePipe)); };
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.RpxTranslatePipe }]; }, { hasPrint: [{
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
- const localStorageJurisdiction = JSON.parse(jurisdiction);
36888
- this.selected.jurisdiction = this.jurisdictions.filter(j => j.id === localStorageJurisdiction.id)[0];
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
- this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, JSON.stringify(this.selected.jurisdiction));
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
  }