@hmcts/ccd-case-ui-toolkit 7.1.24-case-links-fix → 7.1.26-auto-task-completing-fix

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 (18) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +37 -8
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +3 -3
  3. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +3 -2
  4. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +17 -17
  5. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +10 -10
  6. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +13 -30
  7. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +39 -35
  8. package/esm2022/lib/shared/domain/work-allocation/Task.mjs +1 -1
  9. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +113 -96
  10. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  11. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -2
  12. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  13. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  14. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  15. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  16. package/lib/shared/domain/work-allocation/Task.d.ts +1 -0
  17. package/lib/shared/domain/work-allocation/Task.d.ts.map +1 -1
  18. package/package.json +1 -1
@@ -9318,6 +9318,7 @@ class CaseEditComponent {
9318
9318
  workAllocationService;
9319
9319
  alertService;
9320
9320
  abstractConfig;
9321
+ cookieService;
9321
9322
  static ORIGIN_QUERY_PARAM = 'origin';
9322
9323
  static ALERT_MESSAGE = 'Page is being refreshed so you will be redirected to the first page of this event.';
9323
9324
  eventTrigger;
@@ -9343,7 +9344,7 @@ class CaseEditComponent {
9343
9344
  error;
9344
9345
  callbackErrorsSubject = new Subject();
9345
9346
  validPageList = [];
9346
- constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService, abstractConfig) {
9347
+ constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService, abstractConfig, cookieService) {
9347
9348
  this.fb = fb;
9348
9349
  this.caseNotifier = caseNotifier;
9349
9350
  this.router = router;
@@ -9361,6 +9362,7 @@ class CaseEditComponent {
9361
9362
  this.workAllocationService = workAllocationService;
9362
9363
  this.alertService = alertService;
9363
9364
  this.abstractConfig = abstractConfig;
9365
+ this.cookieService = cookieService;
9364
9366
  }
9365
9367
  ngOnInit() {
9366
9368
  this.wizard = this.wizardFactory.create(this.eventTrigger);
@@ -9674,6 +9676,7 @@ class CaseEditComponent {
9674
9676
  }), finalize(() => {
9675
9677
  this.loadingService.unregister(loadingSpinnerToken);
9676
9678
  // on event completion ensure the previous event clientContext/taskEventCompletionInfo removed
9679
+ // Note - Not removeTaskFromClientContext because could interfere with other logic
9677
9680
  this.sessionStorageService.removeItem('clientContext');
9678
9681
  this.sessionStorageService.removeItem('taskEventCompletionInfo');
9679
9682
  this.isSubmitting = false;
@@ -9743,7 +9746,15 @@ class CaseEditComponent {
9743
9746
  }
9744
9747
  if (!taskEventCompletionInfo) {
9745
9748
  // if no task event present then there is no task to complete from previous event present
9746
- return true;
9749
+ // EXUI-2668 - Add additional logic to confirm the task is relevant to the event
9750
+ if (this.taskIsForEvent(taskInSessionStorage, eventDetails)) {
9751
+ return true;
9752
+ }
9753
+ else {
9754
+ // client context still needed for language
9755
+ this.removeTaskFromClientContext();
9756
+ return false;
9757
+ }
9747
9758
  }
9748
9759
  else {
9749
9760
  if (taskEventCompletionInfo.taskId !== taskInSessionStorage.id) {
@@ -9753,7 +9764,7 @@ class CaseEditComponent {
9753
9764
  this.eventDetailsDoNotMatch(taskEventCompletionInfo, eventDetails))
9754
9765
  || this.eventMoreThanDayAgo(taskEventCompletionInfo.createdTimestamp)) {
9755
9766
  // if the session storage not related to event, ignore it and remove
9756
- this.sessionStorageService.removeItem('clientContext');
9767
+ this.removeTaskFromClientContext();
9757
9768
  this.sessionStorageService.removeItem('taskEventCompletionInfo');
9758
9769
  return false;
9759
9770
  }
@@ -9796,7 +9807,25 @@ class CaseEditComponent {
9796
9807
  }
9797
9808
  return false;
9798
9809
  }
9799
- static ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(FieldsPurger), i0.ɵɵdirectiveInject(ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(WizardFactoryService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
9810
+ taskIsForEvent(task, eventDetails) {
9811
+ // EXUI-2668 - Ensure description for task includes event ID
9812
+ // Note - This is a failsafe for an edge case that may never occur again
9813
+ // Description may not include eventId in some cases which may mean task not completed (however this will be easy to check)
9814
+ this.abstractConfig.logMessage(`checking taskIsForEvent: task ID ${task.id}, task description ${task.description}, event name ${eventDetails.eventId}`);
9815
+ return task.case_id === eventDetails.caseId && (task.description && task.description.includes(eventDetails.eventId));
9816
+ }
9817
+ removeTaskFromClientContext() {
9818
+ const currentLanguage = this.cookieService.getCookie('exui-preferred-language');
9819
+ const clientContext = {
9820
+ client_context: {
9821
+ user_language: {
9822
+ language: currentLanguage
9823
+ }
9824
+ }
9825
+ };
9826
+ this.sessionStorageService.setItem('clientContext', JSON.stringify(clientContext));
9827
+ }
9828
+ static ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(FieldsPurger), i0.ɵɵdirectiveInject(ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(WizardFactoryService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(ReadCookieService)); };
9800
9829
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) { if (rf & 1) {
9801
9830
  i0.ɵɵelement(0, "router-outlet");
9802
9831
  } }, dependencies: [i1$1.RouterOutlet], styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
@@ -9804,7 +9833,7 @@ class CaseEditComponent {
9804
9833
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditComponent, [{
9805
9834
  type: Component,
9806
9835
  args: [{ selector: 'ccd-case-edit', providers: [GreyBarService], template: "<router-outlet></router-outlet>\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"] }]
9807
- }], () => [{ type: i4.FormBuilder }, { type: CaseNotifier }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: FieldsUtils }, { type: FieldsPurger }, { type: ConditionalShowRegistrarService }, { type: WizardFactoryService }, { type: SessionStorageService }, { type: WindowService }, { type: FormValueService }, { type: FormErrorService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: WorkAllocationService }, { type: AlertService }, { type: AbstractAppConfig }], { eventTrigger: [{
9836
+ }], () => [{ type: i4.FormBuilder }, { type: CaseNotifier }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: FieldsUtils }, { type: FieldsPurger }, { type: ConditionalShowRegistrarService }, { type: WizardFactoryService }, { type: SessionStorageService }, { type: WindowService }, { type: FormValueService }, { type: FormErrorService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: WorkAllocationService }, { type: AlertService }, { type: AbstractAppConfig }, { type: ReadCookieService }], { eventTrigger: [{
9808
9837
  type: Input
9809
9838
  }], submit: [{
9810
9839
  type: Input
@@ -9819,7 +9848,7 @@ class CaseEditComponent {
9819
9848
  }], submitted: [{
9820
9849
  type: Output
9821
9850
  }] }); })();
9822
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 35 }); })();
9851
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 36 }); })();
9823
9852
 
9824
9853
  function CaseEditConfirmComponent_div_3_Template(rf, ctx) { if (rf & 1) {
9825
9854
  i0.ɵɵelement(0, "div");
@@ -16651,8 +16680,8 @@ class LinkCasesComponent {
16651
16680
  })), this.validatorsUtils.formArraySelectedValidator());
16652
16681
  }
16653
16682
  toggleLinkCaseReasonOtherComments(event) {
16654
- this.linkCaseReasons.find((reason) => reason.value_en === event.target.value).selected = event.target.checked;
16655
- this.showComments = this.linkCaseReasons.find((reason) => reason.value_en === 'Other')?.selected;
16683
+ this.linkCaseReasons.find(reason => reason.value_en === event.target.value).selected = event.target.checked;
16684
+ this.showComments = this.linkCaseReasons.find(reason => reason.value_en === 'Other').selected;
16656
16685
  }
16657
16686
  submitCaseInfo() {
16658
16687
  this.errorMessages = [];
@@ -16691,7 +16720,7 @@ class LinkCasesComponent {
16691
16720
  this.errorMessages.push({
16692
16721
  title: 'dummy-case-number',
16693
16722
  description: LinkedCasesErrorMessages.CaseNumberError,
16694
- fieldId: 'caseNumber'
16723
+ fieldId: 'caseNumber',
16695
16724
  });
16696
16725
  }
16697
16726
  if (this.linkCaseForm.controls.reasonType.invalid) {
@@ -16699,17 +16728,17 @@ class LinkCasesComponent {
16699
16728
  this.errorMessages.push({
16700
16729
  title: 'dummy-case-reason',
16701
16730
  description: LinkedCasesErrorMessages.ReasonSelectionError,
16702
- fieldId: 'caseReason'
16731
+ fieldId: 'caseReason',
16703
16732
  });
16704
16733
  }
16705
16734
  if (this.linkCaseForm.controls.reasonType.valid
16706
- && this.linkCaseReasons.find((reason) => reason.value_en === 'Other').selected) {
16735
+ && this.linkCaseReasons.find(reason => reason.value_en === 'Other').selected) {
16707
16736
  if (this.linkCaseForm.controls.otherDescription.value.trim().length === 0) {
16708
16737
  this.caseReasonCommentsError = LinkedCasesErrorMessages.otherDescriptionError;
16709
16738
  this.errorMessages.push({
16710
16739
  title: 'dummy-case-reason-comments',
16711
16740
  description: LinkedCasesErrorMessages.otherDescriptionError,
16712
- fieldId: 'otherDescription'
16741
+ fieldId: 'otherDescription',
16713
16742
  });
16714
16743
  }
16715
16744
  if (this.linkCaseForm.controls.otherDescription.value.trim().length > 100) {
@@ -16717,7 +16746,7 @@ class LinkCasesComponent {
16717
16746
  this.errorMessages.push({
16718
16747
  title: 'dummy-case-reason-comments',
16719
16748
  description: LinkedCasesErrorMessages.otherDescriptionMaxLengthError,
16720
- fieldId: 'otherDescription'
16749
+ fieldId: 'otherDescription',
16721
16750
  });
16722
16751
  }
16723
16752
  }
@@ -16726,7 +16755,7 @@ class LinkCasesComponent {
16726
16755
  this.errorMessages.push({
16727
16756
  title: 'dummy-case-number',
16728
16757
  description: LinkedCasesErrorMessages.CaseProposedError,
16729
- fieldId: 'caseNumber'
16758
+ fieldId: 'caseNumber',
16730
16759
  });
16731
16760
  }
16732
16761
  if (this.isCaseSelected(this.linkedCasesService.linkedCases)) {
@@ -16734,14 +16763,14 @@ class LinkCasesComponent {
16734
16763
  this.errorMessages.push({
16735
16764
  title: 'dummy-case-number',
16736
16765
  description: LinkedCasesErrorMessages.CasesLinkedError,
16737
- fieldId: 'caseNumber'
16766
+ fieldId: 'caseNumber',
16738
16767
  });
16739
16768
  }
16740
16769
  if (this.linkCaseForm.value.caseNumber.split('-').join('') === this.linkedCasesService.caseId.split('-').join('')) {
16741
16770
  this.errorMessages.push({
16742
16771
  title: 'dummy-case-number',
16743
16772
  description: LinkedCasesErrorMessages.ProposedCaseWithIn,
16744
- fieldId: 'caseNumber'
16773
+ fieldId: 'caseNumber',
16745
16774
  });
16746
16775
  }
16747
16776
  window.scrollTo(0, 0);
@@ -16762,7 +16791,7 @@ class LinkCasesComponent {
16762
16791
  caseState: caseView.state.name || '',
16763
16792
  caseStateDescription: caseView.state.description || '',
16764
16793
  caseService: caseView.case_type && caseView.case_type.jurisdiction && caseView.case_type.jurisdiction.description || '',
16765
- caseName: this.linkedCasesService.getCaseName(caseView)
16794
+ caseName: this.linkedCasesService.getCaseName(caseView),
16766
16795
  };
16767
16796
  const ccdApiCaseLinkData = {
16768
16797
  CaseReference: caseView.case_id,
@@ -16775,7 +16804,7 @@ class LinkCasesComponent {
16775
16804
  }
16776
16805
  this.linkedCasesService.caseFieldValue.push({ id: caseView.case_id.toString(), value: ccdApiCaseLinkData });
16777
16806
  this.selectedCases.push(caseLink);
16778
- this.linkCaseReasons.forEach((reason) => reason.selected = false);
16807
+ this.linkCaseReasons.forEach(reason => reason.selected = false);
16779
16808
  this.initForm();
16780
16809
  this.emitLinkedCasesState(false);
16781
16810
  }, (error) => {
@@ -16783,7 +16812,7 @@ class LinkCasesComponent {
16783
16812
  this.errorMessages.push({
16784
16813
  title: 'dummy-case-number',
16785
16814
  description: LinkedCasesErrorMessages.CaseCheckAgainError,
16786
- fieldId: 'caseNumber'
16815
+ fieldId: 'caseNumber',
16787
16816
  });
16788
16817
  this.emitLinkedCasesState(false);
16789
16818
  window.scrollTo(0, 0);
@@ -16795,7 +16824,7 @@ class LinkCasesComponent {
16795
16824
  this.linkedCasesStateEmitter.emit({
16796
16825
  currentLinkedCasesPage: LinkedCasesPages.LINK_CASE,
16797
16826
  errorMessages: this.errorMessages,
16798
- navigateToNextPage: isNavigateToNextPage
16827
+ navigateToNextPage: isNavigateToNextPage,
16799
16828
  });
16800
16829
  }
16801
16830
  getSelectedCaseReasons() {
@@ -16830,7 +16859,7 @@ class LinkCasesComponent {
16830
16859
  }
16831
16860
  onSelectedLinkedCaseRemove(pos, selectedCaseReference) {
16832
16861
  const caseFieldValue = this.linkedCasesService.caseFieldValue || [];
16833
- const updatedItems = caseFieldValue.filter((item) => item.value && item.value.CaseReference !== selectedCaseReference);
16862
+ const updatedItems = caseFieldValue.filter(item => item.value && item.value.CaseReference !== selectedCaseReference);
16834
16863
  if (updatedItems) {
16835
16864
  this.linkedCasesService.caseFieldValue = updatedItems;
16836
16865
  }
@@ -16851,7 +16880,7 @@ class LinkCasesComponent {
16851
16880
  this.errorMessages.push({
16852
16881
  title: 'dummy-case-selection',
16853
16882
  description: LinkedCasesErrorMessages.CaseSelectionError,
16854
- fieldId: 'caseReason'
16883
+ fieldId: 'caseReason',
16855
16884
  });
16856
16885
  navigateToNextPage = false;
16857
16886
  }
@@ -17586,7 +17615,7 @@ class UnLinkCasesComponent {
17586
17615
  }
17587
17616
  else {
17588
17617
  this.casesService.getCaseViewV2(this.caseId).subscribe((caseView) => {
17589
- const linkedCasesTab = caseView.tabs.find((tab) => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
17618
+ const linkedCasesTab = caseView.tabs.find(tab => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
17590
17619
  if (linkedCasesTab) {
17591
17620
  const linkedCases = linkedCasesTab.fields[0].value;
17592
17621
  this.linkedCases = linkedCases;
@@ -17598,22 +17627,22 @@ class UnLinkCasesComponent {
17598
17627
  }
17599
17628
  getAllLinkedCaseInformation() {
17600
17629
  const searchCasesResponse = [];
17601
- this.linkedCases.forEach((linkedCase) => {
17630
+ this.linkedCases.forEach(linkedCase => {
17602
17631
  searchCasesResponse.push(this.casesService.getCaseViewV2(linkedCase.caseReference));
17603
17632
  });
17604
17633
  if (searchCasesResponse.length) {
17605
17634
  this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
17606
17635
  searchCases.forEach((response) => {
17607
- const linkedCaseFromList = this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id);
17636
+ const linkedCaseFromList = this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id);
17608
17637
  if (linkedCaseFromList) {
17609
17638
  const caseName = this.linkedCasesService.getCaseName(response);
17610
- this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id).caseName = caseName;
17639
+ this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id).caseName = caseName;
17611
17640
  }
17612
17641
  });
17613
17642
  this.initForm();
17614
17643
  this.linkedCasesService.linkedCases = this.linkedCases;
17615
17644
  this.isServerError = false;
17616
- }, (err) => {
17645
+ }, err => {
17617
17646
  this.isServerError = true;
17618
17647
  this.notifyAPIFailure.emit(true);
17619
17648
  });
@@ -17628,7 +17657,7 @@ class UnLinkCasesComponent {
17628
17657
  });
17629
17658
  }
17630
17659
  get getLinkedCasesFormArray() {
17631
- const formFieldArray = this.linkedCases.map((val) => this.fb.group({
17660
+ const formFieldArray = this.linkedCases.map(val => this.fb.group({
17632
17661
  caseReference: val.caseReference,
17633
17662
  reasons: val.reasons,
17634
17663
  createdDateTime: val.createdDateTime,
@@ -17642,7 +17671,7 @@ class UnLinkCasesComponent {
17642
17671
  }
17643
17672
  onChange(caseSelected) {
17644
17673
  this.resetErrorMessages();
17645
- const selectedCase = this.linkedCases.find((linkedCase) => linkedCase.caseReference === caseSelected.value);
17674
+ const selectedCase = this.linkedCases.find(linkedCase => linkedCase.caseReference === caseSelected.value);
17646
17675
  if (selectedCase) {
17647
17676
  selectedCase.unlink = caseSelected.checked ? true : false;
17648
17677
  }
@@ -17650,7 +17679,7 @@ class UnLinkCasesComponent {
17650
17679
  onNext() {
17651
17680
  this.resetErrorMessages();
17652
17681
  let navigateToNextPage = true;
17653
- const casesMarkedToUnlink = this.linkedCases.find((linkedCase) => linkedCase.unlink && linkedCase.unlink === true);
17682
+ const casesMarkedToUnlink = this.linkedCases.find(linkedCase => linkedCase.unlink && linkedCase.unlink === true);
17654
17683
  if (!casesMarkedToUnlink) {
17655
17684
  this.errorMessages.push({
17656
17685
  title: 'case-selection',
@@ -17668,7 +17697,7 @@ class UnLinkCasesComponent {
17668
17697
  this.linkedCasesStateEmitter.emit({
17669
17698
  currentLinkedCasesPage: LinkedCasesPages.UNLINK_CASE,
17670
17699
  errorMessages: this.errorMessages,
17671
- navigateToNextPage: isNavigateToNextPage
17700
+ navigateToNextPage: isNavigateToNextPage,
17672
17701
  });
17673
17702
  }
17674
17703
  resetErrorMessages() {
@@ -18011,16 +18040,14 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18011
18040
  // Get linked case reasons from ref data
18012
18041
  this.linkedCasesService.editMode = false;
18013
18042
  this.subscriptions.add(this.caseEditDataService.caseDetails$.subscribe({
18014
- next: (caseDetails) => {
18015
- this.initialiseCaseDetails(caseDetails);
18016
- }
18043
+ next: caseDetails => { this.initialiseCaseDetails(caseDetails); }
18017
18044
  }));
18018
18045
  this.getOrgService();
18019
18046
  this.subscriptions.add(this.caseEditDataService.caseEventTriggerName$.subscribe({
18020
- next: (name) => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
18047
+ next: name => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
18021
18048
  }));
18022
18049
  this.subscriptions.add(this.caseEditDataService.caseEditForm$.subscribe({
18023
- next: (editForm) => this.caseEditForm = editForm
18050
+ next: editForm => this.caseEditForm = editForm
18024
18051
  }));
18025
18052
  }
18026
18053
  initialiseCaseDetails(caseDetails) {
@@ -18096,28 +18123,13 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18096
18123
  }
18097
18124
  }
18098
18125
  submitLinkedCases() {
18099
- let caseFieldValue = [...(this.linkedCasesService.caseFieldValue || [])];
18100
18126
  if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
18101
- const unlinkedCaseReferenceIds = this.linkedCasesService.linkedCases
18102
- .filter((item) => item.unlink)
18103
- .map((item) => item.caseReference);
18104
- caseFieldValue = caseFieldValue.filter((item) => !unlinkedCaseReferenceIds.includes(item.id));
18105
- }
18106
- // Replace the caseLinks value in this.formGroup
18107
- this.formGroup.patchValue({
18108
- caseLinks: caseFieldValue
18109
- });
18110
- // Replace the caseLinks control in caseEditForm.controls.data
18111
- const dataFormGroup = this.caseEditForm.controls.data;
18112
- if (dataFormGroup) {
18113
- // Remove the existing caseLinks control (if it exists)
18114
- if (dataFormGroup.contains('caseLinks')) {
18115
- dataFormGroup.removeControl('caseLinks');
18116
- }
18117
- // Add the new control with the replacement value
18118
- dataFormGroup.addControl('caseLinks', new FormControl(caseFieldValue || []));
18127
+ const unlinkedCaseRefereneIds = this.linkedCasesService.linkedCases.filter(item => item.unlink).map(item => item.caseReference);
18128
+ const caseFieldValue = this.linkedCasesService.caseFieldValue;
18129
+ this.linkedCasesService.caseFieldValue = caseFieldValue.filter(item => unlinkedCaseRefereneIds.indexOf(item.id) === -1);
18119
18130
  }
18120
- // Set the updated form in the caseEditDataService
18131
+ this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue;
18132
+ this.caseEditForm.controls['data'] = new FormGroup({ caseLinks: new FormControl(this.linkedCasesService.caseFieldValue || []) });
18121
18133
  this.caseEditDataService.setCaseEditForm(this.caseEditForm);
18122
18134
  }
18123
18135
  isAtFinalPage() {
@@ -18134,11 +18146,11 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18134
18146
  }
18135
18147
  getLinkedCases() {
18136
18148
  this.casesService.getCaseViewV2(this.linkedCasesService.caseId).subscribe((caseView) => {
18137
- const caseViewFiltered = caseView.tabs.filter((tab) => {
18149
+ const caseViewFiltered = caseView.tabs.filter(tab => {
18138
18150
  return tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
18139
18151
  });
18140
18152
  if (caseViewFiltered) {
18141
- const caseLinkFieldValue = caseViewFiltered.map((filtered) => filtered.fields?.length > 0 && filtered.fields.filter((field) => field.id === 'caseLinks')[0].value);
18153
+ const caseLinkFieldValue = caseViewFiltered.map(filtered => filtered.fields?.length > 0 && filtered.fields.filter(field => field.id === 'caseLinks')[0].value);
18142
18154
  this.linkedCasesService.caseFieldValue = caseLinkFieldValue.length ? caseLinkFieldValue[0] : [];
18143
18155
  this.linkedCasesService.getAllLinkedCaseInformation();
18144
18156
  }
@@ -18178,7 +18190,7 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18178
18190
  type: Component,
18179
18191
  args: [{ selector: 'ccd-write-linked-cases-field', template: "<div class=\"form-group govuk-!-margin-bottom-2\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"linkedCasesPage\">\n <ng-container *ngSwitchCase=\"linkedCasesPages.BEFORE_YOU_START\">\n <ccd-linked-cases-before-you-start\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-before-you-start>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.NO_LINKED_CASES\">\n <ccd-no-linked-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-no-linked-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.LINK_CASE\">\n <ccd-link-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-link-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.UNLINK_CASE\">\n <ccd-unlink-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-unlink-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.CHECK_YOUR_ANSWERS\">\n <ccd-linked-cases-check-your-answers\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-check-your-answers>\n </ng-container>\n </div>\n</div>\n" }]
18180
18192
  }], () => [{ type: AbstractAppConfig }, { type: CommonDataService }, { type: CasesService }, { type: LinkedCasesService }, { type: CaseEditDataService }], null); })();
18181
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 18 }); })();
18193
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 19 }); })();
18182
18194
 
18183
18195
  function ReadMoneyGbpFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
18184
18196
  i0.ɵɵelementContainerStart(0);
@@ -29785,7 +29797,7 @@ class CaseEditSubmitComponent {
29785
29797
  return 'Cancel';
29786
29798
  }
29787
29799
  static ɵfac = function CaseEditSubmitComponent_Factory(t) { return new (t || CaseEditSubmitComponent)(i0.ɵɵdirectiveInject(CaseEditComponent), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(CaseFieldService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ProfileNotifier), i0.ɵɵdirectiveInject(FormValidatorsService)); };
29788
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 23, vars: 21, consts: [["titleBlock", ""], ["idBlock", ""], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], [3, "error"], [3, "callbackErrorsContext", "callbackErrorsSubject"], [1, "check-your-answers", 3, "submit", "formGroup"], [4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "form-group", "form-group-related"], ["class", "button button-secondary", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group", 3, "ngClass"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["class", "error-message", 4, "ngIf"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], [1, "error-message"], [3, "eventCanBeCompleted", "eventCompletionParams"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
29800
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditSubmitComponent, selectors: [["ccd-case-edit-submit"]], decls: 23, vars: 21, consts: [["titleBlock", ""], ["idBlock", ""], [1, "govuk-heading-l"], [4, "ngIf", "ngIfThen", "ngIfElse"], [3, "error"], [3, "callbackErrorsContext", "callbackErrorsSubject"], [1, "check-your-answers", 3, "submit", "formGroup"], [4, "ngIf"], [3, "eventCompletionParams", "eventCanBeCompleted", 4, "ngIf"], [1, "form-group", "form-group-related"], ["class", "button button-secondary", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["type", "submit", 1, "button", 3, "disabled"], [1, "cancel"], ["href", "javascript:void(0)", 3, "click"], [3, "content"], ["class", "heading-h2", 4, "ngIf"], [1, "heading-h2"], ["class", "text-16", 4, "ngIf"], ["aria-describedby", "check your answers table", 1, "form-table"], [4, "ngFor", "ngForOf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "hidden", "formGroup", "contextFields"], ["class", "valign-top case-field-label", 4, "ngIf"], [1, "form-cell", "case-field-content", "text-16"], [3, "formGroup", "topLevelFormGroup", "caseField", "context", "caseFields"], [1, "valign-top", "case-field-label"], [1, "valign-top", "check-your-answers__change", "case-field-change"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "summary fields table", 1, "summary-fields"], [3, "ngSwitch"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["class", "compound-field", "ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields", 4, "ngSwitchCase"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], ["id", "summary-field-label"], [1, "form-cell"], [3, "formGroup", "caseField"], ["ccdLabelSubstitutor", "", 1, "compound-field", 3, "caseField", "formGroup", "contextFields"], ["colspan", "2"], [3, "formGroup", "caseField", "caseFields"], ["id", "fieldset-event", "formGroupName", "event"], [2, "display", "none"], [1, "form-group", 3, "ngClass"], ["for", "field-trigger-summary", 1, "form-label"], [1, "form-hint"], ["class", "error-message", 4, "ngIf"], ["type", "text", "id", "field-trigger-summary", "formControlName", "summary", "maxlength", "1024", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], ["for", "field-trigger-description", 1, "form-label"], ["id", "field-trigger-description", "formControlName", "description", "maxlength", "65536", 1, "form-control", "bottom-30", "width-50", 3, "ngClass"], [1, "error-message"], [3, "eventCanBeCompleted", "eventCompletionParams"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"]], template: function CaseEditSubmitComponent_Template(rf, ctx) { if (rf & 1) {
29789
29801
  const _r1 = i0.ɵɵgetCurrentView();
29790
29802
  i0.ɵɵelementStart(0, "div")(1, "h1", 2);
29791
29803
  i0.ɵɵtext(2);
@@ -29841,7 +29853,7 @@ class CaseEditSubmitComponent {
29841
29853
  }
29842
29854
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditSubmitComponent, [{
29843
29855
  type: Component,
29844
- args: [{ selector: 'ccd-case-edit-submit', template: "<div>\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 <div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\n <h2 class=\"heading-h2\">{{pageTitle | rpxTranslate }}</h2>\n <span class=\"text-16\" *ngIf=\"!caseEdit.isCaseFlagSubmission\">{{'Check the information below carefully.' | rpxTranslate}}</span>\n\n <table class=\"form-table\" aria-describedby=\"check your answers table\">\n <tbody>\n <ng-container *ngFor=\"let page of wizard.pages\">\n <ng-container *ngIf=\"isShown(page)\">\n <ng-container *ngFor=\"let field of page\n | ccdPageFields: editForm\n | ccdReadFieldsFilter: false :undefined :true :allFieldsValues\n | ccdCYAPageLabelFilter\">\n <ng-container *ngIf=\"canShowFieldInCYA(field)\">\n <tr ccdLabelSubstitutor [caseField]=\"field\" [hidden]=\"field.hidden\"\n [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th *ngIf=\"!isLabel(field) && !caseEdit.isCaseFlagSubmission\" class=\"valign-top case-field-label\">\n <span class=\"text-16\">{{field.label | rpxTranslate}}</span>\n </th>\n <td class=\"form-cell case-field-content\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n </div>\n <ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n </ccd-case-event-completion>\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\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"] }]
29856
+ args: [{ selector: 'ccd-case-edit-submit', template: "<div>\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 <div *ngIf=\"!caseEdit.isEventCompletionChecksRequired\">\n <ng-container *ngIf=\"checkYourAnswerFieldsToDisplayExists()\">\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 text-16\" [attr.colspan]=\"isLabel(field) ? '2' : '1'\">\n <ccd-field-read\n [formGroup]=\"editForm.controls['data']\" [topLevelFormGroup]=\"editForm.controls['data']\"\n [caseField]=\"summaryCaseField(field)\" [context]=\"paletteContext\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n <ng-container *ngIf=\"!caseEdit.isCaseFlagSubmission\">\n <td class=\"valign-top check-your-answers__change case-field-change\">\n <a *ngIf=\"isChangeAllowed(field)\" (click)=\"navigateToPage(page.id)\"\n href=\"javascript:void(0)\">\n <span class=\"text-16\" attr.aria-label=\"{{'Change' | rpxTranslate}} {{ field.label | rpxTranslate }}\">\n {{'Change' | rpxTranslate}}\n </span>\n </a>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"readOnlySummaryFieldsToDisplayExists()\">\n\n <table class=\"summary-fields\" aria-describedby=\"summary fields table\">\n <tbody>\n <ng-container *ngFor=\"let field of showSummaryFields\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <th id=\"summary-field-label\">{{field.label}}</th>\n <td class=\"form-cell\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\"></ccd-field-read>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\" ccdLabelSubstitutor [caseField]=\"field\" [formGroup]=\"editForm.controls['data']\" [contextFields]=\"contextFields\">\n <td colspan=\"2\">\n <ccd-field-read [formGroup]=\"editForm.controls['data']\" [caseField]=\"summaryCaseField(field)\" [caseFields]=\"contextFields\"></ccd-field-read>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"showEventNotes()\">\n <fieldset id=\"fieldset-event\" formGroupName=\"event\">\n <legend style=\"display: none;\"></legend>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!summary && !summary.valid && (summary.dirty || summary.touched)}\">\n <label for=\"field-trigger-summary\" class=\"form-label\">\n Event summary (optional)\n <span class=\"form-hint\">A few words describing the purpose of the event.</span>\n </label>\n <span class=\"error-message\" *ngIf=\"summary?.errors && (summary.dirty || summary.touched)\">\n {{summary.errors | ccdFirstError: eventSummaryLabel | rpxTranslate}}\n </span>\n <input type=\"text\" id=\"field-trigger-summary\" class=\"form-control bottom-30 width-50\"\n [ngClass]=\"{'govuk-input--error': summary?.errors && (summary.dirty || summary.touched)}\" formControlName=\"summary\" maxlength=\"1024\">\n </div>\n <div class=\"form-group\" [ngClass]=\"{'form-group-error': !!description && !description.valid && (description.dirty || description.touched)}\">\n <label for=\"field-trigger-description\" class=\"form-label\">Event description (optional)</label>\n <span class=\"error-message\" *ngIf=\"description?.errors && (description.dirty || description.touched)\">\n {{description.errors | ccdFirstError: eventDescriptionLabel | rpxTranslate}}\n </span>\n <textarea id=\"field-trigger-description\" class=\"form-control bottom-30 width-50\" formControlName=\"description\"\n [ngClass]=\"{'govuk-input--error': description?.errors && (description.dirty || description.touched)}\" maxlength=\"65536\"></textarea>\n </div>\n </fieldset>\n </ng-container>\n </div>\n <ccd-case-event-completion *ngIf=\"caseEdit.isEventCompletionChecksRequired\"\n [eventCompletionParams]=\"caseEdit.eventCompletionParams\"\n (eventCanBeCompleted)=\"onEventCanBeCompleted($event)\">\n </ccd-case-event-completion>\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\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"] }]
29845
29857
  }], () => [{ type: CaseEditComponent }, { type: FieldsUtils }, { type: CaseFieldService }, { type: i1$1.ActivatedRoute }, { type: OrderService }, { type: ProfileNotifier }, { type: FormValidatorsService }], null); })();
29846
29858
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditSubmitComponent, { className: "CaseEditSubmitComponent", filePath: "lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.ts", lineNumber: 27 }); })();
29847
29859
 
@@ -34627,7 +34639,6 @@ class EventStartStateMachineService {
34627
34639
  }
34628
34640
  }
34629
34641
  };
34630
- context.sessionStorageService.setItem('clientContext', JSON.stringify(clientContext));
34631
34642
  let userInfo;
34632
34643
  const userInfoStr = context.sessionStorageService.getItem('userDetails');
34633
34644
  if (userInfoStr) {
@@ -34642,6 +34653,8 @@ class EventStartStateMachineService {
34642
34653
  createdTimestamp: Date.now()
34643
34654
  };
34644
34655
  context.sessionStorageService.setItem('taskEventCompletionInfo', JSON.stringify(taskEventCompletionInfo));
34656
+ // EXUI-2668 - Only add client context when taskEventCompletionInfo is set - stops auto completing incorrect tasks
34657
+ context.sessionStorageService.setItem('clientContext', JSON.stringify(clientContext));
34645
34658
  // Allow user to perform the event
34646
34659
  context.router.navigate([`/cases/case-details/${context.caseId}/trigger/${context.eventId}`], { relativeTo: context.route });
34647
34660
  }
@@ -37058,10 +37071,10 @@ function SearchResultComponent_table_0_div_7_Template(rf, ctx) { if (rf & 1) {
37058
37071
  i0.ɵɵadvance(4);
37059
37072
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, "Reset case selection"));
37060
37073
  } }
37061
- function SearchResultComponent_table_0_th_10_Template(rf, ctx) { if (rf & 1) {
37074
+ function SearchResultComponent_table_0_td_10_Template(rf, ctx) { if (rf & 1) {
37062
37075
  const _r3 = i0.ɵɵgetCurrentView();
37063
- i0.ɵɵelementStart(0, "th", 21)(1, "div", 22)(2, "input", 23);
37064
- i0.ɵɵlistener("change", function SearchResultComponent_table_0_th_10_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectAll()); });
37076
+ i0.ɵɵelementStart(0, "td", 21)(1, "div", 22)(2, "input", 23);
37077
+ i0.ɵɵlistener("change", function SearchResultComponent_table_0_td_10_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectAll()); });
37065
37078
  i0.ɵɵelementEnd();
37066
37079
  i0.ɵɵelement(3, "label", 24);
37067
37080
  i0.ɵɵelementEnd()();
@@ -37069,6 +37082,8 @@ function SearchResultComponent_table_0_th_10_Template(rf, ctx) { if (rf & 1) {
37069
37082
  const ctx_r0 = i0.ɵɵnextContext(2);
37070
37083
  i0.ɵɵadvance(2);
37071
37084
  i0.ɵɵproperty("checked", ctx_r0.allOnPageSelected())("disabled", !ctx_r0.canAnyBeShared());
37085
+ i0.ɵɵadvance();
37086
+ i0.ɵɵattribute("aria-labelledby", "select-all");
37072
37087
  } }
37073
37088
  function SearchResultComponent_table_0_th_11_div_5_Template(rf, ctx) { if (rf & 1) {
37074
37089
  const _r6 = i0.ɵɵgetCurrentView();
@@ -37106,10 +37121,10 @@ function SearchResultComponent_table_0_th_12_Template(rf, ctx) { if (rf & 1) {
37106
37121
  } }
37107
37122
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
37108
37123
  const _r7 = i0.ɵɵgetCurrentView();
37109
- i0.ɵɵelementStart(0, "td", 21)(1, "div", 22)(2, "input", 33);
37124
+ i0.ɵɵelementStart(0, "td", 34)(1, "div", 22)(2, "input", 35);
37110
37125
  i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r7); const result_r8 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.changeSelection(result_r8)); });
37111
37126
  i0.ɵɵelementEnd();
37112
- i0.ɵɵelement(3, "label", 34);
37127
+ i0.ɵɵelement(3, "label", 36);
37113
37128
  i0.ɵɵelementEnd()();
37114
37129
  } if (rf & 2) {
37115
37130
  const result_r8 = i0.ɵɵnextContext().$implicit;
@@ -37120,9 +37135,10 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ct
37120
37135
  i0.ɵɵproperty("checked", ctx_r0.isSelected(result_r8))("disabled", !ctx_r0.canBeShared(result_r8));
37121
37136
  i0.ɵɵadvance();
37122
37137
  i0.ɵɵpropertyInterpolate1("for", "select-", result_r8.case_id, "");
37138
+ i0.ɵɵattribute("aria-labelledby", "select-" + result_r8.case_id);
37123
37139
  } }
37124
37140
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
37125
- i0.ɵɵelement(0, "ccd-field-read", 42);
37141
+ i0.ɵɵelement(0, "ccd-field-read", 44);
37126
37142
  } if (rf & 2) {
37127
37143
  const col_r9 = i0.ɵɵnextContext(3).$implicit;
37128
37144
  const result_r8 = i0.ɵɵnextContext().$implicit;
@@ -37137,8 +37153,8 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
37137
37153
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r8.case_id));
37138
37154
  } }
