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

Safe HaskellNone
LanguageHaskell2010

React.Flux.DOM

Description

This module contains combinators for creating DOM React elements.

The design of creating ReactElements is loosly based on lucid. Most of the combinators in this module have a type:

p_ :: Term eventHandler arg result => arg -> result

but you should interpret this as p_ having either of the following two types:

p_ :: [PropertyOrHandler eventHandler] -> ReactElementM eventHandler a -> ReactElementM eventHandler a
p_ :: ReactElementM eventHandler a -> ReactElementM eventHandler a

In the first, p_ takes a list of properties and handlers plus the child element(s). In the second, the list of properties and handlers is omitted. The Term class allows GHC to automatically select the appropriate type.

Be aware that in React, there are some differences between the browser DOM objects/properties and the properties and attributes you pass to React, as well as React only supports certian attributes. Event handlers can be created by the combinators in React.Flux.PropertiesAndEvents.

Elements not covered by this module can be created manually using el. But React only supports certian elements and they should all be covered by this module.

ul_ $ do li_ (b_ "Hello")
         li_ "World"
         li_ $
             ul_ (li_ "Nested" <> li_ "List")

would build something like

<ul>
  <li><b>Hello</b><li>
  <li>World</li>
  <li><ul>
    <li>Nested</li>
    <li>List</li>
  </ul></li>
</ul>

Synopsis

Documentation

class Term eventHandler arg result | result -> arg, result -> eventHandler where Source #

This class allows the DOM combinators to optionally take a list of properties or handlers, or for the list to be omitted.

Minimal complete definition

term

Methods

term :: JSString -> arg -> result Source #

Instances

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

Methods

term :: JSString -> [PropertyOrHandler eventHandler] -> child -> ReactElementM eventHandler a Source #

Term eventHandler (ReactElementM eventHandler a) (ReactElementM eventHandler a) Source # 

Methods

term :: JSString -> ReactElementM eventHandler a -> ReactElementM eventHandler a Source #

a_ :: Term eventHandler arg result => arg -> result Source #

abbr_ :: Term eventHandler arg result => arg -> result Source #

address_ :: Term eventHandler arg result => arg -> result Source #

area_ :: Term eventHandler arg result => arg -> result Source #

article_ :: Term eventHandler arg result => arg -> result Source #

aside_ :: Term eventHandler arg result => arg -> result Source #

audio_ :: Term eventHandler arg result => arg -> result Source #

b_ :: Term eventHandler arg result => arg -> result Source #

base_ :: Term eventHandler arg result => arg -> result Source #

bdi_ :: Term eventHandler arg result => arg -> result Source #

bdo_ :: Term eventHandler arg result => arg -> result Source #

big_ :: Term eventHandler arg result => arg -> result Source #

blockquote_ :: Term eventHandler arg result => arg -> result Source #

body_ :: Term eventHandler arg result => arg -> result Source #

br_ :: [PropertyOrHandler eventHandler] -> ReactElementM eventHandler () Source #

button_ :: Term eventHandler arg result => arg -> result Source #

canvas_ :: Term eventHandler arg result => arg -> result Source #

caption_ :: Term eventHandler arg result => arg -> result Source #

cite_ :: Term eventHandler arg result => arg -> result Source #

code_ :: Term eventHandler arg result => arg -> result Source #

col_ :: Term eventHandler arg result => arg -> result Source #

colgroup_ :: Term eventHandler arg result => arg -> result Source #

data_ :: Term eventHandler arg result => arg -> result Source #

datalist_ :: Term eventHandler arg result => arg -> result Source #

dd_ :: Term eventHandler arg result => arg -> result Source #

del_ :: Term eventHandler arg result => arg -> result Source #

details_ :: Term eventHandler arg result => arg -> result Source #

dfn_ :: Term eventHandler arg result => arg -> result Source #

dialog_ :: Term eventHandler arg result => arg -> result Source #

div_ :: Term eventHandler arg result => arg -> result Source #

dl_ :: Term eventHandler arg result => arg -> result Source #

dt_ :: Term eventHandler arg result => arg -> result Source #

em_ :: Term eventHandler arg result => arg -> result Source #

embed_ :: Term eventHandler arg result => arg -> result Source #

fieldset_ :: Term eventHandler arg result => arg -> result Source #

figcaption_ :: Term eventHandler arg result => arg -> result Source #

figure_ :: Term eventHandler arg result => arg -> result Source #

footer_ :: Term eventHandler arg result => arg -> result Source #

form_ :: Term eventHandler arg result => arg -> result Source #

h1_ :: Term eventHandler arg result => arg -> result Source #

h2_ :: Term eventHandler arg result => arg -> result Source #

h3_ :: Term eventHandler arg result => arg -> result Source #

h4_ :: Term eventHandler arg result => arg -> result Source #

h5_ :: Term eventHandler arg result => arg -> result Source #

h6_ :: Term eventHandler arg result => arg -> result Source #

head_ :: Term eventHandler arg result => arg -> result Source #

header_ :: Term eventHandler arg result => arg -> result Source #

hr_ :: [PropertyOrHandler eventHandler] -> ReactElementM eventHandler () Source #

html_ :: Term eventHandler arg result => arg -> result Source #

i_ :: Term eventHandler arg result => arg -> result Source #

