Я вызываю функцию, которая запрашивает данные json, а затем я устанавливаю ее с помощью gridOptions.api.setRowData (data);
Но это не запускает "agAnimateShowChangeCellRenderer"
как можноя сравниваю свой старый JSON с новым и отображаю изменения?я хочу, чтобы он мигал и сравнивал значения,
Мне нравится перезагружать json каждые x секунд, и мне нравится сохранять свои фильтры и сортировку.
Можете ли вы указать мне в правильном направлении?
Спасибо!
var gridDiv = document.querySelector('#myGrid');
var selectedMonth = 0;
var gridOptions = {
columnDefs: [{
headerName: 'Country',
field: 'country'
},
{
headerName: 'City',
field: 'city',
cellRenderer: 'agAnimateShowChangeCellRenderer',
sort: 'desc',
filter: "agTextColumnFilter",
filterParams: {
newRowsAction: 'keep'
}
}, // text filter},
{
headerName: 'Jan',
field: 'jan_act',
cellRenderer: 'agAnimateShowChangeCellRenderer',
filter: "agNumberColumnFilter",
filterParams: {
newRowsAction: 'keep',
defaultOption: 'greaterThan'
}
}, // number filter
{
headerName: 'Feb',
field: 'feb_act',
cellRenderer: 'agAnimateShowChangeCellRenderer'
},
{
headerName: 'Mar',
field: 'mar_act'
},
{
headerName: 'Apr',
field: 'apr_act'
},
{
headerName: 'May',
field: 'may_act'
},
],
floatingFilter: true,
enableSorting: true,
enableColResize: true,
enableCellChangeFlash: true,
refreshCells: true,
};
new agGrid.Grid(gridDiv, gridOptions);
jsonLoad(function(data) {
gridOptions.api.setRowData(data);
gridOptions.api.sizeColumnsToFit();
});
var intervalID = window.setInterval(refesh_json, 5000);
function refesh_json() {
jsonLoad(function(data) {
gridOptions.api.setRowData(data);
});
}
function jsonLoad(callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'file:///C:/Users/Laptop-mw/Desktop/Getittowork2/NEW_index_site/monthlySales.json'); // by default async
xhr.responseType = 'json'; // in which format you expect the response to be
xhr.onload = function() {
if (this.status == 200) { // onload called even on 404 etc so check the status
callback(this.response);
}
};
xhr.onerror = function() {
console.log('loading data error');
};
xhr.send();
}