File

projects/rebirth-ng/src/lib/common/component.deactivate.ts

Index

Methods

Methods

canDeactivate
canDeactivate(component: ComponentDeactivate, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot)
Parameters :
Name Type Optional
component ComponentDeactivate no
currentRoute ActivatedRouteSnapshot no
currentState RouterStateSnapshot no
nextState RouterStateSnapshot yes
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;
  }

}

results matching ""

    No results matching ""