/**
* @file App Components
*/
-import { isNullOrUndefined } from 'util';
import { Component, HostListener, Injector } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { DEFAULT_INTERRUPTSOURCES, Idle } from '@ng-idle/core';
import { AuthenticationService } from 'AuthenticationService';
import { DeviceCheckService } from 'DeviceCheckService';
-import { SharedService } from 'SharedService';
+import { SharedService, isNullOrUndefined } from 'SharedService';
/**
* Creating component
})
/** Exporting a class @exports AppComponent */
export class AppComponent {
+ /** Handle idle time out @public */
+ public idleTime: number;
/** To inject services @public */
public injector: Injector;
/** Instance for modal service @public */
/** To handle handleIdle @public */
public handleIdle(): void {
- const idleTime: number = 1200;
+ if (!isNullOrUndefined((sessionStorage.getItem('timeout')))) {
+ this.idleTime = Number(sessionStorage.getItem('timeout'));
+ } else {
+ this.idleTime = 1200;
+ }
const idleTimeOutWarning: number = 5;
// sets an idle timeout in seconds.
- this.idle.setIdle(idleTime);
+ this.idle.setIdle(this.idleTime);
//sets a timeout period in seconds. after idleTime seconds of inactivity, the user will be considered timed out.
this.idle.setTimeout(idleTimeOutWarning);
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
public idleTimeOut(): void {
this.idle.onTimeout.subscribe(() => {
this.idle.stop();
- if (localStorage.getItem('id_token') !== null) {
+ if (sessionStorage.getItem('id_token') !== null) {
this.authService.logout();
}
});