UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

103 lines (96 loc) 3.5 kB
'use strict'; var _regeneratorRuntime = require('@babel/runtime/regenerator'); var tslib_es6 = require('./tslib.es6-0d92ef81.js'); var e2eTest_element = require('./element-5197511a.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime); // eslint-disable-next-line @typescript-eslint/naming-convention exports.DRAG_TYPE = void 0; (function (DRAG_TYPE) { DRAG_TYPE["DOT_TO_DOT"] = "DOT_TO_DOT"; DRAG_TYPE["STEPS"] = "STEPS"; })(exports.DRAG_TYPE || (exports.DRAG_TYPE = {})); var STEP_UNIT = 56; function dragElement(_ref) { var page = _ref.page, source = _ref.source, target = _ref.target, mode = _ref.mode, _ref$reverse = _ref.reverse, reverse = _ref$reverse === void 0 ? false : _ref$reverse, _ref$stepUnit = _ref.stepUnit, stepUnit = _ref$stepUnit === void 0 ? STEP_UNIT : _ref$stepUnit; return tslib_es6.__awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() { var sourceRect, targetRect, start, end, unit, steps, i, _t; return _regeneratorRuntime__default["default"].wrap(function (_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 1; return e2eTest_element.getRect(source, page); case 1: sourceRect = _context.sent; _context.next = 2; return e2eTest_element.getRect(target, page); case 2: targetRect = _context.sent; start = (sourceRect.top + sourceRect.bottom) / 2; end = (targetRect.top + targetRect.bottom) / 2; if (reverse) { end = start - (end - start); } _context.next = 3; return page.mouse.move((sourceRect.left + sourceRect.right) / 2, start); case 3: _context.next = 4; return page.mouse.down(); case 4: _t = mode; _context.next = _t === exports.DRAG_TYPE.DOT_TO_DOT ? 5 : _t === exports.DRAG_TYPE.STEPS ? 8 : 13; break; case 5: _context.next = 6; return page.mouse.move((targetRect.left + targetRect.right) / 2, end); case 6: _context.next = 7; return e2eTest_element.justWait(1000); case 7: return _context.abrupt("continue", 13); case 8: unit = end > start ? stepUnit : -stepUnit; steps = Math.abs(Math.round((end - start) / unit)); i = 0; case 9: if (!(i < steps)) { _context.next = 12; break; } _context.next = 10; return page.mouse.move((targetRect.left + targetRect.right) / 2, start + unit * (i + 1), { steps: 1 }); case 10: _context.next = 11; return e2eTest_element.justWait(200); case 11: i++; _context.next = 9; break; case 12: return _context.abrupt("continue", 13); case 13: _context.next = 14; return page.mouse.up(); case 14: case "end": return _context.stop(); } }, _callee); })); } var drag = /*#__PURE__*/Object.freeze({ __proto__: null, get DRAG_TYPE () { return exports.DRAG_TYPE; }, dragElement: dragElement }); exports.drag = drag; exports.dragElement = dragElement;