Safe Haskell | None |
---|---|
Language | Haskell2010 |
HtmlT
inspired monad for creating ReactElement
s
- data ReactMarkup
- data BranchParam = BranchParam JSVar [Property] (DList ReactMarkup)
- data LeafParam = LeafParam JSVar [Property]
- fromMarkup :: ReactMarkup -> IO ReactElement
- newtype ReactMlT m a = ReactMlT {
- runReactMlT :: StateT (DList ReactMarkup) m a
- type ReactMl = ReactMlT Identity
- fromElement :: Applicative m => ReactElement -> ReactMlT m ()
- toElements :: MonadIO io => ReactMlT io () -> io [ReactElement]
- markedWindow :: MonadIO io => WindowT s (ReactMlT io) () -> WindowT s io [ReactElement]
- markedElements :: MonadIO io => WindowT s (ReactMlT io) () -> s -> io [ReactElement]
- markedElement :: MonadIO io => WindowT s (ReactMlT io) () -> s -> io ReactElement
- txt :: Applicative m => JSString -> ReactMlT m ()
- lf :: Applicative m => JSVar -> [Property] -> ReactMlT m ()
- bh :: Functor m => JSVar -> [Property] -> ReactMlT m a -> ReactMlT m a
Documentation
data ReactMarkup Source #
Monad m => MonadState (DList ReactMarkup) (ReactMlT m) Source # | |
data BranchParam Source #
The parameters required to create a branch ReactElement with children
The parameters required to create a leaf ReactElement (no children)
fromMarkup :: ReactMarkup -> IO ReactElement Source #
Create ReactElement
s from a AtomMarkup
Monadic generator of ReactActom.
It is a CPS-style WriterT (ie a StateT) to build up a function
build up a computations to generate a '[AtomMarkup]'.
You can use runStateT
with an initial state of mempty
.
ReactMlT | |
|
MFunctor ReactMlT Source # | |
Monad m => Monad (ReactMlT m) Source # | |
Functor m => Functor (ReactMlT m) Source # | |
MonadFix m => MonadFix (ReactMlT m) Source # | |
MonadFail m => MonadFail (ReactMlT m) Source # | |
Monad m => Applicative (ReactMlT m) Source # | |
MonadPlus m => Alternative (ReactMlT m) Source # | |
MonadPlus m => MonadPlus (ReactMlT m) Source # | |
MonadIO m => MonadIO (ReactMlT m) Source # | |
Monad m => MonadState (DList ReactMarkup) (ReactMlT m) Source # | |
(Semigroup a, Monad m) => Semigroup (ReactMlT m a) Source # | |
(Monoid a, Monad m) => Monoid (ReactMlT m a) Source # | |
fromElement :: Applicative m => ReactElement -> ReactMlT m () Source #
To use an exisitng ReactElement
toElements :: MonadIO io => ReactMlT io () -> io [ReactElement] Source #
Convert the ReactMlt to [R.ReactElement]
markedWindow :: MonadIO io => WindowT s (ReactMlT io) () -> WindowT s io [ReactElement] Source #
Render the ReactMlt under a Glazier window
markedElements :: MonadIO io => WindowT s (ReactMlT io) () -> s -> io [ReactElement] Source #
Fully render the ReactMlt into a [R.ReactElement]
markedElement :: MonadIO io => WindowT s (ReactMlT io) () -> s -> io ReactElement Source #
Fully render the ReactMlt into a R.ReactElement