From dc1a532225cba53b5d63df1bca77d5498ac34810 Mon Sep 17 00:00:00 2001 From: DavidM Date: Mon, 20 Jun 2011 20:42:34 -0400 Subject: [PATCH] Added multiple select fields to yesod and to demo. --- Yesod/Form/Fields.hs | 31 +++++++++++++++++++++++++++++++ Yesod/Form/Functions.hs | 1 + hello-forms.hs | 4 +++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/Yesod/Form/Fields.hs b/Yesod/Form/Fields.hs index 9fedf1b2..b9ed0e39 100644 --- a/Yesod/Form/Fields.hs +++ b/Yesod/Form/Fields.hs @@ -17,6 +17,7 @@ module Yesod.Form.Fields , emailField , searchField , selectField + , multiSelectField , AutoFocus , urlField , doubleField @@ -40,6 +41,9 @@ import Network.URI (parseURI) import Database.Persist (PersistField) import Text.HTML.SanitizeXSS (sanitizeBalance) import Control.Monad (when, unless) +import Data.List (intersect, nub) +import Data.Either (rights) +import Data.Maybe (catMaybes) import qualified Blaze.ByteString.Builder.Html.Utf8 as B import Blaze.ByteString.Builder (writeByteString, toLazyByteString) @@ -315,6 +319,11 @@ selectField = selectFieldHelper (\_theId _name isSel -> [WHAMLET|