[DURACOM-131] Add check to run the refresh only on browser

This commit is contained in:
Enea Jahollari
2023-05-03 17:25:25 +02:00
parent c066bc9d54
commit efedd10d9c

View File

@@ -1,5 +1,5 @@
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { Component, NgZone, OnDestroy, OnInit } from '@angular/core'; import { Component, Inject, NgZone, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { BehaviorSubject, interval, Observable, shareReplay, Subscription } from 'rxjs'; import { BehaviorSubject, interval, Observable, shareReplay, Subscription } from 'rxjs';
import { finalize, map, switchMap, take, tap } from 'rxjs/operators'; import { finalize, map, switchMap, take, tap } from 'rxjs/operators';
@@ -27,6 +27,7 @@ import { getProcessListRoute } from '../process-page-routing.paths';
import { NotificationsService } from '../../shared/notifications/notifications.service'; import { NotificationsService } from '../../shared/notifications/notifications.service';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { followLink } from '../../shared/utils/follow-link-config.model'; import { followLink } from '../../shared/utils/follow-link-config.model';
import { isPlatformBrowser } from '@angular/common';
@Component({ @Component({
selector: 'ds-process-detail', selector: 'ds-process-detail',
@@ -87,6 +88,7 @@ export class ProcessDetailComponent implements OnInit, OnDestroy {
private refreshTimerSub?: Subscription; private refreshTimerSub?: Subscription;
constructor( constructor(
@Inject(PLATFORM_ID) protected platformId: object,
protected route: ActivatedRoute, protected route: ActivatedRoute,
protected router: Router, protected router: Router,
protected processService: ProcessDataService, protected processService: ProcessDataService,
@@ -107,8 +109,10 @@ export class ProcessDetailComponent implements OnInit, OnDestroy {
ngOnInit(): void { ngOnInit(): void {
this.processRD$ = this.route.data.pipe( this.processRD$ = this.route.data.pipe(
map((data) => { map((data) => {
if (!this.isProcessFinished(data.process.payload)) { if (isPlatformBrowser(this.platformId)) {
this.startRefreshTimer(); if (!this.isProcessFinished(data.process.payload)) {
this.startRefreshTimer();
}
} }
return data.process as RemoteData<Process>; return data.process as RemoteData<Process>;
@@ -133,7 +137,6 @@ export class ProcessDetailComponent implements OnInit, OnDestroy {
getFirstSucceededRemoteData(), getFirstSucceededRemoteData(),
redirectOn4xx(this.router, this.authService), redirectOn4xx(this.router, this.authService),
tap((processRemoteData: RemoteData<Process>) => { tap((processRemoteData: RemoteData<Process>) => {
console.log('refresh', processRemoteData);
if (!this.isProcessFinished(processRemoteData.payload)) { if (!this.isProcessFinished(processRemoteData.payload)) {
this.startRefreshTimer(); this.startRefreshTimer();
} }