nextstrain / auspice

Web app for visualizing pathogen evolution
https://docs.nextstrain.org/projects/auspice/
GNU Affero General Public License v3.0
290 stars 159 forks source link

Enable filtering for all available metadata #1743

Closed jameshadfield closed 5 months ago

jameshadfield commented 5 months ago

See commit messages for more details, but here's the main change:

The sidebar filtering now surfaces all valid node-attrs defined across the (terminal) nodes. URL queries (?f_${attrName}=value1,value2,...) also work for all known attrs. Attributes which are known to be continuous (via a colorings definition) are excluded, as the filtering UI is not (yet) able to handle these; if a non-coloring continuous attribute is set on the nodes then this will end up as a multitude of numerical options in the sidebar.

As part of this implementation we have removed stateCountAttrs from redux state and improved the validation of (filtering) URL queries.

The behaviour of filtering, and the restriction to collecting attributes from terminal nodes only, is unchanged. See https://github.com/nextstrain/auspice/issues/1275 for more context.

Closes https://github.com/nextstrain/auspice/issues/1251