API call getData

Other

HTML

<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<div>
<br/>
Please open F12 tools and set it to console tab.<br/>
This was created and tested only in Chrome!<br/><br/>
Whenever you are ready - click the following button:<br/>
<input type="button" value="Let's reproduce the issue" onclick="showTheProblem(); return false;"/>&nbsp;<input type="button" value="Make corrupted state obvious!" onclick="revealTheIssue(); return false;"/>&nbsp;<input type="button" value="Return back original state" onclick="returnEverythingBack(); return false;"/>
</div>
<br/>
<div id="pivot-container">The component will appear here</div>

JavaScript

var pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    "dataSource": {
      "filename": 'data/data.csv'
    },
    "slice": {
      "rows": [
        {
          "uniqueName": "Color",
          "filter": {
            "members": [
              "color.[blue]",
              "color.[green]"
            ]
          }
        }
      ],
      "columns": [
        {
          "uniqueName": "Category",
          "filter": {
            "members": [
              "category.[accessories]",
              "category.[components]"
            ]
          }
        },
        {
          "uniqueName": "[Measures]"
        }
      ],
      "measures": [
        {
          "uniqueName": "Price",
          "aggregation": "sum",
          "active": true
        }
      ]
    }
  }
});

function showTheProblem() {
  originalState = pivot.getReport();
  console.log("Original report configuration: ", originalState);

  alert("First we will try to get all unique prices with filter by blue color");
  var s1_columns = [{uniqueName:"[Measures]"}];
  var s1_rows = [{"uniqueName": "Price"}]
  var s1_measures = [{"uniqueName": "Quantity"}];
  var s1_filters = [{"uniqueName": "Color", "filter": { "members": ["color.[blue]"]}}];
  var s1_options = {slice:{columns:s1_columns, rows: s1_rows, measures: s1_measures, reportFilters: s1_filters}};

  console.log("Querying for the first time", s1_options);
  flexmonster.getData(s1_options, function(data) {
    console.log("s1 data: ", data);
    var s1_filter_color = pivot.getFilterProperties("Color");
    var s1_filter_category = pivot.getFilterProperties("Category");
    console.log("Report level color filter is: ", s1_filter_color);
    console.log("Report level category filter is: ", s1_filter_category);
    console.log("s1 report configuration:", pivot.getReport());

    alert("First call worked just fine!\n\nBut hey...\n\nReport configuration is...