Incant.Filter behaviour (incant v0.1.0)

Copy Markdown

Behaviour and dispatcher for Incant table filters.

Summary

Functions

Applies a list of filters to a queryable using submitted filter values.

Applies a filter value to a queryable.

Renders a filter control.

Returns whether an in-memory row matches a filter value.

Resolves the module responsible for a filter.

Types

context()

@type context() :: term()

queryable()

@type queryable() :: term()

row()

@type row() :: map()

value()

@type value() :: term()

Callbacks

apply_query(t, queryable, value, context)

@callback apply_query(Incant.Table.Filter.t(), queryable(), value(), context()) ::
  queryable()

control(t, value, map)

match?(t, row, value)

@callback match?(Incant.Table.Filter.t(), row(), value()) :: boolean()

Functions

apply_filters(filters, queryable, values, context \\ nil)

Applies a list of filters to a queryable using submitted filter values.

apply_query(filter, queryable, value, context)

Applies a filter value to a queryable.

control(filter, value, assigns)

Renders a filter control.

match?(filter, row, value)

Returns whether an in-memory row matches a filter value.

module(filter)

Resolves the module responsible for a filter.