From afb7d2d5c6ca09d2c678781ae4dd3f527604c1b4 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 14 Oct 2021 11:50:22 +0200 Subject: Remove protractor workaround We don't use it anymore --- client/src/app/helpers/index.ts | 1 - client/src/app/helpers/rxjs.ts | 13 ++++--------- client/src/app/helpers/zone.ts | 40 ---------------------------------------- 3 files changed, 4 insertions(+), 50 deletions(-) delete mode 100644 client/src/app/helpers/zone.ts (limited to 'client/src/app/helpers') diff --git a/client/src/app/helpers/index.ts b/client/src/app/helpers/index.ts index beff749ec..8cdda83f3 100644 --- a/client/src/app/helpers/index.ts +++ b/client/src/app/helpers/index.ts @@ -3,4 +3,3 @@ export * from './constants' export * from './i18n-utils' export * from './rxjs' export * from './utils' -export * from './zone' diff --git a/client/src/app/helpers/rxjs.ts b/client/src/app/helpers/rxjs.ts index eb051f868..625bca0f7 100644 --- a/client/src/app/helpers/rxjs.ts +++ b/client/src/app/helpers/rxjs.ts @@ -1,24 +1,19 @@ import { uniq } from 'lodash-es' -import { asyncScheduler, Observable } from 'rxjs' -import { bufferTime, distinctUntilChanged, filter, map, observeOn, share, switchMap } from 'rxjs/operators' -import { NgZone } from '@angular/core' -import { enterZone, leaveZone } from './zone' +import { Observable } from 'rxjs' +import { bufferTime, distinctUntilChanged, filter, map, share, switchMap } from 'rxjs/operators' function buildBulkObservable (options: { - ngZone: NgZone notifierObservable: Observable time: number bulkGet: (params: T[]) => Observable }) { - const { ngZone, notifierObservable, time, bulkGet } = options + const { notifierObservable, time, bulkGet } = options return notifierObservable.pipe( distinctUntilChanged(), - // We leave Angular zone so Protractor does not get stuck - bufferTime(time, leaveZone(ngZone, asyncScheduler)), + bufferTime(time), filter(params => params.length !== 0), map(params => uniq(params)), - observeOn(enterZone(ngZone, asyncScheduler)), switchMap(params => bulkGet(params)), share() ) diff --git a/client/src/app/helpers/zone.ts b/client/src/app/helpers/zone.ts deleted file mode 100644 index 74eed7032..000000000 --- a/client/src/app/helpers/zone.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { SchedulerLike, Subscription } from 'rxjs' -import { NgZone } from '@angular/core' - -class LeaveZoneScheduler implements SchedulerLike { - constructor (private zone: NgZone, private scheduler: SchedulerLike) { - } - - schedule (...args: any[]): Subscription { - return this.zone.runOutsideAngular(() => - this.scheduler.schedule.apply(this.scheduler, args) - ) - } - - now (): number { - return this.scheduler.now() - } -} - -class EnterZoneScheduler implements SchedulerLike { - constructor (private zone: NgZone, private scheduler: SchedulerLike) { - } - - schedule (...args: any[]): Subscription { - return this.zone.run(() => - this.scheduler.schedule.apply(this.scheduler, args) - ) - } - - now (): number { - return this.scheduler.now() - } -} - -export function leaveZone (zone: NgZone, scheduler: SchedulerLike): SchedulerLike { - return new LeaveZoneScheduler(zone, scheduler) -} - -export function enterZone (zone: NgZone, scheduler: SchedulerLike): SchedulerLike { - return new EnterZoneScheduler(zone, scheduler) -} -- cgit v1.2.3