diff --git a/packages/stark-ui/src/modules/session-ui/assets/translations/en.ts b/packages/stark-ui/src/modules/session-ui/assets/translations/en.ts
index c2259f51f6..394cd76fec 100644
--- a/packages/stark-ui/src/modules/session-ui/assets/translations/en.ts
+++ b/packages/stark-ui/src/modules/session-ui/assets/translations/en.ts
@@ -24,6 +24,7 @@ export const translationsEn: object = {
LOGIN: "Log in again"
},
SESSION_TIMEOUT: {
+ CLOSE_SESSION: "Logout",
SECONDS: " seconds.",
STAY_CONNECTED: "Stay connected",
TITLE: "Session about to expire",
diff --git a/packages/stark-ui/src/modules/session-ui/assets/translations/fr.ts b/packages/stark-ui/src/modules/session-ui/assets/translations/fr.ts
index 7039bf5cbf..e366773880 100644
--- a/packages/stark-ui/src/modules/session-ui/assets/translations/fr.ts
+++ b/packages/stark-ui/src/modules/session-ui/assets/translations/fr.ts
@@ -24,6 +24,7 @@ export const translationsFr: object = {
LOGIN: "Connexion"
},
SESSION_TIMEOUT: {
+ CLOSE_SESSION: "Se déconnecter",
SECONDS: " secondes.",
STAY_CONNECTED: "Rester connecté",
TITLE: "Session sur le point d'expirer",
diff --git a/packages/stark-ui/src/modules/session-ui/assets/translations/nl.ts b/packages/stark-ui/src/modules/session-ui/assets/translations/nl.ts
index 8d57c57d4f..eb7ce3be38 100644
--- a/packages/stark-ui/src/modules/session-ui/assets/translations/nl.ts
+++ b/packages/stark-ui/src/modules/session-ui/assets/translations/nl.ts
@@ -24,6 +24,7 @@ export const translationsNl: object = {
LOGIN: "Opnieuw aanmelden"
},
SESSION_TIMEOUT: {
+ CLOSE_SESSION: "Afmelden",
SECONDS: " seconden vervallen.",
STAY_CONNECTED: "Blijf verbonden",
TITLE: "Sessie verlopen",
diff --git a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.html b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.html
index 4fd160d710..2beedce97a 100644
--- a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.html
+++ b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.html
@@ -11,5 +11,8 @@
STARK.SESSION_TIMEOUT.TITLE
+
diff --git a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.spec.ts b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.spec.ts
index fe32188b1d..6473ddfa65 100644
--- a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.spec.ts
+++ b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.spec.ts
@@ -68,4 +68,14 @@ describe("SessionTimeoutWarningDialogComponent", () => {
expect(mockDialogRef.close).toHaveBeenCalledWith("keep-logged");
}));
});
+
+ describe("closeSession", () => {
+ it("should close the windows when the button is clicked", fakeAsync(() => {
+ component.ngOnInit();
+ component.closeSession();
+
+ expect(mockDialogRef.close).toHaveBeenCalledTimes(1);
+ expect(mockDialogRef.close).toHaveBeenCalledWith("close-session");
+ }));
+ });
});
diff --git a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.ts b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.ts
index d50fc2e898..75202c2f45 100644
--- a/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.ts
+++ b/packages/stark-ui/src/modules/session-ui/components/session-timeout-warning-dialog/session-timeout-warning-dialog.component.ts
@@ -59,4 +59,8 @@ export class StarkSessionTimeoutWarningDialogComponent implements OnInit {
public keepSession(): void {
this.dialogRef.close("keep-logged");
}
+
+ public closeSession(): void {
+ this.dialogRef.close("close-session");
+ }
}
diff --git a/packages/stark-ui/src/modules/session-ui/effects/session-timeout-warning.effects.ts b/packages/stark-ui/src/modules/session-ui/effects/session-timeout-warning.effects.ts
index bdc860535f..dacc17a9ba 100644
--- a/packages/stark-ui/src/modules/session-ui/effects/session-timeout-warning.effects.ts
+++ b/packages/stark-ui/src/modules/session-ui/effects/session-timeout-warning.effects.ts
@@ -49,8 +49,12 @@ export class StarkSessionTimeoutWarningDialogEffects implements OnRunEffects {
})
.afterClosed()
.subscribe((result: string) => {
- if (result && result === "keep-logged") {
- this.sessionService.resumeUserActivityTracking();
+ if (result) {
+ if (result === "keep-logged") {
+ this.sessionService.resumeUserActivityTracking();
+ } else if (result === "close-session") {
+ this.sessionService.logout();
+ }
}
});
})