ZoonkWeb.Pagination (Zoonk v0.1.0-dev)

View Source

Reusable module for LiveView pagination.

Usage

use ZoonkWeb.Pagination, as: :users

def mount(_params, _session, socket) do
  {:ok, add_pagination(socket)}
end

defp paginate(socket, new_page) when new_page >= 1 do
  %{per_page: per_page} = socket.assigns
  users = Orgs.list_users(offset: (new_page - 1) * per_page, limit: per_page)
  paginate(socket, new_page, users)
end