UNPKG

wix-style-react

Version:
93 lines (92 loc) 4.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _AddItem = _interopRequireDefault(require("../AddItem/AddItem.driver")); var _constants = require("./constants"); var _Tooltip = require("../Tooltip/Tooltip.driver"); var imageViewerDriverFactory = _ref => { var { element: _element, wrapper, eventTrigger } = _ref; var byHook = dataHook => _element.querySelector("[data-hook=\"".concat(dataHook, "\"]")); var hasDataAttribute = (dataAttr, el) => el.getAttribute(dataAttr) === 'true'; var addItemDriver = () => (0, _AddItem.default)({ element: byHook(_constants.dataHooks.addItem), eventTrigger }); var getTooltipDriver = dataHook => (0, _Tooltip.tooltipLegacyDriverFactory)({ element: _element.querySelector("[data-hook=\"".concat(dataHook, "\"]")), eventTrigger }); var getImageElement = () => byHook(_constants.dataHooks.image); var getPreviousImageElement = () => byHook(_constants.dataHooks.previousImage); var isImagesContainerElementVisible = () => hasDataAttribute(_constants.dataAttributes.containerVisible, byHook(_constants.dataHooks.imagesContainer)); var isImageElementVisible = imgElement => hasDataAttribute(_constants.dataAttributes.imageVisible, imgElement); var hoverElement = () => eventTrigger.mouseOver(_element); var showButtons = hoverElement; return { exists: () => !!_element, getElement: () => _element, // for backward compatibility element: () => _element, // same as unidriver language updateExists: () => !!byHook(_constants.dataHooks.update), updateButtonExists: () => !!byHook(_constants.dataHooks.update), removeButtonExists: () => !!byHook(_constants.dataHooks.remove), downloadButtonExists: () => !!byHook(_constants.dataHooks.download), moreButtonExists: () => !!byHook(_constants.dataHooks.more), clickAdd: () => addItemDriver().click(), clickUpdate: () => { showButtons(); eventTrigger.click(byHook(_constants.dataHooks.update)); }, clickDownload: () => { showButtons(); eventTrigger.click(byHook(_constants.dataHooks.download)); }, clickRemove: () => { showButtons(); eventTrigger.click(byHook(_constants.dataHooks.remove)); }, getContainerStyles: () => _element.getAttribute('style'), getAddTooltipContent: () => addItemDriver().getTooltipContent(), getUpdateTooltipContent: () => getTooltipDriver(_constants.dataHooks.updateTooltip).getTooltipText(), getDownloadTooltipContent: () => getTooltipDriver(_constants.dataHooks.downloadTooltip).getTooltipText(), getRemoveTooltipContent: () => getTooltipDriver(_constants.dataHooks.removeTooltip).getTooltipText(), getMoreTooltipContent: () => getTooltipDriver(_constants.dataHooks.moreTooltip).getTooltipText(), isDisabled: () => _element.getAttribute('data-disabled') === 'true', isAddItemVisible: () => !!byHook(_constants.dataHooks.addItem), isLoaderVisible: () => !!byHook(_constants.dataHooks.loader), isImageLoaded: () => hasDataAttribute(_constants.dataAttributes.imageLoaded, _element), isImageVisible: () => { var image = getImageElement(); return !!image && isImageElementVisible(image) && isImagesContainerElementVisible(); }, isPreviousImageVisible: () => { var previousImage = getPreviousImageElement(); return !!previousImage && isImageElementVisible(previousImage) && isImagesContainerElementVisible(); }, getImageUrl: () => { var imageUrl = getImageElement(); return imageUrl && imageUrl.getAttribute('src'); }, getPreviousImageUrl: () => { var previousImage = getPreviousImageElement(); return previousImage && previousImage.getAttribute('src'); }, hover: () => hoverElement(), // Status /** Return true if the given status is displayed */ hasStatus: status => { var statusEl = _element.querySelector("[data-hook='".concat(_constants.dataHooks.errorTooltip, "']")); return (statusEl && statusEl.getAttribute('data-status')) === status; }, /** If there's a status message, returns its text value */ getStatusMessage: () => getTooltipDriver('status-indicator-tooltip').getTooltipText(0) }; }; var _default = exports.default = imageViewerDriverFactory; //# sourceMappingURL=ImageViewer.driver.js.map