@hmcts/ccd-case-ui-toolkit 7.1.22-case-links-fix → 7.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +7 -10
  2. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +10 -4
  3. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +1 -15
  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/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +14 -36
  8. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +11 -23
  9. package/esm2022/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +2 -1
  10. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +7 -2
  11. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +1 -2
  12. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +76 -131
  13. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  14. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  15. package/lib/shared/components/case-header/case-header.component.d.ts +2 -1
  16. package/lib/shared/components/case-header/case-header.component.d.ts.map +1 -1
  17. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  19. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  20. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +1 -5
  21. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +2 -1
  23. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -1
  24. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  25. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  26. package/package.json +1 -1
@@ -7121,7 +7121,6 @@ class JurisdictionService {
7121
7121
  return this.httpService.get('/aggregated/caseworkers/:uid/jurisdictions?access=read');
7122
7122
  }
7123
7123
  announceSelectedJurisdiction(jurisdiction) {
7124
- console.info('Announcing selected jurisdiction = ' + jurisdiction?.id);
7125
7124
  this.selectedJurisdictionSource.next(jurisdiction);
7126
7125
  this.selectedJurisdictionBS.next(jurisdiction);
7127
7126
  }
@@ -9000,16 +8999,15 @@ class PageValidationService {
9000
8999
  getInvalidFields(page, editForm) {
9001
9000
  const failingCaseFields = [];
9002
9001
  page.case_fields
9003
- .filter(caseField => !this.caseFieldService.isReadOnly(caseField))
9004
- .filter(caseField => !this.isHidden(caseField, editForm))
9005
- .forEach(caseField => {
9002
+ .filter((caseField) => !this.caseFieldService.isReadOnly(caseField))
9003
+ .filter((caseField) => !this.isHidden(caseField, editForm))
9004
+ .forEach((caseField) => {
9006
9005
  const theControl = FieldsUtils.isCaseFieldOfType(caseField, ['JudicialUser'])
9007
- ? editForm.controls['data'].get(`${caseField.id}_judicialUserControl`)
9008
- : editForm.controls['data'].get(caseField.id);
9006
+ ? editForm.controls.data.get(`${caseField.id}_judicialUserControl`)
9007
+ : editForm.controls.data.get(caseField.id);
9009
9008
  if (!(this.checkDocumentField(caseField, theControl) && this.checkOptionalField(caseField, theControl))) {
9010
9009
  failingCaseFields.push(caseField);
9011
9010
  }
9012
- ;
9013
9011
  });
9014
9012
  return failingCaseFields;
9015
9013
  }
@@ -9031,9 +9029,7 @@ class PageValidationService {
9031
9029
  if (!theControl) {
9032
9030
  return this.caseFieldService.isOptional(caseField);
9033
9031
  }
9034
- else {
9035
- return theControl.valid || theControl.disabled;
9036
- }
9032
+ return theControl.valid || theControl.disabled;
9037
9033
  }
9038
9034
  checkMandatoryField(caseField, theControl) {
9039
9035
  return this.caseFieldService.isMandatory(caseField) && theControl === null;
@@ -16655,8 +16651,8 @@ class LinkCasesComponent {
16655
16651
  })), this.validatorsUtils.formArraySelectedValidator());
16656
16652
  }
16657
16653
  toggleLinkCaseReasonOtherComments(event) {
16658
- this.linkCaseReasons.find((reason) => reason.value_en === event.target.value).selected = event.target.checked;
16659
- this.showComments = this.linkCaseReasons.find((reason) => reason.value_en === 'Other')?.selected;
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;
16660
16656
  }
