refactor(ripple): adds support for non-fixed tabs

Closes #825.
Closes #460.
I believe you should have `var lastPage = ... -1` above and `stae.hasNext = page < lastPage;` here.