UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

47 lines 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importStar)(require("react")); var react_tooltip_1 = (0, tslib_1.__importDefault)(require("react-tooltip")); var SynapseTableConstants_1 = require("../table/SynapseTableConstants"); var SynapseContext_1 = require("../../utils/SynapseContext"); var react_error_boundary_1 = require("react-error-boundary"); var ErrorUtils_1 = require("../../utils/ErrorUtils"); var useGetDownloadListStatistics_1 = require("../../utils/hooks/SynapseAPI/useGetDownloadListStatistics"); var IconSvg_1 = (0, tslib_1.__importDefault)(require("../IconSvg")); /** * Nav bar item, displayed when files have been added to the Download Cart. * This must be configured with the URL of a page dedicated to showing the Download Cart. */ function ShowDownloadV2(_a) { var _b; var to = _a.to, _c = _a.className, className = _c === void 0 ? '' : _c; var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken; var handleError = (0, react_error_boundary_1.useErrorHandler)(); var idForToolTip = 'SHOW_DOWNLOAD_TOOLTIP'; var tooltipText = 'Click to view items in your download cart.'; var _d = (0, useGetDownloadListStatistics_1.useGetDownloadListStatistics)(), data = _d.data, isLoading = _d.isLoading, isError = _d.isError, newError = _d.error; (0, react_1.useEffect)(function () { if (isError && newError && accessToken) { handleError((0, ErrorUtils_1.toError)(newError)); } }, [isError, newError, handleError, accessToken]); if (!accessToken || isLoading) { return react_1.default.createElement(react_1.default.Fragment, null); } var size = (_b = data === null || data === void 0 ? void 0 : data.totalNumberOfFiles) !== null && _b !== void 0 ? _b : 0; if (size === 0) { return react_1.default.createElement(react_1.default.Fragment, null); } var content = (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("span", { id: idForToolTip, "data-for": idForToolTip, "data-tip": tooltipText }, react_1.default.createElement("span", { className: "SRC-primary-text-color" }, react_1.default.createElement(IconSvg_1.default, { options: { icon: 'cart' } })), react_1.default.createElement("span", { className: "download-cart-size" }, size)), react_1.default.createElement(react_tooltip_1.default, { delayShow: SynapseTableConstants_1.TOOLTIP_DELAY_SHOW, place: 'bottom', type: 'dark', effect: 'solid', border: true, id: idForToolTip }))); return react_1.default.createElement("a", { className: "Download-Link v2 " + className, href: to, rel: "noopener noreferrer" }, content); } exports.default = ShowDownloadV2; //# sourceMappingURL=ShowDownloadV2.js.map