Move SomeMessage to yesod-core
This commit is contained in:
parent
2435dc0b82
commit
3f5c8f1dd3
@ -2,10 +2,12 @@
|
|||||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
{-# LANGUAGE FlexibleInstances #-}
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
{-# LANGUAGE TypeSynonymInstances #-}
|
{-# LANGUAGE TypeSynonymInstances #-}
|
||||||
|
{-# LANGUAGE ExistentialQuantification #-}
|
||||||
module Yesod.Message
|
module Yesod.Message
|
||||||
( mkMessage
|
( mkMessage
|
||||||
, RenderMessage (..)
|
, RenderMessage (..)
|
||||||
, ToMessage (..)
|
, ToMessage (..)
|
||||||
|
, SomeMessage (..)
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Language.Haskell.TH.Syntax
|
import Language.Haskell.TH.Syntax
|
||||||
@ -248,3 +250,5 @@ parseVar s =
|
|||||||
case break (== '@') s of
|
case break (== '@') s of
|
||||||
(x, '@':y) -> (x, Just y)
|
(x, '@':y) -> (x, Just y)
|
||||||
_ -> (s, Nothing)
|
_ -> (s, Nothing)
|
||||||
|
|
||||||
|
data SomeMessage master = forall msg. RenderMessage master msg => SomeMessage msg
|
||||||
|
|||||||
@ -30,7 +30,7 @@ module Yesod.Form.Fields
|
|||||||
|
|
||||||
import Yesod.Form.Types
|
import Yesod.Form.Types
|
||||||
import Yesod.Widget
|
import Yesod.Widget
|
||||||
import Yesod.Message (RenderMessage)
|
import Yesod.Message (RenderMessage, SomeMessage (..))
|
||||||
import Text.Hamlet
|
import Text.Hamlet
|
||||||
import Text.Blaze (ToHtml (..), preEscapedString, unsafeByteString)
|
import Text.Blaze (ToHtml (..), preEscapedString, unsafeByteString)
|
||||||
import Text.Cassius
|
import Text.Cassius
|
||||||
|
|||||||
@ -41,7 +41,7 @@ import Control.Monad.Trans.Class (lift)
|
|||||||
import Control.Monad (liftM, join)
|
import Control.Monad (liftM, join)
|
||||||
import Text.Blaze (Html, toHtml)
|
import Text.Blaze (Html, toHtml)
|
||||||
import Yesod.Handler (GHandler, GGHandler, getRequest, runRequestBody, newIdent, getYesod)
|
import Yesod.Handler (GHandler, GGHandler, getRequest, runRequestBody, newIdent, getYesod)
|
||||||
import Yesod.Core (RenderMessage, liftIOHandler)
|
import Yesod.Core (RenderMessage, liftIOHandler, SomeMessage (..))
|
||||||
import Yesod.Widget (GWidget, whamlet)
|
import Yesod.Widget (GWidget, whamlet)
|
||||||
import Yesod.Request (reqNonce, reqWaiRequest, reqGetParams, languages)
|
import Yesod.Request (reqNonce, reqWaiRequest, reqGetParams, languages)
|
||||||
import Network.Wai (requestMethod)
|
import Network.Wai (requestMethod)
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import Control.Applicative (Applicative (..))
|
|||||||
import Yesod.Handler (GHandler, GGHandler, invalidArgs, runRequestBody, getRequest, getYesod, liftIOHandler)
|
import Yesod.Handler (GHandler, GGHandler, invalidArgs, runRequestBody, getRequest, getYesod, liftIOHandler)
|
||||||
import Yesod.Request (reqGetParams, languages)
|
import Yesod.Request (reqGetParams, languages)
|
||||||
import Control.Monad (liftM)
|
import Control.Monad (liftM)
|
||||||
import Yesod.Message (RenderMessage (..))
|
import Yesod.Message (RenderMessage (..), SomeMessage (..))
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import Data.Maybe (fromMaybe)
|
import Data.Maybe (fromMaybe)
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ import Text.Julius (julius)
|
|||||||
import Control.Monad.Trans.Class (lift)
|
import Control.Monad.Trans.Class (lift)
|
||||||
import Data.Text (Text, pack, unpack)
|
import Data.Text (Text, pack, unpack)
|
||||||
import Data.Monoid (mconcat)
|
import Data.Monoid (mconcat)
|
||||||
import Yesod.Core (RenderMessage)
|
import Yesod.Core (RenderMessage, SomeMessage (..))
|
||||||
|
|
||||||
#if __GLASGOW_HASKELL__ >= 700
|
#if __GLASGOW_HASKELL__ >= 700
|
||||||
#define HTML html
|
#define HTML html
|
||||||
|
|||||||
@ -12,7 +12,6 @@ module Yesod.Form.Types
|
|||||||
, Form
|
, Form
|
||||||
, AForm (..)
|
, AForm (..)
|
||||||
-- * Build forms
|
-- * Build forms
|
||||||
, SomeMessage (..)
|
|
||||||
, Field (..)
|
, Field (..)
|
||||||
, FieldSettings (..)
|
, FieldSettings (..)
|
||||||
, FieldView (..)
|
, FieldView (..)
|
||||||
@ -26,7 +25,7 @@ import Text.Blaze (Html, ToHtml (toHtml))
|
|||||||
import Control.Applicative ((<$>), Applicative (..))
|
import Control.Applicative ((<$>), Applicative (..))
|
||||||
import Control.Monad (liftM)
|
import Control.Monad (liftM)
|
||||||
import Data.String (IsString (..))
|
import Data.String (IsString (..))
|
||||||
import Yesod.Core (RenderMessage, GGHandler, GWidget)
|
import Yesod.Core (GGHandler, GWidget, SomeMessage)
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
|
|
||||||
-- | A form can produce three different results: there was no data available,
|
-- | A form can produce three different results: there was no data available,
|
||||||
@ -113,8 +112,6 @@ data FieldView sub master = FieldView
|
|||||||
, fvRequired :: Bool
|
, fvRequired :: Bool
|
||||||
}
|
}
|
||||||
|
|
||||||
data SomeMessage master = forall msg. RenderMessage master msg => SomeMessage msg
|
|
||||||
|
|
||||||
data Field sub master a = Field
|
data Field sub master a = Field
|
||||||
{ fieldParse :: [Text] -> GGHandler sub master IO (Either (SomeMessage master) (Maybe a))
|
{ fieldParse :: [Text] -> GGHandler sub master IO (Either (SomeMessage master) (Maybe a))
|
||||||
-- | ID, name, (invalid text OR legimiate result), required?
|
-- | ID, name, (invalid text OR legimiate result), required?
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user