Some filter groups represent "full coverage" when they're all selected, but some don't.
For example, the group for "User Experience Level" is not full coverage, because any of the experience levels represented do not include "unregistered" users. This means that selecting the entire group is not equivalent to not selecting anything.
On the flip side, groups like "Edit authorship" (that contain "your edits" and "edits by others") are "full coverage", so selecting all options (both filters) is, in fact, equivalent, to selecting no filter.
We should make sure the code understands the distinction between the groups in terms of marking the feature, as we allow the UI to represent them differently. This state, even if not immediately recognized in the UI, has some bearing over messages displayed to the user in cases where we know no data is displayed, and in cases where the filters "override" one another.
More specifically, effect on the UI:
- If all filters in a group that has "full coverage" are selected, then:
- In the filter list the group is active
- In the filter capsule items both filters are 'dimmed' (inactive) to relate that together they are actually not affecting the results.
- If all filters in a group that is not "full coverage" are selected, then:
- In the filter list the group is active
- In the capsule items the filters are still active
- If not all filters are selected from either group
- In the filter list the group is active
- In the filter capsule items all selected filters are active
(The "active" states of the filters in this specific task are only about full coverage property. There are other properties (like being a 'subset' of another filter, or having a 'conflict' with another filter) that may present individual filters (or groups) as 'inactive' but those will be specified in a separate task)