iframe_ :: Term eventHandler arg result => arg -> result Source #

img_ :: Term eventHandler arg result => arg -> result Source #

input_ :: [PropertyOrHandler eventHandler] -> ReactElementM eventHandler () Source #

ins_ :: Term eventHandler arg result => arg -> result Source #

kbd_ :: Term eventHandler arg result => arg -> result Source #

keygen_ :: Term eventHandler arg result => arg -> result Source #

label_ :: Term eventHandler arg result => arg -> result Source #

legend_ :: Term eventHandler arg result => arg -> result Source #

li_ :: Term eventHandler arg result => arg -> result Source #

link_ :: Term eventHandler arg result => arg -> result Source #

main_ :: Term eventHandler arg result => arg -> result Source #

map_ :: Term eventHandler arg result => arg -> result Source #

mark_ :: Term eventHandler arg result => arg -> result Source #

menu_ :: Term eventHandler arg result => arg -> result Source #

menuitem_ :: Term eventHandler arg result => arg -> result Source #

meta_ :: Term eventHandler arg result => arg -> result Source #

meter_ :: Term eventHandler arg result => arg -> result Source #

nav_ :: Term eventHandler arg result => arg -> result Source #

noscript_ :: Term eventHandler arg result => arg -> result Source #

object_ :: Term eventHandler arg result => arg -> result Source #

ol_ :: Term eventHandler arg result => arg -> result Source #

optgroup_ :: Term eventHandler arg result => arg -> result Source #

option_ :: Term eventHandler arg result => arg -> result Source #

output_ :: Term eventHandler arg result => arg -> result Source #

p_ :: Term eventHandler arg result => arg -> result Source #

param_ :: Term eventHandler arg result => arg -> result Source #

picture_ :: Term eventHandler arg result => arg -> result Source #

pre_ :: Term eventHandler arg result => arg -> result Source #

progress_ :: Term eventHandler arg result => arg -> result Source #

q_ :: Term eventHandler arg result => arg -> result Source #

rp_ :: Term eventHandler arg result => arg -> result Source #

rt_ :: Term eventHandler arg result => arg -> result Source #

ruby_ :: Term eventHandler arg result => arg -> result Source #

s_ :: Term eventHandler arg result => arg -> result Source #

samp_ :: Term eventHandler arg result => arg -> result Source #

script_ :: Term eventHandler arg result => arg -> result Source #

section_ :: Term eventHandler arg result => arg -> result Source #

select_ :: Term eventHandler arg result => arg -> result Source #

small_ :: Term eventHandler arg result => arg -> result Source #

source_ :: Term eventHandler arg result => arg -> result Source #

span_ :: Term eventHandler arg result => arg -> result Source #

strong_ :: Term eventHandler arg result => arg -> result Source #

style_ :: Term eventHandler arg result => arg -> result Source #

sub_ :: Term eventHandler arg result => arg -> result Source #

summary_ :: Term eventHandler arg result => arg -> result Source #

sup_ :: Term eventHandler arg result => arg -> result Source #

table_ :: Term eventHandler arg result => arg -> result Source #

tbody_ :: Term eventHandler arg result => arg -> result Source #

td_ :: Term eventHandler arg result => arg -> result Source #

textarea_ :: Term eventHandler arg result => arg -> result Source #

tfoot_ :: Term eventHandler arg result => arg -> result Source #

th_ :: Term eventHandler arg result => arg -> result Source #

thead_ :: Term eventHandler arg result => arg -> result Source #

time_ :: Term eventHandler arg result => arg -> result Source #

title_ :: Term eventHandler arg result => arg -> result Source #

tr_ :: Term eventHandler arg result => arg -> result Source #

track_ :: Term eventHandler arg result => arg -> result Source #

u_ :: Term eventHandler arg result => arg -> result Source #

ul_ :: Term eventHandler arg result => arg -> result Source #

var_ :: Term eventHandler arg result => arg -> result Source #

video_ :: Term eventHandler arg result => arg -> result Source #

wbr_ :: Term eventHandler arg result => arg -> result Source #

circle_ :: Term eventHandler arg result => arg -> result Source #

clipPath_ :: Term eventHandler arg result => arg -> result Source #

defs_ :: Term eventHandler arg result => arg -> result Source #

ellipse_ :: Term eventHandler arg result => arg -> result Source #

g_ :: Term eventHandler arg result => arg -> result Source #

image_ :: Term eventHandler arg result => arg -> result Source #

line_ :: Term eventHandler arg result => arg -> result Source #

linearGradient_ :: Term eventHandler arg result => arg -> result Source #

mask_ :: Term eventHandler arg result => arg -> result Source #

path_ :: Term eventHandler arg result => arg -> result Source #

pattern_ :: Term eventHandler arg result => arg -> result Source #

polygon_ :: Term eventHandler arg result => arg -> result Source #

polyline_ :: Term eventHandler arg result => arg -> result Source #

radialGradient_ :: Term eventHandler arg result => arg -> result Source #

rect_ :: Term eventHandler arg result => arg -> result Source #

stop_ :: Term eventHandler arg result => arg -> result Source #

svg_ :: Term eventHandler arg result => arg -> result Source #

text_ :: Term eventHandler arg result => arg -> result Source #

tspan_ :: Term eventHandler arg result => arg -> result Source #