@hmcts/ccd-case-ui-toolkit 7.3.35 → 7.3.36-pofcc-78
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.
|
@@ -6050,8 +6050,8 @@ class FormValueService {
|
|
|
6050
6050
|
constructor(fieldTypeSanitiser) {
|
|
6051
6051
|
this.fieldTypeSanitiser = fieldTypeSanitiser;
|
|
6052
6052
|
}
|
|
6053
|
-
sanitise(rawValue) {
|
|
6054
|
-
return this.sanitiseObject(rawValue);
|
|
6053
|
+
sanitise(rawValue, isCaseFlagJourney = false) {
|
|
6054
|
+
return this.sanitiseObject(rawValue, isCaseFlagJourney);
|
|
6055
6055
|
}
|
|
6056
6056
|
sanitiseCaseReference(reference) {
|
|
6057
6057
|
// strip non digits
|
|
@@ -6073,7 +6073,7 @@ class FormValueService {
|
|
|
6073
6073
|
sanitiseDynamicLists(caseFields, editForm) {
|
|
6074
6074
|
return this.fieldTypeSanitiser.sanitiseLists(caseFields, editForm.data);
|
|
6075
6075
|
}
|
|
6076
|
-
sanitiseObject(rawObject) {
|
|
6076
|
+
sanitiseObject(rawObject, isCaseFlagJourney = false) {
|
|
6077
6077
|
if (!rawObject) {
|
|
6078
6078
|
return rawObject;
|
|
6079
6079
|
}
|
|
@@ -6087,14 +6087,17 @@ class FormValueService {
|
|
|
6087
6087
|
break;
|
|
6088
6088
|
}
|
|
6089
6089
|
else if ('CaseReference' === key) {
|
|
6090
|
-
sanitisedObject[key] = this.sanitiseValue(this.sanitiseCaseReference(String(rawObject[key])));
|
|
6090
|
+
sanitisedObject[key] = this.sanitiseValue(this.sanitiseCaseReference(String(rawObject[key])), isCaseFlagJourney);
|
|
6091
6091
|
}
|
|
6092
6092
|
else {
|
|
6093
|
-
sanitisedObject[key] = this.sanitiseValue(rawObject[key]);
|
|
6093
|
+
sanitisedObject[key] = this.sanitiseValue(rawObject[key], isCaseFlagJourney);
|
|
6094
6094
|
if (Array.isArray(sanitisedObject[key])) {
|
|
6095
6095
|
// If the 'sanitised' array is empty, whereas the original array had 1 or more items
|
|
6096
6096
|
// delete the property from the sanatised object
|
|
6097
|
-
|
|
6097
|
+
const shouldDeleteField = sanitisedObject[key].length === 0
|
|
6098
|
+
&& rawObject[key].length > 0
|
|
6099
|
+
&& !isCaseFlagJourney;
|
|
6100
|
+
if (shouldDeleteField) {
|
|
6098
6101
|
delete sanitisedObject[key];
|
|
6099
6102
|
}
|
|
6100
6103
|
}
|
|
@@ -6102,13 +6105,13 @@ class FormValueService {
|
|
|
6102
6105
|
}
|
|
6103
6106
|
return sanitisedObject;
|
|
6104
6107
|
}
|
|
6105
|
-
sanitiseArray(rawArray) {
|
|
6108
|
+
sanitiseArray(rawArray, isCaseFlagJourney = false) {
|
|
6106
6109
|
if (!rawArray) {
|
|
6107
6110
|
return rawArray;
|
|
6108
6111
|
}
|
|
6109
6112
|
rawArray.forEach(item => {
|
|
6110
6113
|
if (item && item.hasOwnProperty('value')) {
|
|
6111
|
-
item.value = this.sanitiseValue(item.value);
|
|
6114
|
+
item.value = this.sanitiseValue(item.value, isCaseFlagJourney);
|
|
6112
6115
|
}
|
|
6113
6116
|
});
|
|
6114
6117
|
// Filter the array to ensure only truthy values are returned; double-bang operator returns the boolean true/false
|
|
@@ -6118,13 +6121,13 @@ class FormValueService {
|
|
|
6118
6121
|
.filter(item => !!item)
|
|
6119
6122
|
.filter(item => item.hasOwnProperty('value') ? FieldsUtils.containsNonEmptyValues(item.value) : true);
|
|
6120
6123
|
}
|
|
6121
|
-
sanitiseValue(rawValue) {
|
|
6124
|
+
sanitiseValue(rawValue, isCaseFlagJourney = false) {
|
|
6122
6125
|
if (Array.isArray(rawValue)) {
|
|
6123
|
-
return this.sanitiseArray(rawValue);
|
|
6126
|
+
return this.sanitiseArray(rawValue, isCaseFlagJourney);
|
|
6124
6127
|
}
|
|
6125
6128
|
switch (typeof rawValue) {
|
|
6126
6129
|
case 'object':
|
|
6127
|
-
return this.sanitiseObject(rawValue);
|
|
6130
|
+
return this.sanitiseObject(rawValue, isCaseFlagJourney);
|
|
6128
6131
|
case 'string':
|
|
6129
6132
|
return rawValue.trim();
|
|
6130
6133
|
case 'number':
|
|
@@ -9630,7 +9633,7 @@ class CaseEditComponent {
|
|
|
9630
9633
|
}
|
|
9631
9634
|
generateCaseEventData({ eventTrigger, form }) {
|
|
9632
9635
|
const caseEventData = {
|
|
9633
|
-
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields))),
|
|
9636
|
+
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields), this.isCaseFlagSubmission)),
|
|
9634
9637
|
event: form.value.event
|
|
9635
9638
|
};
|
|
9636
9639
|
this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
|
|
@@ -15011,9 +15014,20 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15011
15014
|
}
|
|
15012
15015
|
}
|
|
15013
15016
|
focusLastItem() {
|
|
15014
|
-
const
|
|
15015
|
-
if (
|
|
15016
|
-
|
|
15017
|
+
const root = this.items.last?.nativeElement;
|
|
15018
|
+
if (!root) {
|
|
15019
|
+
return;
|
|
15020
|
+
}
|
|
15021
|
+
const controls = Array.from(root.querySelectorAll('.form-control'));
|
|
15022
|
+
const focusTarget = controls.find(control => {
|
|
15023
|
+
if (!(control instanceof HTMLInputElement)) {
|
|
15024
|
+
return true;
|
|
15025
|
+
}
|
|
15026
|
+
const type = (control.type || '').toLowerCase();
|
|
15027
|
+
return type !== 'radio';
|
|
15028
|
+
});
|
|
15029
|
+
if (focusTarget) {
|
|
15030
|
+
focusTarget.focus();
|
|
15017
15031
|
}
|
|
15018
15032
|
}
|
|
15019
15033
|
removeItem(index) {
|