on develop help sign in
Add PrimMonad instances for static and inputdisabled builders.
commitcab0ab08638f292af914b5917bec6dacb17dda15 authorLuigy Leon <luigy@outlook.com> dateMon 3 Oct 2016, 14:46 (10 years ago) parent0594fe4
2 files changed+10
src/Reflex/Dom/Builder/InputDisabled.hs+5 src/Reflex/Dom/Builder/Static.hs+5
src/Reflex/Dom/Builder/InputDisabled.hs+5
@@ -8,6 +8,7 @@
88module Reflex.Dom.Builder.InputDisabled where
99
1010import Control.Monad.Fix
11+import Control.Monad.Primitive
1112import Control.Monad.Ref
1213import Control.Monad.Trans
1314import Control.Monad.Trans.Control
@@ -48,6 +49,10 @@ instance PerformEvent t m => PerformEvent t (InputDisabledT m) where
4849 performEvent_ = lift . performEvent_
4950 performEvent = lift . performEvent
5051
52+instance PrimMonad m => PrimMonad (InputDisabledT m) where
53+ type PrimState (InputDisabledT m) = PrimState m
54+ primitive = lift . primitive
55+
5156disableElementConfig :: Reflex t => ElementConfig er t m -> ElementConfig er t m
5257disableElementConfig cfg = cfg
5358 { _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
2020import Control.Lens hiding (element)
2121import Control.Monad.Exception
2222import Control.Monad.Identity
23+import Control.Monad.Primitive
2324import Control.Monad.Ref
2425import Control.Monad.State.Strict
2526import Control.Monad.Trans.Control
@@ -56,6 +57,10 @@ newtype StaticDomBuilderT t m a = StaticDomBuilderT
5657 }
5758 deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadException, MonadAsyncException)
5859
60+instance PrimMonad m => PrimMonad (StaticDomBuilderT x m) where
61+ type PrimState (StaticDomBuilderT x m) = PrimState m
62+ primitive = lift . primitive
63+
5964instance MonadTransControl (StaticDomBuilderT t) where
6065 type StT (StaticDomBuilderT t) a = StT (StateT [Behavior t ByteString]) a
6166 liftWith = defaultLiftWith StaticDomBuilderT unStaticDomBuilderT