JSFiddle - React, Tailwind, and code Playground
by jabbad
HTML
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>
CSS
#fm-pivot-view #fm-grid-view .fm-total-classic-r {
background-color: #B2DBBF;
}
#fm-pivot-view #fm-grid-view .fm-grand-total-r {
background-color: #70C1B3;
}
#fm-pivot-view #fm-grid-view .fm-grand-total-c {
background-color: #247BA0;
}
JavaScript
var pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
width: "100%",
height: 500,
toolbar: true,
customizeCell: customizeCellFunction,
report: {
"dataSource": {
"data": getData()
},
"slice": {
"reportFilters": [
{"uniqueName": "Destination"},
{"uniqueName": "Discount"},
{"uniqueName": "Quantity"},
{"uniqueName": "Size"},
{"uniqueName": "Column1"},
{"uniqueName": "Column2"},
{"uniqueName": "Column3"},
{"uniqueName": "Column4"},
{"uniqueName": "Column5"},
{"uniqueName": "Column6"},
{"uniqueName": "Column7"},
{"uniqueName": "Column8"},
{"uniqueName": "Column9"},
{"uniqueName": "Column10"},
],
"rows": [{
"uniqueName": "Country"
}, {
"uniqueName": "Business Type"
}, {
"uniqueName": "Category"
}, {
"uniqueName": "[Measures]"
}],
"columns": [{
"uniqueName": "Color"
}],
"measures": [{
"uniqueName": "Price"
}],
"expands": {
"rows": [
{
"tuple": [
"country.[australia]"
]
},
{
"tuple": [
"country.[australia]",
"business type.[warehouse]"
]
}
]
}
},
"options": {
"grid": {
"type": "flat"
}
}
}
});
function customizeCellFunction(cell, data) {
if (data.isClassicTotalRow) cell.addClass("fm-total-classic-r");
if (data.isGrandTotalRow) cell.addClass("fm-grand-total-r");
if (data.isGrandTotalColumn) cell.addClass("fm-grand-total-c");
}
function getData() {
return [{
"Category": "Accessories",
"Size": "262 oz",
"Color": "red",
"Destination": "Australia",
"Business Type": "Specialty Bike Shop",
"Country": "Australia",
"Price": 174,
"Quantity": 225,
"Discount": 23,
"Column1": "1",
...