GMOD / Apollo3

JBrowse 2 plugin for editing annotations on an Apollo server
Apache License 2.0
7 stars 4 forks source link

Add filtering to LinearApolloDisplay #450

Open garrettjstevens opened 2 months ago

garrettjstevens commented 2 months ago

JBrowse has track filtering, and one way of accessing it is through the track menu. The UI for adding filters looks like this: image

Apollo needs something similar, although because the Apollo track configuration is dynamically generated, we can perhaps do something different from jexl.

Types of filters users have requested:

garrettjstevens commented 1 month ago

This will be accessible by a track menu item, the same idea as the menu items added in #461. The onClick for that menu item will queue a dialog (similar to the menu items in packages/jbrowse-plugin-apollo/src/ApolloInternetAccount/addMenuItems.ts). For now the dialog can be a strict feature type filter, with a drop-down to choose a feature type like the drop-down in packages/jbrowse-plugin-apollo/src/components/AddChildFeature.tsx.

The filtered types can be stored as a string array in the .props of packages/jbrowse-plugin-apollo/src/LinearApolloDisplay/stateModel/layouts.ts, and then featuresMinMax, featureLayouts, in that file can check the filtered types and skip the features if necessary.