|
|
@@ -7,7 +7,6 @@ import { Subject, filter, map, repeat, takeUntil, timer } from 'rxjs';
|
|
|
import { Title } from '@angular/platform-browser';
|
|
|
import { LoginService } from 'angularlib/login/login.service';
|
|
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
|
-import { ChangeTheme } from 'angularlib/ui.state/ui.state.actions';
|
|
|
import { ChangeLanguage } from 'angularlib/labels/label.actions';
|
|
|
import { ComponentService } from 'angularlib/component.service';
|
|
|
import { NotificationModule } from 'angularlib/notification/notification.module';
|
|
|
@@ -15,6 +14,7 @@ import { NOTIFICATION_STATE_TOKEN, NotificationState } from 'angularlib/notifica
|
|
|
import { Notification } from 'angularlib/notification/notification.actions';
|
|
|
import { generateId } from 'angularlib/base.service';
|
|
|
import { Store } from '@ngxs/store';
|
|
|
+import config from '../config/config.json';
|
|
|
|
|
|
@Component({
|
|
|
selector: 'app-root',
|
|
|
@@ -39,14 +39,14 @@ export class AppComponent extends BaseComponent implements OnInit {
|
|
|
/**current date */
|
|
|
protected currentDate = new Date();
|
|
|
|
|
|
- /**login timeout duration in milliseconds
|
|
|
- * @default 5 minutes
|
|
|
- */
|
|
|
- private duration: number = 300000;
|
|
|
+ /**session timeout duration in milliseconds*/
|
|
|
+ private duration: number = config?.sessionTimeoutDuration;
|
|
|
private startTimeout$ = new Subject();
|
|
|
private stopTimeout$ = new Subject();
|
|
|
private timeout = timer(this.duration).pipe(
|
|
|
- map(() => {if(this.loginService.user)this.loginService.logout();console.warn('session inactive timeout, logging out...');}),
|
|
|
+ map(() => {
|
|
|
+ if(this.loginService.user)this.loginService.logout();console.warn('session inactive timeout, logging out...');
|
|
|
+ }),
|
|
|
takeUntil(this.stopTimeout$),
|
|
|
repeat({delay:() => this.startTimeout$})
|
|
|
);
|