API calls expandAllData and collapseAllData
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 onclick="expandAll()">Expand all data</button>
<button onclick="collapseAll()">Collapse all data</button>
<button onclick="exportAll()">Export all data</button>
<div id="pivot-container"></div>
JavaScript
var pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
width: "100%",
height: 430,
toolbar: true,
report: {
dataSource: {
data: getData()
},
slice: {
rows: [{
uniqueName: "Country"
},
{
uniqueName: "Color"
}
],
columns: [{
uniqueName: "[Measures]"
}],
measures: [{
uniqueName: "Price"
}]
}
}
});
function expandAll() {
flexmonster.expandAllData();
}
function collapseAll() {
flexmonster.collapseAllData();
}
function exportAll() {
window.restoreLayoutAfterExport = function() {
// restore expandedRows and expandedColumns without reloading data
flexmonster.setReport(window.savedRep);
}
window.savedRep = flexmonster.getReport(); // save expandedRows and expandedColumns
flexmonster.expandAllData();
setTimeout(function() {
flexmonster.exportTo('excel', {
filename: 'test.xls'
}, 'restoreLayoutAfterExport');
}, 1);
}
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": "white",
"M": "March",
"W": "Wed",
"Country": "USA",
"State": "California",
"City": "Los Angeles",
"Price": 7941,
...