Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: list_view spec #352

Merged
merged 5 commits into from
Mar 13, 2024
Merged

Conversation

jnumainville
Copy link
Collaborator

@jnumainville jnumainville commented Mar 11, 2024

Adds spec for list_view

There are two major additions on top of what has been discussed in the picker spec.

  1. Instead of just titles, it seems like PartitionedTable can be supported through created section items that themselves have children. These are just "normal" items, but would have Navigation icons that allow collapsing.
  2. I see it as an oversight (or at least not ideal) to some extent that there's no simple way for embedded buttons to access their parent's keys easily, as far as I can tell. I suppose it's simple enough to bind item keys to button events if you're doing this in React, but I think we'll want a way to do that easily, especially with tables, because it doesn't make sense to pass a button for each item in a ticking table. The least intrusive method here is returning extra args for the item key and section key that a button is embedded in that can be ignored (using the changes implemented in feat: Support for dropping extra callback args #271).

@jnumainville jnumainville self-assigned this Mar 11, 2024
plugins/ui/DESIGN.md Outdated Show resolved Hide resolved
plugins/ui/DESIGN.md Outdated Show resolved Hide resolved
@dsmmcken
Copy link
Contributor

PartitionedTable navigable sections? What do you mean by this? What do you expect happens when one clicks it. This isn't something fully baked into spectrum it seems, like there's a place for the > arrow, but what happens when you click that?

@jnumainville
Copy link
Collaborator Author

jnumainville commented Mar 11, 2024

@dsmmcken Yes, it's that > arrow behavior I was trying to describe, with the term sections used to link it more broadly to the idea of 1 constituent table = 1 section, and the term navigable to imply that you use the navigation icon.
I was wondering the same thing as to why there isn't a fully fleshed example on the docs and just figured we had to implement our own behavior of showing/hiding the list items in the constituent right below.
Although, on second thought, maybe it's meant to "replace" the whole list on click? Maybe that makes more sense due to the arrow directionality.

@jnumainville
Copy link
Collaborator Author

To be honest, I don't love it (the args are very verbose and it might be more trouble than it's worth), and would be fine dropping it, but it is a way to display a PartitionedTable and I don't see another way to do it in the case of a ListView

@dsmmcken
Copy link
Contributor

I would drop support for it at this time.

Seems like a building block feature on the spectrum side that one could use to build a drill-down style UI on top of. Like each drill down level is a set of partition keys, but state would be outside of that list. Would need a JS ui component for transitioning states etc.

@jnumainville jnumainville requested a review from mofojed March 12, 2024 13:16
mofojed
mofojed previously approved these changes Mar 13, 2024
plugins/ui/DESIGN.md Outdated Show resolved Hide resolved
plugins/ui/DESIGN.md Show resolved Hide resolved
@jnumainville jnumainville merged commit bca3880 into deephaven:main Mar 13, 2024
12 checks passed
@jnumainville jnumainville mentioned this pull request Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants