@@ -129,6 +129,7 @@ import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setA
129import qualified GHCJS.DOM.Element as Element
129import qualified GHCJS.DOM.Element as Element
130import qualified GHCJS.DOM.Event as Event
130import qualified GHCJS.DOM.Event as Event
131import qualified GHCJS.DOM.GlobalEventHandlers as Events
131import qualified GHCJS.DOM.GlobalEventHandlers as Events
132+import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
132import GHCJS.DOM.EventM (EventM, event, on)
133import GHCJS.DOM.EventM (EventM, event, on)
133import qualified GHCJS.DOM.EventM as DOM
134import qualified GHCJS.DOM.EventM as DOM
134import qualified GHCJS.DOM.FileList as FileList
135import qualified GHCJS.DOM.FileList as FileList
@@ -449,7 +450,7 @@ instance er ~ EventResult => Default (GhcjsEventSpec er) where
449 def = GhcjsEventSpec
450 def = GhcjsEventSpec
450 { _ghcjsEventSpec_filters = mempty
451 { _ghcjsEventSpec_filters = mempty
451 , _ghcjsEventSpec_handler = GhcjsEventHandler $ \(en, GhcjsDomEvent evt) -> do
452 , _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
453+ t :: DOM.EventTarget <- withIsEvent en $ Event.getTargetUnchecked evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
453 let e = uncheckedCastTo DOM.Element t
454 let e = uncheckedCastTo DOM.Element t
454 runReaderT (defaultDomEventHandler e en) evt
455 runReaderT (defaultDomEventHandler e en) evt
@@ -1180,6 +1181,7 @@ instance DOM.FromJSVal ElementEventTarget where
1180 fromJSVal = fmap (fmap ElementEventTarget) . DOM.fromJSVal
1181 fromJSVal = fmap (fmap ElementEventTarget) . DOM.fromJSVal
1181instance DOM.IsEventTarget ElementEventTarget
1182instance DOM.IsEventTarget ElementEventTarget
1182instance DOM.IsGlobalEventHandlers ElementEventTarget
1183instance DOM.IsGlobalEventHandlers ElementEventTarget
1184+instance DOM.IsDocumentAndElementEventHandlers ElementEventTarget
1184{-# INLINABLE elementOnEventName #-}
1186{-# INLINABLE elementOnEventName #-}
1185elementOnEventName :: IsElement e => EventName en -> e -> EventM e (EventType en) () -> JSM (JSM ())
1187elementOnEventName :: IsElement e => EventName en -> e -> EventM e (EventType en) () -> JSM (JSM ())
@@ -1217,12 +1219,12 @@ elementOnEventName en e_ = let e = ElementEventTarget (DOM.toElement e_) in case
1217 Select -> on e Events.select
1219 Select -> on e Events.select
1218 Submit -> on e Events.submit
1220 Submit -> on e Events.submit
1219 Wheel -> on e Events.wheel
1221 Wheel -> on e Events.wheel
1220− Beforecut -> on e Element.beforeCut
1222+ Beforecut -> on e Events.beforeCut
1221− Cut -> on e Element.cut
1223+ Cut -> on e Events.cut
1222− Beforecopy -> on e Element.beforeCopy
1224+ Beforecopy -> on e Events.beforeCopy
1223− Copy -> on e Element.copy
1225+ Copy -> on e Events.copy
1224− Beforepaste -> on e Element.beforePaste
1226+ Beforepaste -> on e Events.beforePaste
1225− Paste -> on e Element.paste
1227+ Paste -> on e Events.paste
1226 Reset -> on e Events.reset
1228 Reset -> on e Events.reset
1227 Search -> on e Events.search
1229 Search -> on e Events.search
1228 Selectstart -> on e Element.selectStart
1230 Selectstart -> on e Element.selectStart