react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
27 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var FileSaver = require("file-saver");
var common_1 = require("../../utils/common");
var tableUtils_1 = require("./tableUtils");
var tableUtils_2 = require("./tableUtils");
function exportToCsv(fileName, columns, tableData) {
var separator = ',';
// const replacer = ( key: string, value: string ) => value === null ? '' : value;
var filteredColumns = columns.filter(function (column) { return column.field !== tableUtils_2.ACTIONS_COLUMN; });
var header = filteredColumns
.map(function (column) { return column.title; });
var items = common_1.getNestedField(tableData, ['data', 'items']);
if (!!items) {
var csv = items.map(function (row) {
return filteredColumns
.map(function (column) { return tableUtils_1.getValue(column, row); })
.join(separator);
});
csv.unshift(header.join(separator));
var processedCsv = csv.join('\r\n');
var blob = new Blob([processedCsv], { type: "text/csv;charset=utf-8" });
FileSaver.saveAs(blob, fileName);
}
}
exports.exportToCsv = exportToCsv;
//# sourceMappingURL=tableExport.js.map