Open m-akinc opened 6 months ago
Some key takeaways from looking into TanStack's filtering API:
filterFromLeafRows
that changes the way filtering works with hierarchy. The two possible modes are:
true
: filter starting from the leaves of the data, which means parents of a matching row will be included even if they don't match the filterfalse
(default): filter starting from the top-level of hierarchy. If a parent doesn't match the filter, its descendants won't be included even if they would have matched the filter.any
, so nimble can define its own filter data structure if desired.API-wise, one approach we discussed was avoiding having the search logic in nimble table itself. Instead expose features from nimble to filter the set of rows and to calculate the presentation strings for rows. At a high-level, conceptually:
Maybe we can also export algorithms (i.e. diacrtic search, etc) to help with searching across the strings.
Gather requirements and investigate possible API/implementation options. Output should be HLD. Might require pre-HLD conversations about cost-benefit of various options.
Options could include nimble table providing APIs or pushing all logic into client.
Considerations include the following (Fred will be working to nail down requirements):