16661
16657
  submitCaseInfo() {
16662
16658
  this.errorMessages = [];
@@ -16695,7 +16691,7 @@ class LinkCasesComponent {
16695
16691
  this.errorMessages.push({
16696
16692
  title: 'dummy-case-number',
16697
16693
  description: LinkedCasesErrorMessages.CaseNumberError,
16698
- fieldId: 'caseNumber'
16694
+ fieldId: 'caseNumber',
16699
16695
  });
16700
16696
  }
16701
16697
  if (this.linkCaseForm.controls.reasonType.invalid) {
@@ -16703,17 +16699,17 @@ class LinkCasesComponent {
16703
16699
  this.errorMessages.push({
16704
16700
  title: 'dummy-case-reason',
16705
16701
  description: LinkedCasesErrorMessages.ReasonSelectionError,
16706
- fieldId: 'caseReason'
16702
+ fieldId: 'caseReason',
16707
16703
  });
16708
16704
  }
16709
16705
  if (this.linkCaseForm.controls.reasonType.valid
16710
- && this.linkCaseReasons.find((reason) => reason.value_en === 'Other').selected) {
16706
+ && this.linkCaseReasons.find(reason => reason.value_en === 'Other').selected) {
16711
16707
  if (this.linkCaseForm.controls.otherDescription.value.trim().length === 0) {
16712
16708
  this.caseReasonCommentsError = LinkedCasesErrorMessages.otherDescriptionError;
16713
16709
  this.errorMessages.push({
16714
16710
  title: 'dummy-case-reason-comments',
16715
16711
  description: LinkedCasesErrorMessages.otherDescriptionError,
16716
- fieldId: 'otherDescription'
16712
+ fieldId: 'otherDescription',
16717
16713
  });
16718
16714
  }
16719
16715
  if (this.linkCaseForm.controls.otherDescription.value.trim().length > 100) {
@@ -16721,7 +16717,7 @@ class LinkCasesComponent {
16721
16717
  this.errorMessages.push({
16722
16718
  title: 'dummy-case-reason-comments',
16723
16719
  description: LinkedCasesErrorMessages.otherDescriptionMaxLengthError,
16724
- fieldId: 'otherDescription'
16720
+ fieldId: 'otherDescription',
16725
16721
  });
16726
16722
  }
16727
16723
  }
@@ -16730,7 +16726,7 @@ class LinkCasesComponent {
16730
16726
  this.errorMessages.push({
16731
16727
  title: 'dummy-case-number',
16732
16728
  description: LinkedCasesErrorMessages.CaseProposedError,
16733
- fieldId: 'caseNumber'
16729
+ fieldId: 'caseNumber',
16734
16730
  });
16735
16731
  }
16736
16732
  if (this.isCaseSelected(this.linkedCasesService.linkedCases)) {
@@ -16738,14 +16734,14 @@ class LinkCasesComponent {
16738
16734
  this.errorMessages.push({
16739
16735
  title: 'dummy-case-number',
16740
16736
  description: LinkedCasesErrorMessages.CasesLinkedError,
16741
- fieldId: 'caseNumber'
16737
+ fieldId: 'caseNumber',
16742
16738
  });
16743
16739
  }
16744
16740
  if (this.linkCaseForm.value.caseNumber.split('-').join('') === this.linkedCasesService.caseId.split('-').join('')) {
16745
16741
  this.errorMessages.push({
16746
16742
  title: 'dummy-case-number',
16747
16743
  description: LinkedCasesErrorMessages.ProposedCaseWithIn,
16748
- fieldId: 'caseNumber'
16744
+ fieldId: 'caseNumber',
16749
16745
  });
16750
16746
  }
16751
16747
  window.scrollTo(0, 0);
@@ -16766,7 +16762,7 @@ class LinkCasesComponent {
16766
16762
  caseState: caseView.state.name || '',
16767
16763
  caseStateDescription: caseView.state.description || '',
16768
16764
  caseService: caseView.case_type && caseView.case_type.jurisdiction && caseView.case_type.jurisdiction.description || '',
16769
- caseName: this.linkedCasesService.getCaseName(caseView)
16765
+ caseName: this.linkedCasesService.getCaseName(caseView),
16770
16766
  };
16771
16767
  const ccdApiCaseLinkData = {
16772
16768
  CaseReference: caseView.case_id,
@@ -16779,7 +16775,7 @@ class LinkCasesComponent {
16779
16775
  }
16780
16776
  this.linkedCasesService.caseFieldValue.push({ id: caseView.case_id.toString(), value: ccdApiCaseLinkData });
16781
16777
  this.selectedCases.push(caseLink);
16782
- this.linkCaseReasons.forEach((reason) => reason.selected = false);
16778
+ this.linkCaseReasons.forEach(reason => reason.selected = false);
16783
16779
  this.initForm();
16784
16780
  this.emitLinkedCasesState(false);
16785
16781
  }, (error) => {
@@ -16787,7 +16783,7 @@ class LinkCasesComponent {
16787
16783
  this.errorMessages.push({
16788
16784
  title: 'dummy-case-number',
16789
16785
  description: LinkedCasesErrorMessages.CaseCheckAgainError,
16790
- fieldId: 'caseNumber'
16786
+ fieldId: 'caseNumber',
16791
16787
  });
16792
16788
  this.emitLinkedCasesState(false);
16793
16789
  window.scrollTo(0, 0);
@@ -16799,7 +16795,7 @@ class LinkCasesComponent {
16799
16795
  this.linkedCasesStateEmitter.emit({
16800
16796
  currentLinkedCasesPage: LinkedCasesPages.LINK_CASE,
16801
16797
  errorMessages: this.errorMessages,
16802
- navigateToNextPage: isNavigateToNextPage
16798
+ navigateToNextPage: isNavigateToNextPage,
16803
16799
  });
16804
16800
  }
16805
16801
  getSelectedCaseReasons() {
@@ -16834,7 +16830,7 @@ class LinkCasesComponent {
16834
16830
  }
16835
16831
  onSelectedLinkedCaseRemove(pos, selectedCaseReference) {
16836
16832
  const caseFieldValue = this.linkedCasesService.caseFieldValue || [];
16837
- const updatedItems = caseFieldValue.filter((item) => item.value && item.value.CaseReference !== selectedCaseReference);
16833
+ const updatedItems = caseFieldValue.filter(item => item.value && item.value.CaseReference !== selectedCaseReference);
16838
16834
  if (updatedItems) {
16839
16835
  this.linkedCasesService.caseFieldValue = updatedItems;
16840
16836
  }
@@ -16855,7 +16851,7 @@ class LinkCasesComponent {
16855
16851
  this.errorMessages.push({
16856
16852
  title: 'dummy-case-selection',
16857
16853
  description: LinkedCasesErrorMessages.CaseSelectionError,
16858
- fieldId: 'caseReason'
16854
+ fieldId: 'caseReason',
16859
16855
  });
16860
16856
  navigateToNextPage = false;
16861
16857
  }
@@ -17590,7 +17586,7 @@ class UnLinkCasesComponent {
17590
17586
  }
17591
17587
  else {
17592
17588
  this.casesService.getCaseViewV2(this.caseId).subscribe((caseView) => {
17593
- const linkedCasesTab = caseView.tabs.find((tab) => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
17589
+ const linkedCasesTab = caseView.tabs.find(tab => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
17594
17590
  if (linkedCasesTab) {
17595
17591
  const linkedCases = linkedCasesTab.fields[0].value;
17596
17592
  this.linkedCases = linkedCases;
@@ -17602,22 +17598,22 @@ class UnLinkCasesComponent {
17602
17598
  }
17603
17599
  getAllLinkedCaseInformation() {
17604
17600
  const searchCasesResponse = [];
17605
- this.linkedCases.forEach((linkedCase) => {
17601
+ this.linkedCases.forEach(linkedCase => {
17606
17602
  searchCasesResponse.push(this.casesService.getCaseViewV2(linkedCase.caseReference));
17607
17603
  });
17608
17604
  if (searchCasesResponse.length) {
17609
17605
  this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
17610
17606
  searchCases.forEach((response) => {
17611
- const linkedCaseFromList = this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id);
17607
+ const linkedCaseFromList = this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id);
17612
17608
  if (linkedCaseFromList) {
17613
17609
  const caseName = this.linkedCasesService.getCaseName(response);
17614
- this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id).caseName = caseName;
17610
+ this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id).caseName = caseName;
17615
17611
  }
17616
17612
  });
17617
17613
  this.initForm();
17618
17614
  this.linkedCasesService.linkedCases = this.linkedCases;
17619
17615
  this.isServerError = false;
17620
- }, (err) => {
17616
+ }, err => {
17621
17617
  this.isServerError = true;
17622
17618
  this.notifyAPIFailure.emit(true);
17623
17619
  });
@@ -17632,7 +17628,7 @@ class UnLinkCasesComponent {
17632
17628
  });
17633
17629
  }
17634
17630
  get getLinkedCasesFormArray() {
17635
- const formFieldArray = this.linkedCases.map((val) => this.fb.group({
17631
+ const formFieldArray = this.linkedCases.map(val => this.fb.group({
17636
17632
  caseReference: val.caseReference,
17637
17633
  reasons: val.reasons,
17638
17634
  createdDateTime: val.createdDateTime,
@@ -17646,7 +17642,7 @@ class UnLinkCasesComponent {
17646
17642
  }
17647
17643
  onChange(caseSelected) {
17648
17644
  this.resetErrorMessages();
17649
- const selectedCase = this.linkedCases.find((linkedCase) => linkedCase.caseReference === caseSelected.value);
17645
+ const selectedCase = this.linkedCases.find(linkedCase => linkedCase.caseReference === caseSelected.value);
17650
17646
  if (selectedCase) {
17651
17647
  selectedCase.unlink = caseSelected.checked ? true : false;
17652
17648
  }
@@ -17654,7 +17650,7 @@ class UnLinkCasesComponent {
17654
17650
  onNext() {
17655
17651
  this.resetErrorMessages();
17656
17652
  let navigateToNextPage = true;
17657
- const casesMarkedToUnlink = this.linkedCases.find((linkedCase) => linkedCase.unlink && linkedCase.unlink === true);
17653
+ const casesMarkedToUnlink = this.linkedCases.find(linkedCase => linkedCase.unlink && linkedCase.unlink === true);
17658
17654
  if (!casesMarkedToUnlink) {
17659
17655
  this.errorMessages.push({
17660
17656
  title: 'case-selection',
@@ -17672,7 +17668,7 @@ class UnLinkCasesComponent {
17672
17668
  this.linkedCasesStateEmitter.emit({
17673
17669
  currentLinkedCasesPage: LinkedCasesPages.UNLINK_CASE,
17674
17670
  errorMessages: this.errorMessages,
17675
- navigateToNextPage: isNavigateToNextPage
17671
+ navigateToNextPage: isNavigateToNextPage,
17676
17672
  });
17677
17673
  }
17678
17674
  resetErrorMessages() {
@@ -18015,16 +18011,14 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18015
18011
  // Get linked case reasons from ref data
18016
18012
  this.linkedCasesService.editMode = false;
18017
18013
  this.subscriptions.add(this.caseEditDataService.caseDetails$.subscribe({
18018
- next: (caseDetails) => {
18019
- this.initialiseCaseDetails(caseDetails);
18020
- }
18014
+ next: caseDetails => { this.initialiseCaseDetails(caseDetails); }
18021
18015
  }));
18022
18016
  this.getOrgService();
18023
18017
  this.subscriptions.add(this.caseEditDataService.caseEventTriggerName$.subscribe({
18024
- next: (name) => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
18018
+ next: name => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
18025
18019
  }));
18026
18020
  this.subscriptions.add(this.caseEditDataService.caseEditForm$.subscribe({
18027
- next: (editForm) => this.caseEditForm = editForm
18021
+ next: editForm => this.caseEditForm = editForm
18028
18022
  }));
18029
18023
  }
18030
18024
  initialiseCaseDetails(caseDetails) {
@@ -18100,28 +18094,13 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18100
18094
  }
18101
18095
  }
18102
18096
  submitLinkedCases() {
18103
- let caseFieldValue = [...(this.linkedCasesService.caseFieldValue || [])];
18104
18097
  if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
18105
- const unlinkedCaseReferenceIds = this.linkedCasesService.linkedCases
18106
- .filter((item) => item.unlink)
18107
- .map((item) => item.caseReference);
18108
- caseFieldValue = caseFieldValue.filter((item) => !unlinkedCaseReferenceIds.includes(item.id));
18109
- }
18110
- // Replace the caseLinks value in this.formGroup
18111
- this.formGroup.patchValue({
18112
- caseLinks: caseFieldValue
18113
- });
18114
- // Replace the caseLinks control in caseEditForm.controls.data
18115
- const dataFormGroup = this.caseEditForm.controls.data;
18116
- if (dataFormGroup) {
18117
- // Remove the existing caseLinks control (if it exists)
18118
- if (dataFormGroup.contains('caseLinks')) {
18119
- dataFormGroup.removeControl('caseLinks');
18120
- }
18121
- // Add the new control with the replacement value
18122
- dataFormGroup.addControl('caseLinks', new FormControl(caseFieldValue || []));
18098
+ const unlinkedCaseRefereneIds = this.linkedCasesService.linkedCases.filter(item => item.unlink).map(item => item.caseReference);
18099
+ const caseFieldValue = this.linkedCasesService.caseFieldValue;
18100
+ this.linkedCasesService.caseFieldValue = caseFieldValue.filter(item => unlinkedCaseRefereneIds.indexOf(item.id) === -1);
18123
18101
  }
18124
- // Set the updated form in the caseEditDataService
18102
+ this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue;
18103
+ this.caseEditForm.controls['data'] = new FormGroup({ caseLinks: new FormControl(this.linkedCasesService.caseFieldValue || []) });
18125
18104
  this.caseEditDataService.setCaseEditForm(this.caseEditForm);
18126
18105
  }
18127
18106
  isAtFinalPage() {
@@ -18138,11 +18117,11 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18138
18117
  }
18139
18118
  getLinkedCases() {
18140
18119
  this.casesService.getCaseViewV2(this.linkedCasesService.caseId).subscribe((caseView) => {
18141
- const caseViewFiltered = caseView.tabs.filter((tab) => {
18120
+ const caseViewFiltered = caseView.tabs.filter(tab => {
18142
18121
  return tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
18143
18122
  });
18144
18123
  if (caseViewFiltered) {
18145
- const caseLinkFieldValue = caseViewFiltered.map((filtered) => filtered.fields?.length > 0 && filtered.fields.filter((field) => field.id === 'caseLinks')[0].value);
18124
+ const caseLinkFieldValue = caseViewFiltered.map(filtered => filtered.fields?.length > 0 && filtered.fields.filter(field => field.id === 'caseLinks')[0].value);
18146
18125
  this.linkedCasesService.caseFieldValue = caseLinkFieldValue.length ? caseLinkFieldValue[0] : [];
18147
18126
  this.linkedCasesService.getAllLinkedCaseInformation();
18148
18127
  }
@@ -18182,7 +18161,7 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
18182
18161
  type: Component,
18183
18162
  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" }]
18184
18163
  }], () => [{ type: AbstractAppConfig }, { type: CommonDataService }, { type: CasesService }, { type: LinkedCasesService }, { type: CaseEditDataService }], null); })();
18185
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 18 }); })();
18164
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 19 }); })();
18186
18165
 
18187
18166
  function ReadMoneyGbpFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
18188
18167
  i0.ɵɵelementContainerStart(0);
@@ -19612,6 +19591,7 @@ var QueryItemResponseStatus;
19612
19591
  (function (QueryItemResponseStatus) {
19613
19592
  QueryItemResponseStatus["NEW"] = "New";
19614
19593
  QueryItemResponseStatus["RESPONDED"] = "Responded";
19594
+ QueryItemResponseStatus["AWAITING"] = "Awaiting Response";
19615
19595
  })(QueryItemResponseStatus || (QueryItemResponseStatus = {}));
19616
19596
 
19617
19597
  var RespondToQueryErrorMessages;
@@ -19665,7 +19645,7 @@ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Templ
19665
19645
  } }
19666
19646
  function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template(rf, ctx) { if (rf & 1) {
19667
19647
  i0.ɵɵelementContainerStart(0);
19668
- i0.ɵɵelementStart(1, "div", 14);
19648
+ i0.ɵɵelementStart(1, "div", 13);
19669
19649
  i0.ɵɵtext(2);
19670
19650
  i0.ɵɵpipe(3, "rpxTranslate");
19671
19651
  i0.ɵɵelementEnd();
@@ -19674,24 +19654,6 @@ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_co
19674
19654
  i0.ɵɵadvance(2);
19675
19655
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "or"));
19676
19656
  } }
19677
- function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_div_7_Template(rf, ctx) { if (rf & 1) {
19678
- const _r2 = i0.ɵɵgetCurrentView();
19679
- i0.ɵɵelementStart(0, "div", 15);
19680
- i0.ɵɵtext(1);
19681
- i0.ɵɵpipe(2, "rpxTranslate");
19682
- i0.ɵɵelementStart(3, "a", 16);
19683
- i0.ɵɵlistener("click", function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_div_7_Template_a_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.click()); });
19684
- i0.ɵɵtext(4);
19685
- i0.ɵɵpipe(5, "rpxTranslate");
19686
- i0.ɵɵelementEnd();
19687
- i0.ɵɵtext(6, ".) ");
19688
- i0.ɵɵelementEnd();
19689
- } if (rf & 2) {
19690
- i0.ɵɵadvance();
19691
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "(To follow-up on an existing query"), " ");
19692
- i0.ɵɵadvance(3);
19693
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, "click here"));
19694
- } }
19695
19657
  function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template(rf, ctx) { if (rf & 1) {
19696
19658
  i0.ɵɵelementContainerStart(0);
19697
19659
  i0.ɵɵtemplate(1, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_ng_container_1_Template, 4, 3, "ng-container", 0);
@@ -19700,25 +19662,21 @@ function QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Templ
19700
19662
  i0.ɵɵelementStart(4, "label", 12);
19701
19663
  i0.ɵɵtext(5);
19702
19664
  i0.ɵɵpipe(6, "rpxTranslate");
19703
- i0.ɵɵelementEnd();
19704
- i0.ɵɵtemplate(7, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_div_7_Template, 7, 6, "div", 13);
19705
- i0.ɵɵelementEnd();
19665
+ i0.ɵɵelementEnd()();
19706
19666
  i0.ɵɵelementContainerEnd();
19707
19667
  } if (rf & 2) {
19708
- const qualifyingQuestion_r3 = ctx.$implicit;
19709
- const isLast_r4 = ctx.last;
19668
+ const qualifyingQuestion_r2 = ctx.$implicit;
19669
+ const isLast_r3 = ctx.last;
19710
19670
  const ctx_r0 = i0.ɵɵnextContext(2);
19711
19671
  i0.ɵɵadvance();
19712
- i0.ɵɵproperty("ngIf", isLast_r4);
19672
+ i0.ɵɵproperty("ngIf", isLast_r3);
19713
19673
  i0.ɵɵadvance(2);
19714
- i0.ɵɵpropertyInterpolate("id", qualifyingQuestion_r3.name);
19715
- i0.ɵɵproperty("formControl", ctx_r0.qualifyingQuestionsControl)("value", qualifyingQuestion_r3);
19674
+ i0.ɵɵpropertyInterpolate("id", qualifyingQuestion_r2.name);
19675
+ i0.ɵɵproperty("formControl", ctx_r0.qualifyingQuestionsControl)("value", qualifyingQuestion_r2);
19716
19676
  i0.ɵɵadvance();
19717
- i0.ɵɵproperty("for", qualifyingQuestion_r3.name);
19677
+ i0.ɵɵproperty("for", qualifyingQuestion_r2.name);
19718
19678
  i0.ɵɵadvance();
19719
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 7, qualifyingQuestion_r3.name));
19720
- i0.ɵɵadvance(2);
19721
- i0.ɵɵproperty("ngIf", isLast_r4);
19679
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 6, qualifyingQuestion_r2.name));
19722
19680
  } }
