glazier-react-0.3.0.2: ReactJS binding using Glazier and Pipes.Fluid

Safe HaskellNone
LanguageHaskell2010

Glazier.React.Markup

Description

HtmlT inspired monad for creating ReactElements

Synopsis

Documentation

data BranchParam Source #

The parameters required to create a branch ReactElement with children

data LeafParam Source #

The parameters required to create a leaf ReactElement (no children)

Constructors

LeafParam JSVal [Property] 

fromMarkup :: ReactMarkup -> IO ReactElement Source #

Create ReactElements from a AtomMarkup

newtype ReactMlT m a Source #

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.

Constructors

ReactMlT 

Instances

MFunctor ReactMlT Source # 

Methods

hoist :: Monad m => (forall a. m a -> n a) -> ReactMlT m b -> ReactMlT n b #

Monad m => Monad (ReactMlT m) Source # 

Methods

(>>=) :: ReactMlT m a -> (a -> ReactMlT m b) -> ReactMlT m b #

(>>) :: ReactMlT m a -> ReactMlT m b -> ReactMlT m b #

return :: a -> ReactMlT m a #

fail :: String -> ReactMlT m a #

Functor m => Functor (ReactMlT m) Source # 

Methods

fmap :: (a -> b) -> ReactMlT m a -> ReactMlT m b #

(<$) :: a -> ReactMlT m b -> ReactMlT m a #

MonadFix m => MonadFix (ReactMlT m) Source # 

Methods

mfix :: (a -> ReactMlT m a) -> ReactMlT m a #

MonadFail m => MonadFail (ReactMlT m) Source # 

Methods

fail :: String -> ReactMlT m a #

Monad m => Applicative (ReactMlT m) Source # 

Methods

pure :: a -> ReactMlT m a #

(<*>) :: ReactMlT m (a -> b) -> ReactMlT m a -> ReactMlT m b #

(*>) :: ReactMlT m a -> ReactMlT m b -> ReactMlT m b #

(<*) :: ReactMlT m a -> ReactMlT m b -> ReactMlT m a #

MonadPlus m => Alternative (ReactMlT m) Source # 

Methods

empty :: ReactMlT m a #

(<|>) :: ReactMlT m a -> ReactMlT m a -> ReactMlT m a #

some :: ReactMlT m a -> ReactMlT m [a] #

many :: ReactMlT m a -> ReactMlT m [a] #

MonadPlus m => MonadPlus (ReactMlT m) Source # 

Methods

mzero :: ReactMlT m a #

mplus :: ReactMlT m a -> ReactMlT m a -> ReactMlT m a #

MonadIO m => MonadIO (ReactMlT m) Source # 

Methods

liftIO :: IO a -> ReactMlT m a #

Monad m => MonadState (DList ReactMarkup) (ReactMlT m) Source # 
(Semigroup a, Monad m) => Semigroup (ReactMlT m a) Source # 

Methods

(<>) :: ReactMlT m a -> ReactMlT m a -> ReactMlT m a #

sconcat :: NonEmpty (ReactMlT m a) -> ReactMlT m a #

stimes :: Integral b => b -> ReactMlT m a -> ReactMlT m a #

(Monoid a, Monad m) => Monoid (ReactMlT m a) Source # 

Methods

mempty :: ReactMlT m a #

mappend :: ReactMlT m a -> ReactMlT m a -> ReactMlT m a #

mconcat :: [ReactMlT m a] -> ReactMlT m a #

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

txt :: Applicative m => JSString -> ReactMlT m () Source #

For text content

lf :: Applicative m => JSVal -> [Property] -> ReactMlT m () Source #

For the contentless elements: eg br_

bh :: Functor m => JSVal -> [Property] -> ReactMlT m a -> ReactMlT m a Source #

For the contentful elements: eg div_