UNPKG

wix-style-react

Version:
85 lines (68 loc) 2.54 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var scrollTopTreshold = 20; var _titleElement = function titleElement(component) { return component.$("[data-hook=\"page-header-title\"]"); }; var scrollableContentElement = function scrollableContentElement(component) { return component.$('[data-hook="page-scrollable-content"]'); }; var pageDriverFactory = function pageDriverFactory(component) { var setContentScrollOffset = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(offset) { var element; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: element = scrollableContentElement(component); _context.t0 = browser; _context.t1 = "arguments[0].scrollTop = ".concat(offset, ";"); _context.next = 5; return element.getWebElement(); case 5: _context.t2 = _context.sent; _context.next = 8; return _context.t0.executeScript.call(_context.t0, _context.t1, _context.t2); case 8: case "end": return _context.stop(); } } }, _callee); })); return function setContentScrollOffset(_x) { return _ref.apply(this, arguments); }; }(); return { /** returns the driver element */ element: function element() { return component; }, /** Scroll content down, enough to minimize page header */ scrollDown: function scrollDown() { return setContentScrollOffset(scrollTopTreshold + 1); }, /** scrolls up to maximised page */ scrollUp: function scrollUp() { return setContentScrollOffset(scrollTopTreshold); }, /** true if title exists */ titleExists: function titleExists() { return _titleElement(component).isPresent(); }, /** returns title element */ titleElement: function titleElement() { return _titleElement(component); } }; }; var _default = pageDriverFactory; exports["default"] = _default;