aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx')
-rw-r--r--sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx30
1 files changed, 25 insertions, 5 deletions
diff --git a/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx b/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx
index 3715c623e..0c5fdde27 100644
--- a/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx
+++ b/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx
@@ -39,10 +39,11 @@ import { AddFaultNotificationAction } from "./actions/notificationActions";
import { createCurrentProblemsProperties, createCurrentProblemsActions, currentProblemsReloadAction } from "./handlers/currentProblemsHandler";
import { FaultStatus } from "./components/faultStatus";
-import { refreshFaultStatusAsyncAction } from "./actions/statusActions";
+import { refreshFaultStatusAsyncAction, SetFaultStatusAction } from "./actions/statusActions";
let currentMountId: string | undefined = undefined;
let currentSeverity: string | undefined = undefined;
+let refreshInterval: ReturnType<typeof window.setInterval> | null = null;
const mapProps = (state: IApplicationStoreState) => ({
currentProblemsProperties: createCurrentProblemsProperties(state),
@@ -140,11 +141,30 @@ export function register() {
applicationApi.applicationStoreInitialized.then(store => {
store.dispatch(refreshFaultStatusAsyncAction);
});
-
- window.setInterval(() => {
+
+ applicationApi.loginEvent.addHandler(e=>{
+ refreshInterval = startRefreshInterval() as any;
+ })
+
+ applicationApi.logoutEvent.addHandler(e=>{
+
applicationApi.applicationStoreInitialized.then(store => {
- store.dispatch(refreshFaultStatusAsyncAction);
+ store.dispatch(new SetFaultStatusAction(0, 0, 0, 0, false));
+ clearInterval(refreshInterval!);
});
- }, 15000);
+ })
+
+
+
+ function startRefreshInterval(){
+ const refreshFaultStatus = window.setInterval(() => {
+ applicationApi.applicationStoreInitialized.then(store => {
+
+ store.dispatch(refreshFaultStatusAsyncAction);
+ });
+ }, 15000);
+
+ return refreshFaultStatus;
+ }
}