I’ve made a package (elm-listview) for viewing the contents of a
List, currently supporting sorting and pagination. Hope to add some more features in the future (grouping, filtering and trees come to mind).
Basically, it’s somewhat similar to elm-sortable-table but I wanted to make it so the package itself did not render the table or produce any messages (so, no
Msg in the core library). I just wanted it to transform the data (i.e., sort, paginate, etc.), and let the user decide how that should be rendered.
That being said, the package does include some standard viewers for rendering an HTML table, for example.
A problem I see with this approach, however, is that I had to expose a lot of details that would otherwise be internal to the package. I worry this may become a bigger problem going forward, as more features are added.
I would definitely welcome any advice or “war stories” anyone has on this subject!