37139
37155
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
37140
- i0.ɵɵelementContainerStart(0, 40);
37141
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 41)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
37156
+ i0.ɵɵelementContainerStart(0, 42);
37157
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 43)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
37142
37158
  i0.ɵɵelementContainerEnd();
37143
37159
  } if (rf & 2) {
37144
37160
  const case_reference_r10 = i0.ɵɵreference(3);
@@ -37149,9 +37165,9 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
37149
37165
  i0.ɵɵproperty("ngIf", ctx_r0.draftPrefixOrGet(col_r9, result_r8))("ngIfElse", case_reference_r10);
37150
37166
  } }
37151
37167
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
37152
- i0.ɵɵelementStart(0, "a", 38);
37168
+ i0.ɵɵelementStart(0, "a", 40);
37153
37169
  i0.ɵɵpipe(1, "ccdCaseReference");
37154
- i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 39);
37170
+ i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 41);
37155
37171
  i0.ɵɵelementEnd();
37156
37172
  } if (rf & 2) {
37157
37173
  const result_r8 = i0.ɵɵnextContext(2).$implicit;
@@ -37162,8 +37178,8 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf
37162
37178
  i0.ɵɵproperty("ngIf", !ctx_r0.hideRows);
37163
37179
  } }
37164
37180
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
37165
- i0.ɵɵelementStart(0, "div", 40);
37166
- i0.ɵɵelement(1, "ccd-field-read", 42);
37181
+ i0.ɵɵelementStart(0, "div", 42);
37182
+ i0.ɵɵelement(1, "ccd-field-read", 44);
37167
37183
  i0.ɵɵelementEnd();
