wix-style-react
Version:
wix-style-react
94 lines (73 loc) • 2.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _utils = require('../../test/utils');
var _Tooltip = require('../Tooltip/Tooltip.driver');
var _Tooltip2 = _interopRequireDefault(_Tooltip);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getTextElement = function getTextElement(element) {
return element.querySelector('[data-hook="loader-text"]');
};
var loaderDriverFactory = function loaderDriverFactory(_ref) {
var element = _ref.element;
return {
component: function component() {
return element;
},
exists: function exists() {
return !!element;
},
/** returns the loader color ('blue' or 'white') */
getColor: function getColor() {
return (0, _utils.isClassExists)(element, 'blue') ? 'blue' : 'white';
},
/** returns the element text */
getText: function getText() {
return getTextElement(element).textContent;
},
/** true if the element has text */
hasText: function hasText() {
return !!getTextElement(element);
},
/** true when using the large loader */
isLarge: function isLarge() {
return (0, _utils.isClassExists)(element, 'large');
},
/** true when using the medium loader */
isMedium: function isMedium() {
return (0, _utils.isClassExists)(element, 'medium');
},
/** true when using the small loader */
isSmall: function isSmall() {
return (0, _utils.isClassExists)(element, 'small');
},
/** true when using the tiny loader */
isTiny: function isTiny() {
return (0, _utils.isClassExists)(element, 'tiny');
},
/** true when loader is in loading status */
isLoading: function isLoading() {
return (0, _utils.isClassExists)(element, 'loading');
},
/** true when loader is in error status */
isError: function isError() {
return (0, _utils.isClassExists)(element, 'error');
},
/** true when loader is in success status */
isSuccess: function isSuccess() {
return (0, _utils.isClassExists)(element, 'success');
},
/** trigger the tooltip and returns the value of the tooltip message (async function) */
getStatusMessage: function getStatusMessage() {
var tooltipDriver = (0, _Tooltip2.default)({
element: (0, _utils.findByHook)(element, 'loader-tooltip')
});
tooltipDriver.mouseEnter();
return (0, _utils.resolveIn)(500).then(function () {
return tooltipDriver.getContent();
});
}
};
};
exports.default = loaderDriverFactory;