Merge pull request #263 in TEA/mina-sidor-fa-web from feature/TV-892-inactivity-check to develop

Squashed commit of the following:

commit 0a6b323e5d8d94c18ebada2cdb47a6a48f0f32bd
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Nov 12 14:20:21 2021 +0100

    Changed variable name after PR

commit 1cb495e7db4365720c1276959d77bc1f6d460c6f
Merge: 2bfe34ac b5071fcf
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Nov 12 14:18:11 2021 +0100

    Merge branch 'develop' into feature/TV-892-inactivity-check

commit 2bfe34acc5eb5e2c6260624de7c0d0c9c5a1728b
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Nov 12 13:45:31 2021 +0100

    Added check on last activity after application close
This commit is contained in:
Erik Tiekstra
2021-11-12 14:25:35 +01:00
parent a41b42d08c
commit d88e30e24c
3 changed files with 36 additions and 12 deletions

View File

@@ -1,7 +1,8 @@
import { DOCUMENT } from '@angular/common';
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { ChangeDetectionStrategy, Component, HostListener, Inject } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
import { APPLICATION_CLOSED_TIME_STAMP } from '@msfa-constants/local-storage-keys';
import { environment } from '@msfa-environment';
import { AuthenticationService } from '@msfa-services/api/authentication.service';
import { IdleService } from '@msfa-services/api/idle.service';
@@ -18,6 +19,13 @@ export class AppComponent {
userIsIdle$: Observable<boolean> = this.idleService.isIdle$;
timeLeftBeforeLogout$: Observable<string> = this.idleService.timeLeftBeforeLogout$;
// Saving latest activity timestamp when application is closed
// to avoid users be automatically logged in if user hasn't used the application for a while.
@HostListener('window:beforeunload')
saveApplicationClosedTimestamp(): void {
localStorage.setItem(APPLICATION_CLOSED_TIME_STAMP, new Date().getTime().toString());
}
constructor(
@Inject(DOCUMENT) private document: Document,
private router: Router,