@@ -57,9 +57,7 @@ import GHCJS.DOM.Node (appendChild, getOwnerDocument, getParentNode, getPrevious
57import GHCJS.DOM.Types
57import GHCJS.DOM.Types
58 (liftJSM, askJSM, runJSM, JSM, MonadJSM(..),
58 (liftJSM, askJSM, runJSM, JSM, MonadJSM(..),
59 FocusEvent, IsElement, IsEvent, IsNode, KeyboardEvent, Node,
59 FocusEvent, IsElement, IsEvent, IsNode, KeyboardEvent, Node,
60− ToDOMString, TouchEvent, WheelEvent, castToHTMLInputElement,
60+ ToDOMString, TouchEvent, WheelEvent, strictEqual, uncheckedCastTo)
61− castToHTMLSelectElement, castToHTMLTextAreaElement,
63import qualified GHCJS.DOM.Types as DOM
61import qualified GHCJS.DOM.Types as DOM
64import GHCJS.DOM.UIEvent
62import GHCJS.DOM.UIEvent
65import qualified GHCJS.DOM.Window as Window
63import qualified GHCJS.DOM.Window as Window
@@ -248,8 +246,8 @@ instance er ~ EventResult => Default (GhcjsEventSpec er) where
248 def = GhcjsEventSpec
246 def = GhcjsEventSpec
249 { _ghcjsEventSpec_filters = mempty
247 { _ghcjsEventSpec_filters = mempty
250 , _ghcjsEventSpec_handler = \(en, GhcjsDomEvent evt) -> do
248 , _ghcjsEventSpec_handler = \(en, GhcjsDomEvent evt) -> do
251− Just t <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
249+ Just (t :: DOM.EventTarget) <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
252− e <- Element.castToElement t
250+ let e = uncheckedCastTo DOM.Element t
253 runReaderT (defaultDomEventHandler e en) evt
251 runReaderT (defaultDomEventHandler e en) evt
@@ -274,7 +272,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
274 {-# INLINABLE inputElement #-}
272 {-# INLINABLE inputElement #-}
275 inputElement cfg = do
273 inputElement cfg = do
276 ((e, _), domElement) <- makeElement "input" (cfg ^. inputElementConfig_elementConfig) $ return ()
274 ((e, _), domElement) <- makeElement "input" (cfg ^. inputElementConfig_elementConfig) $ return ()
277− domInputElement <- liftJSM $ castToHTMLInputElement domElement
275+ let domInputElement = uncheckedCastTo DOM.HTMLInputElement domElement
278 Input.setValue domInputElement $ Just (cfg ^. inputElementConfig_initialValue)
276 Input.setValue domInputElement $ Just (cfg ^. inputElementConfig_initialValue)
279 Just v0 <- Input.getValue domInputElement
277 Just v0 <- Input.getValue domInputElement
280 let getMyValue = fromMaybe "" <$> Input.getValue domInputElement
278 let getMyValue = fromMaybe "" <$> Input.getValue domInputElement
@@ -321,7 +319,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
321 {-# INLINABLE textAreaElement #-}
319 {-# INLINABLE textAreaElement #-}
322 textAreaElement cfg = do --TODO
320 textAreaElement cfg = do --TODO
323 ((e, _), domElement) <- makeElement "textarea" (cfg ^. textAreaElementConfig_elementConfig) $ return ()
321 ((e, _), domElement) <- makeElement "textarea" (cfg ^. textAreaElementConfig_elementConfig) $ return ()
324− domTextAreaElement <- liftJSM $ castToHTMLTextAreaElement domElement
322+ let domTextAreaElement = uncheckedCastTo DOM.HTMLTextAreaElement domElement
325 TextArea.setValue domTextAreaElement $ Just (cfg ^. textAreaElementConfig_initialValue)
323 TextArea.setValue domTextAreaElement $ Just (cfg ^. textAreaElementConfig_initialValue)
326 Just v0 <- TextArea.getValue domTextAreaElement
324 Just v0 <- TextArea.getValue domTextAreaElement
327 let getMyValue = fromMaybe "" <$> TextArea.getValue domTextAreaElement
325 let getMyValue = fromMaybe "" <$> TextArea.getValue domTextAreaElement
@@ -344,7 +342,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
344 {-# INLINABLE selectElement #-}
342 {-# INLINABLE selectElement #-}
345 selectElement cfg child = do
343 selectElement cfg child = do
346 ((e, result), domElement) <- makeElement "select" (cfg ^. selectElementConfig_elementConfig) child
344 ((e, result), domElement) <- makeElement "select" (cfg ^. selectElementConfig_elementConfig) child
347− domSelectElement <- liftJSM $ castToHTMLSelectElement domElement
345+ let domSelectElement = uncheckedCastTo DOM.HTMLSelectElement domElement
348 Select.setValue domSelectElement $ Just (cfg ^. selectElementConfig_initialValue)
346 Select.setValue domSelectElement $ Just (cfg ^. selectElementConfig_initialValue)
349 Just v0 <- Select.getValue domSelectElement
347 Just v0 <- Select.getValue domSelectElement
350 let getMyValue = fromMaybe "" <$> Select.getValue domSelectElement
348 let getMyValue = fromMaybe "" <$> Select.getValue domSelectElement