@@ -46,8 +46,6 @@ import qualified Reflex.Patch.MapWithMove as MapWithMove
46newtype QueryT t q m a = QueryT { unQueryT :: StateT [Behavior t q] (EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m)) a }
46newtype QueryT t q m a = QueryT { unQueryT :: StateT [Behavior t q] (EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m)) a }
47 deriving (Functor, Applicative, Monad, MonadException, MonadFix, MonadIO, MonadHold t, MonadSample t, MonadAtomicRef)
47 deriving (Functor, Applicative, Monad, MonadException, MonadFix, MonadIO, MonadHold t, MonadSample t, MonadAtomicRef)
49−-- deriving instance DomRenderHook t m => DomRenderHook t (QueryT t q m)
51runQueryT :: (MonadFix m, Additive q, Group q, Reflex t) => QueryT t q m a -> Dynamic t (QueryResult q) -> m (a, Incremental t (AdditivePatch q))
49runQueryT :: (MonadFix m, Additive q, Group q, Reflex t) => QueryT t q m a -> Dynamic t (QueryResult q) -> m (a, Incremental t (AdditivePatch q))
52runQueryT (QueryT a) qr = do
50runQueryT (QueryT a) qr = do
53 ((r, bs), es) <- runReaderT (runEventWriterT (runStateT a mempty)) qr
51 ((r, bs), es) <- runReaderT (runEventWriterT (runStateT a mempty)) qr
@@ -191,45 +189,12 @@ instance PerformEvent t m => PerformEvent t (QueryT t q m) where
191 performEvent_ = lift . performEvent_
189 performEvent_ = lift . performEvent_
192 performEvent = lift . performEvent
190 performEvent = lift . performEvent
194−-- instance HasJS x m => HasJS x (QueryT t q m) where
195−-- type JSX (QueryT t q m) = JSX m
196−-- liftJS = lift . liftJS
198−-- instance (DomBuilder t m, MonadFix m, MonadHold t m, Group q, Query q, Additive q) => DomBuilder t (QueryT t q m) where
199−-- type DomBuilderSpace (QueryT t q m) = DomBuilderSpace m
200−-- textNode = liftTextNode
201−-- element elementTag cfg (QueryT child) = QueryT $ do
204−-- { _elementConfig_eventSpec = _elementConfig_eventSpec cfg }
205−-- (e, (a, newS)) <- lift $ element elementTag cfg' $ runStateT child s
209−-- inputElement cfg = lift $ inputElement $ cfg & inputElementConfig_elementConfig %~ liftElementConfig
210−-- textAreaElement cfg = lift $ textAreaElement $ cfg & textAreaElementConfig_elementConfig %~ liftElementConfig
211−-- selectElement cfg (QueryT child) = QueryT $ do
213−-- let cfg' = cfg & selectElementConfig_elementConfig %~ \c ->
214−-- c { _elementConfig_eventSpec = _elementConfig_eventSpec c }
215−-- (e, (a, newS)) <- lift $ selectElement cfg' $ runStateT child s
218−-- placeRawElement = lift . placeRawElement
219−-- wrapRawElement e cfg = lift $ wrapRawElement e $ cfg
220−-- { _rawElementConfig_eventSpec = _rawElementConfig_eventSpec cfg
223instance MonadRef m => MonadRef (QueryT t q m) where
192instance MonadRef m => MonadRef (QueryT t q m) where
224 type Ref (QueryT t q m) = Ref m
193 type Ref (QueryT t q m) = Ref m
225 newRef = QueryT . newRef
194 newRef = QueryT . newRef
226 readRef = QueryT . readRef
195 readRef = QueryT . readRef
227 writeRef r = QueryT . writeRef r
196 writeRef r = QueryT . writeRef r
229−-- instance HasJSContext m => HasJSContext (QueryT t q m) where
230−-- type JSContextPhantom (QueryT t q m) = JSContextPhantom m
231−-- askJSContext = QueryT askJSContext
233instance MonadReflexCreateTrigger t m => MonadReflexCreateTrigger t (QueryT t q m) where
198instance MonadReflexCreateTrigger t m => MonadReflexCreateTrigger t (QueryT t q m) where
234 newEventWithTrigger = QueryT . newEventWithTrigger
199 newEventWithTrigger = QueryT . newEventWithTrigger
235 newFanEventWithTrigger a = QueryT . lift $ newFanEventWithTrigger a
200 newFanEventWithTrigger a = QueryT . lift $ newFanEventWithTrigger a