on develop help sign in
Merge pull request #241 from reflex-frp/revert-make-PerformEventT-a-transformer
56aa06eRyan Trinkle
reflex-dom-core/src/Foreign/JavaScript/Orphans.hs+3−2
@@ -9,6 +9,7 @@ import Control.Monad.Trans.Class (lift)
9import GHCJS.DOM.Types (MonadJSM (..))
9import GHCJS.DOM.Types (MonadJSM (..))
10import Reflex.DynamicWriter.Base (DynamicWriterT)
10import Reflex.DynamicWriter.Base (DynamicWriterT)
11import Reflex.EventWriter.Base (EventWriterT)
11import Reflex.EventWriter.Base (EventWriterT)
12+import Reflex.Host.Class (HostFrame, ReflexHost)
12import Reflex.PerformEvent.Base (PerformEventT (..))
13import Reflex.PerformEvent.Base (PerformEventT (..))
13import Reflex.PostBuild.Base (PostBuildT)
14import Reflex.PostBuild.Base (PostBuildT)
14import Reflex.Requester.Base (RequesterT)
15import Reflex.Requester.Base (RequesterT)
@@ -17,8 +18,8 @@ import Reflex.Query.Base (QueryT)
17
18
18instance MonadJSM m => MonadJSM (PostBuildT t m) where
19instance MonadJSM m => MonadJSM (PostBuildT t m) where
19 liftJSM' = lift . liftJSM'
20 liftJSM' = lift . liftJSM'
20−instance MonadJSM m => MonadJSM (PerformEventT t m) where
21+instance (MonadJSM (HostFrame t), ReflexHost t) => MonadJSM (PerformEventT t m) where
21− liftJSM' = lift . liftJSM'
22+ liftJSM' = PerformEventT . lift . liftJSM'
22instance MonadJSM m => MonadJSM (DynamicWriterT t w m) where
23instance MonadJSM m => MonadJSM (DynamicWriterT t w m) where
23 liftJSM' = lift . liftJSM'
24 liftJSM' = lift . liftJSM'
24instance MonadJSM m => MonadJSM (EventWriterT t w m) where
25instance MonadJSM m => MonadJSM (EventWriterT t w m) where
reflex-dom-core/src/Foreign/JavaScript/TH.hs+5−5
@@ -111,8 +111,8 @@ instance HasJSContext m => HasJSContext (PostBuildT t m) where
111 type JSContextPhantom (PostBuildT t m) = JSContextPhantom m
111 type JSContextPhantom (PostBuildT t m) = JSContextPhantom m
112 askJSContext = lift askJSContext
112 askJSContext = lift askJSContext
113
113
114−instance HasJSContext m => HasJSContext (PerformEventT t m) where
114+instance (ReflexHost t, HasJSContext (HostFrame t)) => HasJSContext (PerformEventT t m) where
115− type JSContextPhantom (PerformEventT t m) = JSContextPhantom m
115+ type JSContextPhantom (PerformEventT t m) = JSContextPhantom (HostFrame t)
116 askJSContext = PerformEventT $ lift askJSContext
116 askJSContext = PerformEventT $ lift askJSContext
117
117
118instance HasJSContext m => HasJSContext (EventWriterT t w m) where
118instance HasJSContext m => HasJSContext (EventWriterT t w m) where
@@ -247,9 +247,9 @@ instance HasJS x m => HasJS x (PostBuildT t m) where
247 type JSX (PostBuildT t m) = JSX m
247 type JSX (PostBuildT t m) = JSX m
248 liftJS = lift . liftJS
248 liftJS = lift . liftJS
249
249
250−instance HasJS x m => HasJS x (PerformEventT t m) where
250+instance (HasJS x (HostFrame t), ReflexHost t) => HasJS x (PerformEventT t m) where
251− type JSX (PerformEventT t m) = JSX m
251+ type JSX (PerformEventT t m) = JSX (HostFrame t)
252− liftJS = lift . liftJS
252+ liftJS = PerformEventT . lift . liftJS
253
253
254instance HasJS x m => HasJS x (DynamicWriterT t w m) where
254instance HasJS x m => HasJS x (DynamicWriterT t w m) where
255 type JSX (DynamicWriterT t w m) = JSX m
255 type JSX (DynamicWriterT t w m) = JSX m