Multi-selects for yesod-form in, let's keep rolling

Hi all, David McBride has implemented multi-selects in yesod-form (way to go!). This involves a breaking change to the API. So while we're already breaking things, I wanted to get some discuss dynamically-increasing forms in a more concrete way. I've been playing around with a possible API, and came up with something usable. You can see the result in Github: https://github.com/snoyberg/yesod-form/blob/master/Yesod/Form/MassInput.hs . You can also see a usage example in the getMassR handler in the hello-forms demo: https://github.com/snoyberg/yesod-form/blob/master/hello-forms.hs For now, the basic idea is that you'll provide inputList with a label for this set of fields, some way to convert the list of FieldViews generated by the individual values into a widget, and a widget for a single view. inputList will then create a single field in the larger form, the will contain within it multiple subforms. Each subform will have an option to delete it in addition to its normal contents. At the end of the list of subforms, there is a checkbox to add an extra row. My first use case for this is for creating pages in the Yesod wiki, and I *think* it will work well for that case (though I haven't tried it out yet to be sure). I wanted to get input from others about this, since this is a complicated feature that could go in many different directions. One thing to point out is that this API only addresses applicative forms, not monadic forms. Michael
participants (1)
-
Michael Snoyman