UNPKG

wix-style-react

Version:
73 lines (61 loc) 2.23 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; 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 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(offset) { var element; return _regeneratorRuntime.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); } }; }; export default pageDriverFactory;