19723
19681
  function QualifyingQuestionOptionsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
19724
19682
  i0.ɵɵelementContainerStart(0);
@@ -19732,7 +19690,7 @@ function QualifyingQuestionOptionsComponent_ng_container_0_Template(rf, ctx) { i
19732
19690
  i0.ɵɵelementEnd();
19733
19691
  i0.ɵɵtemplate(10, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_10_Template, 7, 6, "ng-container", 0);
19734
19692
  i0.ɵɵelementStart(11, "div", 6);
19735
- i0.ɵɵtemplate(12, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template, 8, 9, "ng-container", 7);
19693
+ i0.ɵɵtemplate(12, QualifyingQuestionOptionsComponent_ng_container_0_ng_container_12_Template, 7, 8, "ng-container", 7);
19736
19694
  i0.ɵɵpipe(13, "async");
19737
19695
  i0.ɵɵelementEnd()()();
19738
19696
  i0.ɵɵelementContainerEnd();
@@ -19771,13 +19729,13 @@ class QualifyingQuestionOptionsComponent {
19771
19729
  }
19772
19730
  }
19773
19731
  click() {
19774
- this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Query Management' });
19732
+ this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Queries' });
19775
19733
  }
19776
19734
  get displayError() {
19777
19735
  return this.qualifyingQuestionsControl.touched && this.qualifyingQuestionsControl.hasError('required');
19778
19736
  }
