feat(router): implement data and resolve

This commit is contained in:
vsavkin
2016-06-27 14:00:07 -07:00
parent e913d9954d
commit f2f1ec0117
11 changed files with 318 additions and 56 deletions

View File

@ -1,5 +1,6 @@
export declare class ActivatedRoute {
component: Type | string;
data: Observable<Data>;
outlet: string;
params: Observable<Params>;
snapshot: ActivatedRouteSnapshot;
@ -9,6 +10,7 @@ export declare class ActivatedRoute {
export declare class ActivatedRouteSnapshot {
component: Type | string;
data: Data;
outlet: string;
params: Params;
url: UrlPathWithParams[];
@ -23,6 +25,10 @@ export interface CanDeactivate<T> {
canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean;
}
export declare type Data = {
[name: string]: any;
};
export declare class DefaultUrlSerializer implements UrlSerializer {
parse(url: string): UrlTree;
serialize(tree: UrlTree): string;
@ -72,14 +78,24 @@ export declare const PRIMARY_OUTLET: string;
export declare function provideRouter(config: RouterConfig, opts?: ExtraOptions): any[];
export interface Resolve<T> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> | any;
}
export declare type ResolveData = {
[name: string]: any;
};
export interface Route {
canActivate?: any[];
canDeactivate?: any[];
children?: Route[];
component?: Type | string;
data?: Data;
outlet?: string;
path?: string;
redirectTo?: string;
resolve?: ResolveData;
terminal?: boolean;
}