UNPKG

wix-style-react

Version:
72 lines (70 loc) 2.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.dragAndDropPuppeteerDriverFactory = void 0; var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var dragAndDropPuppeteerDriverFactory = _ref => { var { element } = _ref; return { beginDrag: function () { var _beginDrag = (0, _asyncToGenerator2.default)(function* (_ref2) { var { dataHook } = _ref2; yield element.page.evaluate((baseElement, sourceDataHook) => { var sourceElement = baseElement.querySelector("[data-hook=\"".concat(sourceDataHook, "\"]")); var { x, y, height } = sourceElement.getBoundingClientRect(); sourceElement.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, clientX: x, clientY: y + height / 2 })); }, element.element, dataHook); }); function beginDrag(_x) { return _beginDrag.apply(this, arguments); } return beginDrag; }(), dragOver: function () { var _dragOver = (0, _asyncToGenerator2.default)(function* (_ref3) { var { dataHook, offset } = _ref3; var moveMouseToNewPosition = () => element.page.evaluate((baseElement, destinationDataHook, xAxisOffset) => { var destinationElement = baseElement.querySelector("[data-hook=\"".concat(destinationDataHook, "\"]")); var { x, y, height } = destinationElement.getBoundingClientRect(); var eventOptions = { bubbles: true, clientX: xAxisOffset ? x + xAxisOffset : x, clientY: y + height / 2 }; baseElement.dispatchEvent(new MouseEvent('mousemove', eventOptions)); }, element.element, dataHook, offset == null ? void 0 : offset.x); // We have to do it twice, because one mousemove event is not enough for item to occupy the new position yield moveMouseToNewPosition(); yield moveMouseToNewPosition(); }); function dragOver(_x2) { return _dragOver.apply(this, arguments); } return dragOver; }(), endDrag: () => element.page.evaluate(baseElement => { baseElement.dispatchEvent(new MouseEvent('mouseup')); }, element.element) }; }; exports.dragAndDropPuppeteerDriverFactory = dragAndDropPuppeteerDriverFactory; //# sourceMappingURL=dragAndDropPuppeteerDriverFactory.js.map