37168
37184
  } if (rf & 2) {
37169
37185
  const col_r9 = i0.ɵɵnextContext().$implicit;
@@ -37174,8 +37190,8 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(
37174
37190
  i0.ɵɵproperty("caseField", result_r8.columns[col_r9.case_field_id])("contextFields", result_r8.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c1));
37175
37191
  } }
37176
37192
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
37177
- i0.ɵɵelementStart(0, "td", 35);
37178
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template, 3, 6, "a", 36)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template, 2, 6, "div", 37);
37193
+ i0.ɵɵelementStart(0, "td", 37);
37194
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template, 3, 6, "a", 38)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template, 2, 6, "div", 39);
37179
37195
  i0.ɵɵelementEnd();
37180
37196
  } if (rf & 2) {
37181
37197
  const colIndex_r11 = ctx.index;
@@ -37186,7 +37202,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ct
37186
37202
  } }
37187
37203
  function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
37188
37204
  i0.ɵɵelementStart(0, "td")(1, "div");
37189
- i0.ɵɵelement(2, "ccd-activity", 43);
37205
+ i0.ɵɵelement(2, "ccd-activity", 45);
37190
37206
  i0.ɵɵelementEnd()();
37191
37207
  } if (rf & 2) {
37192
37208
  const result_r8 = i0.ɵɵnextContext().$implicit;
@@ -37198,7 +37214,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ct
37198
37214
  } }
