@hmcts/ccd-case-ui-toolkit 7.3.54-exui-3740 → 7.3.54-exui-4666-rc-1

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.
@@ -4258,11 +4258,7 @@ class FieldsUtils {
4258
4258
  caseFieldType.complex_fields.forEach(field => {
4259
4259
  try {
4260
4260
  const isDynamicField = FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE.indexOf(field.field_type.type) !== -1;
4261
- const isDynamicMultiSelectField = field.field_type.type === 'DynamicMultiSelectList';
4262
- if (isDynamicMultiSelectField) {
4263
- this.setDynamicMultiSelectListDefinition(field, rootCaseField);
4264
- }
4265
- else if (isDynamicField) {
4261
+ if (isDynamicField) {
4266
4262
  const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
4267
4263
  if (dynamicListValue) {
4268
4264
  const list_items = dynamicListValue[0].list_items;
@@ -4295,29 +4291,6 @@ class FieldsUtils {
4295
4291
  }
4296
4292
  }
4297
4293
  }
4298
- static setDynamicMultiSelectListDefinition(field, rootCaseField) {
4299
- const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
4300
- if (dynamicListValue) {
4301
- const list_items = dynamicListValue.find(data => data?.list_items !== undefined)?.list_items;
4302
- if (list_items !== undefined) {
4303
- field.list_items = list_items;
4304
- field.formatted_value = {
4305
- ...field.formatted_value,
4306
- list_items
4307
- };
4308
- }
4309
- if (rootCaseField.field_type.type !== FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_COLLECTION) {
4310
- const value = dynamicListValue[0]?.value;
4311
- if (value !== undefined) {
4312
- field.value = value;
4313
- field.formatted_value = {
4314
- ...field.formatted_value,
4315
- value
4316
- };
4317
- }
4318
- }
4319
- }
4320
- }
4321
4294
  static getDynamicListValue(jsonBlock, key) {
4322
4295
  const data = jsonBlock ? this.getNestedFieldValues(jsonBlock, key, []) : [];
4323
4296
  return data.length > 0 ? data : null;
@@ -4672,7 +4645,7 @@ const conditionSource = `{
4672
4645
  / OpenFormula
4673
4646
 
4674
4647
  EnclosedFormula
4675
- = bracket formula:OpenFormula bracket join:(JoinComparator)*
4648
+ = openBracket formula:OpenFormula closeBracket join:(JoinComparator)*
4676
4649
  { return flat([ [formula], join[0] ], 1) }
4677
4650
 
4678
4651
  OpenFormula
@@ -4685,7 +4658,7 @@ const conditionSource = `{
4685
4658
  / CompoundJoinComparator
4686
4659
 
4687
4660
  CompoundJoinComparator
4688
- = comp:Comparator bracket f:OpenFormula bracket
4661
+ = comp:Comparator openBracket f:OpenFormula closeBracket
4689
4662
  { return [comp, f ] }
4690
4663
 
4691
4664
  OpenEqualityCheck
@@ -4734,8 +4707,11 @@ const conditionSource = `{
4734
4707
  = '"'val:[A-Za-z0-9.,* _&()/-]*'"'
4735
4708
  { return val.join(""); }
4736
4709
 
4737
- bracket
4738
- = (_? "("+ _? / _? ")"+ _? )
4710
+ openBracket
4711
+ = _? "("+ _?
4712
+
4713
+ closeBracket
4714
+ = _? ")" _?
4739
4715
 
4740
4716
  operator
4741
4717
  = "=" / "!=" / "CONTAINS"
@@ -5968,12 +5944,8 @@ class FieldTypeSanitiser {
5968
5944
  break;
5969
5945
  case FieldTypeSanitiser.FIELD_TYPE_COLLECTION:
5970
5946
  if (Array.isArray(data[caseField.id])) {
5971
- data[caseField.id].forEach((formElement, index) => {
5972
- const matchingItem = Array.isArray(caseField.value) && formElement?.id !== undefined
5973
- ? caseField.value.find((item) => item?.id === formElement.id)
5974
- : null;
5975
- const collectionItem = matchingItem || (Array.isArray(caseField.value) ? caseField.value[index] : null);
5976
- this.sanitiseLists(this.copyCaseFieldsWithCollectionData(caseField.field_type.collection_field_type.complex_fields, collectionItem?.value || collectionItem), formElement.value);
5947
+ data[caseField.id].forEach((formElement) => {
5948
+ this.sanitiseLists(caseField.field_type.collection_field_type.complex_fields, formElement.value);
5977
5949
  });
5978
5950
  }
5979
5951
  break;
@@ -6013,25 +5985,6 @@ class FieldTypeSanitiser {
6013
5985
  }
6014
5986
  });
6015
5987
  }
6016
- copyCaseFieldsWithCollectionData(caseFields, collectionItemData) {
6017
- return caseFields.map((field) => {
6018
- const fieldData = collectionItemData?.[field.id];
6019
- if (field.field_type.type === FieldTypeSanitiser.FIELD_TYPE_COMPLEX) {
6020
- return {
6021
- ...field,
6022
- field_type: {
6023
- ...field.field_type,
6024
- complex_fields: this.copyCaseFieldsWithCollectionData(field.field_type.complex_fields, fieldData)
6025
- }
6026
- };
6027
- }
6028
- return this.isDynamicList(field.field_type.type) &&
6029
- field.display_context !== 'HIDDEN' &&
6030
- fieldData?.list_items !== undefined
6031
- ? { ...field, list_items: fieldData.list_items }
6032
- : field;
6033
- });
6034
- }
6035
5988
  isDynamicList(fieldType) {
6036
5989
  return FieldTypeSanitiser.DYNAMIC_LIST_TYPE.indexOf(fieldType) !== -1;
6037
5990
  }
@@ -9824,10 +9777,8 @@ class CaseEditComponent {
9824
9777
  return form.value.event.id;
9825
9778
  }
9826
9779
  generateCaseEventData({ eventTrigger, form }) {
9827
- const formData = this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields);
9828
- this.formValueService.sanitiseDynamicLists(eventTrigger.case_fields, { data: formData });
9829
9780
  const caseEventData = {
9830
- data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(formData, this.isCaseFlagSubmission)),
9781
+ data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields), this.isCaseFlagSubmission)),
9831
9782
  event: form.value.event
9832
9783
  };
9833
9784
  this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);