@dsks/access-module
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

AccessModule

This library was generated with Angular CLI version 14.2.0.

How to use

Import module on app.module.ts

import { AccessModuleModule } from '@dsks/access-module';

...

imports: [
  ...,
  AccessModuleModule
],

Use it on html template app.component.html

<lib-access-module (apiResponse)="accessResponse($event)"></lib-access-module>

Import module service and set api URL app.component.ts

import { AccessModuleService } from '@dsks/access-module';

...

constructor(private accessModuleService: AccessModuleService){
    this.accessModuleService.setApiURL(API_URL);
    this.accessModuleService.setAccessViewURL(ACCESS_URL); // "/admin"
}

Import User model and get it from module service app.component.ts

import { User } from '@dsks/access-module/lib/models/user';

...

accessResponse(response: string){
    console.log(response);
    this.user = this.accessModuleService.user;
}

Add routes to home page app-routing.module.ts

const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'activate/:code', component: HomeComponent },
  { path: 'change_password/:code', component: HomeComponent }
];

Detect codes on Home page home.component.ts

import { ActivatedRoute } from '@angular/router';

import { AccessModuleService } from '@dsks/access-module';

...

constructor(private activatedRoute: ActivatedRoute, private accessModuleService: AccessModuleService) { }

...

ngOnInit(): void {
    const code = this.activatedRoute.snapshot.paramMap.get('code');
    if(code != null){
      let event = "";
      if(this.activatedRoute.pathFromRoot[1].snapshot.url[0]){
        event = this.activatedRoute.pathFromRoot[1].snapshot.url[0].path;
      }

      let data = {"event":event, "code": code}
      this.accessModuleService.showAccessSubject.next(data);
    }
}

Basic Events

<div *ngIf="user == null" (click)="accessEvent('login')">Log in</div>
<div *ngIf="user != null" (click)="accessEvent('logout')">Log Out</div>
<div *ngIf="user == null" (click)="accessEvent('register')">Sign up</div>

accessEvent(event:string){    
  let data = {"event":event}
  this.accessModuleService.showAccessSubject.next(data); 
}

Package Sidebar

Install

npm i @dsks/access-module

Weekly Downloads

7

Version

0.2.2

License

CC BY-SA

Unpacked Size

335 kB

Total Files

26

Last publish

Collaborators

  • dsks