yesod-filter-0.1.0.2: Automatic filter generator for Yesod

Safe HaskellNone
LanguageHaskell2010

Yesod.Filter.TH

Synopsis

Documentation

mkFilterGenerator :: Text -> Options -> DecsQ Source #

Generates the function that creates the list of Filter and the list of SelectOpt from query parameters.

mkFilters :: ExpQ Source #

Generates the list of Filter.

mkSelectOpts :: ExpQ Source #

Generates the list of SelectOpt.

data Options Source #

Options to specify filtering, sorting, and pagination settings to generate.

Instances
Show Options Source # 
Instance details

Defined in Yesod.Filter.Types

Lift Options Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: Options -> Q Exp #

data Filtering Source #

A filtering setting.

Constructors

SimpleFiltering

Allow users to specify filtering by query parameters.

Fields

NoFiltering

Disable filtering.

Instances
Show Filtering Source # 
Instance details

Defined in Yesod.Filter.Types

Lift Filtering Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: Filtering -> Q Exp #

data FilterDef Source #

A filter defintion.

Constructors

FilterDef 

Fields

  • Text

    A field name used for the filter.

  • [FilterParam]

    Parameters used to specify the filter.

Instances
Show FilterDef Source # 
Instance details

Defined in Yesod.Filter.Types

Lift FilterDef Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: FilterDef -> Q Exp #

data FilterParam Source #

A parameter name used to specify the filter.

Constructors

AutoParam FilterOp

Use automatically generated parameter names.

CustomParam FilterOp Text

Use custom parameter name.

Instances
Show FilterParam Source # 
Instance details

Defined in Yesod.Filter.Types

Lift FilterParam Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: FilterParam -> Q Exp #

data FilterOp Source #

A comparison operator to apply to the filter.

Constructors

EqOp

=

NeOp

<>

GtOp

>

LtOp

<

GeOp

>=

LeOp

<=

IsNullOp

IS NULL

Instances
Show FilterOp Source # 
Instance details

Defined in Yesod.Filter.Types

Lift FilterOp Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: FilterOp -> Q Exp #

data Sorting Source #

A sorting setting.

Constructors

AllowSorting

Allow users to specify sort order by query parameters.

Fields

DisallowSorting

Disable sorting.

Instances
Show Sorting Source # 
Instance details

Defined in Yesod.Filter.Types

Lift Sorting Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: Sorting -> Q Exp #

data SortOrdering Source #

A value that becomes the SQL ORDER BY clause.

Instances
Show SortOrdering Source # 
Instance details

Defined in Yesod.Filter.Types

Lift SortOrdering Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: SortOrdering -> Q Exp #

data SortDirection Source #

Constructors

ASC 
DESC 
Instances
Show SortDirection Source # 
Instance details

Defined in Yesod.Filter.Types

Lift SortDirection Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: SortDirection -> Q Exp #

data Pagination Source #

A pagination setting. Currently, only offset pagination is available.

Constructors

OffsetPagination

Allow users to specify offset pagination by query parameters.

Fields

NoPagination

Disable pagination.

Instances
Show Pagination Source # 
Instance details

Defined in Yesod.Filter.Types

Lift Pagination Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: Pagination -> Q Exp #

data PageLimit Source #

A value that becomes the SQL LIMIT clause.

Constructors

NoLimit 
LIMIT Int 
Instances
Show PageLimit Source # 
Instance details

Defined in Yesod.Filter.Types

Lift PageLimit Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: PageLimit -> Q Exp #

data PageOffset Source #

A value that becomes the SQL OFFSET clause.

Constructors

NoOffset 
OFFSET Int 
Instances
Show PageOffset Source # 
Instance details

Defined in Yesod.Filter.Types

Lift PageOffset Source # 
Instance details

Defined in Yesod.Filter.Types

Methods

lift :: PageOffset -> Q Exp #

defaultOptions :: Options Source #

Default options.

defaultFiltering :: Filtering Source #

A default filtering setting.

defaultFilterParams :: [FilterParam] Source #

Default filter parameters.

defaultSorting :: Sorting Source #

A default sorting setting.

defaultPagination :: Pagination Source #

A default pagination setting.