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 #-}
|
||||
-- | This module simply re-exports from other modules for your convenience.
|
||||
module Yesod
|
||||
( module Yesod.Request
|
||||
, module Yesod.Content
|
||||
|
||||
@ -30,11 +30,11 @@ module Yesod.Form
|
||||
, fieldsToDivs
|
||||
, fieldsToPlain
|
||||
, checkForm
|
||||
-- * Type classes
|
||||
, module Yesod.Form.Class
|
||||
-- * Template Haskell
|
||||
, mkToForm
|
||||
-- * Re-exports
|
||||
, module Yesod.Form.Fields
|
||||
, module Yesod.Form.Class
|
||||
) where
|
||||
|
||||
import Yesod.Form.Core
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# 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
|
||||
( FormResult (..)
|
||||
, GForm (..)
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
-- | Some fields spiced up with jQuery UI.
|
||||
module Yesod.Form.Jquery
|
||||
( YesodJquery (..)
|
||||
, jqueryDayField
|
||||
@ -47,16 +50,19 @@ class YesodJquery a where
|
||||
urlJqueryUiDateTimePicker :: a -> Either (Route a) String
|
||||
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
|
||||
-> FormFieldSettings
|
||||
-> FormletField sub y Day
|
||||
-> Maybe (FormType f)
|
||||
-> f
|
||||
jqueryDayField = requiredFieldHelper . jqueryDayFieldProfile
|
||||
|
||||
maybeJqueryDayField :: YesodJquery y
|
||||
=> JqueryDaySettings
|
||||
-> FormFieldSettings
|
||||
-> FormletField sub y (Maybe Day)
|
||||
maybeJqueryDayField
|
||||
:: (IsForm f, FormType f ~ Maybe Day, YesodJquery (FormMaster f))
|
||||
=> JqueryDaySettings
|
||||
-> FormFieldSettings
|
||||
-> Maybe (FormType f)
|
||||
-> f
|
||||
maybeJqueryDayField = optionalFieldHelper . jqueryDayFieldProfile
|
||||
|
||||
jqueryDayFieldProfile :: YesodJquery y
|
||||
@ -104,7 +110,11 @@ ifRight e f = case e of
|
||||
showLeadingZero :: (Show a) => a -> String
|
||||
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
|
||||
|
||||
-- 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)
|
||||
(UTCTime date . timeOfDayToTime)
|
||||
|
||||
jqueryAutocompleteField :: YesodJquery y =>
|
||||
Route y -> FormFieldSettings -> FormletField sub y String
|
||||
jqueryAutocompleteField
|
||||
:: (IsForm f, FormType f ~ String, YesodJquery (FormMaster f))
|
||||
=> Route (FormMaster f)
|
||||
-> FormFieldSettings
|
||||
-> Maybe (FormType f)
|
||||
-> f
|
||||
jqueryAutocompleteField = requiredFieldHelper . jqueryAutocompleteFieldProfile
|
||||
|
||||
maybeJqueryAutocompleteField :: YesodJquery y =>
|
||||
Route y -> FormFieldSettings -> FormletField sub y (Maybe String)
|
||||
maybeJqueryAutocompleteField
|
||||
:: (IsForm f, FormType f ~ Maybe String, YesodJquery (FormMaster f))
|
||||
=> Route (FormMaster f)
|
||||
-> FormFieldSettings
|
||||
-> Maybe (FormType f)
|
||||
-> f
|
||||
maybeJqueryAutocompleteField src =
|
||||
optionalFieldHelper $ jqueryAutocompleteFieldProfile src
|
||||
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
-- | Provide the user with a rich text editor.
|
||||
module Yesod.Form.Nic
|
||||
( YesodNic (..)
|
||||
, nicHtmlField
|
||||
@ -14,14 +17,17 @@ import Text.HTML.SanitizeXSS (sanitizeXSS)
|
||||
import Yesod.Internal (lbsToChars)
|
||||
|
||||
class YesodNic a where
|
||||
-- | NIC Editor.
|
||||
-- | NIC Editor Javascript file.
|
||||
urlNicEdit :: a -> Either (Route a) String
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
nicHtmlFieldProfile :: YesodNic y => FieldProfile sub y Html
|
||||
|
||||
@ -52,15 +52,11 @@ library
|
||||
Yesod.Content
|
||||
Yesod.Dispatch
|
||||
Yesod.Form
|
||||
Yesod.Form.Class
|
||||
Yesod.Form.Core
|
||||
Yesod.Form.Fields
|
||||
Yesod.Form.Profiles
|
||||
Yesod.Form.Jquery
|
||||
Yesod.Form.Nic
|
||||
Yesod.Hamlet
|
||||
Yesod.Handler
|
||||
Yesod.Internal
|
||||
Yesod.Json
|
||||
Yesod.Request
|
||||
Yesod.Widget
|
||||
@ -70,6 +66,10 @@ library
|
||||
Yesod.Helpers.Sitemap
|
||||
Yesod.Helpers.Static
|
||||
Yesod.WebRoutes
|
||||
other-modules: Yesod.Form.Class
|
||||
Yesod.Internal
|
||||
Yesod.Form.Fields
|
||||
Yesod.Form.Profiles
|
||||
ghc-options: -Wall
|
||||
|
||||
executable yesod
|
||||
|
||||
Loading…
Reference in New Issue
Block a user