glazier-react-1.0.0.0: ReactJS binding using Glazier.Command.

Safe HaskellNone
LanguageHaskell2010

Glazier.React.Reactor.Exec

Synopsis

Documentation

startApp :: (MonadIO m, MonadReader r m, Has ReactorEnv r, Typeable s, AsReactor cmd, AsFacet (IO cmd) cmd) => (cmd -> m ()) -> Widget cmd s s () -> s -> JSRep -> m () Source #

An example of starting an app using the glazier-react framework

execReactorCmd :: (MonadUnliftIO m, MonadReader r m, AsReactor cmd, Has ReactorEnv r) => (cmd -> m ()) -> ReactorCmd cmd -> m () Source #

execSetRender :: MonadIO m => Subject s -> Window s () -> m () Source #

execMkSubject :: (MonadIO m, AsReactor cmd, Has ReactorEnv r, MonadReader r m) => (cmd -> m ()) -> Widget cmd s s () -> s -> m (Subject s) Source #

Make an initialized Subject for a given model using the given Window rendering function. The original window should be dropped and the Widget reduced to just a Gadget to emphasis the fact that the Window was used up. displaySubject should be used to render the subject.

execGetElementalRef :: (MonadUnliftIO m, MonadReader r m, Has ReactorEnv r) => (cmd -> m ()) -> Subject s -> ReactId -> (EventTarget -> cmd) -> m () Source #

execTickModel :: (MonadIO m, MonadReader r m, Has ReactorEnv r) => Subject s -> ModelState s cmd -> m cmd Source #

No need to run in a separate thread because it should never block for a significant amount of time. Update the scene MVar with the given action. Also triggers a rerender.

execRegisterDOMListener :: (NFData a, MonadUnliftIO m, Has ReactorEnv r, MonadReader r m) => (cmd -> m ()) -> Subject s -> JSRep -> JSString -> (JSRep -> MaybeT IO a) -> (a -> cmd) -> m () Source #

execRegisterReactListener :: (NFData a, MonadUnliftIO m) => (cmd -> m ()) -> Subject s -> ReactId -> JSString -> (JSRep -> MaybeT IO a) -> (a -> cmd) -> m () Source #

execRegisterMountedListener :: MonadUnliftIO m => (cmd -> m ()) -> Subject s -> cmd -> m () Source #

execRegisterRenderedListener :: MonadUnliftIO m => (cmd -> m ()) -> Subject s -> cmd -> m () Source #

execRegisterNextRenderedListener :: MonadUnliftIO m => (cmd -> m ()) -> Subject s -> cmd -> m () Source #

execRegisterTickedListener :: MonadUnliftIO m => (cmd -> m ()) -> Subject s -> cmd -> m () Source #