chore(gestures): add isListening to gestures

This commit is contained in:
Adam Bradley
2016-02-16 22:20:14 -06:00
parent 80fa94bd41
commit 93b456145c
2 changed files with 8 additions and 7 deletions

View File

@ -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;
}
}
}

View File

@ -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() {