grist-core
grist-core copied to clipboard
[Feature Request]
I feel the ability to add tabs to the UI would ease the creation of sites with many tables that quickly crowd a single canvas.
I'd generalize this request to "hierarchical hiding" of certain parts of the canvas.
Note that such "hiding" (especially if deeper than one level) is usually counterproductive usability-wise. It's basically a programmer's/creator's escape hatch from doing the work properly. Ask any designer who has experience with complex systems and they'll use much stronger language than I did :wink:.
In other words having a single canvas nudges one to better structure data & documents & the whole UI. So maybe things shall stay as they are?
Thoughts?
Just to make sure we are on the same page, the Grist equivalent of "spreadsheet tabs" are "pages": https://support.getgrist.com/page-widgets/#pages.
I think this feature request is about more flexibility in laying out a single page. We’ve had similar requests, particularly when trying to fit a lot of related data on one page, since placing many widgets makes each of them too small to be convenient. We’ve spent some time brainstorming the design, and have a mockup of what we’d like to build:

This includes a few features:
- Ability to move a page widget (like a table, card, chart) into a top bar, where it will show up collapsed, as a button (or tab).
- Ability to expand a widget to a full-screen (lightbox) view, either by clicking the button, or a new “expand” icon available on every widget.
- It will be possible to rearrange the buttons in the bar, or to drag those collapsed widgets back into the page layout.
For complex data, e.g. with many tables of data linking to a customer, it would make it possible to have all the linked data accessible at one click, without having to fit it all on one page.
No ETA on this yet, but would it address the original request (for tabs)? All feedback welcome!
@dsagal sounds reasonable to me.
Btw. I'd welcome an option to temporarily "expand all" collapsed widgets. Thus there should be something like "collapse all recently expanded" which would collapse only those which are designated (e.g. by dragging as described in the mockup) to collapse.
Ability to move a page widget (like a table, card, chart) into a top bar And add aggregated formulas result like GroupBy or SUM to this top bar widget? It would be very versatile.
Hmm, I agree it is a difficult problem. Being an 'old UI designer' when 800x600 was the standard, I had to resort to tabs, but there were not a lot of options back then. I did not think that the issue of UI crowding was going to be a new observation for you folks -- ;). Being unfamiliar with new UI design tools, I cannot offer suggestions, but the fact that you are ruminating on it is good -- as the quality and usability of this tremendous tool suggests you will come up a good solution.
As I was working with a table widget on a busy form, it dawned on me that being able to freeze a row or column, so it remains in view during scrolling, would be useful to keep the contained data in context.
Freezing columns is possible! From the column menu: https://support.getgrist.com/newsletters/2021-06/#freeze-columns.
Ah!!! Most excellent! Thanks!!
Could allowing multiple pages to use the same "Select By" help with this as well?
Grist allows nesting of pages (at least visually) in the sidebar. I would like to select an item in the parent page and use the selected record to show data in the nested pages. This could allow looking at related data without it crowding a single page.