@flighthq/interaction 0.5.1-next.685.f72fc7f → 0.5.1-next.704.19c91ec
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interactionManager.d.ts +7 -1
- package/dist/interactionManager.d.ts.map +1 -1
- package/dist/interactionManager.js +92 -15
- package/dist/interactionManager.js.map +1 -1
- package/package.json +14 -14
- package/src/interactionManager.test.ts +150 -0
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/interaction`. The `@
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/interaction@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/interaction@0.5.1-next.704.19c91ec](https://github.com/flighthq/flight/tree/19c91ec3e569d6b3b471682726465a79fba9f8cb/packages/interaction)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/19c91ec3e569d6b3b471682726465a79fba9f8cb/LICENSE.md)
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { applyNodeInteractiveStates, captureInteractionPointer, clearFocus, connectFocusNavigation, connectInputToInteraction, connectInteractionSignal, containsNode2D, createFocusManager, createInteractionManager, createNodeInteractionState, createNodeInteractiveStateBinding, describeGraphHit, disableInteractionGuards, disconnectInteractionSignal, dispatchInteractionContextMenu, dispatchInteractionKeyDown, dispatchInteractionKeyUp, dispatchInteractionPointerCancel, dispatchInteractionPointerDown, dispatchInteractionPointerMove, dispatchInteractionPointerUp, dispatchInteractionWheel, disposeNodeInteractiveStateBinding, enableInteractionGuards, enableInteractionSignals, enableNodeInteractionState, explainInteractionHitEligibility, explainNodeInteractiveStateBinding, findGraphHitTarget, findGraphHitTargetPrecise, findGraphHitTargets, findGraphHitTargetsPrecise, findSpatialInteractionTarget, focusNextNode, focusNodeInDirection, focusPreviousNode, getFocusOrder, getFocusedNode, getInteractionSignals, getNode2DOverlapRectangle, getNodeCursor, getNodeHitArea, getNodeInteractionState, getNodeTabIndex, hitTestAreaQuery, hitTestAreaQueryCircle, hitTestGraphLocalBounds, hitTestGraphPoint, hitTestGraphPointPrecise, hitTestNode2Ds, hitTestNode2DsShape, hitTestNodeRegion, invalidateInteractionCursor, isNodeFocusable, isNodeFocused, isNodeHitTestEnabled, isNodePointerDoubleClickEnabled, refreshInteractionSpatialIndex, registerSpriteHitTest, registerDefaultHitTests, registerHitTest, registerHitTestPrecise, registerShapeHitTest, registerTextHitTest, releaseInteractionPointer, setFocusedNode, setInteractionConnectGuard, setNodeCursor, setNodeFocusable, setNodeHitArea, setNodeHitTestEnabled, setNodePointerDoubleClickEnabled, setNodeTabIndex, } from './contract';
|
|
1
|
+
export { applyNodeInteractiveStates, captureInteractionPointer, clearFocus, connectFocusNavigation, connectInputToInteraction, connectInteractionDispatchLayer, connectInteractionSignal, containsNode2D, createFocusManager, createInteractionManager, createNodeInteractionState, createNodeInteractiveStateBinding, describeGraphHit, disableInteractionGuards, disconnectInteractionSignal, dispatchInteractionContextMenu, dispatchInteractionKeyDown, dispatchInteractionKeyUp, dispatchInteractionPointerCancel, dispatchInteractionPointerDown, dispatchInteractionPointerMove, dispatchInteractionPointerUp, dispatchInteractionWheel, disposeNodeInteractiveStateBinding, enableInteractionGuards, enableInteractionSignals, enableNodeInteractionState, explainInteractionHitEligibility, explainNodeInteractiveStateBinding, findGraphHitTarget, findGraphHitTargetPrecise, findGraphHitTargets, findGraphHitTargetsPrecise, findSpatialInteractionTarget, focusNextNode, focusNodeInDirection, focusPreviousNode, getFocusOrder, getFocusedNode, getInteractionSignals, getNode2DOverlapRectangle, getNodeCursor, getNodeHitArea, getNodeInteractionState, getNodeTabIndex, hitTestAreaQuery, hitTestAreaQueryCircle, hitTestGraphLocalBounds, hitTestGraphPoint, hitTestGraphPointPrecise, hitTestNode2Ds, hitTestNode2DsShape, hitTestNodeRegion, invalidateInteractionCursor, isNodeFocusable, isNodeFocused, isNodeHitTestEnabled, isNodePointerDoubleClickEnabled, refreshInteractionSpatialIndex, registerSpriteHitTest, registerDefaultHitTests, registerHitTest, registerHitTestPrecise, registerShapeHitTest, registerTextHitTest, releaseInteractionPointer, setFocusedNode, setInteractionConnectGuard, setNodeCursor, setNodeFocusable, setNodeHitArea, setNodeHitTestEnabled, setNodePointerDoubleClickEnabled, setNodeTabIndex, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,kCAAkC,EAClC,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,kCAAkC,EAClC,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { applyNodeInteractiveStates, captureInteractionPointer, clearFocus, connectFocusNavigation, connectInputToInteraction, connectInteractionSignal, containsNode2D, createFocusManager, createInteractionManager, createNodeInteractionState, createNodeInteractiveStateBinding, describeGraphHit, disableInteractionGuards, disconnectInteractionSignal, dispatchInteractionContextMenu, dispatchInteractionKeyDown, dispatchInteractionKeyUp, dispatchInteractionPointerCancel, dispatchInteractionPointerDown, dispatchInteractionPointerMove, dispatchInteractionPointerUp, dispatchInteractionWheel, disposeNodeInteractiveStateBinding, enableInteractionGuards, enableInteractionSignals, enableNodeInteractionState, explainInteractionHitEligibility, explainNodeInteractiveStateBinding, findGraphHitTarget, findGraphHitTargetPrecise, findGraphHitTargets, findGraphHitTargetsPrecise, findSpatialInteractionTarget, focusNextNode, focusNodeInDirection, focusPreviousNode, getFocusOrder, getFocusedNode, getInteractionSignals, getNode2DOverlapRectangle, getNodeCursor, getNodeHitArea, getNodeInteractionState, getNodeTabIndex, hitTestAreaQuery, hitTestAreaQueryCircle, hitTestGraphLocalBounds, hitTestGraphPoint, hitTestGraphPointPrecise, hitTestNode2Ds, hitTestNode2DsShape, hitTestNodeRegion, invalidateInteractionCursor, isNodeFocusable, isNodeFocused, isNodeHitTestEnabled, isNodePointerDoubleClickEnabled, refreshInteractionSpatialIndex, registerSpriteHitTest, registerDefaultHitTests, registerHitTest, registerHitTestPrecise, registerShapeHitTest, registerTextHitTest, releaseInteractionPointer, setFocusedNode, setInteractionConnectGuard, setNodeCursor, setNodeFocusable, setNodeHitArea, setNodeHitTestEnabled, setNodePointerDoubleClickEnabled, setNodeTabIndex, } from './contract';
|
|
1
|
+
export { applyNodeInteractiveStates, captureInteractionPointer, clearFocus, connectFocusNavigation, connectInputToInteraction, connectInteractionDispatchLayer, connectInteractionSignal, containsNode2D, createFocusManager, createInteractionManager, createNodeInteractionState, createNodeInteractiveStateBinding, describeGraphHit, disableInteractionGuards, disconnectInteractionSignal, dispatchInteractionContextMenu, dispatchInteractionKeyDown, dispatchInteractionKeyUp, dispatchInteractionPointerCancel, dispatchInteractionPointerDown, dispatchInteractionPointerMove, dispatchInteractionPointerUp, dispatchInteractionWheel, disposeNodeInteractiveStateBinding, enableInteractionGuards, enableInteractionSignals, enableNodeInteractionState, explainInteractionHitEligibility, explainNodeInteractiveStateBinding, findGraphHitTarget, findGraphHitTargetPrecise, findGraphHitTargets, findGraphHitTargetsPrecise, findSpatialInteractionTarget, focusNextNode, focusNodeInDirection, focusPreviousNode, getFocusOrder, getFocusedNode, getInteractionSignals, getNode2DOverlapRectangle, getNodeCursor, getNodeHitArea, getNodeInteractionState, getNodeTabIndex, hitTestAreaQuery, hitTestAreaQueryCircle, hitTestGraphLocalBounds, hitTestGraphPoint, hitTestGraphPointPrecise, hitTestNode2Ds, hitTestNode2DsShape, hitTestNodeRegion, invalidateInteractionCursor, isNodeFocusable, isNodeFocused, isNodeHitTestEnabled, isNodePointerDoubleClickEnabled, refreshInteractionSpatialIndex, registerSpriteHitTest, registerDefaultHitTests, registerHitTest, registerHitTestPrecise, registerShapeHitTest, registerTextHitTest, releaseInteractionPointer, setFocusedNode, setInteractionConnectGuard, setNodeCursor, setNodeFocusable, setNodeHitArea, setNodeHitTestEnabled, setNodePointerDoubleClickEnabled, setNodeTabIndex, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,kCAAkC,EAClC,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,kCAAkC,EAClC,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FocusEventData, InteractionConnectGuard, InteractionInputSource, InteractionManager, InteractionManagerOptions, InteractionPointerOptions, InteractionSignalName, InteractionSignals, KeyboardEventData, NodeAny, PointerEventData, SignalConnectOptions } from '@flighthq/types/contract';
|
|
1
|
+
import type { FocusEventData, InteractionConnectGuard, InteractionDispatchLayer, InteractionDispatchLayerOptions, InteractionInputSource, InteractionManager, InteractionManagerOptions, InteractionPointerOptions, InteractionSignalName, InteractionSignals, KeyboardEventData, NodeAny, PointerEventData, SignalConnectOptions } from '@flighthq/types/contract';
|
|
2
2
|
export declare function captureInteractionPointer<N extends NodeAny>(manager: InteractionManager<N>, pointerId: number, target: N): void;
|
|
3
3
|
/**
|
|
4
4
|
* Wires an input source's pointer/keyboard signals into an interaction manager, forwarding each
|
|
@@ -16,6 +16,12 @@ export declare function captureInteractionPointer<N extends NodeAny>(manager: In
|
|
|
16
16
|
* point, since that offset moves with scroll and layout.
|
|
17
17
|
*/
|
|
18
18
|
export declare function connectInputToInteraction<N extends NodeAny>(input: InteractionInputSource, manager: InteractionManager<N>, coordScale?: number): () => void;
|
|
19
|
+
/**
|
|
20
|
+
* Adds a priority-ordered layer before Flight signal dispatch and returns an idempotent disconnect.
|
|
21
|
+
* Equal priorities retain connection order. Each dispatch snapshots the current list: additions wait
|
|
22
|
+
* for the next dispatch, while a layer removed during the walk still receives the current one.
|
|
23
|
+
*/
|
|
24
|
+
export declare function connectInteractionDispatchLayer<N extends NodeAny>(manager: InteractionManager<N>, layer: InteractionDispatchLayer<N>, options?: Readonly<InteractionDispatchLayerOptions>): () => void;
|
|
19
25
|
export declare function connectInteractionSignal<N extends NodeAny, Name extends InteractionSignalName>(manager: InteractionManager<N>, target: N, name: Name, slot: InteractionSignalSlot<Name>, options?: Readonly<SignalConnectOptions>): void;
|
|
20
26
|
export declare function createInteractionManager<N extends NodeAny>(root: N, options?: Readonly<InteractionManagerOptions>): InteractionManager<N>;
|
|
21
27
|
export declare function createInteractionSignals(): InteractionSignals;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactionManager.d.ts","sourceRoot":"","sources":["../src/interactionManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,cAAc,EAGd,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EAEzB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EAEP,gBAAgB,EAEhB,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,OAAO,EACzD,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,IAAI,CAEN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,OAAO,EACzD,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,UAAU,GAAE,MAAU,GACrB,MAAM,IAAI,CAmCZ;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,qBAAqB,EAC5F,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACvC,IAAI,CA2BN;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,OAAO,EACxD,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAChD,kBAAkB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"interactionManager.d.ts","sourceRoot":"","sources":["../src/interactionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,34 @@ export function connectInputToInteraction(input, manager, coordScale = 1) {
|
|
|
49
49
|
resetInteractionClickStates(manager);
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Adds a priority-ordered layer before Flight signal dispatch and returns an idempotent disconnect.
|
|
54
|
+
* Equal priorities retain connection order. Each dispatch snapshots the current list: additions wait
|
|
55
|
+
* for the next dispatch, while a layer removed during the walk still receives the current one.
|
|
56
|
+
*/
|
|
57
|
+
export function connectInteractionDispatchLayer(manager, layer, options = {}) {
|
|
58
|
+
const entry = { layer, priority: options.priority ?? 0 };
|
|
59
|
+
const layers = (manager.dispatchLayers ??= []);
|
|
60
|
+
let index = 0;
|
|
61
|
+
while (index < layers.length && entry.priority <= layers[index].priority)
|
|
62
|
+
index++;
|
|
63
|
+
layers.splice(index, 0, entry);
|
|
64
|
+
let connected = true;
|
|
65
|
+
return () => {
|
|
66
|
+
if (!connected)
|
|
67
|
+
return;
|
|
68
|
+
connected = false;
|
|
69
|
+
const current = manager.dispatchLayers;
|
|
70
|
+
if (current === null)
|
|
71
|
+
return;
|
|
72
|
+
const currentIndex = current.indexOf(entry);
|
|
73
|
+
if (currentIndex === -1)
|
|
74
|
+
return;
|
|
75
|
+
current.splice(currentIndex, 1);
|
|
76
|
+
if (current.length === 0)
|
|
77
|
+
manager.dispatchLayers = null;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
52
80
|
export function connectInteractionSignal(manager, target, name, slot, options) {
|
|
53
81
|
const signal = enableInteractionSignals(target)[name];
|
|
54
82
|
const trackedSlot = getTrackedInteractionSignalSlot(manager, target, name, slot);
|
|
@@ -77,6 +105,7 @@ export function createInteractionManager(root, options = {}) {
|
|
|
77
105
|
return {
|
|
78
106
|
cursorBackend: options.cursorBackend ?? null,
|
|
79
107
|
cursorTarget: null,
|
|
108
|
+
dispatchLayers: null,
|
|
80
109
|
doubleClickDelay: options.doubleClickDelay ?? 500,
|
|
81
110
|
doubleClickDistance: options.doubleClickDistance ?? 4,
|
|
82
111
|
enabled: options.enabled ?? true,
|
|
@@ -149,7 +178,10 @@ export function dispatchInteractionPointerCancel(manager, x, y, options) {
|
|
|
149
178
|
manager.pointerCaptures.delete(pointerId);
|
|
150
179
|
setPointerData(target, null, x, y, -1, 0, 0, options);
|
|
151
180
|
if (target !== null) {
|
|
152
|
-
|
|
181
|
+
if (manager.dispatchLayers === null ||
|
|
182
|
+
dispatchInteractionLayers(manager, target, 'onPointerCancel', _pointerData)) {
|
|
183
|
+
emitInteractionSignal(target, manager.root, 'onPointerCancel', _pointerData);
|
|
184
|
+
}
|
|
153
185
|
}
|
|
154
186
|
if (oldTarget !== null) {
|
|
155
187
|
dispatchPointerRolloverChange(manager, oldTarget, null);
|
|
@@ -166,7 +198,9 @@ export function dispatchInteractionPointerDown(manager, x, y, button = 0, option
|
|
|
166
198
|
return;
|
|
167
199
|
state.pointerDownTarget = target;
|
|
168
200
|
setPointerData(target, null, x, y, button, 0, 0, options);
|
|
169
|
-
|
|
201
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, 'onPointerDown', _pointerData)) {
|
|
202
|
+
emitInteractionSignal(target, manager.root, 'onPointerDown', _pointerData);
|
|
203
|
+
}
|
|
170
204
|
}
|
|
171
205
|
export function dispatchInteractionPointerMove(manager, x, y, button = 0, options) {
|
|
172
206
|
// Run the move body when a rollover subscriber needs it OR a cursor backend is active — a scene that
|
|
@@ -187,7 +221,9 @@ export function dispatchInteractionPointerMove(manager, x, y, button = 0, option
|
|
|
187
221
|
dispatchPointerRolloverChange(manager, oldTarget, target);
|
|
188
222
|
}
|
|
189
223
|
if (target !== null) {
|
|
190
|
-
|
|
224
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, 'onPointerMove', _pointerData)) {
|
|
225
|
+
emitInteractionSignal(target, manager.root, 'onPointerMove', _pointerData);
|
|
226
|
+
}
|
|
191
227
|
}
|
|
192
228
|
}
|
|
193
229
|
export function dispatchInteractionPointerUp(manager, x, y, button = 0, time, options) {
|
|
@@ -202,15 +238,22 @@ export function dispatchInteractionPointerUp(manager, x, y, button = 0, time, op
|
|
|
202
238
|
state.pointerDownTarget = null;
|
|
203
239
|
setPointerData(target ?? downTarget, null, x, y, button, 0, 0, options);
|
|
204
240
|
if (target !== null) {
|
|
205
|
-
|
|
241
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, 'onPointerUp', _pointerData)) {
|
|
242
|
+
emitInteractionSignal(target, manager.root, 'onPointerUp', _pointerData);
|
|
243
|
+
}
|
|
206
244
|
}
|
|
207
245
|
if (downTarget === null)
|
|
208
246
|
return;
|
|
209
247
|
if (target === downTarget) {
|
|
210
|
-
|
|
248
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, 'onClick', _pointerData)) {
|
|
249
|
+
emitInteractionSignal(target, manager.root, 'onClick', _pointerData);
|
|
250
|
+
}
|
|
211
251
|
const legacyElapsed = clickTime - state.lastClickTime;
|
|
212
252
|
if (state.lastClickTarget === target && legacyElapsed >= 0 && legacyElapsed <= manager.doubleClickDelay) {
|
|
213
|
-
|
|
253
|
+
if (manager.dispatchLayers === null ||
|
|
254
|
+
dispatchInteractionLayers(manager, target, 'onDoubleClick', _pointerData)) {
|
|
255
|
+
emitInteractionSignal(target, manager.root, 'onDoubleClick', _pointerData);
|
|
256
|
+
}
|
|
214
257
|
state.lastClickTarget = null;
|
|
215
258
|
state.lastClickTime = -Infinity;
|
|
216
259
|
}
|
|
@@ -222,7 +265,10 @@ export function dispatchInteractionPointerUp(manager, x, y, button = 0, time, op
|
|
|
222
265
|
}
|
|
223
266
|
else {
|
|
224
267
|
resetInteractionClickState(state);
|
|
225
|
-
|
|
268
|
+
if (manager.dispatchLayers === null ||
|
|
269
|
+
dispatchInteractionLayers(manager, downTarget, 'onReleaseOutside', _pointerData)) {
|
|
270
|
+
emitInteractionSignal(downTarget, manager.root, 'onReleaseOutside', _pointerData);
|
|
271
|
+
}
|
|
226
272
|
}
|
|
227
273
|
}
|
|
228
274
|
export function dispatchInteractionWheel(manager, x, y, deltaX = 0, deltaY = 0, options) {
|
|
@@ -254,32 +300,45 @@ export function setInteractionConnectGuard(guard) {
|
|
|
254
300
|
interactionConnectGuard = guard;
|
|
255
301
|
}
|
|
256
302
|
function dispatchKeyboardSignal(manager, name, key, keyCode, modifiers) {
|
|
257
|
-
if (!manager.enabled || !hasInteractionSignalSubscriber(manager, name))
|
|
303
|
+
if (!manager.enabled || (manager.dispatchLayers === null && !hasInteractionSignalSubscriber(manager, name)))
|
|
258
304
|
return;
|
|
259
305
|
setKeyboardData(key, keyCode, modifiers);
|
|
260
|
-
|
|
306
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, manager.root, name, _keyboardData)) {
|
|
307
|
+
emitInteractionSignal(manager.root, manager.root, name, _keyboardData);
|
|
308
|
+
}
|
|
261
309
|
}
|
|
262
310
|
function dispatchPointerRolloverChange(manager, oldTarget, target) {
|
|
263
311
|
if (oldTarget !== null) {
|
|
264
|
-
|
|
312
|
+
if (manager.dispatchLayers === null ||
|
|
313
|
+
dispatchInteractionLayers(manager, oldTarget, 'onPointerOut', _pointerData)) {
|
|
314
|
+
emitInteractionSignal(oldTarget, manager.root, 'onPointerOut', _pointerData);
|
|
315
|
+
}
|
|
265
316
|
}
|
|
266
317
|
const oldChain = oldTarget !== null ? getInteractionChain(oldTarget, manager.root) : [];
|
|
267
318
|
const newChain = target !== null ? getInteractionChain(target, manager.root) : [];
|
|
268
319
|
for (const node of oldChain) {
|
|
269
320
|
if (newChain.indexOf(node) === -1) {
|
|
270
321
|
setInteractionSignalCurrentTarget(_pointerData, node, node);
|
|
271
|
-
|
|
322
|
+
if (manager.dispatchLayers === null ||
|
|
323
|
+
dispatchInteractionLayers(manager, node, 'onPointerRollOut', _pointerData)) {
|
|
324
|
+
emitInteractionSignalDirect(node, 'onPointerRollOut', _pointerData);
|
|
325
|
+
}
|
|
272
326
|
}
|
|
273
327
|
}
|
|
274
328
|
for (let i = newChain.length - 1; i >= 0; i--) {
|
|
275
329
|
const node = newChain[i];
|
|
276
330
|
if (oldChain.indexOf(node) === -1) {
|
|
277
331
|
setInteractionSignalCurrentTarget(_pointerData, node, node);
|
|
278
|
-
|
|
332
|
+
if (manager.dispatchLayers === null ||
|
|
333
|
+
dispatchInteractionLayers(manager, node, 'onPointerRollOver', _pointerData)) {
|
|
334
|
+
emitInteractionSignalDirect(node, 'onPointerRollOver', _pointerData);
|
|
335
|
+
}
|
|
279
336
|
}
|
|
280
337
|
}
|
|
281
338
|
if (target !== null) {
|
|
282
|
-
|
|
339
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, 'onPointerOver', _pointerData)) {
|
|
340
|
+
emitInteractionSignal(target, manager.root, 'onPointerOver', _pointerData);
|
|
341
|
+
}
|
|
283
342
|
}
|
|
284
343
|
manager.cursorTarget = target;
|
|
285
344
|
applyInteractionCursor(manager, target);
|
|
@@ -317,7 +376,9 @@ function dispatchPointerSignalAt(manager, name, x, y, button, deltaX = 0, deltaY
|
|
|
317
376
|
if (target === null)
|
|
318
377
|
return;
|
|
319
378
|
setPointerData(target, null, x, y, button, deltaX, deltaY, options);
|
|
320
|
-
|
|
379
|
+
if (manager.dispatchLayers === null || dispatchInteractionLayers(manager, target, name, _pointerData)) {
|
|
380
|
+
emitInteractionSignal(target, manager.root, name, _pointerData);
|
|
381
|
+
}
|
|
321
382
|
}
|
|
322
383
|
function emitInteractionSignal(target, root, name, data) {
|
|
323
384
|
let current = target;
|
|
@@ -336,6 +397,17 @@ function emitInteractionSignalDirect(target, name, data) {
|
|
|
336
397
|
if (signal !== null)
|
|
337
398
|
emitSignal(signal, data);
|
|
338
399
|
}
|
|
400
|
+
function dispatchInteractionLayers(manager, target, name, data) {
|
|
401
|
+
const layers = manager.dispatchLayers;
|
|
402
|
+
if (layers === null)
|
|
403
|
+
return true;
|
|
404
|
+
const snapshot = layers.slice();
|
|
405
|
+
for (let i = 0; i < snapshot.length; i++) {
|
|
406
|
+
if (!snapshot[i].layer(target, name, data))
|
|
407
|
+
return false;
|
|
408
|
+
}
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
339
411
|
function decrementInteractionSignalSubscriberCount(manager, name) {
|
|
340
412
|
const count = manager.signalSubscriberCounts.get(name) ?? 0;
|
|
341
413
|
if (count <= 1) {
|
|
@@ -364,7 +436,10 @@ function dispatchPointerDoubleClick(manager, state, target, x, y, button, time)
|
|
|
364
436
|
}
|
|
365
437
|
if (isPointerDoubleClickCandidateValid(manager, state, target, x, y, button, time)) {
|
|
366
438
|
resetPointerDoubleClickState(state);
|
|
367
|
-
|
|
439
|
+
if (manager.dispatchLayers === null ||
|
|
440
|
+
dispatchInteractionLayers(manager, target, 'onPointerDoubleClick', _pointerData)) {
|
|
441
|
+
emitInteractionSignal(target, manager.root, 'onPointerDoubleClick', _pointerData);
|
|
442
|
+
}
|
|
368
443
|
return;
|
|
369
444
|
}
|
|
370
445
|
state.lastPointerClickButton = button;
|
|
@@ -488,6 +563,8 @@ function isPointerSignalNeeded(manager, names) {
|
|
|
488
563
|
resetInteractionClickStates(manager);
|
|
489
564
|
return false;
|
|
490
565
|
}
|
|
566
|
+
if (manager.dispatchLayers !== null)
|
|
567
|
+
return true;
|
|
491
568
|
for (const name of names) {
|
|
492
569
|
if (hasInteractionSignalSubscriber(manager, name))
|
|
493
570
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactionManager.js","sourceRoot":"","sources":["../src/interactionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactionManager.js","sourceRoot":"","sources":["../src/interactionManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/interaction",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.704.19c91ec",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,19 +38,19 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
42
|
-
"@flighthq/node": "0.5.1-next.
|
|
43
|
-
"@flighthq/scene2d": "0.5.1-next.
|
|
44
|
-
"@flighthq/log": "0.5.1-next.
|
|
45
|
-
"@flighthq/path": "0.5.1-next.
|
|
46
|
-
"@flighthq/registry": "0.5.1-next.
|
|
47
|
-
"@flighthq/shape": "0.5.1-next.
|
|
48
|
-
"@flighthq/spatial": "0.5.1-next.
|
|
49
|
-
"@flighthq/signals": "0.5.1-next.
|
|
50
|
-
"@flighthq/bitmap": "0.5.1-next.
|
|
51
|
-
"@flighthq/text": "0.5.1-next.
|
|
52
|
-
"@flighthq/textlayout": "0.5.1-next.
|
|
53
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/geometry": "0.5.1-next.704.19c91ec",
|
|
42
|
+
"@flighthq/node": "0.5.1-next.704.19c91ec",
|
|
43
|
+
"@flighthq/scene2d": "0.5.1-next.704.19c91ec",
|
|
44
|
+
"@flighthq/log": "0.5.1-next.704.19c91ec",
|
|
45
|
+
"@flighthq/path": "0.5.1-next.704.19c91ec",
|
|
46
|
+
"@flighthq/registry": "0.5.1-next.704.19c91ec",
|
|
47
|
+
"@flighthq/shape": "0.5.1-next.704.19c91ec",
|
|
48
|
+
"@flighthq/spatial": "0.5.1-next.704.19c91ec",
|
|
49
|
+
"@flighthq/signals": "0.5.1-next.704.19c91ec",
|
|
50
|
+
"@flighthq/bitmap": "0.5.1-next.704.19c91ec",
|
|
51
|
+
"@flighthq/text": "0.5.1-next.704.19c91ec",
|
|
52
|
+
"@flighthq/textlayout": "0.5.1-next.704.19c91ec",
|
|
53
|
+
"@flighthq/types": "0.5.1-next.704.19c91ec"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@flighthq/quadbatch": "*",
|
|
@@ -22,6 +22,7 @@ import { registerHitTest } from './hitTests';
|
|
|
22
22
|
import {
|
|
23
23
|
captureInteractionPointer,
|
|
24
24
|
connectInputToInteraction,
|
|
25
|
+
connectInteractionDispatchLayer,
|
|
25
26
|
connectInteractionSignal,
|
|
26
27
|
createInteractionManager,
|
|
27
28
|
createInteractionSignals,
|
|
@@ -121,6 +122,154 @@ describe('connectInputToInteraction', () => {
|
|
|
121
122
|
});
|
|
122
123
|
});
|
|
123
124
|
|
|
125
|
+
describe('connectInteractionDispatchLayer', () => {
|
|
126
|
+
it('allocates storage lazily and disconnects idempotently', () => {
|
|
127
|
+
const { manager } = createHitScene3D();
|
|
128
|
+
expect(manager.dispatchLayers).toBeNull();
|
|
129
|
+
|
|
130
|
+
const disconnect = connectInteractionDispatchLayer(manager, () => true);
|
|
131
|
+
expect(manager.dispatchLayers).toHaveLength(1);
|
|
132
|
+
|
|
133
|
+
disconnect();
|
|
134
|
+
disconnect();
|
|
135
|
+
expect(manager.dispatchLayers).toBeNull();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it('runs in descending priority with stable connection order for equal priorities', () => {
|
|
139
|
+
const { child, manager, root } = createHitScene3D();
|
|
140
|
+
const calls: string[] = [];
|
|
141
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('low'), true), { priority: -1 });
|
|
142
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('equal-a'), true), { priority: 5 });
|
|
143
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('high'), true), { priority: 10 });
|
|
144
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('equal-b'), true), { priority: 5 });
|
|
145
|
+
connectSignal(enableInteractionSignals(child).onPointerDown, () => calls.push('child'));
|
|
146
|
+
connectSignal(enableInteractionSignals(root).onPointerDown, () => calls.push('root'));
|
|
147
|
+
|
|
148
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
149
|
+
|
|
150
|
+
expect(calls).toEqual(['high', 'equal-a', 'equal-b', 'low', 'child', 'root']);
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it('receives the resolved target and populated data before Flight signal bubbling', () => {
|
|
154
|
+
const { child, manager } = createHitScene3D();
|
|
155
|
+
const calls: string[] = [];
|
|
156
|
+
connectInteractionDispatchLayer(manager, (target, name, data) => {
|
|
157
|
+
calls.push('layer');
|
|
158
|
+
expect(target).toBe(child);
|
|
159
|
+
expect(name).toBe('onPointerDown');
|
|
160
|
+
expect(data).toMatchObject({ button: 2, pointerId: 7, pointerType: 'pen', x: 25, y: 40 });
|
|
161
|
+
return true;
|
|
162
|
+
});
|
|
163
|
+
connectSignal(enableInteractionSignals(child).onPointerDown, () => calls.push('signal'));
|
|
164
|
+
|
|
165
|
+
dispatchInteractionPointerDown(manager, 25, 40, 2, { pointerId: 7, pointerType: 'pen' });
|
|
166
|
+
|
|
167
|
+
expect(calls).toEqual(['layer', 'signal']);
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
it('stops at the first false layer and suppresses Flight signal bubbling', () => {
|
|
171
|
+
const { child, manager, root } = createHitScene3D();
|
|
172
|
+
const calls: string[] = [];
|
|
173
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('high'), true), { priority: 10 });
|
|
174
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('block'), false));
|
|
175
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('low'), true), { priority: -10 });
|
|
176
|
+
connectSignal(enableInteractionSignals(child).onPointerDown, () => calls.push('child'));
|
|
177
|
+
connectSignal(enableInteractionSignals(root).onPointerDown, () => calls.push('root'));
|
|
178
|
+
|
|
179
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
180
|
+
|
|
181
|
+
expect(calls).toEqual(['high', 'block']);
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
it('suppresses only the blocked synthesized event', () => {
|
|
185
|
+
const { child, manager } = createHitScene3D();
|
|
186
|
+
const calls: string[] = [];
|
|
187
|
+
connectInteractionDispatchLayer(manager, (_target, name) => name !== 'onClick');
|
|
188
|
+
connectSignal(enableInteractionSignals(child).onPointerDown, () => calls.push('down'));
|
|
189
|
+
connectSignal(enableInteractionSignals(child).onPointerUp, () => calls.push('up'));
|
|
190
|
+
connectSignal(enableInteractionSignals(child).onClick, () => calls.push('click'));
|
|
191
|
+
|
|
192
|
+
dispatchClick(manager, 50, 50, 1000);
|
|
193
|
+
|
|
194
|
+
expect(calls).toEqual(['down', 'up']);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
it('snapshots additions and removals for the current layer walk', () => {
|
|
198
|
+
const { manager } = createHitScene3D();
|
|
199
|
+
const calls: string[] = [];
|
|
200
|
+
let added = false;
|
|
201
|
+
let disconnectLater = () => {};
|
|
202
|
+
connectInteractionDispatchLayer(
|
|
203
|
+
manager,
|
|
204
|
+
() => {
|
|
205
|
+
calls.push('first');
|
|
206
|
+
disconnectLater();
|
|
207
|
+
if (!added) {
|
|
208
|
+
added = true;
|
|
209
|
+
connectInteractionDispatchLayer(manager, () => (calls.push('added'), true), { priority: 5 });
|
|
210
|
+
}
|
|
211
|
+
return true;
|
|
212
|
+
},
|
|
213
|
+
{ priority: 10 },
|
|
214
|
+
);
|
|
215
|
+
disconnectLater = connectInteractionDispatchLayer(manager, () => (calls.push('later'), true));
|
|
216
|
+
|
|
217
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
218
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
219
|
+
|
|
220
|
+
expect(calls).toEqual(['first', 'later', 'first', 'added']);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it('observes every dispatched interaction path without Flight signal subscribers', () => {
|
|
224
|
+
const { child, manager } = createHitScene3D();
|
|
225
|
+
const names: string[] = [];
|
|
226
|
+
setNodePointerDoubleClickEnabled(child, true);
|
|
227
|
+
connectInteractionDispatchLayer(manager, (_target, name) => {
|
|
228
|
+
names.push(name);
|
|
229
|
+
return true;
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
dispatchInteractionPointerMove(manager, 50, 50);
|
|
233
|
+
dispatchClick(manager, 50, 50, 1000);
|
|
234
|
+
dispatchClick(manager, 50, 50, 1100);
|
|
235
|
+
dispatchInteractionPointerMove(manager, 500, 500);
|
|
236
|
+
dispatchInteractionContextMenu(manager, 50, 50);
|
|
237
|
+
dispatchInteractionWheel(manager, 50, 50, 0, -120);
|
|
238
|
+
dispatchInteractionKeyDown(manager, 'a', 65);
|
|
239
|
+
dispatchInteractionKeyUp(manager, 'a', 65);
|
|
240
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
241
|
+
dispatchInteractionPointerUp(manager, 500, 500);
|
|
242
|
+
dispatchInteractionPointerDown(manager, 50, 50);
|
|
243
|
+
dispatchInteractionPointerCancel(manager, 50, 50);
|
|
244
|
+
|
|
245
|
+
expect(names).toEqual([
|
|
246
|
+
'onPointerRollOver',
|
|
247
|
+
'onPointerRollOver',
|
|
248
|
+
'onPointerOver',
|
|
249
|
+
'onPointerMove',
|
|
250
|
+
'onPointerDown',
|
|
251
|
+
'onPointerUp',
|
|
252
|
+
'onClick',
|
|
253
|
+
'onPointerDown',
|
|
254
|
+
'onPointerUp',
|
|
255
|
+
'onClick',
|
|
256
|
+
'onDoubleClick',
|
|
257
|
+
'onPointerDoubleClick',
|
|
258
|
+
'onPointerOut',
|
|
259
|
+
'onPointerRollOut',
|
|
260
|
+
'onPointerRollOut',
|
|
261
|
+
'onContextMenu',
|
|
262
|
+
'onWheel',
|
|
263
|
+
'onKeyDown',
|
|
264
|
+
'onKeyUp',
|
|
265
|
+
'onPointerDown',
|
|
266
|
+
'onReleaseOutside',
|
|
267
|
+
'onPointerDown',
|
|
268
|
+
'onPointerCancel',
|
|
269
|
+
]);
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
|
|
124
273
|
describe('connectInteractionSignal', () => {
|
|
125
274
|
it('can use tracked subscribers without scanning for direct signal connections', () => {
|
|
126
275
|
const kind = 'TrackedSubscriberHitTest';
|
|
@@ -171,6 +320,7 @@ describe('createInteractionManager', () => {
|
|
|
171
320
|
const manager = createInteractionManager(root);
|
|
172
321
|
expect(manager.enabled).toBe(true);
|
|
173
322
|
expect(manager.cursorTarget).toBeNull();
|
|
323
|
+
expect(manager.dispatchLayers).toBeNull();
|
|
174
324
|
expect(manager.pointerCaptures.size).toBe(0);
|
|
175
325
|
expect(manager.pointerStates.size).toBe(0);
|
|
176
326
|
expect(manager.root).toBe(root);
|