JSFiddle - React, Tailwind, and code Playground

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>

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"}

     ],
      "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",
    "Column2": "2",
    "Column3": "3",
    "Column4": "4",
    "Column5": "5",
    "Column6":...