What would anyone suggest as the best option for a data table. I’d need features like striping, borders, sortable columns, selectable rows.
Perhaps not feature complete, but the short answer could be Dict.
Take a look at the second half of “Immutable Relational Data” by Richard Feldman at the latest elm-conf.
He shows how one can treat a Dict like an SQL table, for example:
SELECT COUNT(*) FROM users WHERE age >= 80
Dict.filter isVotingAge users |> Dict.size
Actually, perhaps I’ve missunderstood your question.
Do you mean data table in the sense of a datastructure, or a view of a dataset?
Sorry I wasn’t clear. I was referring to something to view data as in an html table.
In that sense, I think the closest the community has to offer currently is elm-sortable-table.
That’s probably only a start to what you want though, and it seems like a component that more that just yourself would be interested in.
Perhaps a nice library project to start coding.
I’ve had a great experience with using Jeremy Thomas’s CSS-only framework, wysiwyg. There is a section on that page that describes how tables look and the options available, including striping!
Jeremy also has a more heavy-duty CSS framework called Bulma. If you only want tables, I think this one is overkill. I mention it because it is the more popular option.
Thanks for this. Looks pretty good. Wasn’t aware someone had taken over elm-sortable-table.
I like Jeremy Thomas’s work. Nice styling but simple. Unfortunately there appears to be no built in sorting on the tables.
I am very happy with it, in spite of the performance problems it causes (see how the fps changes if you toggle the tables).
I’ve found the API very nice.
The live demo link in the README shows an earlier version which doesn’t use elm-ui and doesn’t have tables. You have to clone and compile the current state of the master branch.
The tables are not yet sortable but this in my roadmap.
Thanks. I didn’t realize Elm-UI even had a data table. Didn’t see it in the docs.
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.