Subscribe now

Elm Weekly Drip #26 and Exercise: Build a Generalizable Paginating Table View [10.18.2016]

Delicious Elm links abound, and for this week's exercise we'll turn our paginating table view into something we can use generally throughout our application.

Before we get to that, though, let's see some links on: Thinking Computationally; Fancier SVG Graphics; immutability outside Elm; 'crappy' games; scroll progress.

Thinking Computationally with Elm

I probably can't summarize this e-book better than the first paragraph of the preface does, so here:

This book attempts to explain Computational Thinking, as if this were 2016, and not 1970. It is a first step in becoming a highly productive programmer who knows how to use tools developed over the last four decades to quickly write correct programs, or a software architect who sees the fundamentals of a operational problem and the fundamentals of data structures, and joins them in a solution

[ h/t Dr. Christopher Anand (from McMaster Outreach) ]


Imagine the original Elm Graphics library as a package and with a few more tricks up its sleeve. Also, imagine it outputs SVG. This, too, comes from the fine folks at McMaster Outreach

[ h/t @MacCASOutreach ]


If you still have to write JavaScript, wouldn't it be nice if you could avoid mutation and have it enforced? This eslint plugin is for you.

[ h/t @jhusain ]


The website claims that this is A really shitty game, but in fact it was one of the more fun wastes of time I've had in weeks :) It's a fantastically frustating exercise in tedium, in a good way.

The code is here. Also, his website is fantastic.

[ h/t @bolinchris ]


Want to show someone how far they've made it into an article or a document? This package only does that.

[ h/t @buttahz ]


This week we built a paginating data table for our users. For the week's exercise, generalize it and apply it to at least one more resource. Feel free to hop in our slack if you have any problems or questions.

I've added pagination support to the time-tracker app's backend in this commit, which you'll want to use as a starting poing if you aren't also looking to flex your Elixir simultaneously.