Expand restoration

Slice configuration

HTML

<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<button id="apply-last-slice">Apply last slice</button>
<button id="save-slice">Save slice</button>
<div id="pivot-container"></div>

JavaScript

var jsondata = [{
  "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": null,
  "Quantity": 19
}];

var pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  width: "100%",
  height: 430,
  toolbar: true,
  report: {
    dataSource: {
      data: jsondata
    },
    slice: {
      rows: [{
        uniqueName: "country"
      }, {
        uniqueName: "Color"
      }],
      columns: [{
        uniqueName: "[Measures]"
      }],
      measures: [{
        uniqueName: "Price"
      }, {
        uniqueName: "Quantity"
      }],
      expands: {
        rows: [{
          "tuple": ["country.[canada]"]
        }]
      }
    },
    formats: [{
      name: "",
      thousandsSeparator: ",",
      decimalSeparator: ".",
      decimalPlaces: 0,
      nullValue: "",
      infinityValue: "Over",
      divideByZeroValue: "DIV/0"
    }]
  }
});

var slice = null;

function applyLastSlice() {
	flexmonster.runQuery(slice || {});
  console.log('applied', slice);
}

function saveSlice() {
	slice = flexmonster.getReport().slice;
  console.log('saved', slice);
}

document.querySelector('#apply-last-slice').addEventListener('click', applyLastSlice);
document.querySelector('#save-slice').addEventListener('click', saveSlice);