Skip to content

Commit 5d9e51d

Browse files
committed
use semicolon as delimeter
1 parent ecd6216 commit 5d9e51d

2 files changed

Lines changed: 26 additions & 19 deletions

File tree

lib/public/components/common/dataExport/exportTriggerAndModal.js

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* or submit itself to any jurisdiction.
1212
*/
1313

14-
import { DATA_EXPORT_TYPES } from '../../../domain/enums/DataExportTypes.js';
14+
import { DATA_EXPORT_TYPES, DataExportTypes } from '../../../domain/enums/DataExportTypes.js';
1515
import errorAlert from '../errorAlert.js';
1616
import spinner from '../spinner.js';
1717
import { h } from '/js/src/index.js';
@@ -57,22 +57,27 @@ const exportForm = (exportModel, modalHandler) => {
5757
h('label.form-check-label.f6', 'Select output format'),
5858
];
5959

60-
const exportTypeSelect = h('.flex-row.g3', DATA_EXPORT_TYPES.map((exportType) => {
61-
const id = `data-export-type-${exportType}`;
62-
return h('.form-check', [
63-
h('input.form-check-input', {
64-
id,
65-
type: 'radio',
66-
value: exportType,
67-
checked: selectedExportType.length ? selectedExportType.includes(exportType) : false,
68-
name: 'export-type',
69-
onclick: () => exportModel.setSelectedExportType(exportType),
70-
}),
71-
h('label.form-check-label', {
72-
for: id,
73-
}, exportType),
74-
]);
75-
}));
60+
const exportTypeSelect = h('.flex-row.g3', [
61+
...DATA_EXPORT_TYPES.map((exportType) => {
62+
const id = `data-export-type-${exportType}`;
63+
return h('.form-check', [
64+
h('input.form-check-input', {
65+
id,
66+
type: 'radio',
67+
value: exportType,
68+
checked: selectedExportType.length ? selectedExportType.includes(exportType) : false,
69+
name: 'export-type',
70+
onclick: () => exportModel.setSelectedExportType(exportType),
71+
}),
72+
h('label.form-check-label', {
73+
for: id,
74+
}, exportType),
75+
76+
]);
77+
}),
78+
selectedExportType === DataExportTypes.CSV ? h('.f7.italic', 'For CSV export semicolon is used as delimeter') : null,
79+
80+
]);
7681

7782
const exportBtn = h('button.shadow-level1.btn.btn-success.mt2#send', {
7883
disabled: !fieldsSelected,

lib/public/utilities/export.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const createJSONExport = (content, fileName, contentType) => {
4040
downloadFile(json, fileName, contentType);
4141
};
4242

43+
const CSV_DELIMITER = ';';
44+
4345
/**
4446
* Create CSV export
4547
*
@@ -52,8 +54,8 @@ const createCSVExport = (content, fileName, contentType) => {
5254
const items = content;
5355
const replacer = (key, value) => value === null ? '' : value;
5456
const header = Object.keys(items[0]);
55-
let csv = items.map((row) => header.map((fieldName) => JSON.stringify(row[fieldName], replacer)));
56-
csv.unshift(header.join(','));
57+
let csv = items.map((row) => header.map((fieldName) => JSON.stringify(row[fieldName], replacer)).join(CSV_DELIMITER));
58+
csv.unshift(header.join(CSV_DELIMITER));
5759
csv = csv.join('\r\n');
5860
downloadFile(csv, fileName, contentType);
5961
};

0 commit comments

Comments
 (0)