@hmcts/ccd-case-ui-toolkit 7.0.30 → 7.0.31-dynamic-multi-list-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.
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +3 -2
- package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +13 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +14 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +14 -2
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -1
- package/lib/shared/services/form/field-type-sanitiser.d.ts +1 -0
- package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5216,7 +5216,8 @@ class FieldTypeSanitiser {
|
|
|
5216
5216
|
if (!data || !caseFields) {
|
|
5217
5217
|
return;
|
|
5218
5218
|
}
|
|
5219
|
-
caseFields.
|
|
5219
|
+
caseFields = this.ensureDynamicMultiSelectListPopulated(caseFields);
|
|
5220
|
+
caseFields.forEach((caseField) => {
|
|
5220
5221
|
// tslint:disable-next-line:switch-default
|
|
5221
5222
|
switch (caseField.field_type.type) {
|
|
5222
5223
|
case FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST:
|
|
@@ -5239,6 +5240,16 @@ class FieldTypeSanitiser {
|
|
|
5239
5240
|
}
|
|
5240
5241
|
});
|
|
5241
5242
|
}
|
|
5243
|
+
ensureDynamicMultiSelectListPopulated(caseFields) {
|
|
5244
|
+
return caseFields.map((field) => {
|
|
5245
|
+
if (field.field_type.type !== 'Complex') {
|
|
5246
|
+
return field;
|
|
5247
|
+
}
|
|
5248
|
+
const complexFieldsUpdated = field.field_type.complex_fields.map((complexField) => complexField.field_type.type === FieldTypeSanitiser.FIELD_TYPE_DYNAMIC_MULTISELECT_LIST && complexField.display_context !== 'HIDDEN' && field._value && field._value[complexField.id]
|
|
5249
|
+
? { ...complexField, list_items: field._value[complexField.id].list_items } : complexField);
|
|
5250
|
+
return { ...field, field_type: { ...field.field_type, complex_fields: complexFieldsUpdated } };
|
|
5251
|
+
});
|
|
5252
|
+
}
|
|
5242
5253
|
convertArrayToDynamicListOutput(field, data) {
|
|
5243
5254
|
const values = data[field.id];
|
|
5244
5255
|
if (Array.isArray(values)) {
|
|
@@ -20959,7 +20970,8 @@ class CaseFileViewFolderSelectorComponent {
|
|
|
20959
20970
|
return [];
|
|
20960
20971
|
}
|
|
20961
20972
|
containsDocument(cat, document) {
|
|
20962
|
-
if (cat.documents.findIndex((doc) => doc.document_binary_url === document.document_binary_url)
|
|
20973
|
+
if (cat.documents.findIndex((doc) => (doc.document_binary_url === document.document_binary_url)
|
|
20974
|
+
&& (doc.attribute_path === document.attribute_path)) > -1) {
|
|
20963
20975
|
return [cat.category_id];
|
|
20964
20976
|
}
|
|
20965
20977
|
for (const c of cat.sub_categories) {
|