Reputation: 33
after page Refresh Permissions are empty How to avoid deleting of permissions after refresh
Upvotes: 0
Views: 2080
Reputation: 412
Add request in AppModule to retrieve permissions after every refresh
import { Component, OnInit } from '@angular/core';
import { NgxPermissionsService } from 'ngx-permissions';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'app';
constructor(private permissionsService: NgxPermissionsService,
private http: HttpClient) {}
ngOnInit(): void {
const perm = ["ADMIN", "EDITOR"];
this.permissionsService.loadPermissions(perm);
this.http.get('url').subscribe((permissions) => {
//const perm = ["ADMIN", "EDITOR"]; example of permissions
this.permissionsService.loadPermissions(permissions);
})
}
}
more here: https://github.com/AlexKhymenko/ngx-permissions/wiki
Upvotes: 1
Reputation: 3186
If you want data to persist across sessions, you can use the browser's LocalStorage
API.
To add an item,
window.localStorage.setItem("permissions", JSON.stringify(this.permissions));
To retrive it,
this.permissions = JSON.parse(window.localStorage.getItem("permissions"));
To remove an item,
window.localStorage.removeItem("permissions");
You can inspect the localStorage items in Chrome Developer tools, Under Application>Storage>Local Storage
NOTE: This method fails if cookies are not enabled.
PS: I wouldn't recommend storing permissions in LocalStorage, it's better to fetch them from an API call.
Upvotes: 1