1
+ /**
2
+ * @ngdoc object
3
+ * @name ui.router.compat.$routeProvider
4
+ *
5
+ * @requires ui.router.state.$stateProvider
6
+ * @requires ui.router.router.$urlRouterProvider
7
+ *
8
+ * @description
9
+ * `$routeProvider` of the `ui.router.compat` module overwrites the existing
10
+ * `routeProvider` from the core. This is done to provide compatibility between
11
+ * the UI Router and the core router.
12
+ *
13
+ * It also provides a `when()` method to register routes that map to certain urls.
14
+ * Behind the scenes it actually delegates either to
15
+ * {@link ui.router.router.$urlRouterProvider $urlRouterProvider} or to the
16
+ * {@link ui.router.state.$stateProvider $stateProvider} to postprocess the given
17
+ * router definition object.
18
+ */
1
19
$RouteProvider . $inject = [ '$stateProvider' , '$urlRouterProvider' ] ;
2
20
function $RouteProvider ( $stateProvider , $urlRouterProvider ) {
3
21
@@ -17,6 +35,32 @@ function $RouteProvider( $stateProvider, $urlRouterProvider) {
17
35
}
18
36
19
37
this . when = when ;
38
+ /**
39
+ * @ngdoc function
40
+ * @name ui.router.compat.$routeProvider#when
41
+ * @methodOf ui.router.compat.$routeProvider
42
+ *
43
+ * @description
44
+ * Registers a route with a given route definition object. The route definition
45
+ * object has the same interface the angular core route definition object has.
46
+ *
47
+ * @example
48
+ * <pre>
49
+ * var app = angular.module('app', ['ui.router.compat']);
50
+ *
51
+ * app.config(function ($routeProvider) {
52
+ * $routeProvider.when('home', {
53
+ * controller: function () { ... },
54
+ * templateUrl: 'path/to/template'
55
+ * });
56
+ * });
57
+ * </pre>
58
+ *
59
+ * @param {string } url URL as string
60
+ * @param {object } route Route definition object
61
+ *
62
+ * @return {object } $routeProvider - $routeProvider instance
63
+ */
20
64
function when ( url , route ) {
21
65
/*jshint validthis: true */
22
66
if ( route . redirectTo != null ) {
@@ -47,6 +91,24 @@ function $RouteProvider( $stateProvider, $urlRouterProvider) {
47
91
return this ;
48
92
}
49
93
94
+ /**
95
+ * @ngdoc object
96
+ * @name ui.router.compat.$route
97
+ *
98
+ * @requires ui.router.state.$state
99
+ * @requires $rootScope
100
+ * @requires $routeParams
101
+ *
102
+ * @property {object } routes - Array of registered routes.
103
+ * @property {object } params - Current route params as object.
104
+ * @property {string } current - Name of the current route.
105
+ *
106
+ * @description
107
+ * The `$route` service provides interfaces to access defined routes. It also let's
108
+ * you access route params through `$routeParams` service, so you have fully
109
+ * control over all the stuff you would actually get from angular's core `$route`
110
+ * service.
111
+ */
50
112
this . $get = $get ;
51
113
$get . $inject = [ '$state' , '$rootScope' , '$routeParams' ] ;
52
114
function $get ( $state , $rootScope , $routeParams ) {
0 commit comments