Skip to content

Filtering doesn't match against cellFilter'd value #3046

@PaulL1

Description

@PaulL1

When you apply a cellFilter to your column you're transforming the value in some way. When a user uses the filter (aka rowSearcher) to get a subset of their rows, they're really expecting to filter against the rendered version of the data, not whatever underlying representation you may have.

For example, in the edit feature tutorial we turn the gender field into a coded value with values of 1 (male) or 2 (female), and use a cellFilter to format that. Someone filtering that dataset would probably expect to enter male or female, not 1 or 2.

There are two paths to resolving this:

  1. Working out how to run the cellFilter, and applying the filtering to the cellFiltered version. The problem is that the cellFilter is in a binding-suitable format (e.g. myMap | translate), which doesn't necessarily allow us to directly run the filter. We could introduce yet another filter variable - cellFilterFilter perhaps - that gives us functions to call directly, but that's getting a bit extreme (noticing we have filter options everywhere already because of the different contexts).
  2. Build a dropdown capability for the filtering UI, on the logic that most of the time that this is a problem it'll be because someone is decoding values from a coded set, so actually a dropdown would be far more useful.

At the moment I'm planning to do the second, but I'm thinking on it for a little while.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions