workflowproducts / envelope

Publish web apps based on your PostgreSQL database fast!
https://workflowproducts.com/envelope.html
Apache License 2.0
53 stars 2 forks source link

Potential GS-Table Render Modes #137

Closed michaeltocci closed 1 year ago

michaeltocci commented 6 years ago

Right now, the gs-table element only renders the visible cells in the viewport. This is good and will stay. However, it seems like we have an option to parameterize how scrolling is handled. We could give the developer the option of specifying if all columns and/or all records are rendered regardless of visibility.

Visible Cols + Visible Rows (what we have right now)

All Cols + All Rows

Visible Cols + All Rows

All Cols + Visible Rows

Having the option of changing what is rendered at any given moment will allow the user to tune the speed for their specific needs. Depending on their data and templates, they may get some speed benefits out of these different options.

Thoughts? Is it worth a four to six hours to implement?

nunziotocci commented 6 years ago

It sounds like you might also want to add a "col-padding" or "row-padding" attribute. This would allow the next few columns/rows in each direction are pre-rendered so you get the scrolling benefits in addition to some loading speedup.

Would that work? Can you render the offscreen cells in a background thread while the user is scrolling?

michaeltocci commented 6 years ago

I like that, it gives more control. At that point, we could give them col-left-padding, col-right-padding, row-left-padding and row-right-padding for maximum control.

There wouldn't be any background thread. It can't handle DOM that way. It would just be in the element's viewport ready to be moved into position.

crosstocci commented 1 year ago

Discussed with @michaeltocci, we have decided this is not worth the time.