* Figures out the coordinates at which an element was picked up. * @param referenceElement Element that initiated the dragging. * @param event Event that initiated the dragging.
(
elementRect: DOMRect,
referenceElement: HTMLElement,
event: MouseEvent | TouchEvent,
)
| 1248 | * @param event Event that initiated the dragging. |
| 1249 | */ |
| 1250 | private _getPointerPositionInElement( |
| 1251 | elementRect: DOMRect, |
| 1252 | referenceElement: HTMLElement, |
| 1253 | event: MouseEvent | TouchEvent, |
| 1254 | ): Point { |
| 1255 | const handleElement = referenceElement === this._rootElement ? null : referenceElement; |
| 1256 | const referenceRect = handleElement ? handleElement.getBoundingClientRect() : elementRect; |
| 1257 | const point = isTouchEvent(event) ? event.targetTouches[0] : event; |
| 1258 | const scrollPosition = this._getViewportScrollPosition(); |
| 1259 | const x = point.pageX - referenceRect.left - scrollPosition.left; |
| 1260 | const y = point.pageY - referenceRect.top - scrollPosition.top; |
| 1261 | |
| 1262 | return { |
| 1263 | x: referenceRect.left - elementRect.left + x, |
| 1264 | y: referenceRect.top - elementRect.top + y, |
| 1265 | }; |
| 1266 | } |
| 1267 | |
| 1268 | /** Determines the point of the page that was touched by the user. */ |
| 1269 | private _getPointerPositionOnPage(event: MouseEvent | TouchEvent): Point { |
no test coverage detected