on develop help sign in
Add PrimMonad instances for static and inputdisabled builders.
cab0ab0Luigy Leon
src/Reflex/Dom/Builder/InputDisabled.hs+5
@@ -8,6 +8,7 @@
8module Reflex.Dom.Builder.InputDisabled where
8module Reflex.Dom.Builder.InputDisabled where
9
9
10import Control.Monad.Fix
10import Control.Monad.Fix
11+import Control.Monad.Primitive
11import Control.Monad.Ref
12import Control.Monad.Ref
12import Control.Monad.Trans
13import Control.Monad.Trans
13import Control.Monad.Trans.Control
14import Control.Monad.Trans.Control
@@ -48,6 +49,10 @@ instance PerformEvent t m => PerformEvent t (InputDisabledT m) where
48 performEvent_ = lift . performEvent_
49 performEvent_ = lift . performEvent_
49 performEvent = lift . performEvent
50 performEvent = lift . performEvent
50
51
52+instance PrimMonad m => PrimMonad (InputDisabledT m) where
53+ type PrimState (InputDisabledT m) = PrimState m
54+ primitive = lift . primitive
55+
51disableElementConfig :: Reflex t => ElementConfig er t m -> ElementConfig er t m
56disableElementConfig :: Reflex t => ElementConfig er t m -> ElementConfig er t m
52disableElementConfig cfg = cfg
57disableElementConfig cfg = cfg
53 { _elementConfig_initialAttributes = Map.insert "disabled" "disabled" $ _elementConfig_initialAttributes cfg
58 { _elementConfig_initialAttributes = Map.insert "disabled" "disabled" $ _elementConfig_initialAttributes cfg
src/Reflex/Dom/Builder/Static.hs+5
@@ -20,6 +20,7 @@ import Blaze.ByteString.Builder.Html.Utf8
20import Control.Lens hiding (element)
20import Control.Lens hiding (element)
21import Control.Monad.Exception
21import Control.Monad.Exception
22import Control.Monad.Identity
22import Control.Monad.Identity
23+import Control.Monad.Primitive
23import Control.Monad.Ref
24import Control.Monad.Ref
24import Control.Monad.State.Strict
25import Control.Monad.State.Strict
25import Control.Monad.Trans.Control
26import Control.Monad.Trans.Control
@@ -56,6 +57,10 @@ newtype StaticDomBuilderT t m a = StaticDomBuilderT
56 }
57 }
57 deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadException, MonadAsyncException)
58 deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadException, MonadAsyncException)
58
59
60+instance PrimMonad m => PrimMonad (StaticDomBuilderT x m) where
61+ type PrimState (StaticDomBuilderT x m) = PrimState m
62+ primitive = lift . primitive
63+
59instance MonadTransControl (StaticDomBuilderT t) where
64instance MonadTransControl (StaticDomBuilderT t) where
60 type StT (StaticDomBuilderT t) a = StT (StateT [Behavior t ByteString]) a
65 type StT (StaticDomBuilderT t) a = StT (StateT [Behavior t ByteString]) a
61 liftWith = defaultLiftWith StaticDomBuilderT unStaticDomBuilderT
66 liftWith = defaultLiftWith StaticDomBuilderT unStaticDomBuilderT