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

#custom-tab {
  margin: 20px 30px !important;
  width: 300px;
  padding: 5px 10px!important;
}

JavaScript

let pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    dataSource: {
      filename: "data/data.json"
    }
  },
  beforetoolbarcreated: customizeToolbar
});


function customizeToolbar(toolbar) {
  let tabs = toolbar.getTabs();
  tabs.unshift({
    id: "custom-tab"
  });
  tabs = tabs.filter(tab => tab.id == 'custom-tab' || tab.id == "fm-tab-grid" || tab.id == "fm-tab-charts" || tab.id == "fm-tab-fullscreen" || tab.id == "fm-tab-format" || tab.id == "fm-tab-options" || tab.id == "fm-tab-fields")
  toolbar.getTabs = function() {
    return tabs;
  }

  var baseCreateTab = toolbar.createTab;
  toolbar.createTab = function(data, parent) {

    if (data.id == "custom-tab") {
      //your own code for additional tab
      var select = document.createElement("select");
      select.id = 'custom-tab';

      for (let i = 0; i < 3; i++) {
        var option = document.createElement("option");
        option.value = i;
        option.text = "Option" + i;
        select.appendChild(option);
      }
      return select;
    }
    return baseCreateTab.call(toolbar, data, parent);
  }
}