From 5e79d1d4f34df107822b922d3961e2af0fc8a04e Mon Sep 17 00:00:00 2001 From: Darren Nelsen Date: Fri, 18 Aug 2017 15:59:57 -0400 Subject: [PATCH] wrapped setInterval in ngZone to make e2e tests work properly --- .../components/latest-blocks/latest-blocks.ts | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/src/components/latest-blocks/latest-blocks.ts b/app/src/components/latest-blocks/latest-blocks.ts index 34200b1..cd1155a 100644 --- a/app/src/components/latest-blocks/latest-blocks.ts +++ b/app/src/components/latest-blocks/latest-blocks.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, NgZone } from '@angular/core'; import { BlocksProvider } from '../../providers/blocks/blocks'; import { NavController } from 'ionic-angular'; @@ -17,16 +17,18 @@ export class LatestBlocksComponent { public loading: boolean = true; public blocks: Array = []; - constructor(private blocksProvider: BlocksProvider, private navCtrl: NavController) { + constructor(private blocksProvider: BlocksProvider, private navCtrl: NavController, ngZone: NgZone) { this.loadBlocks(); - /* - setInterval( - function (): void { - this.loadBlocks.call(this); - }.bind(this), - 1000 * 30 - ); - */ + ngZone.runOutsideAngular(() => { + setInterval( + function (): void { + ngZone.run(function (): void { + this.loadBlocks.call(this); + }.bind(this)); + }.bind(this), + 1000 * 30 + ); + }); } private loadBlocks(): void {