diff options
Diffstat (limited to 'src/ngRoute/route.js')
| -rw-r--r-- | src/ngRoute/route.js | 42 | 
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 | 
