wix-style-react
Version:
41 lines (35 loc) • 1.43 kB
JavaScript
import badgeDriverFactory from '../Badge/Badge.driver';
import * as DATA_ATTR from './DataAttr';
import dropdownLayoutDriverFactory from '../DropdownLayout/DropdownLayout.driver';
import popoverDriverFactory from '../Popover/Popover.driver';
var badgeSelectDriverFactory = function badgeSelectDriverFactory(_ref) {
var element = _ref.element,
eventTrigger = _ref.eventTrigger;
var popoverDriver = popoverDriverFactory({
element: element,
eventTrigger: eventTrigger
});
return {
/** Returns 'true' whether the element exists */
exists: function exists() {
return !!element;
},
/** Click on an option */
clickAtOption: function clickAtOption(index) {
if (!popoverDriver.isContentElementExists()) {
var badgeDriver = badgeDriverFactory({
element: element.querySelector("[data-hook=\"".concat(DATA_ATTR.DATA_BADGE, "\"]")),
eventTrigger: eventTrigger
});
badgeDriver.click();
} // Since the popover may be closed, we need to create the DropdownLayout driver every time
var dropdownLayoutDriver = dropdownLayoutDriverFactory({
element: popoverDriver.getContentElement().querySelector("[data-hook=\"".concat(DATA_ATTR.DATA_DROPDOWN, "\"]"))
});
if (dropdownLayoutDriver.exists()) {
dropdownLayoutDriver.clickAtOption(index);
}
}
};
};
export default badgeSelectDriverFactory;