wix-style-react
Version:
wix-style-react
109 lines (90 loc) • 4.62 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _PopoverMenu = require('../PopoverMenu/PopoverMenu.driver');
var _PopoverMenu2 = _interopRequireDefault(_PopoverMenu);
var _Tooltip = require('../Tooltip/Tooltip.driver');
var _Tooltip2 = _interopRequireDefault(_Tooltip);
var _ButtonDriver = require('../Backoffice/Button/Button.driver.js');
var _ButtonDriver2 = _interopRequireDefault(_ButtonDriver);
var _privateDrivers = require('../../test/utils/private-drivers');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; }
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 (0, _ButtonDriver2.default)({
element: _element.querySelector('[data-hook="table-action-cell-primary-action"] button')
});
};
var getVisibleActionTooltipDriver = function getVisibleActionTooltipDriver(actionIndex) {
return (0, _Tooltip2.default)({
element: getVisibleActionsWrapper().querySelectorAll('[data-hook="table-action-cell-visible-action-tooltip"]')[actionIndex]
});
};
var getVisibleActionButtonDriver = function getVisibleActionButtonDriver(actionIndex) {
return (0, _ButtonDriver2.default)({
element: getVisibleActionsWrapper().querySelectorAll('button')[actionIndex]
});
};
var getHiddenActionsPopoverMenuDriver = function getHiddenActionsPopoverMenuDriver() {
return (0, _PopoverMenu2.default)({
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);
}
}, _privateDrivers.INTERNAL_DRIVER_SYMBOL, {
/** Whether the primary action placeholder exists */
primaryActionPlaceholderExists: function primaryActionPlaceholderExists() {
return !!getPrimaryActionPlaceholder();
}
});
};
exports.default = tableActionCellDriverFactory;