From 8da5847f1e7a35f5dae8765a9f51f6e41f486f64 Mon Sep 17 00:00:00 2001 From: Ekaterina Tokareva Date: Wed, 31 Oct 2018 15:59:57 +0300 Subject: [PATCH] fix export to json bug --- core/export/export.service.d.ts | 4 ++-- core/export/json/json.js | 28 ++++++++-------------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/core/export/export.service.d.ts b/core/export/export.service.d.ts index c47b491c..3faf9d55 100644 --- a/core/export/export.service.d.ts +++ b/core/export/export.service.d.ts @@ -1,5 +1,5 @@ -declare function flattenObject(obj: object, separator: string): object; +declare function flatView(obj: object, separator?: string): object; export { - flattenObject + flatView }; diff --git a/core/export/json/json.js b/core/export/json/json.js index 3c9c9ab3..48aa80c4 100644 --- a/core/export/json/json.js +++ b/core/export/json/json.js @@ -1,30 +1,18 @@ import {flatView} from '../export.service'; -function updateTitles(rows, titles) { - const result = []; - for (let row of rows) { - const obj = {}; - const values = Object.values(row); - for (let i = 0; i < titles.length; i++) { - obj[titles[i]] = values[i]; - } - result.push(obj); - } - return JSON.stringify(result, '', 4); -} - export class Json { write(rows, columns) { - const titles = []; const result = []; for (let row of rows) { - result.push(flatView(row)); - } - for (let column of columns) { - titles.push(column.title); + const flatRow = flatView(row); + const obj = {}; + for (let column of columns) { + obj[column.title] = flatRow[column.key]; + } + result.push(obj); } - return updateTitles(result, titles); + return JSON.stringify(result, '', 4); } -} \ No newline at end of file +}