MCPcopy
hub / github.com/adobe/react-spectrum / onClick

Method onClick

packages/react-aria/src/dnd/DragManager.ts:335–364  ·  view source on GitHub ↗
(e: MouseEvent)

Source from the content-addressed store, hash-verified

333 }
334
335 onClick(e: MouseEvent): void {
336 this.cancelEvent(e);
337 if (isVirtualClick(e) || this.isVirtualClick) {
338 let dropElements = dropItems.values();
339 let eventTarget = getEventTarget(e) as HTMLElement;
340 let item = [...dropElements].find(
341 item =>
342 item.element === eventTarget || nodeContains(item.activateButtonRef?.current, eventTarget)
343 );
344 let dropTarget = this.validDropTargets.find(target =>
345 nodeContains(target.element, eventTarget)
346 );
347 let activateButton =
348 item?.activateButtonRef?.current ?? dropTarget?.activateButtonRef?.current;
349 if (nodeContains(activateButton, eventTarget) && dropTarget) {
350 this.activate(dropTarget, item);
351 return;
352 }
353
354 if (getEventTarget(e) === this.dragTarget.element) {
355 this.cancel();
356 return;
357 }
358
359 if (dropTarget) {
360 this.setCurrentDropTarget(dropTarget, item);
361 this.drop(item);
362 }
363 }
364 }
365
366 onPointerDown(e: PointerEvent): void {
367 // Android Talkback double tap has e.detail = 1 for onClick. Detect the virtual click in onPointerDown before onClick fires

Callers 2

useLinkFunction · 0.80

Calls 8

cancelEventMethod · 0.95
activateMethod · 0.95
cancelMethod · 0.95
setCurrentDropTargetMethod · 0.95
dropMethod · 0.95
isVirtualClickFunction · 0.90
getEventTargetFunction · 0.90
nodeContainsFunction · 0.90

Tested by

no test coverage detected