What's happening is a rather maddening interaction between the radio/checklists and the rest of the rendering cycle. The cell differ, after running, sets a changes property and triggers an update on the DataView. The grid then calls an onRowsChanged event, where we handle it by applying highlight CSS styles. Up to now, everything is happening as it's supposed to.
Where things get messy are in the Radio/Checklist runners in setPreviousSelection() that execute immediately afterwards. What they do is invalidate the entire grid (something that was already partially done during the cell highlight update), causing visible studder and showing the grid re-rendering highlights.
This is kinda tricky since the radios/checklists are hacked in there good, and are quite fragile.
What's happening is a rather maddening interaction between the radio/checklists and the rest of the rendering cycle. The cell differ, after running, sets a
changes
property and triggers an update on the DataView. The grid then calls anonRowsChanged
event, where we handle it by applying highlight CSS styles. Up to now, everything is happening as it's supposed to.Where things get messy are in the Radio/Checklist runners in
setPreviousSelection()
that execute immediately afterwards. What they do is invalidate the entire grid (something that was already partially done during the cell highlight update), causing visible studder and showing the grid re-rendering highlights.This is kinda tricky since the radios/checklists are hacked in there good, and are quite fragile.
Keywords; render twice, slickgrid, highlights, ticking, css