on develop help sign in
Fix all the Eq instances for Node and a few other types
commitc588f82f02d6e459b7b50bc8c2d6f7a6aba60e2c authorRyan Trinkle <ryan.trinkle@gmail.com> dateSat 2 May 2015, 16:43 (11 years ago) parent0c34c78
3 files changed+15−8
src-ghcjs/Reflex/Dom/Internal/Foreign.hs+5 src-ghcjs/Reflex/Dom/Xhr/Foreign.hs+7−6 src/Reflex/Dom/Widget/Basic.hs+3−2
src-ghcjs/Reflex/Dom/Internal/Foreign.hs+5
@@ -1,4 +1,9 @@
11module Reflex.Dom.Internal.Foreign (runWebGUI) where
22
33import GHCJS.DOM
4+import GHCJS.DOM.Types
5+import GHCJS.Types
6+import Data.Function
47
8+instance Eq Node where
9+ (==) = eqRef `on` unNode
src-ghcjs/Reflex/Dom/Xhr/Foreign.hs+7−6
@@ -12,6 +12,7 @@ import GHCJS.DOM.Types hiding (Text)
1212import Control.Applicative ((<$>))
1313import GHCJS.DOM.EventM
1414import GHCJS.DOM
15+import Data.Function
1516
1617prepareWebView :: WebView -> IO ()
1718prepareWebView _ = return ()
@@ -32,10 +33,10 @@ castTo gtype objTypeName obj =
3233 | otherwise -> error $ "Cannot cast object to " ++ objTypeName
3334
3435
35−newtype XMLHttpRequest = XMLHttpRequest (JSRef XMLHttpRequest) deriving (Eq)
36+newtype XMLHttpRequest = XMLHttpRequest { unXMLHttpRequest :: JSRef XMLHttpRequest }
3637
37−unXMLHttpRequest :: XMLHttpRequest -> JSRef XMLHttpRequest
38−unXMLHttpRequest (XMLHttpRequest o) = o
38+instance Eq XMLHttpRequest where
39+ (==) = eqRef `on` unXMLHttpRequest
3940
4041instance ToJSRef XMLHttpRequest where
4142 toJSRef = return . unXMLHttpRequest
@@ -62,10 +63,10 @@ gTypeXMLHttpRequest :: GType
6263gTypeXMLHttpRequest = GType gTypeXMLHttpRequest'
6364
6465
65−newtype XMLHttpRequestUpload = XMLHttpRequestUpload (JSRef XMLHttpRequestUpload) deriving (Eq)
66+newtype XMLHttpRequestUpload = XMLHttpRequestUpload { unXMLHttpRequestUpload :: JSRef XMLHttpRequestUpload }
6667
67−unXMLHttpRequestUpload :: XMLHttpRequestUpload -> JSRef XMLHttpRequestUpload
68−unXMLHttpRequestUpload (XMLHttpRequestUpload o) = o
68+instance Eq XMLHttpRequestUpload where
69+ (==) = eqRef `on` unXMLHttpRequestUpload
6970
7071instance ToJSRef XMLHttpRequestUpload where
7172 toJSRef = return . unXMLHttpRequestUpload
src/Reflex/Dom/Widget/Basic.hs+3−2
@@ -3,6 +3,7 @@
33module Reflex.Dom.Widget.Basic where
44
55import Reflex.Dom.Class
6+import Reflex.Dom.Internal.Foreign ()
67
78import Prelude hiding (mapM, mapM_, sequence, sequence_)
89import Reflex
@@ -342,7 +343,7 @@ deleteBetweenExclusive s e = do
342343 Just currentParent -> do
343344 let go = do
344345 Just x <- nodeGetPreviousSibling e -- This can't be Nothing because we should hit 's' first
345− when (unNode (toNode s) /= unNode (toNode x)) $ do
346+ when (toNode s /= toNode x) $ do
346347 _ <- nodeRemoveChild currentParent $ Just x
347348 go
348349 go
@@ -357,7 +358,7 @@ deleteBetweenInclusive s e = do
357358 let go = do
358359 Just x <- nodeGetPreviousSibling e -- This can't be Nothing because we should hit 's' first
359360 _ <- nodeRemoveChild currentParent $ Just x
360− when (unNode (toNode s) /= unNode (toNode x)) go
361+ when (toNode s /= toNode x) go
361362 go
362363 _ <- nodeRemoveChild currentParent $ Just e
363364 return ()