reflex-dom-core-0.4: Functional Reactive Web Apps with Reflex

Safe HaskellNone
LanguageHaskell98

Reflex.Dom.Builder.Class

Synopsis

Documentation

data SelectElement er d t Source #

Constructors

SelectElement 

Fields

data Element er d t Source #

Instances
Reflex t => HasDomEvent (t :: k2) (Element EventResult d t) en Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomEventType (Element EventResult d t) en :: * Source #

type DomEventType (Element EventResult d t) en Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

data Propagation Source #

newtype TextNode d t Source #

Constructors

TextNode 

class (Monad m, Reflex t, DomSpace (DomBuilderSpace m), NotReady t m, Adjustable t m) => DomBuilder t m | m -> t where Source #

DomBuilder t m indicates that m is a Monad capable of building dynamic DOM in the Reflex timeline t

Associated Types

type DomBuilderSpace m :: * Source #

Methods

textNode :: TextNodeConfig t -> m (TextNode (DomBuilderSpace m) t) Source #

textNode :: (MonadTrans f, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => TextNodeConfig t -> m (TextNode (DomBuilderSpace m) t) Source #

element :: Text -> ElementConfig er t (DomBuilderSpace m) -> m a -> m (Element er (DomBuilderSpace m) t, a) Source #

element :: (MonadTransControl f, StT f a ~ a, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => Text -> ElementConfig er t (DomBuilderSpace m) -> m a -> m (Element er (DomBuilderSpace m) t, a) Source #

inputElement :: InputElementConfig er t (DomBuilderSpace m) -> m (InputElement er (DomBuilderSpace m) t) Source #

inputElement :: (MonadTransControl f, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => InputElementConfig er t (DomBuilderSpace m) -> m (InputElement er (DomBuilderSpace m) t) Source #

textAreaElement :: TextAreaElementConfig er t (DomBuilderSpace m) -> m (TextAreaElement er (DomBuilderSpace m) t) Source #

textAreaElement :: (MonadTransControl f, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => TextAreaElementConfig er t (DomBuilderSpace m) -> m (TextAreaElement er (DomBuilderSpace m) t) Source #

selectElement :: SelectElementConfig er t (DomBuilderSpace m) -> m a -> m (SelectElement er (DomBuilderSpace m) t, a) Source #

selectElement :: (MonadTransControl f, StT f a ~ a, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => SelectElementConfig er t (DomBuilderSpace m) -> m a -> m (SelectElement er (DomBuilderSpace m) t, a) Source #

placeRawElement :: RawElement (DomBuilderSpace m) -> m () Source #

placeRawElement :: (MonadTrans f, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => RawElement (DomBuilderSpace m) -> m () Source #

wrapRawElement :: RawElement (DomBuilderSpace m) -> RawElementConfig er t (DomBuilderSpace m) -> m (Element er (DomBuilderSpace m) t) Source #

wrapRawElement :: (MonadTrans f, m ~ f m', DomBuilderSpace m' ~ DomBuilderSpace m, DomBuilder t m') => RawElement (DomBuilderSpace m) -> RawElementConfig er t (DomBuilderSpace m) -> m (Element er (DomBuilderSpace m) t) Source #

Instances
DomBuilder t m => DomBuilder t (InputDisabledT m) Source # 
Instance details

Defined in Reflex.Dom.Builder.InputDisabled

Associated Types

type DomBuilderSpace (InputDisabledT m) :: * Source #

(DomBuilder t m, PerformEvent t m, MonadFix m, MonadHold t m) => DomBuilder t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (PostBuildT t m) :: * Source #

SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Immediate

Associated Types

type DomBuilderSpace (ImmediateDomBuilderT t m) :: * Source #

DomBuilder t m => DomBuilder t (ReaderT r m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (ReaderT r m) :: * Source #

(DomBuilder t m, MonadFix m, MonadHold t m, Group q, Query q, Additive q) => DomBuilder t (QueryT t q m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (QueryT t q m) :: * Source #

(DomBuilder t m, MonadHold t m, MonadFix m, Semigroup w) => DomBuilder t (EventWriterT t w m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (EventWriterT t w m) :: * Source #

(DomBuilder t m, Monoid w, MonadHold t m, MonadFix m) => DomBuilder t (DynamicWriterT t w m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (DynamicWriterT t w m) :: * Source #

SupportsStaticDomBuilder t m => DomBuilder t (StaticDomBuilderT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Static

Associated Types

type DomBuilderSpace (StaticDomBuilderT t m) :: * Source #

(DomBuilder t m, MonadHold t m, MonadFix m) => DomBuilder t (RequesterT t request response m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomBuilderSpace (RequesterT t request response m) :: * Source #

Methods

textNode :: TextNodeConfig t -> RequesterT t request response m (TextNode (DomBuilderSpace (RequesterT t request response m)) t) Source #

element :: Text -> ElementConfig er t (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m a -> RequesterT t request response m (Element er (DomBuilderSpace (RequesterT t request response m)) t, a) Source #

inputElement :: InputElementConfig er t (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m (InputElement er (DomBuilderSpace (RequesterT t request response m)) t) Source #

textAreaElement :: TextAreaElementConfig er t (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m (TextAreaElement er (DomBuilderSpace (RequesterT t request response m)) t) Source #

selectElement :: SelectElementConfig er t (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m a -> RequesterT t request response m (SelectElement er (DomBuilderSpace (RequesterT t request response m)) t, a) Source #

placeRawElement :: RawElement (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m () Source #

wrapRawElement :: RawElement (DomBuilderSpace (RequesterT t request response m)) -> RawElementConfig er t (DomBuilderSpace (RequesterT t request response m)) -> RequesterT t request response m (Element er (DomBuilderSpace (RequesterT t request response m)) t) Source #

class Default (EventSpec d EventResult) => DomSpace d where Source #

Minimal complete definition

addEventSpecFlags

Associated Types

type EventSpec d :: (EventTag -> *) -> * Source #

type RawDocument d :: * Source #

type RawTextNode d :: * Source #

type RawElement d :: * Source #

type RawFile d :: * Source #

type RawInputElement d :: * Source #

type RawTextAreaElement d :: * Source #

type RawSelectElement d :: * Source #

Methods

addEventSpecFlags :: proxy d -> EventName en -> (Maybe (er en) -> EventFlags) -> EventSpec d er -> EventSpec d er Source #

class Monad m => HasDocument m where Source #

Instances
HasDocument m => HasDocument (InputDisabledT m) Source # 
Instance details

Defined in Reflex.Dom.Builder.InputDisabled

HasDocument m => HasDocument (PostBuildT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Monad m => HasDocument (ImmediateDomBuilderT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Immediate

HasDocument m => HasDocument (ReaderT r m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

HasDocument m => HasDocument (DynamicWriterT t w m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

HasDocument m => HasDocument (QueryT t q m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

HasDocument m => HasDocument (EventWriterT t w m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

(SupportsStaticDomBuilder t m, Monad m) => HasDocument (StaticDomBuilderT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Static

HasDocument m => HasDocument (RequesterT t request response m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

askDocument :: RequesterT t request response m (RawDocument (DomBuilderSpace (RequesterT t request response m))) Source #

class (Reflex t, Monad m) => DomRenderHook t m | m -> t where Source #

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> m a -> m a Source #

requestDomAction :: Event t (JSM a) -> m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> m () Source #

Instances
DomRenderHook t m => DomRenderHook (t :: k) (StateT e m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> StateT e m a -> StateT e m a Source #

requestDomAction :: Event t (JSM a) -> StateT e m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> StateT e m () Source #

DomRenderHook t m => DomRenderHook (t :: k) (StateT e m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> StateT e m a -> StateT e m a Source #

requestDomAction :: Event t (JSM a) -> StateT e m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> StateT e m () Source #

DomRenderHook t m => DomRenderHook (t :: k) (ReaderT e m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> ReaderT e m a -> ReaderT e m a Source #

requestDomAction :: Event t (JSM a) -> ReaderT e m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> ReaderT e m () Source #

DomRenderHook t m => DomRenderHook (t :: *) (PostBuildT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> PostBuildT t m a -> PostBuildT t m a Source #

requestDomAction :: Event t (JSM a) -> PostBuildT t m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> PostBuildT t m () Source #

(Reflex t, MonadFix m) => DomRenderHook (t :: *) (ImmediateDomBuilderT t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Immediate

DomRenderHook t m => DomRenderHook (t :: *) (QueryT t q m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> QueryT t q m a -> QueryT t q m a Source #

requestDomAction :: Event t (JSM a) -> QueryT t q m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> QueryT t q m () Source #

DomRenderHook t m => DomRenderHook (t :: *) (EventWriterT t w m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> EventWriterT t w m a -> EventWriterT t w m a Source #

requestDomAction :: Event t (JSM a) -> EventWriterT t w m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> EventWriterT t w m () Source #

DomRenderHook t m => DomRenderHook (t :: *) (RequesterT t req rsp m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

withRenderHook :: (forall x. JSM x -> JSM x) -> RequesterT t req rsp m a -> RequesterT t req rsp m a Source #

requestDomAction :: Event t (JSM a) -> RequesterT t req rsp m (Event t a) Source #

requestDomAction_ :: Event t (JSM a) -> RequesterT t req rsp m () Source #

type RunStateless t = forall n b. Monad n => t n b -> n b Source #

class MonadTransControl t => MonadTransControlStateless t where Source #

Methods

stTCoercion :: proxy t -> Coercion (StT t a) a Source #

stTCoercion :: a ~ StT t a => proxy t -> Coercion (StT t a) a Source #

Instances
MonadTransControlStateless (ReaderT r :: (* -> *) -> * -> *) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Methods

stTCoercion :: proxy (ReaderT r) -> Coercion (StT (ReaderT r) a) a Source #

class HasDomEvent t target eventName where Source #

Minimal complete definition

domEvent

Associated Types

type DomEventType target eventName :: * Source #

Methods

domEvent :: EventName eventName -> target -> Event t (DomEventType target eventName) Source #

Instances
Reflex t => HasDomEvent (t :: k) (TextInput t) en Source # 
Instance details

Defined in Reflex.Dom.Widget.Input

Associated Types

type DomEventType (TextInput t) en :: * Source #

Reflex t => HasDomEvent (t :: k2) (TextAreaElement EventResult d t) en Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomEventType (TextAreaElement EventResult d t) en :: * Source #

Reflex t => HasDomEvent (t :: k2) (InputElement EventResult d t) en Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomEventType (InputElement EventResult d t) en :: * Source #

Reflex t => HasDomEvent (t :: k2) (Element EventResult d t) en Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

Associated Types

type DomEventType (Element EventResult d t) en :: * Source #

class HasNamespace a where Source #

Minimal complete definition

namespace

Instances
HasNamespace (ElConfig attrs) Source # 
Instance details

Defined in Reflex.Dom.Old

HasNamespace (ElementConfig er t m) Source # 
Instance details

Defined in Reflex.Dom.Builder.Class

class ModifyAttributes t a | a -> t where Source #

Minimal complete definition

modifyAttributes

rawElementConfig_eventSpec :: forall er t s er s. Lens (RawElementConfig er t s) (RawElementConfig er t s) (EventSpec s er) (EventSpec s er) Source #

elementConfig_eventSpec :: forall er t s er s. Lens (ElementConfig er t s) (ElementConfig er t s) (EventSpec s er) (EventSpec s er) Source #

textNodeConfig_setContents :: Reflex t => Lens' (TextNodeConfig t) (Event t Text) Source #

This lens is technically illegal. The implementation of TextNodeConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with TextNodeConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

inputElementConfig_setValue :: Reflex t => Lens' (InputElementConfig er t m) (Event t Text) Source #

This lens is technically illegal. The implementation of InputElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with InputElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

inputElementConfig_setChecked :: Reflex t => Lens' (InputElementConfig er t m) (Event t Bool) Source #

This lens is technically illegal. The implementation of InputElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with InputElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

rawElementConfig_modifyAttributes :: Reflex t => Lens' (RawElementConfig er t m) (Event t (Map AttributeName (Maybe Text))) Source #

This lens is technically illegal. The implementation of RawElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with RawElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

elementConfig_modifyAttributes :: Reflex t => Lens' (ElementConfig er t m) (Event t (Map AttributeName (Maybe Text))) Source #

This lens is technically illegal. The implementation of RawElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with RawElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

textAreaElementConfig_setValue :: Reflex t => Lens' (TextAreaElementConfig er t m) (Event t Text) Source #

This lens is technically illegal. The implementation of TextAreaElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with TextAreaElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

selectElementConfig_setValue :: Reflex t => Lens' (SelectElementConfig er t m) (Event t Text) Source #

This lens is technically illegal. The implementation of SelectElementConfig uses a Maybe under the hood for efficiency reasons. However, always interacting with SelectElementConfig via lenses will always behave correctly, and if you pattern match on it, you should always treat Nothing as never.

toStT :: MonadTransControlStateless t => proxy t -> a -> StT t a Source #

fromStT :: MonadTransControlStateless t => proxy t -> StT t a -> a Source #

liftWithStateless :: forall m t a. (Monad m, MonadTransControlStateless t) => (RunStateless t -> m a) -> t m a Source #

liftElement :: LiftDomBuilder t f m => Text -> ElementConfig er t (DomBuilderSpace m) -> f m a -> f m (Element er (DomBuilderSpace m) t, a) Source #

liftElementConfig :: ElementConfig er t s -> ElementConfig er t s Source #

Deprecated: Use id instead; this function is no longer necessary