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

Multiple selections in a single filter are not carried over #1118

Open
kandarpksk opened this issue Sep 5, 2024 · 5 comments
Open

Multiple selections in a single filter are not carried over #1118

kandarpksk opened this issue Sep 5, 2024 · 5 comments
Assignees
Labels
bug Something isn't working uxr

Comments

@kandarpksk
Copy link
Collaborator

From the all datasets page, select two object names to filter by, say, microtubule and F1-F0 complex. Open any dataset from the results. Note that only microtubule persists as a filter.

@kandarpksk kandarpksk added the bug Something isn't working label Sep 5, 2024
@codemonkey800 codemonkey800 self-assigned this Sep 11, 2024
codemonkey800 added a commit that referenced this issue Sep 16, 2024
#527 
#1081
#1118

- Refactors the filter history state to query parameter strings 
- Implements remaining carry over behavior for browse back / forward
buttons
- Adds E2E tests (some incomplete until #1093 is merged)

## Demo

https://dev-filter-carry.cryoet.dev.si.czi.technology/
@codemonkey800
Copy link
Contributor

@kandarpksk this should be fixed and in production now, but please re-open if you notice any issues

@kandarpksk
Copy link
Collaborator Author

I still see the bug. Reproduction steps:

  1. Go to https://cryoetdataportal.czscience.com/browse-data/datasets?object=F1-F0+complex&object=membrane&page=15
  2. Open this result (it's one of the last results): https://cryoetdataportal.czscience.com/datasets/10301?object=F1-F0+complex
  3. Notice that only the first filter selection (F1-F0 complex) is carried over (you can see from the link in the previous step itself!). However, membrane should also be a filter selection.

Another case:

  1. Go to https://cryoetdataportal.czscience.com/browse-data/datasets?object=endoplasmic+reticulum+membrane&object=F1-F0+complex
  2. Open the first result: https://cryoetdataportal.czscience.com/datasets/10301?object=endoplasmic+reticulum+membrane
  3. Notice that only the first filter selection (endoplasmic reticulum membrane) is carried over. This is actually wrong, as this dataset does not have that object annotated. Instead, F1-F0 complex should be the only filter selection. cc: @Janeece to comment on this behavior suggestion. Since this is an OR filter, I don't know if we should show the carryover of an object that isn't annotated, or if it should be shown differently, say.

@kandarpksk kandarpksk reopened this Sep 26, 2024
@Janeece
Copy link
Collaborator

Janeece commented Sep 26, 2024

cc: @Janeece to comment on this behavior suggestion. Since this is an OR filter, I don't know if we should show the carryover of an object that isn't annotated, or if it should be shown differently, say.

@kandarpksk Ahhh this is an interesting case for carryover filters: If a carryover filter tag is not an available option for the child page, does the tag carry over or does it drop off?

I see 3 potential options:

  1. It drops off for the child, but if user goes back to parent, it comes back (somewhat aligned to whole filters falling off if they arent valid for the child page)
  2. Carry over all filter tags to child, but user can't select it from filter menu on child (so if removed, can't be reapplied from child page)
  3. Carry over all filter tags but change styling on in-applicable tag to make it feel inactive (but still removable. (I'm not sure I've seen this pattern)

IMG_0231 1

For now, I lean towards (1) -- maybe (2) -- and waiting to see if there is any confusion/what the confusion is before going through the design exercise needed for (3).

Between (1) and (2) -- I dont have a strong sense for which would feel intuitive for someone not thinking about it too much. Maybe some casual internal testing on the team would help clarify?

@kandarpksk
Copy link
Collaborator Author

Re: (2), one observation is that if a filter option isn't applicable, it does not appear in the dropdown. So it might be weird to surface it, yet it's not actually an option! So I would go with (1) or (3).

I think (1) is also similar to the case when a user manually removes a filter option, but it reappears when you go back (because that was the previous state – which is @kev-zunshiwang's design logic, I believe). If we go with (3), it might actually cause confusion in the case I just described. So I'm inclined to go with (1).

@kandarpksk kandarpksk added the uxr label Sep 26, 2024
@Janeece
Copy link
Collaborator

Janeece commented Sep 26, 2024

agreed, go with 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working uxr
Projects
None yet
Development

No branches or pull requests

3 participants