37199
37215
  function SearchResultComponent_table_0_ng_container_14_tr_1_Template(rf, ctx) { if (rf & 1) {
37200
37216
  i0.ɵɵelementStart(0, "tr");
37201
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template, 4, 8, "td", 9)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template, 3, 2, "td", 32)(3, SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template, 3, 4, "td", 1);
37217
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template, 4, 9, "td", 32)(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template, 3, 2, "td", 33)(3, SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template, 3, 4, "td", 1);
37202
37218
  i0.ɵɵelementEnd();
37203
37219
  } if (rf & 2) {
37204
37220
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -37221,10 +37237,10 @@ function SearchResultComponent_table_0_ng_container_14_Template(rf, ctx) { if (r
37221
37237
  } }
37222
37238
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
37223
37239
  const _r12 = i0.ɵɵgetCurrentView();
37224
- i0.ɵɵelementStart(0, "td", 21)(1, "div", 22)(2, "input", 44);
37240
+ i0.ɵɵelementStart(0, "td", 34)(1, "div", 22)(2, "input", 46);
37225
37241
  i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r12); const result_r13 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.changeSelection(result_r13)); })("keyup", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_keyup_2_listener($event) { i0.ɵɵrestoreView(_r12); const result_r13 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onKeyUp($event, result_r13)); });
