Doc cleanup, especially forms
This commit is contained in:
parent
6e43ea5fc3
commit
c35c935418
1
Yesod.hs
1
Yesod.hs
@ -1,4 +1,5 @@
|
|||||||
{-# LANGUAGE CPP #-}
|
{-# LANGUAGE CPP #-}
|
||||||
|
-- | This module simply re-exports from other modules for your convenience.
|
||||||
module Yesod
|
module Yesod
|
||||||
( module Yesod.Request
|
( module Yesod.Request
|
||||||
, module Yesod.Content
|
, module Yesod.Content
|
||||||
|
|||||||
@ -30,11 +30,11 @@ module Yesod.Form
|
|||||||
, fieldsToDivs
|
, fieldsToDivs
|
||||||
, fieldsToPlain
|
, fieldsToPlain
|
||||||
, checkForm
|
, checkForm
|
||||||
|
-- * Type classes
|
||||||
|
, module Yesod.Form.Class
|
||||||
-- * Template Haskell
|
-- * Template Haskell
|
||||||
, mkToForm
|
, mkToForm
|
||||||
-- * Re-exports
|
|
||||||
, module Yesod.Form.Fields
|
, module Yesod.Form.Fields
|
||||||
, module Yesod.Form.Class
|
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Yesod.Form.Core
|
import Yesod.Form.Core
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
{-# LANGUAGE FlexibleInstances #-}
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
{-# LANGUAGE TypeFamilies #-}
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
{-# LANGUAGE TypeSynonymInstances #-}
|
{-# LANGUAGE TypeSynonymInstances #-}
|
||||||
|
-- | Users of the forms library should not need to use this module in general.
|
||||||
|
-- It is intended only for writing custom forms and form fields.
|
||||||
module Yesod.Form.Core
|
module Yesod.Form.Core
|
||||||
( FormResult (..)
|
( FormResult (..)
|
||||||
, GForm (..)
|
, GForm (..)
|
||||||
|
|||||||
@ -1,4 +1,7 @@
|
|||||||
{-# LANGUAGE QuasiQuotes #-}
|
{-# LANGUAGE QuasiQuotes #-}
|
||||||
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
|
{-# LANGUAGE FlexibleContexts #-}
|
||||||
|
-- | Some fields spiced up with jQuery UI.
|
||||||
module Yesod.Form.Jquery
|
module Yesod.Form.Jquery
|
||||||
( YesodJquery (..)
|
( YesodJquery (..)
|
||||||
, jqueryDayField
|
, jqueryDayField
|
||||||
@ -47,16 +50,19 @@ class YesodJquery a where
|
|||||||
urlJqueryUiDateTimePicker :: a -> Either (Route a) String
|
urlJqueryUiDateTimePicker :: a -> Either (Route a) String
|
||||||
urlJqueryUiDateTimePicker _ = Right "http://github.com/gregwebs/jquery.ui.datetimepicker/raw/master/jquery.ui.datetimepicker.js"
|
urlJqueryUiDateTimePicker _ = Right "http://github.com/gregwebs/jquery.ui.datetimepicker/raw/master/jquery.ui.datetimepicker.js"
|
||||||
|
|
||||||
jqueryDayField :: YesodJquery y
|
jqueryDayField :: (IsForm f, FormType f ~ Day, YesodJquery (FormMaster f))
|
||||||
=> JqueryDaySettings
|
=> JqueryDaySettings
|
||||||
-> FormFieldSettings
|
-> FormFieldSettings
|
||||||
-> FormletField sub y Day
|
-> Maybe (FormType f)
|
||||||
|
-> f
|
||||||
jqueryDayField = requiredFieldHelper . jqueryDayFieldProfile
|
jqueryDayField = requiredFieldHelper . jqueryDayFieldProfile
|
||||||
|
|
||||||
maybeJqueryDayField :: YesodJquery y
|
maybeJqueryDayField
|
||||||
=> JqueryDaySettings
|
:: (IsForm f, FormType f ~ Maybe Day, YesodJquery (FormMaster f))
|
||||||
-> FormFieldSettings
|
=> JqueryDaySettings
|
||||||
-> FormletField sub y (Maybe Day)
|
-> FormFieldSettings
|
||||||
|
-> Maybe (FormType f)
|
||||||
|
-> f
|
||||||
maybeJqueryDayField = optionalFieldHelper . jqueryDayFieldProfile
|
maybeJqueryDayField = optionalFieldHelper . jqueryDayFieldProfile
|
||||||
|
|
||||||
jqueryDayFieldProfile :: YesodJquery y
|
jqueryDayFieldProfile :: YesodJquery y
|
||||||
@ -104,7 +110,11 @@ ifRight e f = case e of
|
|||||||
showLeadingZero :: (Show a) => a -> String
|
showLeadingZero :: (Show a) => a -> String
|
||||||
showLeadingZero time = let t = show time in if length t == 1 then "0" ++ t else t
|
showLeadingZero time = let t = show time in if length t == 1 then "0" ++ t else t
|
||||||
|
|
||||||
jqueryDayTimeField :: YesodJquery y => FormFieldSettings -> FormletField sub y UTCTime
|
jqueryDayTimeField
|
||||||
|
:: (IsForm f, FormType f ~ UTCTime, YesodJquery (FormMaster f))
|
||||||
|
=> FormFieldSettings
|
||||||
|
-> Maybe (FormType f)
|
||||||
|
-> f
|
||||||
jqueryDayTimeField = requiredFieldHelper jqueryDayTimeFieldProfile
|
jqueryDayTimeField = requiredFieldHelper jqueryDayTimeFieldProfile
|
||||||
|
|
||||||
-- use A.M/P.M and drop seconds and "UTC" (as opposed to normal UTCTime show)
|
-- use A.M/P.M and drop seconds and "UTC" (as opposed to normal UTCTime show)
|
||||||
@ -144,12 +154,20 @@ parseUTCTime s =
|
|||||||
ifRight (parseTime timeS)
|
ifRight (parseTime timeS)
|
||||||
(UTCTime date . timeOfDayToTime)
|
(UTCTime date . timeOfDayToTime)
|
||||||
|
|
||||||
jqueryAutocompleteField :: YesodJquery y =>
|
jqueryAutocompleteField
|
||||||
Route y -> FormFieldSettings -> FormletField sub y String
|
:: (IsForm f, FormType f ~ String, YesodJquery (FormMaster f))
|
||||||
|
=> Route (FormMaster f)
|
||||||
|
-> FormFieldSettings
|
||||||
|
-> Maybe (FormType f)
|
||||||
|
-> f
|
||||||
jqueryAutocompleteField = requiredFieldHelper . jqueryAutocompleteFieldProfile
|
jqueryAutocompleteField = requiredFieldHelper . jqueryAutocompleteFieldProfile
|
||||||
|
|
||||||
maybeJqueryAutocompleteField :: YesodJquery y =>
|
maybeJqueryAutocompleteField
|
||||||
Route y -> FormFieldSettings -> FormletField sub y (Maybe String)
|
:: (IsForm f, FormType f ~ Maybe String, YesodJquery (FormMaster f))
|
||||||
|
=> Route (FormMaster f)
|
||||||
|
-> FormFieldSettings
|
||||||
|
-> Maybe (FormType f)
|
||||||
|
-> f
|
||||||
maybeJqueryAutocompleteField src =
|
maybeJqueryAutocompleteField src =
|
||||||
optionalFieldHelper $ jqueryAutocompleteFieldProfile src
|
optionalFieldHelper $ jqueryAutocompleteFieldProfile src
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,7 @@
|
|||||||
{-# LANGUAGE QuasiQuotes #-}
|
{-# LANGUAGE QuasiQuotes #-}
|
||||||
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
|
{-# LANGUAGE FlexibleContexts #-}
|
||||||
|
-- | Provide the user with a rich text editor.
|
||||||
module Yesod.Form.Nic
|
module Yesod.Form.Nic
|
||||||
( YesodNic (..)
|
( YesodNic (..)
|
||||||
, nicHtmlField
|
, nicHtmlField
|
||||||
@ -14,14 +17,17 @@ import Text.HTML.SanitizeXSS (sanitizeXSS)
|
|||||||
import Yesod.Internal (lbsToChars)
|
import Yesod.Internal (lbsToChars)
|
||||||
|
|
||||||
class YesodNic a where
|
class YesodNic a where
|
||||||
-- | NIC Editor.
|
-- | NIC Editor Javascript file.
|
||||||
urlNicEdit :: a -> Either (Route a) String
|
urlNicEdit :: a -> Either (Route a) String
|
||||||
urlNicEdit _ = Right "http://js.nicedit.com/nicEdit-latest.js"
|
urlNicEdit _ = Right "http://js.nicedit.com/nicEdit-latest.js"
|
||||||
|
|
||||||
nicHtmlField :: YesodNic y => FormFieldSettings -> FormletField sub y Html
|
nicHtmlField :: (IsForm f, FormType f ~ Html, YesodNic (FormMaster f))
|
||||||
|
=> FormFieldSettings -> Maybe Html -> f
|
||||||
nicHtmlField = requiredFieldHelper nicHtmlFieldProfile
|
nicHtmlField = requiredFieldHelper nicHtmlFieldProfile
|
||||||
|
|
||||||
maybeNicHtmlField :: YesodNic y => FormFieldSettings -> FormletField sub y (Maybe Html)
|
maybeNicHtmlField
|
||||||
|
:: (IsForm f, FormType f ~ Maybe Html, YesodNic (FormMaster f))
|
||||||
|
=> FormFieldSettings -> Maybe (FormType f) -> f
|
||||||
maybeNicHtmlField = optionalFieldHelper nicHtmlFieldProfile
|
maybeNicHtmlField = optionalFieldHelper nicHtmlFieldProfile
|
||||||
|
|
||||||
nicHtmlFieldProfile :: YesodNic y => FieldProfile sub y Html
|
nicHtmlFieldProfile :: YesodNic y => FieldProfile sub y Html
|
||||||
|
|||||||
@ -52,15 +52,11 @@ library
|
|||||||
Yesod.Content
|
Yesod.Content
|
||||||
Yesod.Dispatch
|
Yesod.Dispatch
|
||||||
Yesod.Form
|
Yesod.Form
|
||||||
Yesod.Form.Class
|
|
||||||
Yesod.Form.Core
|
Yesod.Form.Core
|
||||||
Yesod.Form.Fields
|
|
||||||
Yesod.Form.Profiles
|
|
||||||
Yesod.Form.Jquery
|
Yesod.Form.Jquery
|
||||||
Yesod.Form.Nic
|
Yesod.Form.Nic
|
||||||
Yesod.Hamlet
|
Yesod.Hamlet
|
||||||
Yesod.Handler
|
Yesod.Handler
|
||||||
Yesod.Internal
|
|
||||||
Yesod.Json
|
Yesod.Json
|
||||||
Yesod.Request
|
Yesod.Request
|
||||||
Yesod.Widget
|
Yesod.Widget
|
||||||
@ -70,6 +66,10 @@ library
|
|||||||
Yesod.Helpers.Sitemap
|
Yesod.Helpers.Sitemap
|
||||||
Yesod.Helpers.Static
|
Yesod.Helpers.Static
|
||||||
Yesod.WebRoutes
|
Yesod.WebRoutes
|
||||||
|
other-modules: Yesod.Form.Class
|
||||||
|
Yesod.Internal
|
||||||
|
Yesod.Form.Fields
|
||||||
|
Yesod.Form.Profiles
|
||||||
ghc-options: -Wall
|
ghc-options: -Wall
|
||||||
|
|
||||||
executable yesod
|
executable yesod
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user