on develop help sign in
Update RequesterT's DomBuilder instance
efaaa52Ryan Trinkle
src/Reflex/Dom/Builder/Class.hs+5−6
@@ -23,6 +23,7 @@ module Reflex.Dom.Builder.Class
23import Reflex.Class as Reflex
23import Reflex.Class as Reflex
24import Reflex.Dom.Builder.Class.Events
24import Reflex.Dom.Builder.Class.Events
25import Reflex.DynamicWriter
25import Reflex.DynamicWriter
26+import Reflex.EventWriter
26import Reflex.PerformEvent.Class
27import Reflex.PerformEvent.Class
27import Reflex.PostBuild.Base
28import Reflex.PostBuild.Base
28import Reflex.Requester.Base
29import Reflex.Requester.Base
@@ -430,19 +431,17 @@ instance (DomBuilder t m, MonadHold t m, MonadFix m) => DomBuilder t (RequesterT
430 textNode = liftTextNode
431 textNode = liftTextNode
431 element elementTag cfg (RequesterT child) = RequesterT $ do
432 element elementTag cfg (RequesterT child) = RequesterT $ do
432 r <- ask
433 r <- ask
433− s <- get
434 let cfg' = liftElementConfig cfg
434 let cfg' = liftElementConfig cfg
435− (el, (a, newS)) <- lift $ lift $ element elementTag cfg' $ runReaderT (runStateT child s) r
435+ (el, (a, e)) <- lift $ lift $ element elementTag cfg' $ runReaderT (runEventWriterT child) r
436− put newS
436+ tellEvent e
437 return (el, a)
437 return (el, a)
438 inputElement cfg = lift $ inputElement $ cfg & inputElementConfig_elementConfig %~ liftElementConfig
438 inputElement cfg = lift $ inputElement $ cfg & inputElementConfig_elementConfig %~ liftElementConfig
439 textAreaElement cfg = lift $ textAreaElement $ cfg & textAreaElementConfig_elementConfig %~ liftElementConfig
439 textAreaElement cfg = lift $ textAreaElement $ cfg & textAreaElementConfig_elementConfig %~ liftElementConfig
440 selectElement cfg (RequesterT child) = RequesterT $ do
440 selectElement cfg (RequesterT child) = RequesterT $ do
441 r <- ask
441 r <- ask
442− s <- get
443 let cfg' = cfg & selectElementConfig_elementConfig %~ liftElementConfig
442 let cfg' = cfg & selectElementConfig_elementConfig %~ liftElementConfig
444− (el, (a, newS)) <- lift $ lift $ selectElement cfg' $ runReaderT (runStateT child s) r
443+ (el, (a, e)) <- lift $ lift $ selectElement cfg' $ runReaderT (runEventWriterT child) r
445− put newS
444+ tellEvent e
446 return (el, a)
445 return (el, a)
447 placeRawElement = lift . placeRawElement
446 placeRawElement = lift . placeRawElement
448 wrapRawElement e cfg = lift $ wrapRawElement e $ cfg
447 wrapRawElement e cfg = lift $ wrapRawElement e $ cfg