jqueryAutocmpleteField' #793

This commit is contained in:
Michael Snoyman 2014-08-04 12:29:35 +03:00
parent 9dba11c83c
commit 1959ec7aae

View File

@ -7,6 +7,7 @@ module Yesod.Form.Jquery
( YesodJquery (..) ( YesodJquery (..)
, jqueryDayField , jqueryDayField
, jqueryAutocompleteField , jqueryAutocompleteField
, jqueryAutocompleteField'
, googleHostedJqueryUiCss , googleHostedJqueryUiCss
, JqueryDaySettings (..) , JqueryDaySettings (..)
, Default (..) , Default (..)
@ -98,7 +99,13 @@ $(function(){
jqueryAutocompleteField :: (RenderMessage site FormMessage, YesodJquery site) jqueryAutocompleteField :: (RenderMessage site FormMessage, YesodJquery site)
=> Route site -> Field (HandlerT site IO) Text => Route site -> Field (HandlerT site IO) Text
jqueryAutocompleteField src = Field jqueryAutocompleteField = jqueryAutocompleteField' 2
jqueryAutocompleteField' :: (RenderMessage site FormMessage, YesodJquery site)
=> Int -- ^ autocomplete minimum length
-> Route site
-> Field (HandlerT site IO) Text
jqueryAutocompleteField' minLen src = Field
{ fieldParse = parseHelper $ Right { fieldParse = parseHelper $ Right
, fieldView = \theId name attrs val isReq -> do , fieldView = \theId name attrs val isReq -> do
toWidget [shamlet| toWidget [shamlet|
@ -109,7 +116,7 @@ $newline never
addScript' urlJqueryUiJs addScript' urlJqueryUiJs
addStylesheet' urlJqueryUiCss addStylesheet' urlJqueryUiCss
toWidget [julius| toWidget [julius|
$(function(){$("##{rawJS theId}").autocomplete({source:"@{src}",minLength:2})}); $(function(){$("##{rawJS theId}").autocomplete({source:"@{src}",minLength:#{toJSON minLen}})});
|] |]
, fieldEnctype = UrlEncoded , fieldEnctype = UrlEncoded
} }