geomoose / gm3

GeoMoose 3.0 Development. Please submit pull requests to the 'main' branch.
https://www.geomoose.org
MIT License
58 stars 59 forks source link

Virtual Grid - Vibrating Grid when Overflowing #765

Open chughes-lincoln opened 1 year ago

chughes-lincoln commented 1 year ago

This is a bit of an odd bug that is somewhat hard to replicate. When scrolling through the attribute table if you stop scrolling in specific spots, it appears to get caught between two different grid states and rapidly shifts between them, which can be pretty jarring.

It appears to only occur when you have a lot of information in the attribute table (like in this old example: https://github.com/geomoose/gm3/issues/586 - I'm assuming it'd be easy to replicate on this dataset). I haven't been able to replicate it on the testing instance of the demo as there isn't much information in the parcels dataset, though I was on my build of the demo by adding a lot of duplicate fields to the parcels-row file.

theduckylittle commented 1 year ago

I highly suspect this is due a recalculation of the row-height. For example, if the first cell is too short and a cell down the row is "taller" then it causes a shift in the rendered height of the row. But if this is on the border of what is visible it will cause some glitching.

One possible solution would be to allow the user to specify the default height of the row seen here in Virtuoso's docs (see defaultItemHeight).

Marking this as a bug but going to focus time on some of the other more obvious operational bugs.

theduckylittle commented 1 year ago

Bumped to 3.12 for now... this may require some additional docs or CSS hacks to make it act right.

chughes-lincoln commented 1 year ago

I feel like the width of the cell may be more of an issue than the height.

I have a dataset that has a field that can either be very long or have nothing. When you're scrolling through different results with significantly different widths the grid has to change drastically. When I set a default width of the grid so that the grid width isn't changing dynamically (in css not in the docs you mentioned), the issue no longer occurs (or at least it's much less frequent). I'm still noticing a bit when I set a max-width so that the grid isn't changing as much, but it's less noticeable.