bazza/ui
bazza/ui
Apr 1

Server-side filtering

Adding support for server-side filtering will involve decoupling the UI from the filtering logic. A side effect of this will be that the data table filter component will be de-coupled from TanStack Table. You can use the UI components independently in any way you choose.
CompletedCompleted

May 6, 2025

Available now: https://ui.bazza.dev/changelog/2025-⁠05-⁠05-v0.2

Apr 13, 2025

loved the work you've done with this! excited about server-side filtering support!

Apr 15, 2025

Thanks Tahir. If you're interested in trying it out, join our Discord server: https://ui.bazza.dev/chat

Apr 7, 2025

Tracking "The Great Decoupling" in a separate request! https://feedback.ui.bazza.dev/board/p/the-great-decoupling

Apr 5, 2025

Work has begun on this, starting with "The Great Decoupling" from TanStack Table. We still love and support TST, but we want to make it easier for folks who aren't using it to still get amazing filters for their data tables. <3

Apr 2, 2025

Love the filter component! When you decouple it and make it possible to do server side filtering, it would be great to be able to choose which columns and which filters are enabled. Some filters can be very expensive for the DB. Keep up the good work!

Apr 2, 2025

You'll have full control over which columns are filtered, since you'll need to pass in some info about each column (i.e. data type being stored, label, icon, etc.) :)

Apr 2, 2025

Also you can take a look at https://github.com/ljharb/qs for a standard on params (can be used server and client side)

Apr 2, 2025

Noted, thanks for this!

Apr 1, 2025

Also, with Nuqs support (already in alpha it seems?), you're halfway through server-side support as the URL is available in both the client and server. You just need to handle loading state on filters and handle logic for applying the filter. (User needs to be aware which filters are already applied and which are in the process of being applied as server filtering is not instant like client filtering. Though another approach would be to let the user to indicate loading state outside the table/filters with something like a spinner/loader, nprogress, etc)

Apr 1, 2025

Huge upvote. Decoupling components is a good idea regardless of whether client or server-side