wix-style-react
Version:
142 lines (109 loc) • 4.06 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.focusOnRichEditor = exports.enterRichTextValue = exports.getContent = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
var _ReactBase = require("./ReactBase");
/** Receives a unidriver of container that wraps a DraftJS input
* and returns the input content element */
var getContent = function getContent(base) {
return base.$('.public-DraftEditor-content');
};
/** Receives a unidriver of container (base) that wraps a DraftJS input,
* and a `value` to add to the input
* adds the value to the current input value */
exports.getContent = getContent;
var enterRichTextValue = /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(base, value) {
var contentElement, nativeElement;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
contentElement = getContent(base);
_context.next = 3;
return contentElement.getNative();
case 3:
nativeElement = _context.sent;
if (!(contentElement.type === 'react')) {
_context.next = 8;
break;
}
_testUtils["default"].Simulate.beforeInput(nativeElement, {
data: value
});
_context.next = 19;
break;
case 8:
if (!(contentElement.type === 'protractor')) {
_context.next = 13;
break;
}
_context.next = 11;
return nativeElement.sendKeys(value);
case 11:
_context.next = 19;
break;
case 13:
if (!(contentElement.type === 'puppeteer')) {
_context.next = 18;
break;
}
_context.next = 16;
return contentElement.enterValue(value, {
shouldClear: false
});
case 16:
_context.next = 19;
break;
case 18:
throw new Error('unsupported adapter');
case 19:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function enterRichTextValue(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
exports.enterRichTextValue = enterRichTextValue;
var focusOnRichEditor = /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(base) {
var _yield$getContent$get, element;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.t0 = base.type;
_context2.next = _context2.t0 === 'react' ? 3 : _context2.t0 === 'puppeteer' ? 4 : 9;
break;
case 3:
return _context2.abrupt("return", (0, _ReactBase.ReactBase)(getContent(base)).focus());
case 4:
_context2.next = 6;
return getContent(base).getNative();
case 6:
_yield$getContent$get = _context2.sent;
element = _yield$getContent$get.element;
return _context2.abrupt("return", element.focus());
case 9:
throw new Error('unsupported adapter');
case 10:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function focusOnRichEditor(_x3) {
return _ref2.apply(this, arguments);
};
}();
exports.focusOnRichEditor = focusOnRichEditor;