@hmcts/ccd-case-ui-toolkit 6.15.0-c → 6.15.0-e

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 (21) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +71 -23
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -1
  6. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +31 -18
  7. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +21 -7
  8. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +20 -7
  9. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +12 -1
  10. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +71 -23
  11. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  12. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  13. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
  14. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  15. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +7 -2
  16. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  17. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +4 -1
  18. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  19. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +4 -2
  20. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  21. package/package.json +1 -1
@@ -9359,6 +9359,7 @@ class CaseEditPageComponent {
9359
9359
  id,
9360
9360
  message: `Please select Next to complete the ${action} of the ${action === 'update' ? 'selected ' : ''}case flag`
9361
9361
  });
9362
+ this.caseEditDataService.setFormValidationErrors(this.validationErrors);
9362
9363
  }
9363
9364
  else {
9364
9365
  this.validationErrors.push({ id, message: `Select or fill the required ${casefield.label} field` });
@@ -11037,6 +11038,13 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11037
11038
  });
11038
11039
  }
11039
11040
  }
11041
+ this.caseValidationErrorsSubscription$ = this.caseEditDataService.caseFormValidationErrors$.subscribe({
11042
+ next: (validationErrors) => {
11043
+ if (validationErrors.length) {
11044
+ this.errorMessages = [];
11045
+ }
11046
+ }
11047
+ });
11040
11048
  }
11041
11049
  setDisplayContextParameterUpdate(caseFields) {
11042
11050
  return caseFields.some(caseField => FieldsUtils.isFlagLauncherCaseField(caseField) && caseField.display_context_parameter === this.updateMode);
@@ -11266,6 +11274,10 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11266
11274
  this.formGroup.updateValueAndValidity();
11267
11275
  this.caseEditDataService.setTriggerSubmitEvent(true);
11268
11276
  }
11277
+ ngOnDestroy() {
11278
+ var _a;
11279
+ (_a = this.caseValidationErrorsSubscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
11280
+ }
11269
11281
  }
11270
11282
  WriteCaseFlagFieldComponent.ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService)); };
11271
11283
  WriteCaseFlagFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseFlagFieldComponent, selectors: [["ccd-write-case-flag-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], ["id", "create-flag-caption", 1, "govuk-caption-l", 3, "ngClass"], [4, "ngSwitchCase"], [3, "formGroup", "flagsData", "caseFlagStateEmitter"], [3, "formGroup", "jurisdiction", "caseTypeId", "hmctsServiceId", "caseFlagStateEmitter", "flagCommentsOptionalEmitter"], [3, "formGroup", "languages", "flagCode", "caseFlagStateEmitter"], [3, "formGroup", "optional", "caseFlagStateEmitter"], [3, "formGroup", "flagsData", "caseTitle", "caseFlagStateEmitter"], [3, "formGroup", "selectedFlag", "caseFlagStateEmitter"]], template: function WriteCaseFlagFieldComponent_Template(rf, ctx) { if (rf & 1) {
@@ -19020,8 +19032,9 @@ function SelectFlagTypeComponent_div_10_Template(rf, ctx) { if (rf & 1) {
19020
19032
  i0.ɵɵelementEnd();
19021
19033
  } }
19022
19034
  class SelectFlagTypeComponent {
19023
- constructor(caseFlagRefdataService) {
19035
+ constructor(caseFlagRefdataService, caseEditDataService) {
19024
19036
  this.caseFlagRefdataService = caseFlagRefdataService;
19037
+ this.caseEditDataService = caseEditDataService;
19025
19038
  this.caseFlagStateEmitter = new EventEmitter();
19026
19039
  this.flagCommentsOptionalEmitter = new EventEmitter();
19027
19040
  this.flagTypeNotSelectedErrorMessage = '';
@@ -19071,11 +19084,21 @@ class SelectFlagTypeComponent {
19071
19084
  error: error => this.onRefdataError(error)
19072
19085
  });
19073
19086
  }
19087
+ this.caseValidationErrorsSubscription$ = this.caseEditDataService.caseFormValidationErrors$.subscribe({
19088
+ next: (validationErrors) => {
19089
+ if (validationErrors.length) {
19090
+ this.errorMessages = [];
19091
+ this.flagTypeNotSelectedErrorMessage = '';
19092
+ this.flagTypeErrorMessage = '';
19093
+ }
19094
+ }
19095
+ });
19074
19096
  }
19075
19097
  ngOnDestroy() {
19076
19098
  if (this.flagRefdata$) {
19077
19099
  this.flagRefdata$.unsubscribe();
19078
19100
  }
19101
+ this.caseValidationErrorsSubscription$.unsubscribe();
19079
19102
  }
19080
19103
  onFlagTypeChanged(flagType) {
19081
19104
  this.selectedFlagType = flagType;
@@ -19140,7 +19163,7 @@ class SelectFlagTypeComponent {
19140
19163
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE, errorMessages: this.errorMessages });
19141
19164
  }
19142
19165
  }
