dirPagination: add async support through on-page-change callback and total-items