mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 10:01:08 +08:00
chore(core): clean up _gestureObservers
This commit is contained in:
@ -123,7 +123,7 @@ export abstract class ViewCommon extends ViewBase implements ViewDefinition {
|
||||
_setMinWidthNative: (value: CoreTypes.LengthType) => void;
|
||||
_setMinHeightNative: (value: CoreTypes.LengthType) => void;
|
||||
|
||||
public _gestureObservers = {};
|
||||
public readonly _gestureObservers = {} as Record<GestureTypes, Array<GesturesObserver>>;
|
||||
|
||||
_androidContentDescriptionUpdated?: boolean;
|
||||
|
||||
@ -177,7 +177,7 @@ export abstract class ViewCommon extends ViewBase implements ViewDefinition {
|
||||
|
||||
onLoaded() {
|
||||
if (!this.isLoaded) {
|
||||
const hasTap = this.hasListeners('tap') || this.hasListeners('tapChange') || this.getGestureObservers(GestureTypes.tap);
|
||||
const hasTap = this.hasListeners('tap') || this.hasListeners('tapChange') || !!this.getGestureObservers(GestureTypes.tap);
|
||||
const enableTapAnimations = TouchManager.enableGlobalTapAnimations && hasTap;
|
||||
if (!this.ignoreTouchAnimation && (this.touchAnimation || enableTapAnimations)) {
|
||||
TouchManager.addAnimations(this);
|
||||
@ -286,7 +286,7 @@ export abstract class ViewCommon extends ViewBase implements ViewDefinition {
|
||||
this._gestureObservers[type].push(gestureObserve(this, type, callback, thisArg));
|
||||
}
|
||||
|
||||
public getGestureObservers(type: GestureTypes): Array<GesturesObserver> {
|
||||
public getGestureObservers(type: GestureTypes): Array<GesturesObserver> | undefined {
|
||||
return this._gestureObservers[type];
|
||||
}
|
||||
|
||||
@ -495,10 +495,12 @@ export abstract class ViewCommon extends ViewBase implements ViewDefinition {
|
||||
|
||||
private _disconnectGestureObservers(type: GestureTypes): void {
|
||||
const observers = this.getGestureObservers(type);
|
||||
if (observers) {
|
||||
for (let i = 0; i < observers.length; i++) {
|
||||
observers[i].disconnect();
|
||||
}
|
||||
if (!observers) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (const observer of observers) {
|
||||
observer.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user