JSFiddle - React, Tailwind, and code Playground

by Ian Sadovy

HTML

<script src="https://s3.amazonaws.com/flexmonster/2.2/flexmonster.js"></script>
<button onclick="syncFilters()">Sync Filters</button>
<div id="pivot-content-1"></div><br>
<div id="pivot-content-2"></div>

JavaScript

var p1 = flexmonster.embedPivotComponent("https://s3.amazonaws.com/flexmonster/2.2/", "pivot-content-1", "100%", "300", {
  licenseKey: "Z53G-1T1WC3-1V1M-0L12-2M0A-1233-1I0Y-2Y2Q-1903-322S-0T2C-1I",
  configuratorActive: false,
  data: getData(),
  pages: [{ uniqueName: "city"}],
  rows: [{uniqueName: "Color"}],
  columns: [{uniqueName: "[Measures]"}],
  measures: [{uniqueName: "Price"}]
});
var p2 = flexmonster.embedPivotComponent("https://s3.amazonaws.com/flexmonster/2.2/", "pivot-content-2", "100%", "300", {
  licenseKey: "Z53G-1T1WC3-1V1M-0L12-2M0A-1233-1I0Y-2Y2Q-1903-322S-0T2C-1I",
  configuratorActive: false,
  data: getData(),
  pages: [{ uniqueName: "city"}],
  rows: [{uniqueName: "Color"}],
  columns: [{uniqueName: "[Measures]"}],
  measures: [{uniqueName: "Quantity"}]
});

function syncFilters() {
	// set same filter hierarchies from p1 to p2
	var pages = p1.getPages();
  var slice = {
  	pages: pages,
    rows: p2.getRows(),
    columns: p2.getColumns(),
    measures: p2.getMeasures()
  }
  p2.runQuery(slice);
  
  // apply filters from p1 to p2
  pages.forEach(function(item){
  	p2.setFilter(item.uniqueName, p1.getFilter(item.uniqueName));
  });
}

function getData() {
  return [{
    "Color": "green",
    "M": "September",
    "W": "Wed",
    "country": "Canada",
    "state": "Ontario",
    "city": "Toronto",
    "Price": 174,
    "Quantity": 22
  }, {
    "Color": "red",
    "M": "March",
    "W": "Mon",
    "Time": "1000",
    "country": "USA",
    "state": "California",
    "city": "Los Angeles",
    "Price": 1664,
    "Quantity": 19
  }, {
    "Color": "red",
    "M": "January",
    "W": "Mon",
    "country": "Canada",
    "state": "Quebec",
    "city": "Montreal",
    "Price": 1190,
    "Quantity": 292
  }, {
    "Color": "green",
    "D": "04/08/2014",
    "M": "August",
    "W": "Fri",
    "Time": "1000",
    "country": "USA",
    "state": "California",
    "city": "Los Angeles",
    "Price": 1222,
    "Quantity": 730
  }, {
    "Color":...