1
1
/** @module url */ /** */
2
2
import {
3
3
UIRouter ,
4
- UrlRouter ,
5
4
LocationServices ,
6
5
$InjectorLike ,
7
6
BaseUrlRule ,
8
7
UrlRuleHandlerFn ,
9
8
UrlMatcher ,
10
9
IInjectable ,
10
+ UrlRouter ,
11
11
} from '@uirouter/core' ;
12
12
import { services , isString , isFunction , isArray , identity } from '@uirouter/core' ;
13
13
@@ -30,25 +30,19 @@ export interface RawNg1RuleFunction {
30
30
* @deprecated
31
31
*/
32
32
export class UrlRouterProvider {
33
- /** @hidden */ _router : UIRouter ;
34
- /** @hidden */ _urlRouter : UrlRouter ;
35
-
36
33
static injectableHandler ( router : UIRouter , handler ) : UrlRuleHandlerFn {
37
34
return match => services . $injector . invoke ( handler , null , { $match : match , $stateParams : router . globals . params } ) ;
38
35
}
39
36
40
37
/** @hidden */
41
- constructor ( router : UIRouter ) {
42
- this . _router = router ;
43
- this . _urlRouter = router . urlRouter ;
44
- }
38
+ constructor ( /** @hidden */ private router : UIRouter ) { }
45
39
46
40
/** @hidden */
47
- $get ( ) {
48
- const urlRouter = this . _urlRouter ;
49
- urlRouter . update ( true ) ;
50
- if ( ! urlRouter . interceptDeferred ) urlRouter . listen ( ) ;
51
- return urlRouter ;
41
+ $get ( ) : UrlRouter {
42
+ const urlService = this . router . urlService ;
43
+ this . router . urlRouter . update ( true ) ;
44
+ if ( ! urlService . interceptDeferred ) urlService . listen ( ) ;
45
+ return this . router . urlRouter ;
52
46
}
53
47
54
48
/**
@@ -85,10 +79,10 @@ export class UrlRouterProvider {
85
79
rule ( ruleFn : RawNg1RuleFunction ) : UrlRouterProvider {
86
80
if ( ! isFunction ( ruleFn ) ) throw new Error ( "'rule' must be a function" ) ;
87
81
88
- const match = ( ) => ruleFn ( services . $injector , this . _router . locationService ) ;
82
+ const match = ( ) => ruleFn ( services . $injector , this . router . locationService ) ;
89
83
90
84
const rule = new BaseUrlRule ( match , identity ) ;
91
- this . _urlRouter . rule ( rule ) ;
85
+ this . router . urlService . rules . rule ( rule ) ;
92
86
return this ;
93
87
}
94
88
@@ -119,12 +113,11 @@ export class UrlRouterProvider {
119
113
* @return {object } `$urlRouterProvider` - `$urlRouterProvider` instance
120
114
*/
121
115
otherwise ( rule : string | RawNg1RuleFunction ) : UrlRouterProvider {
122
- const urlRouter = this . _urlRouter ;
123
-
116
+ const urlRules = this . router . urlService . rules ;
124
117
if ( isString ( rule ) ) {
125
- urlRouter . otherwise ( rule ) ;
118
+ urlRules . otherwise ( rule ) ;
126
119
} else if ( isFunction ( rule ) ) {
127
- urlRouter . otherwise ( ( ) => rule ( services . $injector , this . _router . locationService ) ) ;
120
+ urlRules . otherwise ( ( ) => rule ( services . $injector , this . router . locationService ) ) ;
128
121
} else {
129
122
throw new Error ( "'rule' must be a string or function" ) ;
130
123
}
@@ -172,10 +165,10 @@ export class UrlRouterProvider {
172
165
*/
173
166
when ( what : RegExp | UrlMatcher | string , handler : string | IInjectable ) {
174
167
if ( isArray ( handler ) || isFunction ( handler ) ) {
175
- handler = UrlRouterProvider . injectableHandler ( this . _router , handler ) ;
168
+ handler = UrlRouterProvider . injectableHandler ( this . router , handler ) ;
176
169
}
177
170
178
- this . _urlRouter . when ( what , handler as any ) ;
171
+ this . router . urlService . rules . when ( what , handler as any ) ;
179
172
return this ;
180
173
}
181
174
@@ -210,6 +203,6 @@ export class UrlRouterProvider {
210
203
* Passing no parameter is equivalent to `true`.
211
204
*/
212
205
deferIntercept ( defer ?: boolean ) {
213
- this . _urlRouter . deferIntercept ( defer ) ;
206
+ this . router . urlService . deferIntercept ( defer ) ;
214
207
}
215
208
}
0 commit comments