on develop help sign in
Merge branch 'develop' into ls-fix-dropdown-initialValue
commit3df365ca4f2439b7e6719c70aba14a62ecb83532 authorElliot Cameron <3noch@users.noreply.github.com> dateFri 8 May 2020, 12:19 (6 years ago) parenteda9b99c6a5d2f
5 files changed+30−17
reflex-dom-core/ChangeLog.md+1 reflex-dom-core/reflex-dom-core.cabal+3−3 reflex-dom-core/src/Reflex/Dom/Builder/Class/Events.hs+2−1 reflex-dom-core/src/Reflex/Dom/Builder/Immediate.hs+13−2 reflex-dom/reflex-dom.cabal+11−11
reflex-dom-core/ChangeLog.md+1
@@ -2,6 +2,7 @@
22
33## Unreleased
44
5+* ([#374](https://github.com/reflex-frp/reflex-dom/pull/374)) Provide text clipboard data as value of Paste event.
56* ([#353](https://github.com/reflex-frp/reflex-dom/pull/353)) Support GHC 8.8.
67* ([#358](https://github.com/reflex-frp/reflex-dom/pull/358)) Fix attribute support for explicitly namespaced elements.
78* ([#363](https://github.com/reflex-frp/reflex-dom/pull/363)) Remove deprecation warnings for the following widgets in
reflex-dom-core/reflex-dom-core.cabal+3−3
@@ -51,7 +51,7 @@ library
5151 base >= 4.7 && < 4.14,
5252 bifunctors >= 4.2 && < 6,
5353 bimap >= 0.3 && < 0.4,
54− blaze-builder,
54+ blaze-builder >= 0.4.1 && < 0.5,
5555 bytestring == 0.10.*,
5656 case-insensitive < 1.3,
5757 containers >= 0.6 && < 0.7,
@@ -71,7 +71,7 @@ library
7171 monad-control >= 1.0.1 && < 1.1,
7272 mtl >= 2.1 && < 2.3,
7373 primitive >= 0.5 && < 0.8,
74− random,
74+ random >= 1.1 && < 1.2,
7575 ref-tf == 0.4.*,
7676 reflex >= 0.6.2 && < 0.8,
7777 semigroups >= 0.16 && < 0.20,
@@ -149,7 +149,7 @@ library
149149 build-depends:
150150 dependent-sum >= 0.6,
151151 dependent-sum-template >= 0.1 && < 0.2,
152− template-haskell
152+ template-haskell >= 2.12.0 && < 2.15
153153 other-extensions: TemplateHaskell
154154 cpp-options: -DUSE_TEMPLATE_HASKELL
155155 other-modules:
reflex-dom-core/src/Reflex/Dom/Builder/Class/Events.hs+2−1
@@ -14,6 +14,7 @@ import Data.GADT.Compare.TH
1414import Data.GADT.Compare
1515 (GOrdering(..), (:~:)(..), GEq(..), GCompare(..))
1616#endif
17+import Data.Text (Text)
1718
1819data EventTag
1920 = AbortTag
@@ -151,7 +152,7 @@ type family EventResultType (en :: EventTag) :: * where
151152 EventResultType 'BeforecopyTag = ()
152153 EventResultType 'CopyTag = ()
153154 EventResultType 'BeforepasteTag = ()
154− EventResultType 'PasteTag = ()
155+ EventResultType 'PasteTag = Maybe Text
155156 EventResultType 'ResetTag = ()
156157 EventResultType 'SearchTag = ()
157158 EventResultType 'SelectstartTag = ()
reflex-dom-core/src/Reflex/Dom/Builder/Immediate.hs+13−2
@@ -144,6 +144,7 @@ import Data.String (IsString)
144144import Data.Text (Text)
145145import Foreign.JavaScript.Internal.Utils
146146import Foreign.JavaScript.TH
147+import GHCJS.DOM.ClipboardEvent as ClipboardEvent
147148import GHCJS.DOM.Document (Document, createDocumentFragment, createElement, createElementNS, createTextNode, createComment)
148149import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setAttribute, setAttributeNS, hasAttribute)
149150import GHCJS.DOM.EventM (EventM, event, on)
@@ -179,6 +180,7 @@ import qualified Data.IntMap.Strict as IntMap
179180import qualified Data.Map as Map
180181import qualified Data.Text as T
181182import qualified GHCJS.DOM as DOM
183+import qualified GHCJS.DOM.DataTransfer as DataTransfer
182184import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
183185import qualified GHCJS.DOM.DocumentOrShadowRoot as Document
184186import qualified GHCJS.DOM.Element as Element
@@ -2255,7 +2257,7 @@ defaultDomEventHandler e evt = fmap (Just . EventResult) $ case evt of
22552257 Beforecopy -> return ()
22562258 Copy -> return ()
22572259 Beforepaste -> return ()
2258− Paste -> return ()
2260+ Paste -> getPasteData
22592261 Reset -> return ()
22602262 Search -> return ()
22612263 Selectstart -> return ()
@@ -2305,7 +2307,7 @@ defaultDomWindowEventHandler w evt = fmap (Just . EventResult) $ case evt of
23052307 Beforecopy -> return ()
23062308 Copy -> return ()
23072309 Beforepaste -> return ()
2308− Paste -> return ()
2310+ Paste -> getPasteData
23092311 Reset -> return ()
23102312 Search -> return ()
23112313 Selectstart -> return ()
@@ -2582,6 +2584,15 @@ getMouseEventCoords = do
25822584 e <- event
25832585 bisequence (getClientX e, getClientY e)
25842586
2587+{-# INLINABLE getPasteData #-}
2588+getPasteData :: EventM e ClipboardEvent (Maybe Text)
2589+getPasteData = do
2590+ e <- event
2591+ mdt <- ClipboardEvent.getClipboardData e
2592+ case mdt of
2593+ Nothing -> return Nothing
2594+ Just dt -> Just <$> DataTransfer.getData dt ("text" :: Text)
2595+
25852596{-# INLINABLE getTouchEvent #-}
25862597getTouchEvent :: EventM e TouchEvent TouchEventResult
25872598getTouchEvent = do
reflex-dom/reflex-dom.cabal+11−11
@@ -47,17 +47,17 @@ library
4747 hs-source-dirs: src-android
4848 other-modules: Reflex.Dom.Android.MainWidget
4949 build-depends:
50− aeson,
50+ aeson >= 1.4 && < 1.5,
5151 android-activity == 0.1.*,
5252 data-default == 0.7.*,
53− jsaddle
53+ jsaddle >= 0.9.6 && < 0.10
5454 c-sources: cbits/MainWidget.c
5555 include-dirs: cbits/include
5656 install-includes: MainWidget.h
5757 cpp-options: -DANDROID
5858 build-tools: hsc2hs
5959 build-depends:
60− base >= 4.7 && < 4.13,
60+ base >= 4.7 && < 4.14,
6161 bytestring == 0.10.*,
6262 reflex >= 0.6.2 && < 0.8,
6363 reflex-dom-core >=0.5.2 && < 0.6,
@@ -65,27 +65,27 @@ library
6565 if !impl(ghcjs)
6666 if flag(use-warp) && (os(linux) || os(osx))
6767 build-depends:
68− jsaddle,
69− jsaddle-warp
68+ jsaddle >= 0.9.6 && < 0.10,
69+ jsaddle-warp >= 0.9.6 && < 0.10
7070 else
7171 if os(osx) || os(ios)
7272 build-depends:
7373 data-default == 0.7.*,
74− jsaddle,
75− jsaddle-wkwebview
74+ jsaddle >= 0.9.6 && < 0.10,
75+ jsaddle-wkwebview >= 0.9.6 && < 0.10
7676 else
7777 if arch(wasm32)
7878 build-depends:
79− jsaddle,
80− jsaddle-wasm
79+ jsaddle >= 0.9.6 && < 0.10,
80+ jsaddle-wasm >= 0.1 && < 0.2
8181 else
8282 if flag(webkit2gtk)
8383 build-depends:
84− jsaddle-webkit2gtk
84+ jsaddle-webkit2gtk >= 0.9.6 && < 0.10
8585 else
8686 if !os(android)
8787 build-depends:
88− jsaddle-webkit2gtk
88+ jsaddle-webkit2gtk >= 0.9.6 && < 0.10
8989
9090 exposed-modules:
9191 Reflex.Dom