@@ -93,6 +93,7 @@ import Reflex.PostBuild.Class
9393import Reflex.TriggerEvent.Base hiding (askEvents)
9494import qualified Reflex.TriggerEvent.Base as TriggerEventT (askEvents)
9595import Reflex.TriggerEvent.Class
96+import Reflex.Query.Base (QueryT)
9697
9798import Control.Concurrent
9899import Control.Lens hiding (element, ix)
@@ -129,6 +130,7 @@ import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setA
129130import qualified GHCJS.DOM.Element as Element
130131import qualified GHCJS.DOM.Event as Event
131132import qualified GHCJS.DOM.GlobalEventHandlers as Events
133+import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
132134import GHCJS.DOM.EventM (EventM, event, on)
133135import qualified GHCJS.DOM.EventM as DOM
134136import qualified GHCJS.DOM.FileList as FileList
@@ -232,6 +234,8 @@ instance HasDocument m => HasDocument (Lazy.StateT s m)
232234instance HasDocument m => HasDocument (EventWriterT t w m)
233235instance HasDocument m => HasDocument (DynamicWriterT t w m)
234236instance HasDocument m => HasDocument (PostBuildT t m)
237+instance HasDocument m => HasDocument (RequesterT t request response m)
238+instance HasDocument m => HasDocument (QueryT t q m)
235239
236240instance Monad m => HasDocument (ImmediateDomBuilderT t m) where
237241 {-# INLINABLE askDocument #-}
@@ -449,7 +453,7 @@ instance er ~ EventResult => Default (GhcjsEventSpec er) where
449453 def = GhcjsEventSpec
450454 { _ghcjsEventSpec_filters = mempty
451455 , _ghcjsEventSpec_handler = GhcjsEventHandler $ \(en, GhcjsDomEvent evt) -> do
452− t :: DOM.EventTarget <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
456+ t :: DOM.EventTarget <- withIsEvent en $ Event.getTargetUnchecked evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
453457 let e = uncheckedCastTo DOM.Element t
454458 runReaderT (defaultDomEventHandler e en) evt
455459 }
@@ -1181,6 +1185,7 @@ instance DOM.FromJSVal ElementEventTarget where
11811185 fromJSVal = fmap (fmap ElementEventTarget) . DOM.fromJSVal
11821186instance DOM.IsEventTarget ElementEventTarget
11831187instance DOM.IsGlobalEventHandlers ElementEventTarget
1188+instance DOM.IsDocumentAndElementEventHandlers ElementEventTarget
11841189
11851190{-# INLINABLE elementOnEventName #-}
11861191elementOnEventName :: IsElement e => EventName en -> e -> EventM e (EventType en) () -> JSM (JSM ())
@@ -1218,12 +1223,12 @@ elementOnEventName en e_ = let e = ElementEventTarget (DOM.toElement e_) in case
12181223 Select -> on e Events.select
12191224 Submit -> on e Events.submit
12201225 Wheel -> on e Events.wheel
1221− Beforecut -> on e Element.beforeCut
1222− Cut -> on e Element.cut
1223− Beforecopy -> on e Element.beforeCopy
1224− Copy -> on e Element.copy
1225− Beforepaste -> on e Element.beforePaste
1226− Paste -> on e Element.paste
1226+ Beforecut -> on e Events.beforeCut
1227+ Cut -> on e Events.cut
1228+ Beforecopy -> on e Events.beforeCopy
1229+ Copy -> on e Events.copy
1230+ Beforepaste -> on e Events.beforePaste
1231+ Paste -> on e Events.paste
12271232 Reset -> on e Events.reset
12281233 Search -> on e Events.search
12291234 Selectstart -> on e Element.selectStart