girder / girder_web_components

Reusable Javascript and VueJS components for interacting with a Girder server.
https://gwc.girder.org
Apache License 2.0
16 stars 9 forks source link

Support grid view for data browser #132

Closed subdavis closed 4 years ago

subdavis commented 5 years ago

Support for a grid-style data browser with thumbnails where appropriate.

This is something of a stretch, but it's a feature I've heard requested a few times now from users of my consumer apps. Could be accomplished by dynamically swapping v-data-table for v-data-iterator. There are probably many complications.

subdavis commented 5 years ago

I was playing around with it and I'm imagining something like this. It's actually not that challenging, particularly in the case where selection is disabled.

Screenshot from 2019-07-30 21-35-49

Any use case for continuing to work on this?

jeffbaumes commented 5 years ago

The mockup looks great, thanks for putting it together!

Any use case for continuing to work on this?

Good question. I think this relates to how useful thumbnailing will be. We currently have one thumbnail plugin that I know of in the old UI, which displays thumbnails of large images. I think it's safe to say that (1) tiles are not beneficial if there are no thumbnail displays, and (2) we would need to agree upon an extensible thumbnail framework, including deciding on the most useful tile size, the space allocated for thumbnails, and a way to "plug in" new thumbnail modules. Most applications will have a single main datatype that they will want thumbnails for, and may want different sizes, aspect ratios, etc. so I'm not sure the utility of a general tiled view framework.

More useful in my mind is the ability for downstream apps to extend the data browser to add a button/toggle to switch to a custom view, or to replace the view altogether and disallow the list view. This is probably already possible with the Vue components we have, so I'd recommend not doing the tile view right now.