Flop logo

Flop

Filtering, ordering and pagination with Ecto

https://github.com/woylie/flop
Flop featured image

Description

Flop is an Elixir library designed to easily apply filtering, ordering, and pagination to your Ecto queries. Offset-based pagination: Allows pagination through offset/limit or page/page_size parameters. Cursor-based pagination: Also known as key set pagination, provides a more efficient alternative to offset-based pagination. Compatible with Relay pagination arguments. Sorting: Applies sort parameters on multiple fields in any direction. Filtering: Allows complex data filtering using multiple conditions, operators, and fields. Parameter validation: Ensures the validity of provided parameters. Configurable filterable and sortable fields: Only applies parameters to the fields that were explicitly configured as filterable or sortable. Join fields: Allows the application of pagination, sort, and filter parameters on any named binding. Provides functions to help you to avoid unnecessary join clauses. Compound fields: Provides the ability to apply filter parameters on multiple string fields, for example for a full name filter. Custom fields: Provides an escape hatch for filters that Flop is not able to build on its own. Relay connection formatter: Formats the connection in Relay style, providing edges, nodes, and page info. UI helpers and URL builders through Flop Phoenix: Pagination, sortable tables and filter forms.

Type

Library

Tech Stack

Elixir Ecto NimbleOptions

Categories

Database & ORM

Images

Flop image 1