aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts')
-rw-r--r--sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts19
1 files changed, 15 insertions, 4 deletions
diff --git a/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts b/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts
index 61e1334e7..16c6ed5d3 100644
--- a/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts
+++ b/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts
@@ -31,6 +31,9 @@ import { ExternalLoginProvider } from '../models/externalLoginProvider';
import { ApplicationConfig } from '../models/applicationConfig';
import { IConnectAppStoreState } from '../../../apps/connectApp/src/handlers/connectAppRootHandler';
import { IFaultAppStoreState } from '../../../apps/faultApp/src/handlers/faultAppRootHandler';
+import { GeneralSettings } from '../models/settings';
+import { SetGeneralSettingsAction } from '../actions/settingsAction';
+import { startWebsocketSession, suspendWebsocketSession } from '../services/notificationService';
declare module '../store/applicationStore' {
@@ -47,11 +50,12 @@ export interface IApplicationState {
isMenuClosedByUser: boolean;
errors: ErrorInfo[];
snackBars: SnackbarItem[];
- isWebsocketAvailable: boolean | undefined;
+ isWebsocketAvailable: boolean | null;
externalLoginProviders: ExternalLoginProvider[] | null;
authentication: "basic"|"oauth", // basic
enablePolicy: boolean, // false
- transportpceUrl : string
+ transportpceUrl : string,
+ settings: GeneralSettings
}
const applicationStateInit: IApplicationState = {
@@ -60,11 +64,12 @@ const applicationStateInit: IApplicationState = {
snackBars: [],
isMenuOpen: true,
isMenuClosedByUser: false,
- isWebsocketAvailable: undefined,
+ isWebsocketAvailable: null,
externalLoginProviders: null,
authentication: "basic",
enablePolicy: false,
- transportpceUrl: ""
+ transportpceUrl: "",
+ settings:{ general: { areNotificationsEnabled: null }}
};
export const configureApplication = (config: ApplicationConfig) => {
@@ -141,6 +146,12 @@ export const applicationStateHandler: IActionHandler<IApplicationState> = (state
...state,
externalLoginProviders: action.externalLoginProvders,
}
+ }else if(action instanceof SetGeneralSettingsAction){
+
+ state = {
+ ...state,
+ settings:{general:{areNotificationsEnabled: action.areNoticationsActive}}
+ }
}
return state;
};