tivac/yui3 — comment on commit 3025c5c626eaa531fd88c60867dc283f7ad2478c
File: src/paginator/js/paginator-base.js line 28
By tivac:

The intent is for implementers to listen for `detailsChange` to update their UI instead of requiring every method that could update the paginator's state to return the new state. The thinking was that it would help to centralize the updating logic in an easy-to-use way.

I don't see any reason why `_update` couldn't be modified to check for a new property like `e.proposal` (that name is terrible) where instead of actually saving the results of all its calculations by updating the attributes it would just return what it would've set into details. Then a `propose` or `state` or whatever method could be added to the public API to call `_update` with the `proposal` flag set.

The `details` attribute should always contain the current state of the paginator, it's updated as soon as the initializer runs.