File

projects/commons/src/lib/elements/meta/guards/meta.guard.ts

Index

Methods

Constructor

constructor(service: MetaService)
Parameters :
Name Type Optional
service MetaService No

Methods

Public canActivate
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)
Parameters :
Name Type Optional
route ActivatedRouteSnapshot No
state RouterStateSnapshot No
Returns : boolean
Public canActivateChild
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)
Parameters :
Name Type Optional
route ActivatedRouteSnapshot No
state RouterStateSnapshot No
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);
    }
}

result-matching ""

    No results matching ""