ImagingDataCommons / IDC-WebApp

Web Application front end for IDC (CORE REPO)
Apache License 2.0
6 stars 2 forks source link

Should 'Check All' link really 'Check All' attribute values? #771

Open G-White-ISB opened 2 years ago

G-White-ISB commented 2 years ago

When the user clicks an attribute 'CHECK ALL' link should the following attribute values be checked 1) those that are filtered by the text search selection 2) those that have 0 cases or 3) those that are not displayed because the attribute value list is long and 'show more' is not clicked

My current feeling is that set 1 should not be checked, 2 should be checked unless 'hide values with 0 cases is on', and 3 should be checked

fedorov commented 2 years ago

I think the status of "Show more" should not affect what is selected. I also think if search filter is applied, only those that match the filter and can become visible if "Show more" is toggled should be selected.

But I always defer to GDC as a de facto reference in CRDC portal search UI, and they do not have select/unselect all at all. So an easy solution could be to get rid of it altogether, if the logic of behavior of this feature becomes complex to understand and maintain. I personally am not sure why it is important enough to occupy UI real estate. Consider how busy our filter set header is

image

compared to that in GDC:

image

ulrikew commented 2 years ago

Example: Select “Computed Radiography” from the modality list Next select “Body part examined” In my opinion, only the body parts that have matching records should be selected e.g. ABDOMEN, BLADDER etc I am undecided about selecting body parts with 0 records. Selecting them makes no sense because the query results will not change but selecting them does no harm either. I would go with what requires the least engineering effort. Records that are not displayed because the user has not yet hit the “show more” button should be included in the selection.

G-White-ISB commented 2 years ago

Ok, for now I'm inclined to keep check all//uncheck all. Check All will 'check all' attributes if the search test is empty, or check all attributes matching the search text if it is not empty. Uncheck all will always uncheck all.