react-haskell-1.1.0.0: src/React/Events.hs
{-# LANGUAGE OverloadedStrings #-}
module React.Events where
import Haste
import Haste.Prim
import React.Imports
import React.Types
onChange :: (s -> ChangeEvent -> s) -> StatefulEventHandler s
onChange handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseChangeEvent evt)))
ChangeEvt
onKeyDown :: (s -> KeyboardEvent -> s) -> StatefulEventHandler s
onKeyDown handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseKeyboardEvent evt)))
KeyDownEvt
onKeyPress :: (s -> KeyboardEvent -> s) -> StatefulEventHandler s
onKeyPress handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseKeyboardEvent evt)))
KeyPressEvt
onKeyUp :: (s -> KeyboardEvent -> s) -> StatefulEventHandler s
onKeyUp handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseKeyboardEvent evt)))
KeyUpEvt
onMouseEnter :: (s -> MouseEvent -> s) -> StatefulEventHandler s
onMouseEnter handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseMouseEvent evt)))
MouseEnterEvt
onMouseLeave :: (s -> MouseEvent -> s) -> StatefulEventHandler s
onMouseLeave handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseMouseEvent evt)))
MouseLeaveEvt
onDoubleClick :: (s -> MouseEvent -> s) -> StatefulEventHandler s
onDoubleClick handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseMouseEvent evt)))
DoubleClickEvt
onClick :: (s -> MouseEvent -> s) -> StatefulEventHandler s
onClick handler = StatefulEventHandler
(\s evt -> handler s (fromPtr (js_parseMouseEvent evt)))
ClickEvt
onEnter :: (s -> s) -> StatefulEventHandler s
onEnter f = onKeyPress handler where
handler s KeyboardEvent{key="Enter"} = f s
handler s _ = s