19143
- SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService)); };
19166
+ SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService), i0.ɵɵdirectiveInject(CaseEditDataService)); };
19144
19167
  SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 11, vars: 9, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName", "change"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
19145
19168
  i0.ɵɵelementStart(0, "div", 0);
19146
19169
  i0.ɵɵelementStart(1, "div", 1);
@@ -19181,7 +19204,7 @@ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeCom
19181
19204
  templateUrl: './select-flag-type.component.html',
19182
19205
  styleUrls: ['./select-flag-type.component.scss']
19183
19206
  }]
19184
- }], function () { return [{ type: CaseFlagRefdataService }]; }, { formGroup: [{
19207
+ }], function () { return [{ type: CaseFlagRefdataService }, { type: CaseEditDataService }]; }, { formGroup: [{
19185
19208
  type: Input
19186
19209
  }], jurisdiction: [{
19187
19210
  type: Input
@@ -19555,7 +19578,8 @@ function SelectFlagLocationComponent_div_9_Template(rf, ctx) { if (rf & 1) {
19555
19578
  } }
19556
19579
  const _c0$o = function (a0) { return { "form-group-error": a0 }; };
19557
19580
  class SelectFlagLocationComponent {
19558
- constructor() {
19581
+ constructor(caseEditDataService) {
19582
+ this.caseEditDataService = caseEditDataService;
19559
19583
  this.caseFlagStateEmitter = new EventEmitter();
19560
19584
  this.errorMessages = [];
19561
19585
  this.flagLocationNotSelectedErrorMessage = null;
@@ -19582,6 +19606,14 @@ class SelectFlagLocationComponent {
19582
19606
  // flags in future)
19583
19607
  this.onCaseFlagsConfigError();
19584
19608
  }
19609
+ this.caseValidationErrorsSubscription$ = this.caseEditDataService.caseFormValidationErrors$.subscribe({
19610
+ next: (validationErrors) => {
19611
+ if (validationErrors.length) {
19612
+ this.errorMessages = [];
19613
+ this.flagLocationNotSelectedErrorMessage = null;
19614
+ }
19615
+ }
19616
+ });
19585
19617
  }
19586
19618
  onNext() {
19587
19619
  // Validate flag location selection
@@ -19616,8 +19648,11 @@ class SelectFlagLocationComponent {
19616
19648
  // Return case flag field state and error messages to the parent
19617
19649
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE, errorMessages: this.errorMessages });
19618
19650
  }
19651
+ ngOnDestroy() {
19652
+ this.caseValidationErrorsSubscription$.unsubscribe();
19653
+ }
19619
19654
  }
19620
- SelectFlagLocationComponent.ɵfac = function SelectFlagLocationComponent_Factory(t) { return new (t || SelectFlagLocationComponent)(); };
19655
+ SelectFlagLocationComponent.ɵfac = function SelectFlagLocationComponent_Factory(t) { return new (t || SelectFlagLocationComponent)(i0.ɵɵdirectiveInject(CaseEditDataService)); };
19621
19656
  SelectFlagLocationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagLocationComponent, selectors: [["ccd-select-flag-location"]], inputs: { formGroup: "formGroup", flagsData: "flagsData" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 10, vars: 8, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-location-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-location-heading", 1, "govuk-fieldset__heading"], ["id", "flag-location-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-location-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagLocationComponent_Template(rf, ctx) { if (rf & 1) {
19622
19657
  i0.ɵɵelementStart(0, "div", 0);
19623
19658
  i0.ɵɵelementStart(1, "div", 1);
@@ -19654,7 +19689,7 @@ SelectFlagLocationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagLoc
19654
19689
  selector: 'ccd-select-flag-location',
19655
19690
  templateUrl: './select-flag-location.component.html'
19656
19691
  }]
19657
- }], null, { formGroup: [{
19692
+ }], function () { return [{ type: CaseEditDataService }]; }, { formGroup: [{
19658
19693
  type: Input
19659
19694
  }], flagsData: [{
19660
19695
  type: Input
@@ -26946,7 +26981,7 @@ function CaseFullAccessViewComponent_ng_container_12_Template(rf, ctx) { if (rf
26946
26981
  const _r34 = i0.ɵɵgetCurrentView();
26947
26982
  i0.ɵɵelementContainerStart(0);
26948
26983
  i0.ɵɵelementStart(1, "mat-tab-group", 23, 24);
26949
- i0.ɵɵlistener("selectedTabChange", function CaseFullAccessViewComponent_ng_container_12_Template_mat_tab_group_selectedTabChange_1_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.tabChanged($event); });
26984
+ i0.ɵɵlistener("selectedIndexChange", function CaseFullAccessViewComponent_ng_container_12_Template_mat_tab_group_selectedIndexChange_1_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.tabChanged($event); });
26950
26985
  i0.ɵɵtemplate(3, CaseFullAccessViewComponent_ng_container_12_mat_tab_3_Template, 1, 2, "mat-tab", 25);
26951
26986
  i0.ɵɵtemplate(4, CaseFullAccessViewComponent_ng_container_12_mat_tab_4_Template, 2, 2, "mat-tab", 25);
26952
26987
  i0.ɵɵtemplate(5, CaseFullAccessViewComponent_ng_container_12_mat_tab_5_Template, 1, 2, "mat-tab", 25);
@@ -26982,6 +27017,7 @@ class CaseFullAccessViewComponent {
26982
27017
  this.location = location;
26983
27018
  this.crf = crf;
26984
27019
  this.sessionStorageService = sessionStorageService;
27020
+ this.HEARINGS_TAB_LABEL = 'Hearings';
26985
27021
  this.hasPrint = true;
26986
27022
  this.hasEventSelector = true;
26987
27023
  this.prependedTabs = [];
@@ -26993,6 +27029,7 @@ class CaseFullAccessViewComponent {
26993
27029
  this.ignoreWarning = false;
26994
27030
  this.selectedTabIndex = 0;
26995
27031
  this.activeCaseFlags = false;
27032
+ this.subs = [];
26996
27033
  this.callbackErrorsSubject = new Subject();
26997
27034
  }
26998
27035
  ngOnInit() {
@@ -27044,6 +27081,7 @@ class CaseFullAccessViewComponent {
27044
27081
  this.unsubscribe(this.callbackErrorsSubject);
27045
27082
  this.unsubscribe(this.errorSubscription);
27046
27083
  this.unsubscribe(this.subscription);
27084
+ this.subs.forEach(s => s.unsubscribe());
27047
27085
  }
27048
27086
  unsubscribe(subscription) {
27049
27087
  if (subscription) {
@@ -27051,7 +27089,7 @@ class CaseFullAccessViewComponent {
27051
27089
  }
27052
27090
  }
27053
27091
  checkRouteAndSetCaseViewTab() {
27054
- this.router.events
27092
+ this.subs.push(this.router.events
27055
27093
  .pipe(filter((event) => event instanceof NavigationEnd))
27056
27094
  .subscribe((event) => {
27057
27095
  const url = event && event.url;
@@ -27063,8 +27101,9 @@ class CaseFullAccessViewComponent {
27063
27101
  this.tabGroup.selectedIndex = matTab.position;
27064
27102
  }
27065
27103
  }
27066
- });
27104
+ }));
27067
27105
  }
27106
+ ;
27068
27107
  postViewActivity() {
27069
27108
  return this.activityPollingService.postViewActivity(this.caseDetails.case_id);
27070
27109
  }
@@ -27185,22 +27224,25 @@ class CaseFullAccessViewComponent {
27185
27224
  }
27186
27225
  }
27187
27226
  }
27188
- tabChanged(tabChangeEvent) {
27189
- // Update selected tab index
27190
- this.selectedTabIndex = tabChangeEvent.index;
27191
- const tab = tabChangeEvent.tab['_viewContainerRef'];
27192
- const id = tab.element.nativeElement.id;
27193
- // due to some edge case like hidden tab we can't calculate the last index of existing tabs,
27194
- // so have to hard code the hearings id here
27195
- if ((tabChangeEvent.index <= 1 && this.prependedTabs && this.prependedTabs.length) ||
27196
- (this.appendedTabs && this.appendedTabs.length && id === 'hearings')) {
27227
+ // Refactored under EXUI-110 to address infinite tab loop to use tabIndexChanged instead
27228
+ tabChanged(tabIndexChanged) {
27229
+ const matTab = this.tabGroup._tabs.find(tab => tab.isActive);
27230
+ const tabLabel = matTab.textLabel;
27231
+ // sortedTabs are fragments
27232
+ // appended/prepepended tabs use router navigation
27233
+ if ((tabIndexChanged <= 1 && this.prependedTabs && this.prependedTabs.length) ||
27234
+ (this.appendedTabs && this.appendedTabs.length && tabLabel === this.HEARINGS_TAB_LABEL)) {
27235
+ // Hack to get ID from tab as it's not easily achieved through Angular Material Tabs
27236
+ const tab = matTab['_viewContainerRef'];
27237
+ const id = tab.element.nativeElement.id;
27238
+ // cases/case-details/:caseId/hearings
27239
+ // cases/case-details/:caseId/roles-and-access
27197
27240
  this.router.navigate([id], { relativeTo: this.route });
27198
27241
  }
27199
27242
  else {
27200
- const label = tabChangeEvent.tab.textLabel;
27201
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]).then(() => {
27202
- window.location.hash = label;
27203
- });
27243
+ // Routing here is based on tab label, not ideal
27244
+ // cases/case-details/:caseId#tabLabel
27245
+ this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: tabLabel });
27204
27246
  }
27205
27247
  }
27206
27248
  onLinkClicked(triggerOutputEventText) {
@@ -27296,6 +27338,12 @@ class CaseFullAccessViewComponent {
27296
27338
  this.callbackErrorsSubject.next(null);
27297
27339
  this.alertService.clear();
27298
27340
  }
27341
+ getUrlFragment(url) {
27342
+ return url.split('#')[url.split('#').length - 1];
27343
+ }
27344
+ getTabIndexByTabLabel(tabGroup, tabLabel) {
27345
+ return tabGroup._tabs.toArray().findIndex((t) => t.textLabel.toLowerCase() === tabLabel.toLowerCase());
27346
+ }
27299
27347
  }
27300
27348
  CaseFullAccessViewComponent.ORIGIN_QUERY_PARAM = 'origin';
27301
27349
  CaseFullAccessViewComponent.TRIGGER_TEXT_START = 'Go';
@@ -27308,7 +27356,7 @@ CaseFullAccessViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFullAcces
27308
27356
  } if (rf & 2) {
27309
27357
  let _t;
27310
27358
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
27311
- } }, inputs: { hasPrint: "hasPrint", hasEventSelector: "hasEventSelector", caseDetails: "caseDetails", prependedTabs: "prependedTabs", appendedTabs: "appendedTabs" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 12, consts: [["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject", "callbackErrorsContext"], [3, "caseId", "displayMode"], [1, "grid-row"], [1, "column-one-half"], [3, "caseDetails"], ["class", "case-viewer-controls", 4, "ngIf"], ["class", "column-one-half", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "column-full"], [4, "ngIf"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h1", "error-summary-heading"], ["id", "edit-case-event_error-summary-body", 1, "govuk-error-summary__body"], ["href", "get-help", "target", "_blank"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h2", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], [4, "ngFor", "ngForOf"], [1, "case-viewer-controls"], ["id", "case-viewer-control-print", "routerLink", "print", 1, "button", "button-secondary"], [3, "isDisabled", "triggers", "triggerText", "onTriggerChange", "onTriggerSubmit"], [3, "notificationBannerConfig", "linkClicked"], ["animationDuration", "0ms", 3, "disableRipple", "selectedIndex", "selectedTabChange"], ["tabGroup", ""], [3, "id", "label", 4, "ngFor", "ngForOf"], [3, "id", "label"], ["matTabContent", ""], ["aria-describedby", "case viewer table"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], ["id", "case-viewer-field-label", 4, "ngIf"], ["scope", "col", 3, "id"], [1, "text-16"], [3, "topLevelFormGroup", "caseField", "caseReference", "markdownUseHrefAsRouterLink"], ["id", "case-viewer-field-label"], [1, "case-viewer-label", "text-16"], [1, "compound-field"]], template: function CaseFullAccessViewComponent_Template(rf, ctx) { if (rf & 1) {
27359
+ } }, inputs: { hasPrint: "hasPrint", hasEventSelector: "hasEventSelector", caseDetails: "caseDetails", prependedTabs: "prependedTabs", appendedTabs: "appendedTabs" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 12, consts: [["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject", "callbackErrorsContext"], [3, "caseId", "displayMode"], [1, "grid-row"], [1, "column-one-half"], [3, "caseDetails"], ["class", "case-viewer-controls", 4, "ngIf"], ["class", "column-one-half", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "column-full"], [4, "ngIf"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h1", "error-summary-heading"], ["id", "edit-case-event_error-summary-body", 1, "govuk-error-summary__body"], ["href", "get-help", "target", "_blank"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h2", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], [4, "ngFor", "ngForOf"], [1, "case-viewer-controls"], ["id", "case-viewer-control-print", "routerLink", "print", 1, "button", "button-secondary"], [3, "isDisabled", "triggers", "triggerText", "onTriggerChange", "onTriggerSubmit"], [3, "notificationBannerConfig", "linkClicked"], ["animationDuration", "0ms", 3, "disableRipple", "selectedIndex", "selectedIndexChange"], ["tabGroup", ""], [3, "id", "label", 4, "ngFor", "ngForOf"], [3, "id", "label"], ["matTabContent", ""], ["aria-describedby", "case viewer table"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], ["id", "case-viewer-field-label", 4, "ngIf"], ["scope", "col", 3, "id"], [1, "text-16"], [3, "topLevelFormGroup", "caseField", "caseReference", "markdownUseHrefAsRouterLink"], ["id", "case-viewer-field-label"], [1, "case-viewer-label", "text-16"], [1, "compound-field"]], template: function CaseFullAccessViewComponent_Template(rf, ctx) { if (rf & 1) {
27312
27360
  i0.ɵɵtemplate(0, CaseFullAccessViewComponent_div_0_Template, 10, 0, "div", 0);
27313
27361
  i0.ɵɵtemplate(1, CaseFullAccessViewComponent_div_1_Template, 6, 2, "div", 0);
27314
27362
  i0.ɵɵelementStart(2, "ccd-callback-errors", 1);