on develop help sign in
Fix DomBuilder instance for QueryT
72db503Ryan Trinkle
reflex-dom-core/src/Foreign/JavaScript/TH.hs+1−2
@@ -34,9 +34,8 @@ import Reflex.Host.Class
34import Reflex.PerformEvent.Base
34import Reflex.PerformEvent.Base
35import Reflex.PerformEvent.Class
35import Reflex.PerformEvent.Class
36import Reflex.PostBuild.Base
36import Reflex.PostBuild.Base
37−import Reflex.Query.Base
38import Reflex.Requester.Base
37import Reflex.Requester.Base
39−import Reflex.Query.Base (QueryT(..))
38+import Reflex.Query.Base (QueryT (..))
40
39
41#ifdef USE_TEMPLATE_HASKELL
40#ifdef USE_TEMPLATE_HASKELL
42import Language.Haskell.TH
41import Language.Haskell.TH
reflex-dom-core/src/Reflex/Dom/Builder/Class.hs+5−35
@@ -37,8 +37,6 @@ import Reflex.PostBuild.Base
37import Reflex.Query.Base
37import Reflex.Query.Base
38import Reflex.Query.Class
38import Reflex.Query.Class
39import Reflex.Requester.Base
39import Reflex.Requester.Base
40−import Reflex.Query.Base
41−import Reflex.Query.Class
42
40
43import qualified Control.Category
41import qualified Control.Category
44import Control.Lens hiding (element)
42import Control.Lens hiding (element)
@@ -583,25 +581,18 @@ instance (DomBuilder t m, MonadFix m, MonadHold t m, Group q, Query q, Additive
583 textNode = liftTextNode
581 textNode = liftTextNode
584 element elementTag cfg (QueryT child) = QueryT $ do
582 element elementTag cfg (QueryT child) = QueryT $ do
585 s <- get
583 s <- get
586− let cfg' = cfg
587− { _elementConfig_eventSpec = _elementConfig_eventSpec cfg }
588− (e, (a, newS)) <- lift $ element elementTag cfg' $ runStateT child s
584+ (e, (a, newS)) <- lift $ element elementTag cfg $ runStateT child s
589 put newS
585 put newS
590 return (e, a)
586 return (e, a)
591−
592− inputElement cfg = lift $ inputElement $ cfg & inputElementConfig_elementConfig %~ liftElementConfig
587+ inputElement = lift . inputElement
593− textAreaElement cfg = lift $ textAreaElement $ cfg & textAreaElementConfig_elementConfig %~ liftElementConfig
588+ textAreaElement = lift . textAreaElement
594 selectElement cfg (QueryT child) = QueryT $ do
589 selectElement cfg (QueryT child) = QueryT $ do
595 s <- get
590 s <- get
596− let cfg' = cfg & selectElementConfig_elementConfig %~ \c ->
597− c { _elementConfig_eventSpec = _elementConfig_eventSpec c }
598− (e, (a, newS)) <- lift $ selectElement cfg' $ runStateT child s
591+ (e, (a, newS)) <- lift $ selectElement cfg $ runStateT child s
599 put newS
592 put newS
600 return (e, a)
593 return (e, a)
601 placeRawElement = lift . placeRawElement
594 placeRawElement = lift . placeRawElement
602− wrapRawElement e cfg = lift $ wrapRawElement e $ cfg
595+ wrapRawElement e = lift . wrapRawElement e
603− { _rawElementConfig_eventSpec = _rawElementConfig_eventSpec cfg
604− }
605
596
606-- * Convenience functions
597-- * Convenience functions
607
598
@@ -627,27 +618,6 @@ instance Reflex t => HasDomEvent t (TextAreaElement EventResult d t) en where
627instance DomBuilder t m => DomBuilder t (ReaderT r m) where
618instance DomBuilder t m => DomBuilder t (ReaderT r m) where
628 type DomBuilderSpace (ReaderT r m) = DomBuilderSpace m
619 type DomBuilderSpace (ReaderT r m) = DomBuilderSpace m
629
620
630−instance (DomBuilder t m, MonadFix m, MonadHold t m, Group q, Query q, Additive q) => DomBuilder t (QueryT t q m) where
631− type DomBuilderSpace (QueryT t q m) = DomBuilderSpace m
632− textNode = liftTextNode
633− element elementTag cfg (QueryT child) = QueryT $ do
634− s <- get
635− let cfg' = cfg
636− { _elementConfig_eventSpec = _elementConfig_eventSpec cfg }
637− (e, (a, newS)) <- lift $ element elementTag cfg' $ runStateT child s
638− put newS
639− return (e, a)
640−
641− inputElement = lift . inputElement
642− textAreaElement = lift . textAreaElement
643− selectElement cfg (QueryT child) = QueryT $ do
644− s <- get
645− (e, (a, newS)) <- lift $ selectElement cfg $ runStateT child s
646− put newS
647− return (e, a)
648− placeRawElement = lift . placeRawElement
649− wrapRawElement e = lift . wrapRawElement e
650−
651type LiftDomBuilder t f m =
621type LiftDomBuilder t f m =
652 ( Reflex t
622 ( Reflex t
653 , MonadTransControlStateless f
623 , MonadTransControlStateless f