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);
}