License | MIT-style (see LICENSE) |
---|---|
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Portable Sindre gadgets and helper functions that can be used by any backend.
Synopsis
- mkHorizontally :: MonadBackend m => Constructor m
- mkVertically :: MonadBackend m => Constructor m
- changeField :: MonadFail im => FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im v
- changeField_ :: MonadFail im => FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im ()
- changingField :: (MonadBackend im, Mold v) => FieldDesc s im v -> ObjectM s im a -> ObjectM s im a
- data Match
- match :: Text -> Text -> Maybe Match
- filterMatches :: (a -> Text) -> Text -> [a] -> [a]
- sortMatches :: (a -> Text) -> Text -> [a] -> [a]
Documentation
mkHorizontally :: MonadBackend m => Constructor m Source #
A widget that arranges its children in a horizontal row.
mkVertically :: MonadBackend m => Constructor m Source #
A widget that arranges its children in a vertical column.
changeField :: MonadFail im => FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im v Source #
changeField field m
applies m
to the current value of the
field field
, updates field
with the value returned by m
, and
returns the new value.
changeField_ :: MonadFail im => FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im () Source #
Like changeField
, but without a return value.
changingField :: (MonadBackend im, Mold v) => FieldDesc s im v -> ObjectM s im a -> ObjectM s im a Source #
changingFields fields m
evaluates m
, then emits field change
events for those fields whose names are in fields
that changed
while evaluating m
.
The result of using match
to apply a user-provided pattern to a
string.
filterMatches :: (a -> Text) -> Text -> [a] -> [a] Source #
filterMatches f pat l
returns only those elements of l
that
match pat
, using f
to convert each element to a Text
. The
result will be ordered equivalently to l
sortMatches :: (a -> Text) -> Text -> [a] -> [a] Source #
sortMatches f pat l
returns only those elements of l
that
match pat
, using f
to convert each element to a Text
. The
result will be reordered such that exact matches come first, then
prefixes, then infixes, although original order will be maintained
within these three groups.