reflex-dom-core-0.8.1.4: src/Reflex/Dom/Class.hs
{-# LANGUAGE MultiParamTypeClasses #-}
module Reflex.Dom.Class ( module Reflex.Dom.Class
, module Foreign.JavaScript.TH
, module Web.KeyCode
) where
import Control.Lens
import Reflex.Class
import Web.KeyCode
import Foreign.JavaScript.TH
import Reflex.PerformEvent.Class
import Reflex.PostBuild.Class
-- | Previously an alias for 'Data.Map.singleton', but now generalised to 'At'
(=:) :: (At m, Monoid m) => Index m -> IxValue m -> m
k =: a = at k ?~ a $ mempty
infixr 7 =: -- Ought to bind tighter than <>, which is infixr 6
{-# DEPRECATED keycodeEnter "Instead of `x == keycodeEnter`, use `keyCodeLookup x == Enter`" #-}
keycodeEnter :: Int
keycodeEnter = 13
{-# DEPRECATED keycodeEscape "Instead of `x == keycodeEscape`, use `keyCodeLookup x == Escape`" #-}
keycodeEscape :: Int
keycodeEscape = 27
{-# INLINABLE holdOnStartup #-}
holdOnStartup :: (PostBuild t m, PerformEvent t m, MonadHold t m) => a -> Performable m a -> m (Behavior t a)
holdOnStartup a0 ma = do
hold a0 =<< performEvent . (ma <$) =<< getPostBuild