(e: MouseEvent)
| 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 |
no test coverage detected