UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

181 lines 6.3 kB
'use strict';var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc); switch (arguments.length) { case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target); case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0); case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc); } }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var lang_1 = require('angular2/src/facade/lang'); /** * The `RouteConfig` decorator defines routes for a given component. * * It takes an array of {@link RouteDefinition}s. */ var RouteConfig = (function () { function RouteConfig(configs) { this.configs = configs; } RouteConfig = __decorate([ lang_1.CONST(), __metadata('design:paramtypes', [Array]) ], RouteConfig); return RouteConfig; })(); exports.RouteConfig = RouteConfig; /** * `Route` is a type of {@link RouteDefinition} used to route a path to a component. * * It has the following properties: * - `path` is a string that uses the route matcher DSL. * - `component` a component type. * - `name` is an optional `CamelCase` string representing the name of the route. * - `data` is an optional property of any type representing arbitrary route metadata for the given * route. It is injectable via {@link RouteData}. * * ### Example * ``` * import {RouteConfig} from 'angular2/router'; * * @RouteConfig([ * {path: '/home', component: HomeCmp, name: 'HomeCmp' } * ]) * class MyApp {} * ``` */ var Route = (function () { function Route(_a) { var path = _a.path, component = _a.component, name = _a.name, data = _a.data; // added next three properties to work around https://github.com/Microsoft/TypeScript/issues/4107 this.aux = null; this.loader = null; this.redirectTo = null; this.path = path; this.component = component; this.name = name; this.data = data; } Route = __decorate([ lang_1.CONST(), __metadata('design:paramtypes', [Object]) ], Route); return Route; })(); exports.Route = Route; /** * `AuxRoute` is a type of {@link RouteDefinition} used to define an auxiliary route. * * It takes an object with the following properties: * - `path` is a string that uses the route matcher DSL. * - `component` a component type. * - `name` is an optional `CamelCase` string representing the name of the route. * - `data` is an optional property of any type representing arbitrary route metadata for the given * route. It is injectable via {@link RouteData}. * * ### Example * ``` * import {RouteConfig, AuxRoute} from 'angular2/router'; * * @RouteConfig([ * new AuxRoute({path: '/home', component: HomeCmp}) * ]) * class MyApp {} * ``` */ var AuxRoute = (function () { function AuxRoute(_a) { var path = _a.path, component = _a.component, name = _a.name; this.data = null; // added next three properties to work around https://github.com/Microsoft/TypeScript/issues/4107 this.aux = null; this.loader = null; this.redirectTo = null; this.path = path; this.component = component; this.name = name; } AuxRoute = __decorate([ lang_1.CONST(), __metadata('design:paramtypes', [Object]) ], AuxRoute); return AuxRoute; })(); exports.AuxRoute = AuxRoute; /** * `AsyncRoute` is a type of {@link RouteDefinition} used to route a path to an asynchronously * loaded component. * * It has the following properties: * - `path` is a string that uses the route matcher DSL. * - `loader` is a function that returns a promise that resolves to a component. * - `name` is an optional `CamelCase` string representing the name of the route. * - `data` is an optional property of any type representing arbitrary route metadata for the given * route. It is injectable via {@link RouteData}. * * ### Example * ``` * import {RouteConfig} from 'angular2/router'; * * @RouteConfig([ * {path: '/home', loader: () => Promise.resolve(MyLoadedCmp), name: 'MyLoadedCmp'} * ]) * class MyApp {} * ``` */ var AsyncRoute = (function () { function AsyncRoute(_a) { var path = _a.path, loader = _a.loader, name = _a.name, data = _a.data; this.aux = null; this.path = path; this.loader = loader; this.name = name; this.data = data; } AsyncRoute = __decorate([ lang_1.CONST(), __metadata('design:paramtypes', [Object]) ], AsyncRoute); return AsyncRoute; })(); exports.AsyncRoute = AsyncRoute; /** * `Redirect` is a type of {@link RouteDefinition} used to route a path to an asynchronously loaded * component. * * It has the following properties: * - `path` is a string that uses the route matcher DSL. * - `redirectTo` is a string representing the new URL to be matched against. * * ### Example * ``` * import {RouteConfig} from 'angular2/router'; * * @RouteConfig([ * {path: '/', redirectTo: '/home'}, * {path: '/home', component: HomeCmp} * ]) * class MyApp {} * ``` */ var Redirect = (function () { function Redirect(_a) { var path = _a.path, redirectTo = _a.redirectTo; this.name = null; // added next three properties to work around https://github.com/Microsoft/TypeScript/issues/4107 this.loader = null; this.data = null; this.aux = null; this.path = path; this.redirectTo = redirectTo; } Redirect = __decorate([ lang_1.CONST(), __metadata('design:paramtypes', [Object]) ], Redirect); return Redirect; })(); exports.Redirect = Redirect; //# sourceMappingURL=route_config_impl.js.map