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>
<button onclick="clearAllFilters()">
Clear all filters
</button>
<div id="pivot-container"></div>
CSS
.output {
width: 80%;
height: 300px;
margin-left: auto;
margin-right: auto;
padding: 20px;
background: rgba(242, 242, 242, 1);
font-family: Menlo, Monaco, "Courier New", Courier, monospace;
white-space: pre;
font-size: 16px;
font-weight: 400;
overflow-y: scroll;
margin-top: 20px;
}
JavaScript
let pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
report: {
dataSource: {
filename: "data/data.csv"
},
slice: {
rows: [{
filter: {
members: ["color.[blue]", "color.[green]"]
},
uniqueName: "Color"
},
{
uniqueName: "[Measures]"
}
],
columns: [{
filter: {
members: ["country.[australia]", "country.[canada]"]
},
uniqueName: "Country"
}],
measures: [{
uniqueName: "Price",
aggregation: "sum"
}]
}
}
});
function clearAllFilters() {
let report = flexmonster.getReport();
report.slice.rows = report.slice.rows.map(obj => {
delete obj.filter;
return obj;
})
report.slice.columns = report.slice.columns.map(obj => {
delete obj.filter;
return obj;
})
flexmonster.setReport(report);
}