UNPKG

wix-style-react

Version:
69 lines (53 loc) 2.39 kB
'use strict'; 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;