react-flux-0.9.0: A binding to React based on the Flux application architecture for GHCJS

Safe HaskellNone
LanguageHaskell2010

React.Flux.PropertiesAndEvents

Contents

Description

This module contains the definitions for creating properties to pass to elements, as well as the definitions for the React Event System.

Synopsis

Documentation

data PropertyOrHandler handler Source

Either a property or an event handler.

The combination of all properties and event handlers are used to create the javascript object passed as the second argument to React.createElement.

Instances

Functor PropertyOrHandler Source 
(~) * child (ReactElementM eventHandler a) => Term eventHandler [PropertyOrHandler eventHandler] (child -> ReactElementM eventHandler a) Source 

(@=) :: ToJSON a => Text -> a -> PropertyOrHandler handler Source

Create a property.

($=) :: Text -> Text -> PropertyOrHandler handler Source

Create a text-valued property. This is here to avoid problems when OverloadedStrings extension is enabled

callback :: String -> (Value -> handler) -> PropertyOrHandler handler Source

Create a callback property. This is primarily intended for foreign React classes which expect callbacks to be passed to them as properties. For events on DOM elements, you should instead use the handlers below.

Events

data Event Source

Every event in React is a synthetic event, a cross-browser wrapper around the native event.

Instances

newtype EventTarget Source

A reference to the object that dispatched the event. https://developer.mozilla.org/en-US/docs/Web/API/Event/target

Constructors

EventTarget (JSRef ()) 

eventTargetProp :: FromJSRef val => EventTarget -> String -> val Source

Access a property in an event target

target :: FromJSRef val => Event -> String -> val Source

A version of eventTargetProp which accesses the property of evtTarget in the event. This is useful for example:

div_ $
    input_ [ "type" @= "checked"
           , onChange $ \evt -> let val = target evt "value" in ...
           ]

In this case, val would coorespond to the javascript expression evt.target.value.

preventDefault :: Event -> SomeStoreAction Source

Prevent the default browser action from occuring in response to this event.

stopPropagation :: Event -> SomeStoreAction Source

Stop propagating this event, either down the DOM tree during the capture phase or up the DOM tree during the bubbling phase.

capturePhase :: PropertyOrHandler handler -> PropertyOrHandler handler Source

By default, the handlers below are triggered during the bubbling phase. Use this to switch them to trigger during the capture phase.

Keyboard

onKeyDown :: (Event -> KeyboardEvent -> handler) -> PropertyOrHandler handler Source

onKeyPress :: (Event -> KeyboardEvent -> handler) -> PropertyOrHandler handler Source

onKeyUp :: (Event -> KeyboardEvent -> handler) -> PropertyOrHandler handler Source

Focus

onBlur :: (Event -> FocusEvent -> handler) -> PropertyOrHandler handler Source

onFocus :: (Event -> FocusEvent -> handler) -> PropertyOrHandler handler Source

Form

onChange :: (Event -> handler) -> PropertyOrHandler handler Source

The onChange event is special in React and should be used for all input change events. For details, see https://facebook.github.io/react/docs/forms.html

onInput :: (Event -> handler) -> PropertyOrHandler handler Source

onSubmit :: (Event -> handler) -> PropertyOrHandler handler Source

Mouse

onClick :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onContextMenu :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDoubleClick :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDrag :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragEnd :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragEnter :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragExit :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragLeave :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragOver :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDragStart :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onDrop :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseDown :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseEnter :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseLeave :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseMove :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseOut :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseOver :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

onMouseUp :: (Event -> MouseEvent -> handler) -> PropertyOrHandler handler Source

Touch

onTouchCancel :: (Event -> TouchEvent -> handler) -> PropertyOrHandler handler Source

onTouchEnd :: (Event -> TouchEvent -> handler) -> PropertyOrHandler handler Source

onTouchMove :: (Event -> TouchEvent -> handler) -> PropertyOrHandler handler Source

onTouchStart :: (Event -> TouchEvent -> handler) -> PropertyOrHandler handler Source

UI

onScroll :: (Event -> handler) -> PropertyOrHandler handler Source

Wheel

onWheel :: (Event -> MouseEvent -> WheelEvent -> handler) -> PropertyOrHandler handler Source

Image

onLoad :: (Event -> handler) -> PropertyOrHandler handler Source

onError :: (Event -> handler) -> PropertyOrHandler handler Source