From 93b456145c2094c11b5127bada49a9ff394d8b23 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Tue, 16 Feb 2016 22:20:14 -0600 Subject: [PATCH] chore(gestures): add isListening to gestures --- ionic/components/menu/menu.ts | 7 ++----- ionic/gestures/gesture.ts | 8 ++++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ionic/components/menu/menu.ts b/ionic/components/menu/menu.ts index 387a44bb17..87104a2cf3 100644 --- a/ionic/components/menu/menu.ts +++ b/ionic/components/menu/menu.ts @@ -32,7 +32,6 @@ export class Menu extends Ion { private _resizeUnreg: Function; private _isEnabled: boolean = true; private _isSwipeEnabled: boolean = true; - private _isListening: boolean = false; private _isPers: boolean = false; private _init: boolean = false; @@ -198,21 +197,19 @@ export class Menu extends Ion { if (self._init) { // only listen/unlisten if the menu has initialized - if (self._isEnabled && self._isSwipeEnabled && !self._isListening) { + if (self._isEnabled && self._isSwipeEnabled && !self._cntGesture.isListening) { // should listen, but is not currently listening console.debug('menu, gesture listen', self.side); self._zone.runOutsideAngular(function() { self._cntGesture.listen(); self._menuGesture.listen(); }); - self._isListening = true; - } else if (self._isListening && (!self._isEnabled || !self._isSwipeEnabled)) { + } else if (self._cntGesture.isListening && (!self._isEnabled || !self._isSwipeEnabled)) { // should not listen, but is currently listening console.debug('menu, gesture unlisten', self.side); self._cntGesture.unlisten(); self._menuGesture.unlisten(); - self._isListening = false; } } } diff --git a/ionic/gestures/gesture.ts b/ionic/gestures/gesture.ts index aff40f4b70..2b43555059 100644 --- a/ionic/gestures/gesture.ts +++ b/ionic/gestures/gesture.ts @@ -8,12 +8,14 @@ import {Hammer, DIRECTION_HORIZONTAL, DIRECTION_VERTICAL} from './hammer'; */ export class Gesture { - public element: HTMLElement; - public direction: any; private _hammer: any; private _options: any; private _callbacks: any = {}; + public element: HTMLElement; + public direction: string; + public isListening: boolean = false; + constructor(element, opts: any = {}) { defaults(opts, { domEvents: true @@ -47,6 +49,7 @@ export class Gesture { listen() { this._hammer = Hammer(this.element, this._options); + this.isListening = true; } unlisten() { @@ -60,6 +63,7 @@ export class Gesture { this._callbacks = {}; this._hammer.destroy(); } + this.isListening = false; } destroy() {