37226
37242
  i0.ɵɵelementEnd();
37227
- i0.ɵɵelement(3, "label", 34);
37243
+ i0.ɵɵelement(3, "label", 36);
37228
37244
  i0.ɵɵelementEnd()();
37229
37245
  } if (rf & 2) {
37230
37246
  const result_r13 = i0.ɵɵnextContext().$implicit;
@@ -37235,9 +37251,10 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template(rf, ct
37235
37251
  i0.ɵɵproperty("checked", ctx_r0.isSelected(result_r13))("disabled", !ctx_r0.canBeShared(result_r13));
37236
37252
  i0.ɵɵadvance();
37237
37253
  i0.ɵɵpropertyInterpolate1("for", "select-", result_r13.case_id, "");
37254
+ i0.ɵɵattribute("aria-labelledby", "select-" + result_r13.case_id);
37238
37255
  } }
37239
37256
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
37240
- i0.ɵɵelement(0, "ccd-field-read", 42);
37257
+ i0.ɵɵelement(0, "ccd-field-read", 44);
37241
37258
  } if (rf & 2) {
37242
37259
  const col_r14 = i0.ɵɵnextContext(3).$implicit;
37243
37260
  const result_r13 = i0.ɵɵnextContext().$implicit;
@@ -37252,8 +37269,8 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_containe
37252
37269
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r13.case_id));
37253
37270
  } }
37254
37271
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
37255
- i0.ɵɵelementContainerStart(0, 40);
37256
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 41)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
37272
+ i0.ɵɵelementContainerStart(0, 42);
37273
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 43)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
37257
37274
  i0.ɵɵelementContainerEnd();
37258
37275
  } if (rf & 2) {
37259
37276
  const case_reference_r15 = i0.ɵɵreference(3);
@@ -37264,9 +37281,9 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_containe
37264
37281
  i0.ɵɵproperty("ngIf", ctx_r0.draftPrefixOrGet(col_r14, result_r13))("ngIfElse", case_reference_r15);
37265
37282
  } }
37266
37283
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
37267
- i0.ɵɵelementStart(0, "a", 38);
37284
+ i0.ɵɵelementStart(0, "a", 40);
37268
37285
  i0.ɵɵpipe(1, "ccdCaseReference");
37269
- i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 39);
37286
+ i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 41);
37270
37287
  i0.ɵɵelementEnd();
37271
37288
  } if (rf & 2) {
37272
37289
  const result_r13 = i0.ɵɵnextContext(2).$implicit;
@@ -37277,8 +37294,8 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template(rf
37277
37294
  i0.ɵɵproperty("ngIf", !ctx_r0.hideRows);
37278
37295
  } }
37279
37296
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
37280
- i0.ɵɵelementStart(0, "div", 40);
37281
- i0.ɵɵelement(1, "ccd-field-read", 42);
37297
+ i0.ɵɵelementStart(0, "div", 42);
37298
+ i0.ɵɵelement(1, "ccd-field-read", 44);
37282
37299
  i0.ɵɵelementEnd();
37283
37300
  } if (rf & 2) {
37284
37301
  const col_r14 = i0.ɵɵnextContext().$implicit;
@@ -37289,8 +37306,8 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template(
37289
37306
  i0.ɵɵproperty("caseField", result_r13.columns[col_r14.case_field_id])("contextFields", result_r13.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c1));
37290
37307
  } }
37291
37308
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
37292
- i0.ɵɵelementStart(0, "td", 35);
37293
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template, 3, 6, "a", 36)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template, 2, 6, "div", 37);
37309
+ i0.ɵɵelementStart(0, "td", 37);
37310
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template, 3, 6, "a", 38)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template, 2, 6, "div", 39);
37294
37311
  i0.ɵɵelementEnd();
37295
37312
  } if (rf & 2) {
37296
37313
  const colIndex_r16 = ctx.index;
@@ -37301,7 +37318,7 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template(rf, ct
37301
37318
  } }
37302
37319
  function SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
37303
37320
  i0.ɵɵelementStart(0, "td")(1, "div");
37304
- i0.ɵɵelement(2, "ccd-activity", 43);
37321
+ i0.ɵɵelement(2, "ccd-activity", 45);
37305
37322
  i0.ɵɵelementEnd()();
37306
37323
  } if (rf & 2) {
37307
37324
  const result_r13 = i0.ɵɵnextContext().$implicit;
@@ -37313,7 +37330,7 @@ function SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template(rf, ct
37313
37330
  } }
37314
37331
  function SearchResultComponent_table_0_ng_container_15_tr_1_Template(rf, ctx) { if (rf & 1) {
37315
37332
  i0.ɵɵelementStart(0, "tr");
37316
- i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template, 4, 8, "td", 9)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template, 3, 2, "td", 32)(3, SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template, 3, 4, "td", 1);
37333
+ i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template, 4, 9, "td", 32)(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template, 3, 2, "td", 33)(3, SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template, 3, 4, "td", 1);
37317
37334
  i0.ɵɵelementEnd();
