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 class="filter">
<div><span class="label">Filter by Coutry:</span><input type="text" id="filter-country"></div>
<div><span class="label">Filter by Category:</span><input type="text" id="filter-category"></div>
</div>
<div id="pivot-container"></div>
CSS
.filter {
padding: 10px;
}
.label {
display: inline-block;
width: 100px;
margin-bottom: 10px;
}
JavaScript
new Flexmonster({
container: "#pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
width: "100%",
height: 430,
toolbar: true,
report: {
"dataSource": {
"dataSourceType": "csv",
"filename": "data/data.csv"
},
"slice": {
"rows": [{
"uniqueName": "Country"
}],
"columns": [{
"uniqueName": "Category"
},
{
"uniqueName": "[Measures]"
}
],
"measures": [{
"uniqueName": "Price",
"aggregation": "sum"
}]
}
}
});
function filterBy(field, search) {
flexmonster.setFilter(field, {
"query": {
"contain": search
}
});
}
$("#filter-country").keyup(function() {
filterBy("Country", $(this).val());
});
$("#filter-category").keyup(function() {
filterBy("Category", $(this).val());
});