@@ -86,6 +86,7 @@ import Reflex.Host.Class
8686import Reflex.PerformEvent.Class
8787import Reflex.PostBuild.Class
8888import Reflex.TriggerEvent.Base hiding (askEvents)
89+import qualified Reflex.TriggerEvent.Base as TriggerEventT (askEvents)
8990import Reflex.TriggerEvent.Class
9091
9192import Control.Concurrent
@@ -146,7 +147,6 @@ import Foreign.JavaScript.Internal.Utils
146147data ImmediateDomBuilderEnv t m
147148 = ImmediateDomBuilderEnv { _immediateDomBuilderEnv_document :: Document
148149 , _immediateDomBuilderEnv_parent :: Node
149− , _immediateDomBuilderEnv_events :: Chan [DSum (EventTriggerRef t) TriggerInvocation] -- TODO: The same chan needs to be passed to 'TriggerEventT'; this should be factored out.
150150 }
151151
152152newtype ImmediateDomBuilderT t m a = ImmediateDomBuilderT { unImmediateDomBuilderT :: ReaderT (ImmediateDomBuilderEnv t m) (RequesterT t JSM Identity (TriggerEventT t m)) a }
@@ -186,8 +186,9 @@ runImmediateDomBuilderT
186186 )
187187 => ImmediateDomBuilderT t m a
188188 -> ImmediateDomBuilderEnv t m
189+ -> Chan [DSum (EventTriggerRef t) TriggerInvocation]
189190 -> m a
190−runImmediateDomBuilderT (ImmediateDomBuilderT a) env = flip runTriggerEventT (_immediateDomBuilderEnv_events env) $ do
191+runImmediateDomBuilderT (ImmediateDomBuilderT a) env eventChan = flip runTriggerEventT eventChan $ do
191192 win <- DOM.currentWindowUnchecked
192193 rec (x, req) <- runRequesterT (runReaderT a env) rsp
193194 rsp <- performEventAsync $ ffor req $ \rm f -> liftJSM $ runInAnimationFrame win f $
@@ -212,7 +213,7 @@ askParent = ImmediateDomBuilderT $ asks _immediateDomBuilderEnv_parent
212213
213214{-# INLINABLE askEvents #-}
214215askEvents :: Monad m => ImmediateDomBuilderT t m (Chan [DSum (EventTriggerRef t) TriggerInvocation])
215−askEvents = ImmediateDomBuilderT $ asks _immediateDomBuilderEnv_events
216+askEvents = ImmediateDomBuilderT . lift . lift $ TriggerEventT.askEvents
216217
217218{-# INLINABLE append #-}
218219append :: (IsNode n, MonadJSM m) => n -> ImmediateDomBuilderT t m ()