feat(router): add router-level events for GuardsCheck and Resolve (#17601)

This commit is contained in:
Jason Aden
2017-07-01 10:30:17 -07:00
committed by GitHub
parent b479ed9407
commit 8a1a989a1c
7 changed files with 246 additions and 30 deletions

View File

@ -87,7 +87,7 @@ export declare class DefaultUrlSerializer implements UrlSerializer {
export declare type DetachedRouteHandle = {};
/** @stable */
export declare type Event = NavigationStart | NavigationEnd | NavigationCancel | NavigationError | RoutesRecognized | RouteConfigLoadStart | RouteConfigLoadEnd;
export declare type Event = NavigationStart | NavigationEnd | NavigationCancel | NavigationError | RoutesRecognized | RouteConfigLoadStart | RouteConfigLoadEnd | GuardsCheckStart | GuardsCheckEnd | ResolveStart | ResolveEnd;
/** @stable */
export interface ExtraOptions {
@ -98,6 +98,36 @@ export interface ExtraOptions {
useHash?: boolean;
}
/** @experimental */
export declare class GuardsCheckEnd {
id: number;
shouldActivate: boolean;
state: RouterStateSnapshot;
url: string;
urlAfterRedirects: string;
constructor(
id: number,
url: string,
urlAfterRedirects: string,
state: RouterStateSnapshot,
shouldActivate: boolean);
toString(): string;
}
/** @experimental */
export declare class GuardsCheckStart {
id: number;
state: RouterStateSnapshot;
url: string;
urlAfterRedirects: string;
constructor(
id: number,
url: string,
urlAfterRedirects: string,
state: RouterStateSnapshot);
toString(): string;
}
/** @stable */
export declare type LoadChildren = string | LoadChildrenCallback;
@ -215,6 +245,34 @@ export declare type ResolveData = {
[name: string]: any;
};
/** @experimental */
export declare class ResolveEnd {
id: number;
state: RouterStateSnapshot;
url: string;
urlAfterRedirects: string;
constructor(
id: number,
url: string,
urlAfterRedirects: string,
state: RouterStateSnapshot);
toString(): string;
}
/** @experimental */
export declare class ResolveStart {
id: number;
state: RouterStateSnapshot;
url: string;
urlAfterRedirects: string;
constructor(
id: number,
url: string,
urlAfterRedirects: string,
state: RouterStateSnapshot);
toString(): string;
}
/** @stable */
export interface Route {
canActivate?: any[];