From e057e463bd0ffea1676dcd73d658316f68737755 Mon Sep 17 00:00:00 2001 From: Willem Dantuma Date: Wed, 22 Jul 2020 21:16:38 +0200 Subject: [PATCH] Only on change --- projects/common/src/fm/components/app/app.component.ts | 7 ++++--- projects/common/src/fm/effects/app-common.effects.ts | 5 +---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/projects/common/src/fm/components/app/app.component.ts b/projects/common/src/fm/components/app/app.component.ts index 3dedeea..f435b86 100644 --- a/projects/common/src/fm/components/app/app.component.ts +++ b/projects/common/src/fm/components/app/app.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, OnDestroy, Inject, ViewEncapsulation, RendererFactor import { Router, NavigationStart, NavigationEnd, RouteConfigLoadStart, RouteConfigLoadEnd, ActivatedRoute, PRIMARY_OUTLET } from '@angular/router'; import { Meta, Title, MetaDefinition } from '@angular/platform-browser';import { DOCUMENT } from "@angular/common"; import { Subscription , Observable } from 'rxjs'; +import { distinctUntilChanged} from 'rxjs/operators'; import { Store, Action } from '@ngrx/store'; import { IUser } from '../../models/user'; @@ -51,11 +52,11 @@ export class AppComponent implements OnInit, OnDestroy { ) { //check health every 30 seconds - this.healthCheckService.check(30000).subscribe((online) => { + this.healthCheckService.check(30000).pipe(distinctUntilChanged()).subscribe((online) => { if(online) { - this.store.dispatch(new commonActions.Online()); + this.store.dispatch(new commonActions.Online()); } else { - this.store.dispatch(new commonActions.Offline()); + this.store.dispatch(new commonActions.Offline()); } }); } diff --git a/projects/common/src/fm/effects/app-common.effects.ts b/projects/common/src/fm/effects/app-common.effects.ts index 65fbd62..10229c3 100644 --- a/projects/common/src/fm/effects/app-common.effects.ts +++ b/projects/common/src/fm/effects/app-common.effects.ts @@ -165,9 +165,7 @@ export class AppCommonEffects { @Effect({ dispatch: false }) online$: Observable = this.actions$.pipe( ofType(appCommonActions.ONLINE), - withLatestFrom(this.store$.select(appCommonReducers.SelectGetIsOnline)), - switchMap(([action,isOnline]) => { - if(!isOnline) { + switchMap((action) => { console.debug("Online: Check token"); if(!this.oauthService$.hasValidAccessToken()) { console.debug("No valid token, try to refresh"); @@ -177,7 +175,6 @@ export class AppCommonEffects { this.store$.dispatch(new appCommonActions.InitUser()); }); } - } } return of(undefined); }));