aboutsummaryrefslogtreecommitdiffstats
path: root/src/ngRoute/route.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/ngRoute/route.js')
-rw-r--r--src/ngRoute/route.js42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/ngRoute/route.js b/src/ngRoute/route.js
index 8a6dacd4..50e2405a 100644
--- a/src/ngRoute/route.js
+++ b/src/ngRoute/route.js
@@ -28,6 +28,10 @@ var ngRouteModule = angular.module('ngRoute', ['ng']).
* Requires the {@link ngRoute `ngRoute`} module to be installed.
*/
function $RouteProvider(){
+ function inherit(parent, extra) {
+ return angular.extend(new (angular.extend(function() {}, {prototype:parent}))(), extra);
+ }
+
var routes = {};
/**
@@ -126,7 +130,7 @@ function $RouteProvider(){
* Adds a new route definition to the `$route` service.
*/
this.when = function(path, route) {
- routes[path] = extend(
+ routes[path] = angular.extend(
{reloadOnSearch: true},
route,
path && pathRegExp(path, route)
@@ -138,7 +142,7 @@ function $RouteProvider(){
? path.substr(0, path.length-1)
: path +'/';
- routes[redirectPath] = extend(
+ routes[redirectPath] = angular.extend(
{redirectTo: path},
pathRegExp(redirectPath, route)
);
@@ -460,9 +464,9 @@ function $RouteProvider(){
last = $route.current;
if (next && last && next.$$route === last.$$route
- && equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) {
+ && angular.equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) {
last.params = next.params;
- copy(last.params, $routeParams);
+ angular.copy(last.params, $routeParams);
$rootScope.$broadcast('$routeUpdate', last);
} else if (next || last) {
forceReload = false;
@@ -470,7 +474,7 @@ function $RouteProvider(){
$route.current = next;
if (next) {
if (next.redirectTo) {
- if (isString(next.redirectTo)) {
+ if (angular.isString(next.redirectTo)) {
$location.path(interpolate(next.redirectTo, next.params)).search(next.params)
.replace();
} else {
@@ -483,29 +487,29 @@ function $RouteProvider(){
$q.when(next).
then(function() {
if (next) {
- var locals = extend({}, next.resolve),
+ var locals = angular.extend({}, next.resolve),
template, templateUrl;
- forEach(locals, function(value, key) {
- locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value);
+ angular.forEach(locals, function(value, key) {
+ locals[key] = angular.isString(value) ? $injector.get(value) : $injector.invoke(value);
});
- if (isDefined(template = next.template)) {
- if (isFunction(template)) {
+ if (angular.isDefined(template = next.template)) {
+ if (angular.isFunction(template)) {
template = template(next.params);
}
- } else if (isDefined(templateUrl = next.templateUrl)) {
- if (isFunction(templateUrl)) {
+ } else if (angular.isDefined(templateUrl = next.templateUrl)) {
+ if (angular.isFunction(templateUrl)) {
templateUrl = templateUrl(next.params);
}
templateUrl = $sce.getTrustedResourceUrl(templateUrl);
- if (isDefined(templateUrl)) {
+ if (angular.isDefined(templateUrl)) {
next.loadedTemplateUrl = templateUrl;
template = $http.get(templateUrl, {cache: $templateCache}).
then(function(response) { return response.data; });
}
}
- if (isDefined(template)) {
+ if (angular.isDefined(template)) {
locals['$template'] = template;
}
return $q.all(locals);
@@ -516,7 +520,7 @@ function $RouteProvider(){
if (next == $route.current) {
if (next) {
next.locals = locals;
- copy(next.params, $routeParams);
+ angular.copy(next.params, $routeParams);
}
$rootScope.$broadcast('$routeChangeSuccess', next, last);
}
@@ -535,10 +539,10 @@ function $RouteProvider(){
function parseRoute() {
// Match a route
var params, match;
- forEach(routes, function(route, path) {
+ angular.forEach(routes, function(route, path) {
if (!match && (params = switchRouteMatcher($location.path(), route))) {
match = inherit(route, {
- params: extend({}, $location.search(), params),
+ params: angular.extend({}, $location.search(), params),
pathParams: params});
match.$$route = route;
}
@@ -552,7 +556,7 @@ function $RouteProvider(){
*/
function interpolate(string, params) {
var result = [];
- forEach((string||'').split(':'), function(segment, i) {
+ angular.forEach((string||'').split(':'), function(segment, i) {
if (i === 0) {
result.push(segment);
} else {
@@ -566,4 +570,4 @@ function $RouteProvider(){
return result.join('');
}
}];
-}
+} \ No newline at end of file