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);
}