From ca1b2019fdc34e1b72d2d74c05bbc578583b915f Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Mon, 20 Mar 2023 16:54:16 +0100 Subject: [PATCH] SSDM-13463 : Export selection of fields from tables - UI part - adjust the structure of "export_fields" --- .../components/common/grid/GridController.js | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/ui-admin/src/js/components/common/grid/GridController.js b/ui-admin/src/js/components/common/grid/GridController.js index 1de41b90172..ea162aca42a 100644 --- a/ui-admin/src/js/components/common/grid/GridController.js +++ b/ui-admin/src/js/components/common/grid/GridController.js @@ -1313,25 +1313,32 @@ export default class GridController { } }) - // build exported fields map: - // - entities: { kind: { type: [{ type: "PROPERTY/ATTRIBUTE", id: "propertyCode/attributeCode"}, ...], ... }, ... } - // - non-entities: { kind: [{ type: "ATTRIBUTE", id: "attributeCode"}, ...], ... } + // build exported fields map: { kind: { type: [{ type: "PROPERTY/ATTRIBUTE", id: "propertyCode/attributeCode"}, ...], ... }, ... } + + const TYPE_KINDS = { + [GridExportOptions.EXPORTABLE_KIND.SAMPLE_TYPE]: true, + [GridExportOptions.EXPORTABLE_KIND.EXPERIMENT_TYPE]: true, + [GridExportOptions.EXPORTABLE_KIND.DATASET_TYPE]: true, + [GridExportOptions.EXPORTABLE_KIND.VOCABULARY]: true + } exportedRows.forEach(exportedRow => { - const { exportable_kind, type_perm_id } = exportedRow.exportableId + let { exportable_kind, type_perm_id } = exportedRow.exportableId if (!_.isNil(exportable_kind)) { + if (TYPE_KINDS[exportable_kind]) { + type_perm_id = exportable_kind + exportable_kind = 'TYPE' + } + let exportedFieldsForKind = exportedFieldsMap[exportable_kind] + if (_.isNil(exportedFieldsForKind)) { + exportedFieldsMap[exportable_kind] = exportedFieldsForKind = {} + } + if (!_.isNil(type_perm_id)) { - if (_.isNil(exportedFieldsForKind)) { - exportedFieldsMap[exportable_kind] = exportedFieldsForKind = {} - } exportedFieldsForKind[type_perm_id] = exportableFields - } else { - if (_.isNil(exportedFieldsForKind)) { - exportedFieldsMap[exportable_kind] = exportableFields - } } } }) -- GitLab