{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, UndecidableInstances, ViewPatterns #-}
module Text.Reform.Blaze.Text
(
inputText
, inputPassword
, inputSubmit
, inputReset
, inputHidden
, inputButton
, C.inputCheckbox
, C.inputCheckboxes
, C.inputRadio
, C.inputFile
, textarea
, buttonSubmit
, C.buttonReset
, C.button
, C.select
, C.selectMultiple
, C.label
, C.errorList
, C.childErrorList
, C.br
, C.fieldset
, C.ol
, C.ul
, C.li
, C.form
) where
import Data.Text (Text, empty)
import Text.Blaze.Html (Html, ToMarkup)
import Text.Reform
import qualified Text.Reform.Blaze.Common as C
inputText :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Text
-> Form m input error Html () Text
inputText :: Text -> Form m input error Html () Text
inputText Text
initialValue = (input -> Either error Text)
-> Text -> Form m input error Html () Text
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
(input -> Either error text)
-> text -> Form m input error Html () text
C.inputText input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText Text
initialValue
inputPassword :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Form m input error Html () Text
inputPassword :: Form m input error Html () Text
inputPassword = (input -> Either error Text)
-> Text -> Form m input error Html () Text
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
(input -> Either error text)
-> text -> Form m input error Html () text
C.inputPassword input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText Text
empty
inputSubmit :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Text
-> Form m input error Html () (Maybe Text)
inputSubmit :: Text -> Form m input error Html () (Maybe Text)
inputSubmit Text
initialValue = (input -> Either error Text)
-> Text -> Form m input error Html () (Maybe Text)
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
(input -> Either error text)
-> text -> Form m input error Html () (Maybe text)
C.inputSubmit input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText Text
initialValue
inputReset :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Text
-> Form m input error Html () ()
inputReset :: Text -> Form m input error Html () ()
inputReset = Text -> Form m input error Html () ()
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
text -> Form m input error Html () ()
C.inputReset
inputHidden :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Text
-> Form m input error Html () Text
inputHidden :: Text -> Form m input error Html () Text
inputHidden Text
initialValue = (input -> Either error Text)
-> Text -> Form m input error Html () Text
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
(input -> Either error text)
-> text -> Form m input error Html () text
C.inputHidden input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText Text
initialValue
inputButton :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Text
-> Form m input error Html () ()
inputButton :: Text -> Form m input error Html () ()
inputButton Text
label = Text -> Form m input error Html () ()
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToValue text) =>
text -> Form m input error Html () ()
C.inputButton Text
label
textarea :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input) =>
Int
-> Int
-> Text
-> Form m input error Html () Text
textarea :: Int -> Int -> Text -> Form m input error Html () Text
textarea Int
rows Int
cols Text
initialValue = (input -> Either error Text)
-> Int -> Int -> Text -> Form m input error Html () Text
forall (m :: * -> *) error text input.
(Monad m, FormError error, ToMarkup text) =>
(input -> Either error text)
-> Int -> Int -> text -> Form m input error Html () text
C.textarea input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText Int
rows Int
cols Text
initialValue
buttonSubmit :: ( Monad m, FormError error, FormInput input, ErrorInputType error ~ input, ToMarkup children) =>
Text
-> children
-> Form m input error Html () (Maybe Text)
buttonSubmit :: Text -> children -> Form m input error Html () (Maybe Text)
buttonSubmit = (input -> Either error Text)
-> Text -> children -> Form m input error Html () (Maybe Text)
forall (m :: * -> *) error text children input.
(Monad m, FormError error, ToValue text, ToMarkup children) =>
(input -> Either error text)
-> text -> children -> Form m input error Html () (Maybe text)
C.buttonSubmit input -> Either error Text
forall input error.
(FormInput input, FormError error, ErrorInputType error ~ input) =>
input -> Either error Text
getInputText