@@ -144,6 +144,7 @@ import Data.String (IsString)
144import Data.Text (Text)
144import Data.Text (Text)
145import Foreign.JavaScript.Internal.Utils
145import Foreign.JavaScript.Internal.Utils
146import Foreign.JavaScript.TH
146import Foreign.JavaScript.TH
147+import GHCJS.DOM.ClipboardEvent as ClipboardEvent
147import GHCJS.DOM.Document (Document, createDocumentFragment, createElement, createElementNS, createTextNode, createComment)
148import GHCJS.DOM.Document (Document, createDocumentFragment, createElement, createElementNS, createTextNode, createComment)
148import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setAttribute, setAttributeNS, hasAttribute)
149import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setAttribute, setAttributeNS, hasAttribute)
149import GHCJS.DOM.EventM (EventM, event, on)
150import GHCJS.DOM.EventM (EventM, event, on)
@@ -179,6 +180,7 @@ import qualified Data.IntMap.Strict as IntMap
179import qualified Data.Map as Map
180import qualified Data.Map as Map
180import qualified Data.Text as T
181import qualified Data.Text as T
181import qualified GHCJS.DOM as DOM
182import qualified GHCJS.DOM as DOM
183+import qualified GHCJS.DOM.DataTransfer as DataTransfer
182import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
184import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
183import qualified GHCJS.DOM.DocumentOrShadowRoot as Document
185import qualified GHCJS.DOM.DocumentOrShadowRoot as Document
184import qualified GHCJS.DOM.Element as Element
186import qualified GHCJS.DOM.Element as Element
@@ -2255,7 +2257,7 @@ defaultDomEventHandler e evt = fmap (Just . EventResult) $ case evt of
2255 Beforecopy -> return ()
2257 Beforecopy -> return ()
2256 Copy -> return ()
2258 Copy -> return ()
2257 Beforepaste -> return ()
2259 Beforepaste -> return ()
2258− Paste -> return ()
2260+ Paste -> getPasteData
2259 Reset -> return ()
2261 Reset -> return ()
2260 Search -> return ()
2262 Search -> return ()
2261 Selectstart -> return ()
2263 Selectstart -> return ()
@@ -2305,7 +2307,7 @@ defaultDomWindowEventHandler w evt = fmap (Just . EventResult) $ case evt of
2305 Beforecopy -> return ()
2307 Beforecopy -> return ()
2306 Copy -> return ()
2308 Copy -> return ()
2307 Beforepaste -> return ()
2309 Beforepaste -> return ()
2308− Paste -> return ()
2310+ Paste -> getPasteData
2309 Reset -> return ()
2311 Reset -> return ()
2310 Search -> return ()
2312 Search -> return ()
2311 Selectstart -> return ()
2313 Selectstart -> return ()
@@ -2582,6 +2584,15 @@ getMouseEventCoords = do
2582 e <- event
2584 e <- event
2583 bisequence (getClientX e, getClientY e)
2585 bisequence (getClientX e, getClientY e)
2587+{-# INLINABLE getPasteData #-}
2588+getPasteData :: EventM e ClipboardEvent (Maybe Text)
2591+ mdt <- ClipboardEvent.getClipboardData e
2593+ Nothing -> return Nothing
2594+ Just dt -> Just <$> DataTransfer.getData dt ("text" :: Text)
2585{-# INLINABLE getTouchEvent #-}
2596{-# INLINABLE getTouchEvent #-}
2586getTouchEvent :: EventM e TouchEvent TouchEventResult
2597getTouchEvent :: EventM e TouchEvent TouchEventResult
2587getTouchEvent = do
2598getTouchEvent = do