@@ -11,14 +11,16 @@ interface EventSubscriber {
1111export class NgEventsStrategy {
1212 private subscribers : { [ key : string ] : EventSubscriber [ ] } = { } ;
1313
14- constructor ( private component : DxComponent ) { }
14+ constructor ( private component : DxComponent , private ngZone : NgZone ) { }
1515
1616 hasEvent ( name : string ) {
1717 return this . getEmitter ( name ) . observers . length ;
1818 }
1919
2020 fireEvent ( name , args ) {
21- this . getEmitter ( name ) . next ( args && args [ 0 ] ) ;
21+ this . ngZone . run ( ( ) => {
22+ this . getEmitter ( name ) . next ( args && args [ 0 ] ) ;
23+ } ) ;
2224 }
2325
2426 on ( name , handler ) {
@@ -51,15 +53,13 @@ export class NgEventsStrategy {
5153export class EmitterHelper {
5254 strategy : NgEventsStrategy ;
5355
54- constructor ( private ngZone : NgZone , private component : DxComponent ) {
55- this . strategy = new NgEventsStrategy ( component ) ;
56+ constructor ( ngZone : NgZone , private component : DxComponent ) {
57+ this . strategy = new NgEventsStrategy ( component , ngZone ) ;
5658 }
5759 fireNgEvent ( eventName : string , eventArgs : any ) {
5860 let emitter = this . component [ eventName ] ;
5961 if ( emitter ) {
60- this . ngZone . run ( ( ) => {
61- emitter . next ( eventArgs && eventArgs [ 0 ] ) ;
62- } ) ;
62+ emitter . next ( eventArgs && eventArgs [ 0 ] ) ;
6363 }
6464 }
6565 createEmitter ( ngEventName : string , dxEventName : string ) {
0 commit comments