senaite / senaite.core

Enterprise Open Source Laboratory System (LIMS)
https://senaite.com
GNU General Public License v2.0
254 stars 145 forks source link

Expand app.listing items selection options [improvement] #2507

Open toropok opened 8 months ago

toropok commented 8 months ago

Hi

Our lab analyst asks for more flexibility while she works with "Add analyses" table for adding analyses to a worksheet.

They already actively use sort and search (as a filter) functions, however they ask to improve table items select functionality:

[Feature 1]. Select items with mouse.

Make it similar to files selection in the Finder

[Feature 2]. Add to app.listing context menu new selection option

When user make right-click on app.listing table item context menu appears, below "SELECT ALL" item of the context menu add sub-menu:

So Analyst can easily with right click select all samples on the list with same property as item analyst clicked on has.

We'd like to know is that useful as a PR for community?

ramonski commented 8 months ago

Hi Leonid,

Thanks for sharing the requirement of your lab!

Did you know that by holding the Shift key after a first item was selected, you can select the range in between where you select the second item? However, having a frame over the items a user wants to select would be indeed a nice feature!

Regarding the select options:

The ones you shared are quite specific to the samples listing only. How would you define such a predicate for different listings, e.g. for those in the Setup folder?

toropok commented 8 months ago

Hi!

Did you know that by holding the Shift key after a first item was selected, you can select the range in between where you select the second item? However, having a frame over the items a user wants to select would be indeed a nice feature!

NO! I didn't know that! Thank you :) it works amazingly!

The ones you shared are quite specific to the samples listing only. How would you define such a predicate for different listings, e.g. for those in the Setup folder?

When user makes a right-click on app.listing item context menu displays. This menu contains sub-items related to the table at the whole, e.g. "Select All"/"Deselect All" and commands available for apply to specific selected [item or items].

In our everyday routine we noticed that analyst want quickly click on table item and ask to select all other items in this table with same property (or grouping criteria) as clicked one. Initially I was think to use columns as such criteria, that makes approach universal. Lets consider listing used in Setup folder for AnalysisServices, with right click analyst can select:

Obviously, you're right such functionality make no sense for most Setup folder tables :) but may be it could be configurable from the View object?

ramonski commented 8 months ago

Hi Leonid,

Did you know that by holding the Shift key after a first item was selected, you can select the range in between where you select the second item? However, having a frame over the items a user wants to select would be indeed a nice feature!

NO! I didn't know that! Thank you :) it works amazingly!

Glad it works for you! It also works the other way around, so that you can deselect a range of selected items. The logic depends on the last item you clicked was selected or deselected.

The ones you shared are quite specific to the samples listing only. How would you define such a predicate for different listings, e.g. for those in the Setup folder?

When user makes a right-click on app.listing item context menu displays. This menu contains sub-items related to the table at the whole, e.g. "Select All"/"Deselect All" and commands available for apply to specific selected [item or items].

In our everyday routine we noticed that analyst want quickly click on table item and ask to select all other items in this table with same property (or grouping criteria) as clicked one. Initially I was think to use columns as such criteria, that makes approach universal. Lets consider listing used in Setup folder for AnalysisServices, with right click analyst can select:

  • all items by group, by method, by sort key and etc.

Obviously, you're right such functionality make no sense for most Setup folder tables :) but may be it could be configurable from the View object?

Yes indeed. It should be somehow configurable in the Listing View, similar to the columns, review states etc.

Jordi and I had recently a discussion about a similar use case and came up with an extended search field. I.e. that you can select there specific Indices to query and allow a combined search similar to how GitHub is doing it. I think this would cover your use-case as well without any hard-coded functionality. The available indices could be looked up dynamically and used for search.

However, for the time being there might be the following workaround:

Selected items keep selected in the listing. This allows you to search multiple times and collect the items you wish to have in the listing.