37318
37335
  } if (rf & 2) {
37319
37336
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -37343,7 +37360,7 @@ function SearchResultComponent_table_0_Template(rf, ctx) { if (rf & 1) {
37343
37360
  i0.ɵɵtemplate(5, SearchResultComponent_table_0_div_5_Template, 11, 12, "div", 5)(6, SearchResultComponent_table_0_div_6_Template, 18, 18, "div", 6)(7, SearchResultComponent_table_0_div_7_Template, 6, 6, "div", 7);
37344
37361
  i0.ɵɵelementEnd();
37345
37362
  i0.ɵɵelementStart(8, "thead")(9, "tr", 8);
37346
- i0.ɵɵtemplate(10, SearchResultComponent_table_0_th_10_Template, 4, 2, "th", 9)(11, SearchResultComponent_table_0_th_11_Template, 6, 5, "th", 10)(12, SearchResultComponent_table_0_th_12_Template, 2, 0, "th", 11);
37363
+ i0.ɵɵtemplate(10, SearchResultComponent_table_0_td_10_Template, 4, 3, "td", 9)(11, SearchResultComponent_table_0_th_11_Template, 6, 5, "th", 10)(12, SearchResultComponent_table_0_th_12_Template, 2, 0, "th", 11);
37347
37364
  i0.ɵɵelementEnd()();
37348
37365
  i0.ɵɵelementStart(13, "tbody");
37349
37366
  i0.ɵɵtemplate(14, SearchResultComponent_table_0_ng_container_14_Template, 3, 8, "ng-container", 1)(15, SearchResultComponent_table_0_ng_container_15_Template, 4, 11, "ng-container", 1);
@@ -37371,7 +37388,7 @@ function SearchResultComponent_table_0_Template(rf, ctx) { if (rf & 1) {
37371
37388
  } }
37372
37389
  function SearchResultComponent_ccd_pagination_1_Template(rf, ctx) { if (rf & 1) {
37373
37390
  const _r17 = i0.ɵɵgetCurrentView();
37374
- i0.ɵɵelementStart(0, "ccd-pagination", 45);
37391
+ i0.ɵɵelementStart(0, "ccd-pagination", 47);
37375
37392
  i0.ɵɵlistener("pageChange", function SearchResultComponent_ccd_pagination_1_Template_ccd_pagination_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.goToPage($event)); });
37376
37393
  i0.ɵɵelementEnd();
37377
37394
  } if (rf & 2) {
@@ -37379,7 +37396,7 @@ function SearchResultComponent_ccd_pagination_1_Template(rf, ctx) { if (rf & 1)
37379
37396
  i0.ɵɵproperty("visibilityLabel", ctx_r0.hideRows ? "hidden" : "visible")("autoHide", true)("maxSize", 8)("screenReaderPaginationLabel", "Pagination")("screenReaderPageLabel", ctx_r0.page)("screenReaderCurrentLabel", "You're on page");
37380
37397
  } }
37381
37398
  function SearchResultComponent_div_2_Template(rf, ctx) { if (rf & 1) {
37382
- i0.ɵɵelementStart(0, "div", 46);
37399
+ i0.ɵɵelementStart(0, "div", 48);
37383
37400
  i0.ɵɵpipe(1, "rpxTranslate");
37384
37401
  i0.ɵɵtext(2);
37385
37402
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -37730,7 +37747,7 @@ class SearchResultComponent {
37730
37747
  // eslint-disable-next-line @typescript-eslint/no-empty-function
37731
37748
  noop() { }
37732
37749
  static ɵfac = function SearchResultComponent_Factory(t) { return new (t || SearchResultComponent)(i0.ɵɵdirectiveInject(SearchResultViewItemComparatorFactory), i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(ActivityService), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(PlaceholderService), i0.ɵɵdirectiveInject(BrowserService), i0.ɵɵdirectiveInject(SessionStorageService)); };
37733
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [["case_reference", ""], [4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], ["class", "search-result-column-header", 4, "ngFor", "ngForOf"], ["style", "width: 110px;", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], [1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "javascript:void(0)", 1, "search-result-reset-link", 3, "click"], ["scope", "col", 1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "checked", "disabled"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], [1, "search-result-column-header"], [1, "search-result-column-label", 3, "click", "keyup"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "javascript:void(0)", 1, "sort-widget", 3, "click", "innerHTML"], [2, "width", "110px"], [4, "ngFor", "ngForOf"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "name", "checked", "disabled"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "keyup", "id", "name", "checked", "disabled"], [3, "pageChange", "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
37750
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [["case_reference", ""], [4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", 4, "ngIf"], ["class", "search-result-column-header", "scope", "col", 4, "ngFor", "ngForOf"], ["style", "width: 110px;", "scope", "col", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], [1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "javascript:void(0)", 1, "search-result-reset-link", 3, "click"], [1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "checked", "disabled"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], ["scope", "col", 1, "search-result-column-header"], [1, "search-result-column-label", 3, "click", "keyup"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "javascript:void(0)", 1, "sort-widget", 3, "click", "innerHTML"], ["scope", "col", 2, "width", "110px"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["scope", "col", 1, "govuk-table__checkbox"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "name", "checked", "disabled"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "keyup", "id", "name", "checked", "disabled"], [3, "pageChange", "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
37734
37751
  i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template, 16, 11, "table", 1)(1, SearchResultComponent_ccd_pagination_1_Template, 1, 6, "ccd-pagination", 2)(2, SearchResultComponent_div_2_Template, 4, 6, "div", 3);
37735
37752
  } if (rf & 2) {
37736
37753
  i0.ɵɵproperty("ngIf", ctx.hasResults() || ctx.hasDrafts());
@@ -37742,7 +37759,7 @@ class SearchResultComponent {
37742
37759
  }
37743
37760
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultComponent, [{
37744
37761
  type: Component,
37745
- args: [{ selector: 'ccd-search-result', template: "<table *ngIf=\"hasResults() || hasDrafts()\">\n <caption>\n <h2 class=\"heading-h2\" id=\"search-result-heading__text\" tabindex=\"-1\">{{ (caseState ? 'Your cases' : 'Search result') | rpxTranslate}}</h2>\n\n <div class=\"govuk-warning-text pagination-limit-warning\" *ngIf=\"paginationLimitEnforced\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{'The total size of the result set is' | rpxTranslate}} {{paginationMetadata.totalResultsCount | number}}. {{'Only the first 10,000 records are available for display.' | rpxTranslate}}\n </strong>\n </div>\n\n <div *ngIf=\"(hasResults() || hasDrafts())\" class=\"pagination-top\">\n <output [attr.aria-label]=\"getTotalResults() + ' results have been found' | rpxTranslate\"></output>\n <span class=\"text-16\" id=\"search-result-summary__text\">{{'Showing' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getFirstResult() }}</span>\n {{'to' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getLastResult() }}</span>\n {{'of' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getTotalResults() }}</span> {{'results' | rpxTranslate}}</span>\n </div>\n <div *ngIf=\"(hasResults() || hasDrafts()) && selectionEnabled\" class=\"reset-selection\"\n [attr.aria-label]=\"'Reset selection' | rpxTranslate\">\n <span><a class=\"search-result-reset-link\" href=\"javascript:void(0)\" (click)=\"clearSelection()\">{{'Reset case selection' | rpxTranslate}}</a></span>\n </div>\n </caption>\n <thead>\n <tr scope=\"row\">\n <th *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-all\" name=\"select-all\" type=\"checkbox\" (change)=\"selectAll()\" [checked]=\"allOnPageSelected()\" [disabled]=\"!canAnyBeShared()\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-all\">\n </label>\n </div>\n </th>\n <th *ngFor=\"let col of resultView.columns\" class=\"search-result-column-header\"\n [attr.aria-sort]=\"isSortAscending(col) === null ? null : (isSortAscending(col) ? 'ascending' : 'descending')\">\n <div>\n <div class=\"search-result-column-label\" (click)=\"sort(col)\" (keyup)=\"noop()\">\n {{col.label | rpxTranslate}}\n </div>\n <div *ngIf=\"comparator(col)\" class=\"search-result-column-sort\">\n <a (click)=\"sort(col)\" class=\"sort-widget\" [innerHTML]=\"sortWidget(col)\" href=\"javascript:void(0)\"></a>\n </div>\n </div>\n </th>\n <th *ngIf=\"activityEnabled()\" style=\"width: 110px;\">&ZeroWidthSpace;</th>\n </tr>\n </thead>\n\n <tbody>\n <!-- sorted by consumer -->\n <ng-container *ngIf=\"consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n <!-- sorted by toolkit -->\n <ng-container *ngIf=\"!consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | ccdSortSearchResult : sortParameters | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" (keyup)=\"onKeyUp($event, result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n</table>\n\n<ccd-pagination\n *ngIf=\"hasResults()\"\n (pageChange)=\"goToPage($event)\"\n [visibilityLabel]=\"hideRows ? 'hidden' : 'visible'\"\n [autoHide]=\"true\"\n [maxSize]=\"8\"\n [screenReaderPaginationLabel]=\"'Pagination'\"\n [screenReaderPageLabel]=\"page\"\n [screenReaderCurrentLabel]=\"'You\\'re on page'\"></ccd-pagination>\n\n<div *ngIf=\"!(hasResults() || hasDrafts())\" class=\"notification\"\n[attr.aria-describedby]=\"'No cases found. Try using different filters.' | rpxTranslate\">\n{{'No cases found. Try using different filters.' | rpxTranslate}}\n</div>\n", styles: ["table thead tr th{vertical-align:top}table tbody tr td{font-size:16px;word-wrap:break-word}table tbody tr td a{float:left}table .caseid-col{white-space:nowrap}.notification{text-align:center;padding:30px 0;margin-top:75px}a:hover{color:#005ea5}.search-result-reset-link{padding-right:15px;padding-left:15px}.search-result-column-header{width:unset;table-layout:normal}.search-result-column-header div{display:table-cell;width:auto}@media screen and (max-width: 379px){.search-result-column-header div{display:block;float:right}}.search-result-column-label{font-size:16px;font-weight:700;word-wrap:break-word;cursor:pointer;padding-right:15px}.search-result-column-sort{font-size:16px}.sort-widget{cursor:pointer;text-decoration:none;color:#231f20}span.heading-medium{margin-top:-20px}.govuk-table__checkbox{vertical-align:middle;padding-left:3px}#search-result-heading__text:focus{outline:none}\n"] }]
37762
+ args: [{ selector: 'ccd-search-result', template: "<table *ngIf=\"hasResults() || hasDrafts()\">\n <caption>\n <h2 class=\"heading-h2\" id=\"search-result-heading__text\" tabindex=\"-1\">{{ (caseState ? 'Your cases' : 'Search result') | rpxTranslate}}</h2>\n\n <div class=\"govuk-warning-text pagination-limit-warning\" *ngIf=\"paginationLimitEnforced\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{'The total size of the result set is' | rpxTranslate}} {{paginationMetadata.totalResultsCount | number}}. {{'Only the first 10,000 records are available for display.' | rpxTranslate}}\n </strong>\n </div>\n\n <div *ngIf=\"(hasResults() || hasDrafts())\" class=\"pagination-top\">\n <output [attr.aria-label]=\"getTotalResults() + ' results have been found' | rpxTranslate\"></output>\n <span class=\"text-16\" id=\"search-result-summary__text\">{{'Showing' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getFirstResult() }}</span>\n {{'to' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getLastResult() }}</span>\n {{'of' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getTotalResults() }}</span> {{'results' | rpxTranslate}}</span>\n </div>\n <div *ngIf=\"(hasResults() || hasDrafts()) && selectionEnabled\" class=\"reset-selection\"\n [attr.aria-label]=\"'Reset selection' | rpxTranslate\">\n <span><a class=\"search-result-reset-link\" href=\"javascript:void(0)\" (click)=\"clearSelection()\">{{'Reset case selection' | rpxTranslate}}</a></span>\n </div>\n </caption>\n <thead>\n <tr scope=\"row\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-all\" name=\"select-all\" type=\"checkbox\" (change)=\"selectAll()\" [checked]=\"allOnPageSelected()\" [disabled]=\"!canAnyBeShared()\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-all\" [attr.aria-labelledby]=\"'select-all'\">\n </label>\n </div>\n </td>\n <th *ngFor=\"let col of resultView.columns\" class=\"search-result-column-header\"\n [attr.aria-sort]=\"isSortAscending(col) === null ? null : (isSortAscending(col) ? 'ascending' : 'descending')\" scope=\"col\">\n <div>\n <div class=\"search-result-column-label\" (click)=\"sort(col)\" (keyup)=\"noop()\">\n {{col.label | rpxTranslate}}\n </div>\n <div *ngIf=\"comparator(col)\" class=\"search-result-column-sort\">\n <a (click)=\"sort(col)\" class=\"sort-widget\" [innerHTML]=\"sortWidget(col)\" href=\"javascript:void(0)\"></a>\n </div>\n </div>\n </th>\n <th *ngIf=\"activityEnabled()\" style=\"width: 110px;\" scope=\"col\">&ZeroWidthSpace;</th>\n </tr>\n </thead>\n\n <tbody>\n <!-- sorted by consumer -->\n <ng-container *ngIf=\"consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\" [attr.aria-labelledby]=\"'select-' + result.case_id\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n <!-- sorted by toolkit -->\n <ng-container *ngIf=\"!consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | ccdSortSearchResult : sortParameters | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" (keyup)=\"onKeyUp($event, result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\" [attr.aria-labelledby]=\"'select-' + result.case_id\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n</table>\n\n<ccd-pagination\n *ngIf=\"hasResults()\"\n (pageChange)=\"goToPage($event)\"\n [visibilityLabel]=\"hideRows ? 'hidden' : 'visible'\"\n [autoHide]=\"true\"\n [maxSize]=\"8\"\n [screenReaderPaginationLabel]=\"'Pagination'\"\n [screenReaderPageLabel]=\"page\"\n [screenReaderCurrentLabel]=\"'You\\'re on page'\"></ccd-pagination>\n\n<div *ngIf=\"!(hasResults() || hasDrafts())\" class=\"notification\"\n[attr.aria-describedby]=\"'No cases found. Try using different filters.' | rpxTranslate\">\n{{'No cases found. Try using different filters.' | rpxTranslate}}\n</div>\n", styles: ["table thead tr th{vertical-align:top}table tbody tr td{font-size:16px;word-wrap:break-word}table tbody tr td a{float:left}table .caseid-col{white-space:nowrap}.notification{text-align:center;padding:30px 0;margin-top:75px}a:hover{color:#005ea5}.search-result-reset-link{padding-right:15px;padding-left:15px}.search-result-column-header{width:unset;table-layout:normal}.search-result-column-header div{display:table-cell;width:auto}@media screen and (max-width: 379px){.search-result-column-header div{display:block;float:right}}.search-result-column-label{font-size:16px;font-weight:700;word-wrap:break-word;cursor:pointer;padding-right:15px}.search-result-column-sort{font-size:16px}.sort-widget{cursor:pointer;text-decoration:none;color:#231f20}span.heading-medium{margin-top:-20px}.govuk-table__checkbox{vertical-align:middle;padding-left:3px}#search-result-heading__text:focus{outline:none}\n"] }]
37746
37763
  }], () => [{ type: SearchResultViewItemComparatorFactory }, { type: AbstractAppConfig }, { type: ActivityService }, { type: CaseReferencePipe }, { type: PlaceholderService }, { type: BrowserService }, { type: SessionStorageService }], { caseLinkUrlTemplate: [{
37747
37764
  type: Input
37748
37765
  }], jurisdiction: [{