// the find
woylie/flop_phoenix
Components for pagination, sortable tables and filter forms using Phoenix, Ecto and Flop
Flop Phoenix is a component library for Phoenix/LiveView that wires pagination, sortable tables, and filter forms to Flop (the Ecto query library). It's for Phoenix developers who want working table UIs without writing the URL parameter plumbing themselves.
The integration with Flop's Meta struct is well thought out — passing it directly as FormData means filter forms just work without a separate changeset or manual parameter massaging. Cursor-based and page-based pagination share the same component, and the component auto-detects which to use from the Meta struct rather than requiring separate components. The `for:` option letting the table know which columns are sortable based on your Ecto schema annotations is a nice touch — sortability lives in one place. The guides directory with recipes (infinite scroll, page size control) shows the author actually uses this in real apps.
503 stars for a library that solves a genuinely tedious problem suggests the Phoenix community hasn't fully discovered it or there's a competing approach most people reach for first. The filter form component doesn't render actual inputs itself — it passes metadata to an inner block — which is the right call for flexibility, but the required boilerplate in the README is non-trivial for what should be a simple filter bar. The lib directory is flat with a handful of files; no obvious way to audit what customization hooks exist without reading the HexDocs. LiveView streams support is there but the tuple-matching ergonomics (`{_, pet}`) are awkward and will confuse anyone new to streams.