JSFiddle - React, Tailwind, and code Playground
by Flexmonster Pivot Table
HTML
<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>
CSS
#pivot-container #fm-toolbar-wrapper {
pointer-events: none;
}
JavaScript
new Flexmonster({
container: "#pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
height: 500,
toolbar: true,
reportcomplete: () => {
document.querySelectorAll('#pivot-container #fm-toolbar-wrapper').forEach(element => {
element.style.pointerEvents = 'auto';
})
},
report: {
dataSource: {
type: "csv",
filename: "https://raw.githubusercontent.com/RonzyC/flexmonster-bugs/main/data_random.csv",
mapping: {
"revenue": {
"caption": "REVENUE",
"type": "number"
},
"country": {
"caption": "COUNTRY"
},
"store": {
"caption": "STORE"
},
"item": {
"caption": "ITEM"
},
"day": {
"caption": "DAY",
},
},
},
slice: {
"columns": [{
"uniqueName": "[Measures]"
},
{
"uniqueName": "day"
}
],
"rows": [{
"uniqueName": "country"
},
{
"uniqueName": "store"
},
{
"uniqueName": "item"
}
],
"measures": [{
"uniqueName": "revenue",
"aggregation": "sum",
"active": true,
"format": "currency"
}, ]
},
formats: [{
name: "",
thousandsSeparator: ",",
decimalSeparator: ".",
decimalPlaces: 2,
}, ],
options: {
grid: {
type: "classic"
},
useCaptionsInCalculatedValueEditor: true
}
}
});