UNPKG

wix-style-react

Version:
92 lines (82 loc) 4.26 kB
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import popoverMenuDriverFactory from '../PopoverMenu/PopoverMenu.driver'; import tooltipDriverFactory from '../Tooltip/Tooltip.driver'; import buttonDriverFactory from '../Backoffice/Button/Button.driver.js'; import { INTERNAL_DRIVER_SYMBOL } from '../../test/utils/private-drivers'; var tableActionCellDriverFactory = function tableActionCellDriverFactory(_ref) { var _element = _ref.element; var getPrimaryActionPlaceholder = function getPrimaryActionPlaceholder() { return _element.querySelector('[data-hook="table-action-cell-placeholder"]'); }; var getVisibleActionsWrapper = function getVisibleActionsWrapper() { return _element.querySelector('[data-hook="table-action-cell-visible-actions"]'); }; var getPrimaryActionButtonDriver = function getPrimaryActionButtonDriver() { return buttonDriverFactory({ element: _element.querySelector('[data-hook="table-action-cell-primary-action"] button') }); }; var getVisibleActionTooltipDriver = function getVisibleActionTooltipDriver(actionIndex) { return tooltipDriverFactory({ element: getVisibleActionsWrapper().querySelectorAll('[data-hook="table-action-cell-visible-action-tooltip"]')[actionIndex] }); }; var getVisibleActionButtonDriver = function getVisibleActionButtonDriver(actionIndex) { return buttonDriverFactory({ element: getVisibleActionsWrapper().querySelectorAll('button')[actionIndex] }); }; var getHiddenActionsPopoverMenuDriver = function getHiddenActionsPopoverMenuDriver() { return popoverMenuDriverFactory({ element: _element.querySelector('[data-hook="table-action-cell-popover-menu"]') }).init.menuItemDataHook('table-action-cell-popover-menu-item').init.parentElement(_element); }; return _defineProperty({ /** Get the element */ element: function element() { return _element; }, /** Whether the element exists */ exists: function exists() { return !!_element; }, /** Get the driver of the primary action <Button/> from the action column */ getPrimaryActionButtonDriver: getPrimaryActionButtonDriver, /** Click the primary action button from the action column */ clickPrimaryActionButton: function clickPrimaryActionButton() { return getPrimaryActionButtonDriver().click(); }, /** Get the number of the visible secondary actions */ getVisibleActionsCount: function getVisibleActionsCount() { return getVisibleActionsWrapper().childElementCount; }, /** Get the number of hidden secondary actions (in the <PopoverMenu/>, requires it to be open) */ getHiddenActionsCount: function getHiddenActionsCount() { return getHiddenActionsPopoverMenuDriver().menu.itemsLength(); }, /** Get the driver of a specific visible secondary action <Tooltip/> */ getVisibleActionTooltipDriver: getVisibleActionTooltipDriver, /** Get the driver of a specific visible secondary action <Button/> */ getVisibleActionButtonDriver: getVisibleActionButtonDriver, /** Get the driver of the hidden secondary action <PopoverMenu/> */ getHiddenActionsPopoverMenuDriver: getHiddenActionsPopoverMenuDriver, /** Click an a visible secondary action */ clickVisibleAction: function clickVisibleAction(actionIndex) { return getVisibleActionButtonDriver(actionIndex).click(); }, /** Click on the hidden secondary actions <PopoverMenu/> */ clickPopoverMenu: function clickPopoverMenu() { return getHiddenActionsPopoverMenuDriver().click(); }, /** Click on a hidden secondary action (requires the <PopoverMenu/> to be open) */ clickHiddenAction: function clickHiddenAction(actionIndex) { return getHiddenActionsPopoverMenuDriver().menu.clickItemAt(actionIndex); } }, INTERNAL_DRIVER_SYMBOL, { /** Whether the primary action placeholder exists */ primaryActionPlaceholderExists: function primaryActionPlaceholderExists() { return !!getPrimaryActionPlaceholder(); } }); }; export default tableActionCellDriverFactory;