JSFiddle - React, Tailwind, and code Playground
by abhiklpm
JavaScript
var input = {
"name": "price-hierarchy",
"metadata": {
"name": "price1",
"valid-from": "01/01/2020"
},
"definition": [
{
"rowId": 0,
"columns": {
"0": "",
"1": "Silver",
"2": "Gold"
}
},
{
"rowId": 1,
"columns": {
"0": "Region1",
"1": "100",
"2": "200"
}
},
{
"rowId": 2,
"columns": {
"0": "Region2",
"1": "80",
"2": "60"
}
}
]
};
var getFilteredTableData = function(data){
var tableData = {};
tableData['header'] = [];
tableData['body'] = [];
Object.entries(data[0]['columns']).forEach(([key, val]) => {
tableData['header'].push({'field': val});
});
data.shift();
Object.entries(data).forEach(([key, val]) => {
tableData['body'].push(val['columns']);
});
return tableData;
};
var tableData = getFilteredTableData(input.definition);
//console.log(tableData)
var setTableData = function(tableData)
{
var cols = tableData['header'].length;
var rows = tableData['body'].length;
var colHeadings = tableData['header'];
var body = tableData['body'];
var data = [];
data.push({'rowId' : 0, 'columns' : Object.values(colHeadings) })
for(var i=0; i<rows; i++){
data.push({'rowId' : i, 'columns' : Object.values(body[i]) });
}
return data;
}
var data = setTableData(tableData);
console.log(data)