From 47fc603b864b52a70157515f29ec741dd9192f3a Mon Sep 17 00:00:00 2001 From: Herbert Eiselt Date: Fri, 7 Jun 2019 17:55:16 +0200 Subject: SDNR align ODLUX Add missing chart view to UX Performance app Issue-ID: SDNC-790 Signed-off-by: Herbert Eiselt Change-Id: I6f5af1e01d2246927b8d05f826f629c7dd5f59a5 Signed-off-by: Herbert Eiselt --- .../framework/src/handlers/authenticationHandler.ts | 4 ++++ .../odlux/framework/src/services/applicationApi.ts | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'sdnr/wt/odlux/framework/src') diff --git a/sdnr/wt/odlux/framework/src/handlers/authenticationHandler.ts b/sdnr/wt/odlux/framework/src/handlers/authenticationHandler.ts index 2abe82142..a159cb627 100644 --- a/sdnr/wt/odlux/framework/src/handlers/authenticationHandler.ts +++ b/sdnr/wt/odlux/framework/src/handlers/authenticationHandler.ts @@ -3,6 +3,8 @@ import { UpdateAuthentication } from '../actions/authentication'; import { User } from '../models/authentication'; +import { onLogin, onLogout } from '../services/applicationApi'; + export interface IAuthenticationState { user?: User; } @@ -19,8 +21,10 @@ export const authenticationStateHandler: IActionHandler = const user = action.bearerToken && new User(action.bearerToken) || undefined; if (user) { localStorage.setItem("userToken", user.toString()); + onLogin(); } else { localStorage.removeItem("userToken"); + onLogout(); } state = { diff --git a/sdnr/wt/odlux/framework/src/services/applicationApi.ts b/sdnr/wt/odlux/framework/src/services/applicationApi.ts index bddfb24c6..b097b23b1 100644 --- a/sdnr/wt/odlux/framework/src/services/applicationApi.ts +++ b/sdnr/wt/odlux/framework/src/services/applicationApi.ts @@ -1,10 +1,21 @@ +import { Event } from '../common/event'; import { ApplicationStore } from '../store/applicationStore'; - let resolveApplicationStoreInitialized: (store: ApplicationStore) => void; let applicationStore: ApplicationStore | null = null; const applicationStoreInitialized: Promise = new Promise((resolve) => resolveApplicationStoreInitialized = resolve); +const loginEvent = new Event(); +const logoutEvent = new Event(); + +export const onLogin = () => { + loginEvent.invoke(); +} + +export const onLogout = () => { + logoutEvent.invoke(); +} + export const setApplicationStore = (store: ApplicationStore) => { if (!applicationStore && store) { applicationStore = store; @@ -19,6 +30,14 @@ export const applicationApi = { get applicationStoreInitialized(): Promise { return applicationStoreInitialized; + }, + + get loginEvent() { + return loginEvent; + }, + + get logoutEvent() { + return logoutEvent; } }; -- cgit 1.2.3-korg