wix-style-react
Version:
253 lines (203 loc) • 9.37 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.multiselectUniDriverFactory = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _baseDriver = require("wix-ui-test-utils/base-driver");
var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
var _InputWithOptionsUni = require("../InputWithOptions/InputWithOptions.uni.driver");
var _TagPrivateUni = require("../Tag/Tag.private.uni.driver");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var multiselectUniDriverFactory = function multiselectUniDriverFactory(base, body) {
var _inputWithOptionsUniD = (0, _InputWithOptionsUni.inputWithOptionsUniDriverFactory)(base, body),
driver = _inputWithOptionsUniD.driver,
inputDriver = _inputWithOptionsUniD.inputDriver,
dropdownLayoutDriver = _inputWithOptionsUniD.dropdownLayoutDriver;
var getInputWrapper = /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return driver.inputWrapper();
case 2:
return _context.abrupt("return", _context.sent.childNodes[0]);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getInputWrapper() {
return _ref.apply(this, arguments);
};
}();
var tags = base.$$('[data-hook="tag"]');
var multiSelectDriver = _objectSpread(_objectSpread(_objectSpread({}, (0, _baseDriver.baseUniDriverFactory)(base)), driver), {}, {
/** returns the max height of the component */
getMaxHeight: function () {
var _getMaxHeight = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return getInputWrapper();
case 2:
return _context2.abrupt("return", _context2.sent.style.maxHeight);
case 3:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function getMaxHeight() {
return _getMaxHeight.apply(this, arguments);
}
return getMaxHeight;
}(),
/** click on the input element wrapper */
clickOnInputWrapper: function () {
var _clickOnInputWrapper = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.t0 = _testUtils["default"].Simulate;
_context3.next = 3;
return getInputWrapper();
case 3:
_context3.t1 = _context3.sent;
return _context3.abrupt("return", _context3.t0.click.call(_context3.t0, _context3.t1));
case 5:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
function clickOnInputWrapper() {
return _clickOnInputWrapper.apply(this, arguments);
}
return clickOnInputWrapper;
}(),
/** returns true if the input is focused */
inputWrapperHasFocus: function inputWrapperHasFocus() {
return inputDriver.isFocusedStyle();
},
/** returns true if the input is disabled */
inputWrapperIsDisabled: function () {
var _inputWrapperIsDisabled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return base.$('[data-hook="wsr-custom-input"]');
case 2:
return _context4.abrupt("return", !!_context4.sent.attr('disabled'));
case 3:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
function inputWrapperIsDisabled() {
return _inputWrapperIsDisabled.apply(this, arguments);
}
return inputWrapperIsDisabled;
}(),
/** returns the number of tags selected in the input */
numberOfTags: function numberOfTags() {
return tags.count();
},
/** returns the label of the tag given it's index */
getTagLabelAt: function getTagLabelAt(index) {
return tags.get(index).text();
},
/** press the comma key in the input field */
pressCommaKey: function pressCommaKey() {
return inputDriver.pressKey(',');
},
/** returns the `tagDriver` for the specified tag id */
getTagDriverByTagId: function () {
var _getTagDriverByTagId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(tagId) {
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
return _context6.abrupt("return", (0, _TagPrivateUni.tagPrivateUniDriverFactory)(tags.filter( /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(tag) {
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return tag._prop('id');
case 2:
_context5.t0 = _context5.sent;
_context5.t1 = tagId;
return _context5.abrupt("return", _context5.t0 === _context5.t1);
case 5:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return function (_x2) {
return _ref2.apply(this, arguments);
};
}()).get(0)));
case 1:
case "end":
return _context6.stop();
}
}
}, _callee6);
}));
function getTagDriverByTagId(_x) {
return _getTagDriverByTagId.apply(this, arguments);
}
return getTagDriverByTagId;
}(),
/** returns true if a custom suffix exists */
customSuffixExists: function () {
var _customSuffixExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return getInputWrapper();
case 2:
return _context7.abrupt("return", !!_context7.sent.querySelector('[data-hook="custom-suffix"]'));
case 3:
case "end":
return _context7.stop();
}
}
}, _callee7);
}));
function customSuffixExists() {
return _customSuffixExists.apply(this, arguments);
}
return customSuffixExists;
}()
});
return {
driver: multiSelectDriver,
inputDriver: inputDriver,
dropdownLayoutDriver: dropdownLayoutDriver
};
};
exports.multiselectUniDriverFactory = multiselectUniDriverFactory;