wix-style-react
Version:
wix-style-react
69 lines (53 loc) • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _testUtils = require('react-dom/test-utils');
var _testUtils2 = _interopRequireDefault(_testUtils);
var _InputWithOptions = require('../InputWithOptions/InputWithOptions.driver');
var _InputWithOptions2 = _interopRequireDefault(_InputWithOptions);
var _Tag = require('../Tag/Tag.driver');
var _Tag2 = _interopRequireDefault(_Tag);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var multiSelectDriverFactory = function multiSelectDriverFactory(_ref) {
var element = _ref.element;
var _inputWithOptionsDriv = (0, _InputWithOptions2.default)({ element: element }),
driver = _inputWithOptionsDriv.driver,
inputDriver = _inputWithOptionsDriv.inputDriver,
dropdownLayoutDriver = _inputWithOptionsDriv.dropdownLayoutDriver;
var inputWrapper = driver.inputWrapper().childNodes[0];
var tags = [].concat(_toConsumableArray(inputWrapper.querySelectorAll('[data-hook="tag"]')));
var multiSelectDriver = Object.assign(driver, {
getMaxHeight: function getMaxHeight() {
return inputWrapper.style.maxHeight;
},
clickOnInputWrapper: function clickOnInputWrapper() {
return _testUtils2.default.Simulate.click(inputWrapper);
},
inputWrapperHasFocus: function inputWrapperHasFocus() {
return inputWrapper.classList.contains('hasFocus');
},
inputWrapperHasError: function inputWrapperHasError() {
return inputWrapper.classList.contains('error');
},
numberOfTags: function numberOfTags() {
return tags.length;
},
getTagLabelAt: function getTagLabelAt(index) {
return tags[index].textContent;
},
pressCommaKey: function pressCommaKey() {
return inputDriver.keyDown(',');
},
getTagDriverByTagId: function getTagDriverByTagId(tagId) {
return (0, _Tag2.default)({
element: tags.find(function (tag) {
return tag.id === tagId;
})
});
}
});
return { driver: multiSelectDriver, inputDriver: inputDriver, dropdownLayoutDriver: dropdownLayoutDriver };
};
exports.default = multiSelectDriverFactory;