I recently had to build a fairly complex piece of UI for an existing app and after quite a bit of experimentation decided to settle on a pair of HTML5 "sliders" (input type="range") as the best UX.
I initially thought I might build it in Elm but couldn't see how to - easily - manage such things in "standard" Elm, so I did it in raw JS/HTML. It wasn't horrible but it wasn't very pleasant either. However, I'd like to take another run at it in Elm and after looking through the libraries available, it seems like my only option right now is elm-html since that seems to be the only way to get a raw input type="range" into the DOM. Reading through the archives tho' it seems that integrating elm-html with signals is a little awkward, so I wanted to resurrect this thread from October and get a sense of where Elm is going, as regards to generating and reacting to HTML inputs that are not just text, keyboard, or mouse events?
In my case, I would need:
* an easy way to render arbitrary input elements from a set of attributes (which might change in response to signals and therefore trigger re-rendering) - elm-html seems to support that
* an easy way to extract all the "input events" from those live input elements as a signal - sounds like this is tricky with elm-html?
* mix fine-grained input elements with "regular" Elm elements - it's not clear to me whether this is possible / advisable with elm-html
On the latter point, the TodoMVC example of elm-html seems to be "all HTML" rather than using elm-html just for things that are hard to render / control with plain ol' Elm. Is that just because of the way the example is constructed or are there issues trying to mix'n'match?
The Graphics.Input module is very limited in terms of the controls you can create. Graphics.Input.Field is also fairly limited - and supports only three types of text inputs.
What is the current state-of-the-art on HTML inputs in Elm, and what if any future plans are there?
Sean