mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
chore(gestures): add isListening to gestures
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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() {
|
||||
|
Reference in New Issue
Block a user