Я использую Slick Grid для рендеринга данных. Эти же данные отображаются на карте. Я заполняю данные в Slick Grid, используя следующий код.
this.dataViewObj.beginUpdate();
if (items && items.length > 0) {
this.dataViewObj.setItems(items, ["id"]);
}
this.dataViewObj.endUpdate();
this.dataViewObj.refresh();
this.angularGrid.slickGrid.render();
this.angularGrid.gridService.renderGrid();
В то время как на карте я отображаю данные в событии "onRowCountChanged" объекта DataView.
this.dataViewObj.onRowCountChanged.subscribe(function (e, args) {
/**
* iterate over data in data view object and create an array of pointData
*/
dataSharingService.notifyMapToRenderPoints.emit(pointData)
})
Теперь проблема в том, что "Функция onRowCountChanged вызывается при первом отображении данных в сетке, а также при каждом применении фильтра к сетке.
Я хочу различать загрузку данных в первый раз и загрузку отфильтрованных данных в сетке, поскольку дляв первый раз, когда я хочу нарисовать точки на карте, и каждый раз, когда применяется фильтр, один и тот же набор точек должен быть сделан видимым / невидимым на основе данных, видимых в сетке.
Как отличить первый раззагрузка данных и фильтрация данных в Slick Grid.