projects/rebirth-ng/src/lib/common/component.deactivate.ts
Methods |
canDeactivate | |||||||||||||||
canDeactivate(component: ComponentDeactivate, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot)
|
|||||||||||||||
Parameters :
Returns :
Observable | Promise | boolean
|
import { Observable } from 'rxjs';
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot } from '@angular/router';
export interface ComponentDeactivate {
canDeactivate: (currentRoute?: ActivatedRouteSnapshot,
currentState?: RouterStateSnapshot,
nextState?: RouterStateSnapshot) => Observable<boolean> | Promise<boolean> | boolean;
}
@Injectable({ providedIn: 'root' })
export class ComponentDeactivateGuard implements CanDeactivate<ComponentDeactivate> {
canDeactivate(component: ComponentDeactivate,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState?: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return component.canDeactivate ? component.canDeactivate(currentRoute, currentState, nextState) : true;
}
}