Merge pull request #381 from adamtulinius/master

export blank
This commit is contained in:
Michael Snoyman 2012-08-01 05:49:26 -07:00
commit aa93e562bb
3 changed files with 8 additions and 10 deletions

View File

@ -47,6 +47,7 @@ module Yesod.Form.Fields
import Yesod.Form.Types import Yesod.Form.Types
import Yesod.Form.I18n.English import Yesod.Form.I18n.English
import Yesod.Form.Functions (blank)
import Yesod.Handler (getMessageRender) import Yesod.Handler (getMessageRender)
import Yesod.Widget (toWidget, whamlet, GWidget) import Yesod.Widget (toWidget, whamlet, GWidget)
import Yesod.Message (RenderMessage (renderMessage), SomeMessage (..)) import Yesod.Message (RenderMessage (renderMessage), SomeMessage (..))
@ -99,11 +100,6 @@ import Data.Attoparsec.Text (Parser, char, string, digit, skipSpace, endOfInput,
defaultFormMessage :: FormMessage -> Text defaultFormMessage :: FormMessage -> Text
defaultFormMessage = englishFormMessage defaultFormMessage = englishFormMessage
blank :: (Monad m, RenderMessage master FormMessage)
=> (Text -> Either FormMessage a) -> [Text] -> m (Either (SomeMessage master) (Maybe a))
blank _ [] = return $ Right Nothing
blank _ ("":_) = return $ Right Nothing
blank f (x:_) = return $ either (Left . SomeMessage) (Right . Just) $ f x
intField :: (Integral i, RenderMessage master FormMessage) => Field sub master i intField :: (Integral i, RenderMessage master FormMessage) => Field sub master i
intField = Field intField = Field

View File

@ -37,6 +37,7 @@ module Yesod.Form.Functions
-- * Utilities -- * Utilities
, fieldSettingsLabel , fieldSettingsLabel
, aformM , aformM
, blank
) where ) where
import Yesod.Form.Types import Yesod.Form.Types
@ -389,3 +390,9 @@ aformM :: GHandler sub master a -> AForm sub master a
aformM action = AForm $ \_ _ ints -> do aformM action = AForm $ \_ _ ints -> do
value <- action value <- action
return (FormSuccess value, id, ints, mempty) return (FormSuccess value, id, ints, mempty)
blank :: (Monad m, RenderMessage master FormMessage)
=> (Text -> Either FormMessage a) -> [Text] -> m (Either (SomeMessage master) (Maybe a))
blank _ [] = return $ Right Nothing
blank _ ("":_) = return $ Right Nothing
blank f (x:_) = return $ either (Left . SomeMessage) (Right . Just) $ f x

View File

@ -56,11 +56,6 @@ class YesodJquery a where
urlJqueryUiDateTimePicker :: a -> Either (Route a) Text urlJqueryUiDateTimePicker :: a -> Either (Route a) Text
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"
blank :: (RenderMessage master FormMessage, Monad m) => (Text -> Either FormMessage a) -> [Text] -> m (Either (SomeMessage master) (Maybe a))
blank _ [] = return $ Right Nothing
blank _ ("":_) = return $ Right Nothing
blank f (x:_) = return $ either (Left . SomeMessage) (Right . Just) $ f x
jqueryDayField :: (RenderMessage master FormMessage, YesodJquery master) => JqueryDaySettings -> Field sub master Day jqueryDayField :: (RenderMessage master FormMessage, YesodJquery master) => JqueryDaySettings -> Field sub master Day
jqueryDayField jds = Field jqueryDayField jds = Field
{ fieldParse = blank $ maybe { fieldParse = blank $ maybe