@q2devops/q2-angular-routeguard
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Q2AngularRouteguard

This library was generated with Angular CLI version 9.1.11.

How to use

To use the Q2 Route Guard for Angular projects, simply install it and import it into your app guard. It has two functions, CanActivate and CanActivateChild, just like the built in functions of the app guard to minimize confusion. The Q2AngularRouteguardService CanActivate function takes ActivatedRouteSnapshot, RouterStateSnapshot (both built in properties you can get from @angular/router), and an array of the CanActivateRoutes from your app settings for the portal.

Similarly, CanActivateChild takes RouterStateSnapshot and an array of AuthorizedNavs.

Example usage

import { Injectable } from '@angular/core'; import { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { AppService } from './app.service'; import { CanActivateRoutes, AuthorizedNavs } from './shared/models/app/app-data'; import { Q2AngularRouteguardService } from 'q2-angular-routeguard';
@Injectable({
providedIn: 'root'
})
export class RouteGuard implements CanActivate, CanActivateChild {

    userData: any;
    authorizedNavs: any;
    canActivateRoutes: any;

    constructor(private appService: AppService, private q2RouteGuard: Q2AngularRouteguardService) {
        this.canActivateRoutes = this.appService.getAppData().canActivateRoutes;
        this.authorizedNavs = this.appService.getAppData().authorizedNavs;
    }

    canActivate(
        next: ActivatedRouteSnapshot,
        state: RouterStateSnapshot) {
        return this.q2RouteGuard.canActivate(next, state, this.canActivateRoutes);
    }

    canActivateChild (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
        return this.q2RouteGuard.canActivateChild(state, this.authorizedNavs);
    }
}

Readme

Keywords

none

Package Sidebar

Install

npm i @q2devops/q2-angular-routeguard

Weekly Downloads

0

Version

0.0.1

License

ISC

Unpacked Size

92.7 kB

Total Files

23

Last publish

Collaborators

  • q2devops