MCPcopy Index your code
hub / github.com/adobe/react-spectrum / onTransitionEnd

Function onTransitionEnd

packages/react-aria/src/utils/runAfterTransition.ts:56–83  ·  view source on GitHub ↗
(e: Event)

Source from the content-addressed store, hash-verified

54 };
55
56 let onTransitionEnd = (e: Event) => {
57 let eventTarget = getEventTarget(e);
58 if (!isTransitionEvent(e) || !eventTarget) {
59 return;
60 }
61 // Remove property from list of transitioning properties.
62 let properties = transitionsByElement.get(eventTarget);
63 if (!properties) {
64 return;
65 }
66
67 properties.delete(e.propertyName);
68
69 // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.
70 if (properties.size === 0) {
71 eventTarget.removeEventListener('transitioncancel', onTransitionEnd);
72 transitionsByElement.delete(eventTarget);
73 }
74
75 // If no transitioning elements, call all of the queued callbacks.
76 if (transitionsByElement.size === 0) {
77 for (let cb of transitionCallbacks) {
78 cb();
79 }
80
81 transitionCallbacks.clear();
82 }
83 };
84
85 document.body.addEventListener('transitionrun', onTransitionStart);
86 document.body.addEventListener('transitionend', onTransitionEnd);

Callers

nothing calls this directly

Calls 6

getEventTargetFunction · 0.90
isTransitionEventFunction · 0.85
cbFunction · 0.85
deleteMethod · 0.80
removeEventListenerMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected