2011-06-26 1 views
1

Digestive-functors-blazeは<input type="text" id="foo" name="foo" /><label for="foo">Bar</label>のようにHTMLを作成しますが、標準的な方法は見つけられませんでした。例えば、<br />を末尾に追加します。消化器官のフォーム要素

私はこの思い付いた:私は、私はそれが何を期待している<++でそれを追加することができますが、私はこれが意図した方法であるかどうかを疑問に思う

br :: (Monad m) => HappstackForm m H.Html BlazeFormHtml() 
br = Common.label $ \_ -> do 
    createFormHtml $ \cfg -> do 
    H.br 

これは、たとえばフィールドセットなどでどのように拡張されますか。

答えて

2

として書かれたときbrが少しきれいになりますが、これは、意図的な方法です:

:とにかく

br :: Monad m 
    => Form m i e BlazeFormHtml() 
br = view $ createFormHtml $ const H.br 

私は、この定義は、私はText.Digestive.Forms.HtmlviewHtml機能を追加しました少し面倒です考え出し、

viewHtml :: Monad m => a -> Form m i e (FormHtml a)() 
viewHtml = view . createFormHtml . const 

これはdigestive-functors-0.1.0.1で入手できます。この新しいコンビネータを使用すると、ちょうど<++ viewHtml H.brを使用できるようになります。

+0

ありがとうございます。私はフィールドセットの仕組みを見てみるつもりです。これを後で答えとしてマークします – Masse

関連する問題