on efaaa52 help sign in
34 lines 1.1 kB history raw
1{-# LANGUAGE MultiParamTypeClasses #-}
2module Reflex.Dom.Class ( module Reflex.Dom.Class
3 , module Foreign.JavaScript.TH
4 , module Web.KeyCode
5 ) where
7import Data.Map (Map)
8import qualified Data.Map as Map
9import Reflex.Class
10import Web.KeyCode
12import Foreign.JavaScript.TH
13import Reflex.PerformEvent.Class
14import Reflex.PostBuild.Class
16import Prelude hiding (concat, mapM, mapM_, sequence)
18-- | Alias for Data.Map.singleton
19(=:) :: k -> a -> Map k a
20(=:) = Map.singleton
21infixr 7 =: -- Ought to bind tighter than <>, which is infixr 6
23{-# DEPRECATED keycodeEnter "Instead of `x == keycodeEnter`, use `keyCodeLookup x == Enter`" #-}
24keycodeEnter :: Int
25keycodeEnter = 13
27{-# DEPRECATED keycodeEscape "Instead of `x == keycodeEscape`, use `keyCodeLookup x == Escape`" #-}
28keycodeEscape :: Int
29keycodeEscape = 27
31{-# INLINABLE holdOnStartup #-}
32holdOnStartup :: (PostBuild t m, PerformEvent t m, MonadHold t m) => a -> Performable m a -> m (Behavior t a)
33holdOnStartup a0 ma = do
34 hold a0 =<< performEvent . (ma <$) =<< getPostBuild