Portability | portable |
---|---|
Stability | provisional |
Safe Haskell | Safe-Infered |
Portable Sindre gadgets and helper functions that can be used by any backend.
- mkHorizontally :: MonadBackend m => Constructor m
- mkVertically :: MonadBackend m => Constructor m
- changeField :: FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im v
- changeField_ :: 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
- = ExactMatch
- | PrefixMatch
- | InfixMatch
- match :: Text -> Text -> Maybe Match
- filterMatches :: (a -> Text) -> Text -> [a] -> [a]
- sortMatches :: (a -> Text) -> Text -> [a] -> [a]
Documentation
mkHorizontally :: MonadBackend m => Constructor mSource
A widget that arranges its children in a horizontal row.
mkVertically :: MonadBackend m => Constructor mSource
A widget that arranges its children in a vertical column.
changeField :: FieldDesc s im v -> (v -> ObjectM s im v) -> ObjectM s im vSource
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_ :: 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 aSource
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.