wix-style-react
Version:
wix-style-react
77 lines (64 loc) • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _constants = require('./constants');
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
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 = 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 = ' + 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, undefined);
}));
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(_constants.SCROLL_TOP_THRESHOLD + 1);
},
/** scrolls up to maximised page */
scrollUp: function scrollUp() {
return setContentScrollOffset(_constants.SCROLL_TOP_THRESHOLD);
},
/** true if title exists */
titleExists: function titleExists() {
return _titleElement(component).isPresent();
},
/** returns title element */
titleElement: function titleElement() {
return _titleElement(component);
}
};
};
exports.default = pageDriverFactory;