projects/rebirth-ng/src/lib/common/component.deactivate.ts
Properties |
canDeactivate |
canDeactivate:
|
Type : function
|
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;
}
}