Zoomcharts State
Zoomcharts selection state after data is updated
by YeongCY
HTML
<script src="https://cdn.zoomcharts-cloud.com/1/latest/zoomcharts.js"></script>
<button onClick="filterData()">Remove</button>
<input id="filter" type="text" value="Playstation 3"><br>
<button onClick="restoreData()">Restore</button>
<div id="demo"></div>
JavaScript
var data = {
subvalues: [{
name: "Safari (in-app)",
value: 0,
"id": "Safari (in-app)"
},
{
name: "Mozilla Compatible Agent",
value: 296,
"id": "Mozilla Compatible Agent"
},
{
name: "Playstation 3",
value: 204,
"id": "Playstation 3"
},
{
name: "YaBrowser",
value: 179,
"id": "YaBrowser"
},
{
name: "IE with Chrome Frame",
value: 92,
"id": "IE with Chrome Frame"
},
{
name: "Amazon Silk",
value: 84,
"id": "Amazon Silk"
}
]
};
var newData = $.extend({}, data);
var t = new FacetChart({
container: document.getElementById("demo"),
filters: {
allowZeroValues: false
},
data: {
//preloaded: data
dataFunction: function(id, limit, offset, success, fail) {
console.log(id);
if (id === '')
success(newData);
else
fail();
}
}
});
//var state = t.saveState();
//console.log(state);
function filterData() {
var state = t.saveState();
var filter = $("#filter").val();
/* var newData = {
subvalues: []
}; */
newData.subvalues = $.grep(data.subvalues, function(item, i) {
return item.name !== filter;
});
t.reloadData();
//t.replaceData(newData);
/* setTimeout(function() {
t.restoreState(state);
}, 1000); */
}
function restoreData() {
//var state = t.saveState();
newData = $.extend({}, data);
//t.replaceData(data);
t.reloadData();
/* setTimeout(function() {
t.restoreState(state);
}, 1000); */
}