suavemente-0.2.0.0: An applicative functor that seamlessly talks to HTML inputs.

Safe HaskellNone
LanguageHaskell2010

Web.Suavemente.Input

Synopsis

Documentation

genName :: MonadState Int m => m String Source #

Generate a new name for an HTML element.

mkInput Source #

Arguments

:: (Value -> Parser a) 
-> (String -> a -> Markup)

Function to construct the HTML element. The first parameter is what should be used for the element's id attribute.

-> a

The input's initial value.

-> Suave a 

Constructor for building Suave inputs that are backed by HTML elements.

slider Source #

Arguments

:: (ToMarkup a, Num a, FromJSON a) 
=> String

label

-> a

min

-> a

max

-> a

initial value

-> Suave a 

Create an input driven by an HTML slider.

realSlider Source #

Arguments

:: (ToMarkup a, Num a, Real a, FromJSON a) 
=> String

label

-> a

min

-> a

max

-> a

step

-> a

initial value

-> Suave a 

Create an input driven by an HTML slider, whose domain is the real numbers.

colorPicker Source #

Arguments

:: (Ord a, Floating a, RealFrac a) 
=> String

label

-> Colour a

initial value

-> Suave (Colour a) 

Create an input driven by the HTML input, type=color.

checkbox :: String -> Bool -> Suave Bool Source #

Create an input driven by an HTML checkbox.

checkbox_ :: String -> Bool -> Suave Bool Source #

Create an input driven by an HTML checkbox without table tags.

textbox Source #

Arguments

:: String

label

-> String

initial value

-> Suave String 

Create an input driven by an HTML textbox.

textbox_ Source #

Arguments

:: String

label

-> String

initial value

-> Suave String 

Create an input driven by an HTML textbox without table tags.

dropdown Source #

Arguments

:: (FromJSON a, ToMarkup a, Eq a) 
=> String

label

-> [(String, a)] 
-> a 
-> Suave a 

Create an input driven by an HTML select.

enumDropdown Source #

Arguments

:: (FromJSON a, ToMarkup a, Enum a, Bounded a, Eq a) 
=> String

label

-> a 
-> Suave a 

Create an input for enums driven by an HTML select.

checkboxShow :: String -> String -> Bool -> Suave Bool Source #

A checkbox that turns off a class display

showJs :: String -> String Source #

js to show/hide a class based on a checkbox

markupF :: (Markup -> Markup) -> Suave a -> Suave a Source #

Modify the markup of a Suave

div' :: String -> String -> Suave a -> Suave a Source #

Wrap in a div

display :: Bool -> String Source #

show/hide style string

toggleInput :: String -> Bool -> String -> Suave a -> Suave (Bool, a) Source #

A checkbox that toggles visibility of another input (Suave a)