projects/commons/src/lib/elements/meta/guards/meta.guard.ts
Methods |
|
constructor(service: MetaService)
|
||||||
|
Parameters :
|
| Public canActivate | |||||||||
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)
|
|||||||||
|
Parameters :
Returns :
boolean
|
| Public canActivateChild | |||||||||
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)
|
|||||||||
|
Parameters :
Returns :
boolean
|
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot } from '@angular/router';
import { MetaService } from '../services';
@Injectable()
export class MetaGuard implements CanActivate, CanActivateChild {
constructor(private readonly service: MetaService) {}
public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
const url = state.url;
const settings = route.hasOwnProperty('data') && route.data.meta;
if (settings) {
this.service.update(url, settings);
}
return true;
}
public canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
return this.canActivate(route, state);
}
}