11import { isString , isFunction } from "../common/predicates"
2- import { UiInjector } from "../common/interface" ;
32import { Transition } from "../transition/transition" ;
4- import { UiRouter } from "../router" ;
53import { services } from "../common/coreservices" ;
64import { TargetState } from "../state/targetState" ;
75
@@ -10,22 +8,21 @@ import {TargetState} from "../state/targetState";
108 *
119 * See [[StateDeclaration.redirectTo]]
1210 */
13- export const redirectToHook = ( transition : Transition , $injector : UiInjector ) => {
14- let redirect = transition . to ( ) . redirectTo ;
11+ export const redirectToHook = ( trans : Transition ) => {
12+ let redirect = trans . to ( ) . redirectTo ;
1513 if ( ! redirect ) return ;
1614
17- let router : UiRouter = $injector . get ( UiRouter ) ;
18- let $state = router . stateService ;
19-
20- if ( isFunction ( redirect ) )
21- return services . $q . when ( redirect ( transition , $injector ) ) . then ( handleResult ) ;
22-
23- return handleResult ( redirect ) ;
24-
2515 function handleResult ( result ) {
16+ let $state = trans . router . stateService ;
17+
2618 if ( result instanceof TargetState ) return result ;
27- if ( isString ( result ) ) return $state . target ( < any > result , transition . params ( ) , transition . options ( ) ) ;
19+ if ( isString ( result ) ) return $state . target ( < any > result , trans . params ( ) , trans . options ( ) ) ;
2820 if ( result [ 'state' ] || result [ 'params' ] )
29- return $state . target ( result [ 'state' ] || transition . to ( ) , result [ 'params' ] || transition . params ( ) , transition . options ( ) ) ;
21+ return $state . target ( result [ 'state' ] || trans . to ( ) , result [ 'params' ] || trans . params ( ) , trans . options ( ) ) ;
22+ }
23+
24+ if ( isFunction ( redirect ) ) {
25+ return services . $q . when ( redirect ( trans ) ) . then ( handleResult ) ;
3026 }
27+ return handleResult ( redirect ) ;
3128} ;
0 commit comments