19779
19737
  static ɵfac = function QualifyingQuestionOptionsComponent_Factory(t) { return new (t || QualifyingQuestionOptionsComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(QualifyingQuestionService)); };
19780
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionOptionsComponent, selectors: [["ccd-qualifying-question-options"]], inputs: { qualifyingQuestionsControl: "qualifyingQuestionsControl", qualifyingQuestions$: "qualifyingQuestions$" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-form-group"], [1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], [1, "govuk-heading-m", "govuk-!-margin-top-10"], ["data-module", "govuk-radios", 1, "govuk-radios"], [4, "ngFor", "ngForOf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["name", "qualifyingQuestionOption", "type", "radio", 1, "govuk-radios__input", 3, "id", "formControl", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["class", "govuk-hint govuk-radios__hint", 4, "ngIf"], [1, "govuk-radios__divider"], [1, "govuk-hint", "govuk-radios__hint"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"]], template: function QualifyingQuestionOptionsComponent_Template(rf, ctx) { if (rf & 1) {
19738
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionOptionsComponent, selectors: [["ccd-qualifying-question-options"]], inputs: { qualifyingQuestionsControl: "qualifyingQuestionsControl", qualifyingQuestions$: "qualifyingQuestions$" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-form-group"], [1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], [1, "govuk-heading-m", "govuk-!-margin-top-10"], ["data-module", "govuk-radios", 1, "govuk-radios"], [4, "ngFor", "ngForOf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["name", "qualifyingQuestionOption", "type", "radio", 1, "govuk-radios__input", 3, "id", "formControl", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], [1, "govuk-radios__divider"]], template: function QualifyingQuestionOptionsComponent_Template(rf, ctx) { if (rf & 1) {
19781
19739
  i0.ɵɵtemplate(0, QualifyingQuestionOptionsComponent_ng_container_0_Template, 14, 12, "ng-container", 0);
19782
19740
  } if (rf & 2) {
19783
19741
  i0.ɵɵproperty("ngIf", ctx.qualifyingQuestionsControl);
@@ -19785,7 +19743,7 @@ class QualifyingQuestionOptionsComponent {
19785
19743
  }
19786
19744
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QualifyingQuestionOptionsComponent, [{
19787
19745
  type: Component,
19788
- args: [{ selector: 'ccd-qualifying-question-options', template: "<ng-container *ngIf=\"qualifyingQuestionsControl\">\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"displayError\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ 'Raise a new query' | rpxTranslate }}\n </h1>\n </legend>\n <h2 class=\"govuk-heading-m govuk-!-margin-top-10\">\n {{ 'Select the type of query you are raising:' | rpxTranslate }}\n </h2>\n\n <ng-container *ngIf=\"displayError\">\n <p class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{\n qualifyingQuestionsErrorMessage.SELECT_AN_OPTION | rpxTranslate }}\n </p>\n </ng-container>\n\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <ng-container *ngFor=\"let qualifyingQuestion of qualifyingQuestions$ | async; let isLast = last\">\n <ng-container *ngIf=\"isLast\">\n <div class=\"govuk-radios__divider\">{{ 'or' | rpxTranslate }}</div>\n </ng-container>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"{{qualifyingQuestion.name}}\" name=\"qualifyingQuestionOption\"\n type=\"radio\" [formControl]=\"qualifyingQuestionsControl\" [value]=\"qualifyingQuestion\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"qualifyingQuestion.name\">{{ qualifyingQuestion.name |\n rpxTranslate }}</label>\n <div *ngIf=\"isLast\" class=\"govuk-hint govuk-radios__hint\">\n {{ '(To follow-up on an existing query' | rpxTranslate }}\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"click()\">{{ 'click here' | rpxTranslate }}</a>.)\n </div>\n </div>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</ng-container>\n" }]
19746
+ args: [{ selector: 'ccd-qualifying-question-options', template: "<ng-container *ngIf=\"qualifyingQuestionsControl\">\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"displayError\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ 'Raise a new query' | rpxTranslate }}\n </h1>\n </legend>\n <h2 class=\"govuk-heading-m govuk-!-margin-top-10\">\n {{ 'Select the type of query you are raising:' | rpxTranslate }}\n </h2>\n\n <ng-container *ngIf=\"displayError\">\n <p class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{\n qualifyingQuestionsErrorMessage.SELECT_AN_OPTION | rpxTranslate }}\n </p>\n </ng-container>\n\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <ng-container *ngFor=\"let qualifyingQuestion of qualifyingQuestions$ | async; let isLast = last\">\n <ng-container *ngIf=\"isLast\">\n <div class=\"govuk-radios__divider\">{{ 'or' | rpxTranslate }}</div>\n </ng-container>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"{{qualifyingQuestion.name}}\" name=\"qualifyingQuestionOption\"\n type=\"radio\" [formControl]=\"qualifyingQuestionsControl\" [value]=\"qualifyingQuestion\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"qualifyingQuestion.name\">{{ qualifyingQuestion.name |\n rpxTranslate }}</label>\n </div>\n </ng-container>\n </div>\n </fieldset>\n </div>\n</ng-container>\n" }]
19789
19747
  }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: QualifyingQuestionService }], { qualifyingQuestionsControl: [{
19790
19748
  type: Input
19791
19749
  }], qualifyingQuestions$: [{
@@ -19878,27 +19836,18 @@ class QueryCaseDetailsHeaderComponent {
19878
19836
  caseDetails;
19879
19837
  caseTitle;
19880
19838
  caseFields;
19881
- caseView;
19882
- constructor(activatedRoute) {
19883
- this.caseView = activatedRoute.snapshot.data.case;
19884
- }
19885
19839
  ngOnInit() {
19886
19840
  this.caseTitle = new CaseField();
19887
- if (!this.isDraft() && this.caseDetails.state.title_display) {
19888
- this.caseTitle.label = this.caseDetails.state.title_display;
19889
- this.caseFields = this.getCaseFields();
19890
- }
19891
- }
19892
- isDraft() {
19893
- return Draft.isDraft(this.caseDetails.case_id);
19841
+ this.caseTitle.label = this.caseDetails.state.title_display;
19842
+ this.caseFields = this.getCaseFieldsInfo();
19894
19843
  }
19895
- getCaseFields() {
19844
+ getCaseFieldsInfo() {
19896
19845
  const caseDataFields = this.caseDetails.tabs.reduce((acc, tab) => {
19897
19846
  return acc.concat(tab.fields);
19898
19847
  }, []);
19899
19848
  return caseDataFields.concat(this.caseDetails.metadataFields);
19900
19849
  }
19901
- static ɵfac = function QueryCaseDetailsHeaderComponent_Factory(t) { return new (t || QueryCaseDetailsHeaderComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
19850
+ static ɵfac = function QueryCaseDetailsHeaderComponent_Factory(t) { return new (t || QueryCaseDetailsHeaderComponent)(); };
19902
19851
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCaseDetailsHeaderComponent, selectors: [["ccd-query-case-details-header"]], inputs: { caseDetails: "caseDetails" }, decls: 2, vars: 2, consts: [["class", "heading-h1", 4, "ngIf"], ["class", "case-title", 4, "ngIf"], [1, "heading-h1"], [1, "case-title"], [3, "caseField", "caseFields"]], template: function QueryCaseDetailsHeaderComponent_Template(rf, ctx) { if (rf & 1) {
19903
19852
  i0.ɵɵtemplate(0, QueryCaseDetailsHeaderComponent_h1_0_Template, 3, 3, "h1", 0)(1, QueryCaseDetailsHeaderComponent_div_1_Template, 2, 2, "div", 1);
19904
19853
  } if (rf & 2) {
@@ -19910,10 +19859,10 @@ class QueryCaseDetailsHeaderComponent {
19910
19859
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCaseDetailsHeaderComponent, [{
19911
19860
  type: Component,
19912
19861
  args: [{ selector: 'ccd-query-case-details-header', template: "<h1 *ngIf=\"!caseTitle.label\" class=\"heading-h1\">#{{ caseDetails.case_id | ccdCaseReference}}</h1>\n<div *ngIf=\"caseTitle.label\" class=\"case-title\">\n <ccd-label-field [caseField]=\"caseTitle\" [caseFields]=\"caseFields\"></ccd-label-field>\n</div>\n" }]
19913
- }], () => [{ type: i1$1.ActivatedRoute }], { caseDetails: [{
19862
+ }], null, { caseDetails: [{
19914
19863
  type: Input
19915
19864
  }] }); })();
19916
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCaseDetailsHeaderComponent, { className: "QueryCaseDetailsHeaderComponent", filePath: "lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.ts", lineNumber: 11 }); })();
19865
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCaseDetailsHeaderComponent, { className: "QueryCaseDetailsHeaderComponent", filePath: "lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.ts", lineNumber: 10 }); })();
19917
19866
 
19918
19867
  var QueryCreateContext;
19919
19868
  (function (QueryCreateContext) {
@@ -19964,7 +19913,12 @@ class QueryListItem {
19964
19913
  return this.children?.length > 0 ? new Date(this.lastSubmittedMessage.createdOn) : null;
19965
19914
  }
19966
19915
  get responseStatus() {
19967
- return this.children?.length > 0 ? QueryItemResponseStatus.RESPONDED : QueryItemResponseStatus.NEW;
19916
+ if (this.children?.length > 0) {
19917
+ return this.children.length % 2 === 1
19918
+ ? QueryItemResponseStatus.RESPONDED
19919
+ : QueryItemResponseStatus.AWAITING;
19920
+ }
19921
+ return QueryItemResponseStatus.AWAITING;
19968
19922
  }
19969
19923
  }
19970
19924
 
@@ -25114,20 +25068,6 @@ class SelectFlagTypeComponent {
25114
25068
  [SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
25115
25069
  });
25116
25070
  });
25117
- this.formGroup.addControl(CaseFlagFormFields.FLAG_TYPE, new FormControl(''));
25118
- this.formGroup.addControl(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION, new FormControl(''));
25119
- this.formGroup.addControl(CaseFlagFormFields.IS_VISIBLE_INTERNALLY_ONLY, new FormControl(''));
25120
- // Should clear descriptionControlName if flagTypeControlName is changed
25121
- this.flagTypeControlChangesSubscription = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE).valueChanges
25122
- .subscribe(_ => {
25123
- this.formGroup.get(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION).setValue('');
25124
- this.cachedPath = [];
25125
- // required to clear language interpreter
25126
- this.formGroup.patchValue({
25127
- [SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM]: '',
25128
- [SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
25129
- });
25130
- });
25131
25071
  // If hmctsServiceId is present, use this to retrieve the relevant list of flag types
25132
25072
  if (this.hmctsServiceId) {
25133
25073
  this.flagRefdata$ = this.caseFlagRefdataService
@@ -30305,10 +30245,15 @@ class CaseHeaderComponent {
30305
30245
  caseFields;
30306
30246
  ngOnInit() {
30307
30247
  this.caseTitle = new CaseField();
30308
- this.caseTitle.label = this.caseDetails.state.title_display;
30309
- this.caseFields = this.getCaseFieldsInfo();
30248
+ if (!this.isDraft() && this.caseDetails.state.title_display) {
30249
+ this.caseTitle.label = this.caseDetails.state.title_display;
30250
+ this.caseFields = this.getCaseFields();
30251
+ }
30310
30252
  }
30311
- getCaseFieldsInfo() {
30253
+ isDraft() {
30254
+ return Draft.isDraft(this.caseDetails.case_id);
30255
+ }
30256
+ getCaseFields() {
30312
30257
  const caseDataFields = this.caseDetails.tabs.reduce((acc, tab) => {
30313
30258
  return acc.concat(tab.fields);
30314
30259
  }, []);