packages feed

yesod-form 0.3.3 → 0.3.4

raw patch · 4 files changed

+45/−42 lines, 4 filesdep ~blaze-builderdep ~blaze-htmldep ~bytestring

Dependency ranges changed: blaze-builder, blaze-html, bytestring, text, time

Files

Yesod/Form/Functions.hs view
@@ -4,7 +4,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE FlexibleContexts #-} module Yesod.Form.Functions-    ( -- * Running in Form monad+    ( -- * Running in MForm monad       newFormIdent     , askParams     , askFiles@@ -62,7 +62,7 @@ #endif  -- | Get a unique identifier.-newFormIdent :: Form sub master Text+newFormIdent :: MForm sub master Text newFormIdent = do     i <- get     let i' = incrInts i@@ -72,12 +72,12 @@     incrInts (IntSingle i) = IntSingle $ i + 1     incrInts (IntCons i is) = (i + 1) `IntCons` is -formToAForm :: Form sub master (FormResult a, FieldView sub master) -> AForm sub master a+formToAForm :: MForm sub master (FormResult a, FieldView sub master) -> AForm sub master a formToAForm form = AForm $ \(master, langs) env ints -> do     ((a, xml), ints', enc) <- runRWST form (env, master, langs) ints     return (a, (:) xml, ints', enc) -aFormToForm :: AForm sub master a -> Form sub master (FormResult a, [FieldView sub master] -> [FieldView sub master])+aFormToForm :: AForm sub master a -> MForm sub master (FormResult a, [FieldView sub master] -> [FieldView sub master]) aFormToForm (AForm aform) = do     ints <- get     (env, master, langs) <- ask@@ -86,24 +86,24 @@     tell enc     return (a, xml) -askParams :: Form sub master (Maybe Env)+askParams :: MForm sub master (Maybe Env) askParams = do     (x, _, _) <- ask     return $ liftM fst x -askFiles :: Form sub master (Maybe FileEnv)+askFiles :: MForm sub master (Maybe FileEnv) askFiles = do     (x, _, _) <- ask     return $ liftM snd x  mreq :: (RenderMessage master msg, RenderMessage master FormMessage)      => Field sub master a -> FieldSettings msg -> Maybe a-     -> Form sub master (FormResult a, FieldView sub master)+     -> MForm sub master (FormResult a, FieldView sub master) mreq field fs mdef = mhelper field fs mdef (\m l -> FormFailure [renderMessage m l MsgValueRequired]) FormSuccess True  mopt :: RenderMessage master msg      => Field sub master a -> FieldSettings msg -> Maybe (Maybe a)-     -> Form sub master (FormResult (Maybe a), FieldView sub master)+     -> MForm sub master (FormResult (Maybe a), FieldView sub master) mopt field fs mdef = mhelper field fs (join mdef) (const $ const $ FormSuccess Nothing) (FormSuccess . Just) False  mhelper :: RenderMessage master msg@@ -113,7 +113,7 @@         -> (master -> [Text] -> FormResult b) -- ^ on missing         -> (a -> FormResult b) -- ^ on success         -> Bool -- ^ is it required?-        -> Form sub master (FormResult b, FieldView sub master)+        -> MForm sub master (FormResult b, FieldView sub master)  mhelper Field {..} FieldSettings {..} mdef onMissing onFound isReq = do     mp <- askParams@@ -157,7 +157,7 @@      -> AForm sub master (Maybe a) aopt a b = formToAForm . mopt a b -runFormGeneric :: MonadIO m => Form sub master a -> master -> [Text] -> Maybe (Env, FileEnv) -> GGHandler sub master m (a, Enctype)+runFormGeneric :: MonadIO m => MForm sub master a -> master -> [Text] -> Maybe (Env, FileEnv) -> GGHandler sub master m (a, Enctype) runFormGeneric form master langs env = liftIOHandler $ evalRWST form (env, master, langs) (IntSingle 1)  -- | This function is used to both initially render a form and to later extract@@ -170,14 +170,14 @@ -- the form submit to a POST page. In such a case, both the GET and POST -- handlers should use 'runFormPost'. runFormPost :: RenderMessage master FormMessage-            => (Html -> Form sub master (FormResult a, xml))+            => (Html -> MForm sub master (FormResult a, xml))             -> GHandler sub master ((FormResult a, xml), Enctype) runFormPost form = do     env <- postEnv     postHelper form env  postHelper  :: RenderMessage master FormMessage-            => (Html -> Form sub master (FormResult a, xml))+            => (Html -> MForm sub master (FormResult a, xml))             -> Maybe (Env, FileEnv)             -> GHandler sub master ((FormResult a, xml), Enctype) postHelper form env = do@@ -204,7 +204,7 @@ -- general usage, you can stick with @runFormPost@. generateFormPost     :: RenderMessage master FormMessage-    => (Html -> Form sub master (FormResult a, xml))+    => (Html -> MForm sub master (FormResult a, xml))     -> GHandler sub master ((FormResult a, xml), Enctype) generateFormPost form = postHelper form Nothing @@ -220,14 +220,14 @@   where     notEmpty = not . L.null . fileContent -runFormPostNoNonce :: (Html -> Form sub master (FormResult a, xml)) -> GHandler sub master ((FormResult a, xml), Enctype)+runFormPostNoNonce :: (Html -> MForm sub master (FormResult a, xml)) -> GHandler sub master ((FormResult a, xml), Enctype) runFormPostNoNonce form = do     langs <- languages     m <- getYesod     env <- postEnv     runFormGeneric (form mempty) m langs env -runFormGet :: (Html -> Form sub master a) -> GHandler sub master (a, Enctype)+runFormGet :: (Html -> MForm sub master a) -> GHandler sub master (a, Enctype) runFormGet form = do     gets <- liftM reqGetParams getRequest     let env =@@ -236,13 +236,13 @@                 Just _ -> Just (Map.unionsWith (++) $ map (\(x, y) -> Map.singleton x [y]) gets, Map.empty)     getHelper form env -generateFormGet :: (Html -> Form sub master a) -> GHandler sub master (a, Enctype)+generateFormGet :: (Html -> MForm sub master a) -> GHandler sub master (a, Enctype) generateFormGet form = getHelper form Nothing  getKey :: Text getKey = "_hasdata" -getHelper :: (Html -> Form sub master a) -> Maybe (Env, FileEnv) -> GHandler sub master (a, Enctype)+getHelper :: (Html -> MForm sub master a) -> Maybe (Env, FileEnv) -> GHandler sub master (a, Enctype) getHelper form env = do     let fragment = [HTML|<input type=hidden name=#{getKey}>|]     langs <- languages@@ -252,7 +252,7 @@ type FormRender sub master a =        AForm sub master a     -> Html-    -> Form sub master (FormResult a, GWidget sub master ())+    -> MForm sub master (FormResult a, GWidget sub master ())  renderTable, renderDivs :: FormRender sub master a renderTable aform fragment = do
Yesod/Form/MassInput.hs view
@@ -35,7 +35,7 @@ #define WHAMLET $whamlet #endif -down :: Int -> Form sub master ()+down :: Int -> MForm sub master () down 0 = return () down i | i < 0 = error "called down with a negative number" down i = do@@ -43,7 +43,7 @@     put $ IntCons 0 is     down $ i - 1 -up :: Int -> Form sub master ()+up :: Int -> MForm sub master () up 0 = return () up i | i < 0 = error "called down with a negative number" up i = do@@ -98,7 +98,7 @@  withDelete :: (xml ~ GWidget sub master (), RenderMessage master FormMessage)            => AForm sub master a-           -> Form sub master (Either xml (FormResult a, [FieldView sub master]))+           -> MForm sub master (Either xml (FormResult a, [FieldView sub master])) withDelete af = do     down 1     deleteName <- newFormIdent
Yesod/Form/Types.hs view
@@ -11,6 +11,7 @@     , Ints (..)       -- * Form     , Form+    , MForm     , AForm (..)       -- * Build forms     , Field (..)@@ -75,6 +76,8 @@  type Lang = Text type Form sub master a = RWST (Maybe (Env, FileEnv), master, [Lang]) Enctype Ints (GGHandler sub master IO) a+{-# DEPRECATED Form "Use MForm instead" #-}+type MForm sub master a = RWST (Maybe (Env, FileEnv), master, [Lang]) Enctype Ints (GGHandler sub master IO) a  newtype AForm sub master a = AForm     { unAForm :: (master, [Text]) -> Maybe (Env, FileEnv) -> Ints -> GGHandler sub master IO (FormResult a, [FieldView sub master] -> [FieldView sub master], Ints, Enctype)
yesod-form.cabal view
@@ -1,5 +1,5 @@ name:            yesod-form-version:         0.3.3+version:         0.3.4 license:         BSD3 license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>@@ -13,27 +13,27 @@ description:     Form handling support for Yesod Web Framework  library-    build-depends:   base                      >= 4        && < 5-                   , yesod-core                >= 0.9      && < 0.10-                   , yesod-persistent          >= 0.2      && < 0.3-                   , time                      >= 1.1.4    && < 1.3-                   , hamlet                    >= 0.10     && < 0.11-                   , shakespeare-css           >= 0.10     && < 0.11-                   , shakespeare-js            >= 0.10     && < 0.11-                   , persistent                >= 0.6      && < 0.7-                   , yesod-persistent          >= 0.2      && < 0.3+    build-depends:   base                  >= 4        && < 5+                   , yesod-core            >= 0.9      && < 0.10+                   , yesod-persistent      >= 0.2      && < 0.3+                   , time                  >= 1.1.4+                   , hamlet                >= 0.10     && < 0.11+                   , shakespeare-css       >= 0.10     && < 0.11+                   , shakespeare-js        >= 0.10     && < 0.11+                   , persistent            >= 0.6      && < 0.7+                   , yesod-persistent      >= 0.2      && < 0.3                    , template-haskell-                   , transformers              >= 0.2.2    && < 0.3-                   , data-default              >= 0.3      && < 0.4-                   , xss-sanitize              >= 0.3.0.1  && < 0.4-                   , blaze-builder             >= 0.2.1    && < 0.4-                   , network                   >= 2.2      && < 2.4-                   , email-validate            >= 0.2.6    && < 0.3-                   , blaze-html                >= 0.4      && < 0.5-                   , bytestring                >= 0.9      && < 0.10-                   , text                      >= 0.7      && < 1.0-                   , wai                       >= 0.4      && < 0.5-                   , containers                >= 0.2      && < 0.5+                   , transformers          >= 0.2.2    && < 0.3+                   , data-default          >= 0.3      && < 0.4+                   , xss-sanitize          >= 0.3.0.1  && < 0.4+                   , blaze-builder      >= 0.2.1.4      && < 0.4+                   , network               >= 2.2      && < 2.4+                   , email-validate        >= 0.2.6    && < 0.3+                   , blaze-html            >= 0.4.1.3  && < 0.5+                   , bytestring            >= 0.9.1.4  && < 0.10+                   , text                  >= 0.9      && < 0.12+                   , wai                   >= 0.4      && < 0.5+                   , containers            >= 0.2      && < 0.5     exposed-modules: Yesod.Form                      Yesod.Form.Class                      Yesod.Form.Types