PostHog / posthog

🦔 PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host.
https://posthog.com
Other
21.26k stars 1.26k forks source link

Universal filtering pattern for data tables and other list types #11017

Closed clarkus closed 1 month ago

clarkus commented 2 years ago

Is your feature request related to a problem?

Our product is made up of a few archetypical page types - one of these is a list view. Most often these views are using data table or card-style components to summarize each item in the list. The attributes that describe each item in the list are used for sorting and filtering the list to make specific items easier to find. Currently our sorting and filtering patterns are inconsistent. The goal of this issue is to make those filters consistent for all list types.

Describe the solution you'd like

A reusable filtering pattern for list views. This pattern would prioritize the most valuable / frequently used attribute filters for each list view. There are going to be some filters that are sufficiently complex that they won't scale to be displayed prominently above a list view. These filters are still valuable, so they should be included via some secondary interface that provides the space necessary to complete the filters when they're needed.

These filters are closely related to export and configuration options, so they should be placed adjacent to those controls. As part of this solution we could also standardize the placement of export and configuration controls.

Describe alternatives you've considered

I feel like we've implemented all the alternatives at this point - ad hoc filtering patterns mostly focused on fuzzy keyword searching.

Additional context

@joethreepwood described this well in https://github.com/PostHog/posthog/issues/10988 but the problem applies more broadly. The solution would need to be adjusted for each list. As an example, we could prioritize filtering a project membership table by roles, an insight list by types, or an experiment list by status.

This concept recently came up during projects for recordings and data management. Here are some example assets from recordings (not in production yet) that illustrate prominent filters along with secondary filters in a modal.

The recordings list can be filtered quickly using event matching, time ranges, and recording duration. Secondarily, a user can use more complex filters to match complex event filters, cohorts, or person properties.

Recordings list - biased towards binging

list

Thank you for your feature request – we love each and every one!

macobo commented 2 years ago

Related: https://github.com/PostHog/posthog/issues/7963

IMO a key point we're missing right now is being able to "pivot" from one view to another while retaining filters in a sane way.

posthog-bot commented 2 months ago

This issue hasn't seen activity in two years! If you want to keep it open, post a comment or remove the stale label – otherwise this will be closed in two weeks.

posthog-bot commented 1 month ago

This issue was closed due to lack of activity. Feel free to reopen if it's still relevant.