From 4eb6563a1f77d4288c973c99475355ec7835b402 Mon Sep 17 00:00:00 2001 From: Michael Kauzmann Date: Wed, 22 Mar 2023 13:05:39 -0600 Subject: [PATCH] call end() on interrupt, https://github.com/phetsims/scenery/issues/1285 --- js/listeners/KeyboardDragListener.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/listeners/KeyboardDragListener.ts b/js/listeners/KeyboardDragListener.ts index eef50a3fe..95ddda1d7 100644 --- a/js/listeners/KeyboardDragListener.ts +++ b/js/listeners/KeyboardDragListener.ts @@ -149,7 +149,7 @@ type SelfOptions = { drag?: ( ( viewDelta: Vector2 ) => void ) | null; // Called when keyboard dragging ends. - end?: ( ( event: SceneryEvent ) => void ) | null; + end?: ( ( event?: SceneryEvent ) => void ) | null; // Arrow keys must be pressed this long to begin movement set on moveOnHoldInterval, in ms moveOnHoldDelay?: number; @@ -180,7 +180,7 @@ class KeyboardDragListener extends EnabledComponent implements TInputListener { // See options for documentation private _start: ( ( event: SceneryEvent ) => void ) | null; private _drag: ( ( viewDelta: Vector2, listener: KeyboardDragListener ) => void ) | null; - private _end: ( ( event: SceneryEvent ) => void ) | null; + private _end: ( ( event?: SceneryEvent ) => void ) | null; private _dragBoundsProperty: TReadOnlyProperty; private _mapPosition: MapPosition | null; private _transform: Transform3 | TReadOnlyProperty | null; @@ -1035,6 +1035,8 @@ class KeyboardDragListener extends EnabledComponent implements TInputListener { 'A reference to the Pointer means it should have the pointerListener' ); this._pointer.removeInputListener( this._pointerListener ); this._pointer = null; + + this._end && this._end(); } }