The current $stateTransition service should take over all things around transitions. After that is done it can also be renamed to $transition as we no longer need that intermediate service as the $stateTransition service should know about the current transition in progress.
The pipeline defines which step should take place during a state transition. Conceptually nothing will take place other than setting the new state and broadcasting events, unless stages are added to the pipeline. By default the appropriate stages are added to the pipeline (updating views, emitting, redirecting and so on).
Each pipeline step can optionally return a Promise to enable a delay on finalization of a transition if needed. Which will solve issue #81.
This should allow for a much more flexible solution, which can be customized to a high degree, this also makes both the $state service and $transition service more focused on what they do.
The current
$stateTransition
service should take over all things around transitions. After that is done it can also be renamed to$transition
as we no longer need that intermediate service as the$stateTransition
service should know about the current transition in progress.The pipeline defines which step should take place during a state transition. Conceptually nothing will take place other than setting the new state and broadcasting events, unless stages are added to the pipeline. By default the appropriate stages are added to the pipeline (updating views, emitting, redirecting and so on).
Each pipeline step can optionally return a Promise to enable a delay on finalization of a transition if needed. Which will solve issue #81.
This should allow for a much more flexible solution, which can be customized to a high degree, this also makes both the
$state
service and$transition
service more focused on what they do.