add 'jqueryDatePickerDayField' with jquery's datepicker as the underlying implementation and keep 'jqueryDayField' behaving the same as before.
This commit is contained in:
parent
5f21c73d7d
commit
05966b8a00
@ -6,6 +6,7 @@
|
||||
module Yesod.Form.Jquery
|
||||
( YesodJquery (..)
|
||||
, jqueryDayField
|
||||
, jqueryDatePickerDayField
|
||||
, jqueryAutocompleteField
|
||||
, jqueryAutocompleteField'
|
||||
, googleHostedJqueryUiCss
|
||||
@ -54,7 +55,14 @@ class YesodJquery a where
|
||||
urlJqueryUiDateTimePicker _ = Right "http://github.com/gregwebs/jquery.ui.datetimepicker/raw/master/jquery.ui.datetimepicker.js"
|
||||
|
||||
jqueryDayField :: (RenderMessage site FormMessage, YesodJquery site) => JqueryDaySettings -> Field (HandlerT site IO) Day
|
||||
jqueryDayField jds = Field
|
||||
jqueryDayField = flip jqueryDayField' "date"
|
||||
|
||||
-- | Use jQuery's datepicker as the underlying implementation.
|
||||
jqueryDatePickerDayField :: (RenderMessage site FormMessage, YesodJquery site) => JqueryDaySettings -> Field (HandlerT site IO) Day
|
||||
jqueryDatePickerDayField = flip jqueryDayField' "text"
|
||||
|
||||
jqueryDayField' :: (RenderMessage site FormMessage, YesodJquery site) => JqueryDaySettings -> Text -> Field (HandlerT site IO) Day
|
||||
jqueryDayField' jds inputType = Field
|
||||
{ fieldParse = parseHelper $ maybe
|
||||
(Left MsgInvalidDay)
|
||||
Right
|
||||
@ -63,7 +71,7 @@ jqueryDayField jds = Field
|
||||
, fieldView = \theId name attrs val isReq -> do
|
||||
toWidget [shamlet|
|
||||
$newline never
|
||||
<input id="#{theId}" name="#{name}" *{attrs} type="date" :isReq:required="" value="#{showVal val}">
|
||||
<input id="#{theId}" name="#{name}" *{attrs} type="#{inputType}" :isReq:required="" value="#{showVal val}">
|
||||
|]
|
||||
addScript' urlJqueryJs
|
||||
addScript' urlJqueryUiJs
|
||||
|
||||
Loading…
Reference in New Issue
Block a user