From 0b261f50733a5c461eff470d1580f742beded9d6 Mon Sep 17 00:00:00 2001 From: pythonissam Date: Sun, 17 Jun 2018 08:40:55 +0000 Subject: [PATCH 1/3] Exposed 'selectFieldHelper' --- yesod-form/Yesod/Form/Fields.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/yesod-form/Yesod/Form/Fields.hs b/yesod-form/Yesod/Form/Fields.hs index d64776ff..37c53942 100644 --- a/yesod-form/Yesod/Form/Fields.hs +++ b/yesod-form/Yesod/Form/Fields.hs @@ -42,6 +42,7 @@ module Yesod.Form.Fields , fileAFormOpt -- * Options -- $optionsOverview + , selectFieldHelper , selectField , selectFieldList , radioField @@ -729,11 +730,15 @@ optionsPersistKey filts ords toDisplay = fmap mkOptionList $ do , optionExternalValue = toPathPiece key }) pairs +-- | +-- A helper function for constucting 'selectField's. You may want to use this when you define your custom 'selectField's or 'radioField's. +-- +-- Since 1.6.4 selectFieldHelper :: (Eq a, RenderMessage site FormMessage) - => (Text -> Text -> [(Text, Text)] -> WidgetFor site () -> WidgetFor site ()) - -> (Text -> Text -> Bool -> WidgetFor site ()) - -> (Text -> Text -> [(Text, Text)] -> Text -> Bool -> Text -> WidgetFor site ()) + => (Text -> Text -> [(Text, Text)] -> WidgetFor site () -> WidgetFor site ()) -- ^ Outermost part of the field + -> (Text -> Text -> Bool -> WidgetFor site ()) -- ^ An option for None if the field is optional + -> (Text -> Text -> [(Text, Text)] -> Text -> Bool -> Text -> WidgetFor site ()) -- ^ Other options -> HandlerFor site (OptionList a) -> Field (HandlerFor site) a selectFieldHelper outside onOpt inside opts' = Field From b5def68be2eac91a88388cd796dc7ddfd21e95f2 Mon Sep 17 00:00:00 2001 From: pythonissam Date: Sun, 17 Jun 2018 08:46:52 +0000 Subject: [PATCH 2/3] Version bump --- yesod-form/yesod-form.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yesod-form/yesod-form.cabal b/yesod-form/yesod-form.cabal index e2c1ae5d..817ef8db 100644 --- a/yesod-form/yesod-form.cabal +++ b/yesod-form/yesod-form.cabal @@ -1,5 +1,5 @@ name: yesod-form -version: 1.6.3 +version: 1.6.4 license: MIT license-file: LICENSE author: Michael Snoyman From 01802e984b523c13ee9c11ed00bdce8a547a4f83 Mon Sep 17 00:00:00 2001 From: pythonissam Date: Sat, 23 Jun 2018 05:12:08 +0000 Subject: [PATCH 3/3] update the ChangeLog --- yesod-form/ChangeLog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yesod-form/ChangeLog.md b/yesod-form/ChangeLog.md index af0f887b..a112a14c 100644 --- a/yesod-form/ChangeLog.md +++ b/yesod-form/ChangeLog.md @@ -1,3 +1,7 @@ +## 1.6.4 + +* Expose `selectFieldHelper` [#1530](https://github.com/yesodweb/yesod/pull/1530) + ## 1.6.3 * Changed `Textarea` to derive `IsString` [#1514](https://github.com/yesodweb/yesod/pull/1514)