@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
|
-
|
|
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
|
-
=
|
|
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
|
|
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
|
-
|
|
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
|
|
5972
|
-
|
|
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(
|
|
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);
|