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

42 lines 3.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RequestDownloadCard = exports.REQUEST_DOWNLOAD_TITLE = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importStar)(require("react")); var react_error_boundary_1 = require("react-error-boundary"); var ErrorUtils_1 = require("../../utils/ErrorUtils"); var useGetEntityHeaders_1 = require("../../utils/hooks/SynapseAPI/useGetEntityHeaders"); var utils_1 = require("../row_renderers/utils"); var SynapseConstants_1 = require("../../utils/SynapseConstants"); var react_bootstrap_1 = require("react-bootstrap"); var getEndpoint_1 = require("../../utils/functions/getEndpoint"); var MeetAccessRequirementCard_1 = require("./MeetAccessRequirementCard"); exports.REQUEST_DOWNLOAD_TITLE = 'Requires Download Permission'; var RequestDownloadCard = function (_a) { var entityId = _a.entityId, count = _a.count; var handleError = (0, react_error_boundary_1.useErrorHandler)(); var _b = (0, useGetEntityHeaders_1.useGetEntityHeaders)([{ targetId: entityId }]), data = _b.data, isLoading = _b.isLoading, isError = _b.isError, newError = _b.error; var entityHeader = data === null || data === void 0 ? void 0 : data.results[0]; (0, react_1.useEffect)(function () { if (isError && newError) { handleError((0, ErrorUtils_1.toError)(newError)); } }, [isError, newError, handleError]); return (react_1.default.createElement(react_1.default.Fragment, null, !isError && !isLoading && (react_1.default.createElement("div", { className: "RequestDownloadCart actionRequiredCard" }, react_1.default.createElement(utils_1.Icon, { type: SynapseConstants_1.VARIABLE_DIFFICULTY }), react_1.default.createElement("div", { className: "metadata" }, react_1.default.createElement("div", { className: "title" }, exports.REQUEST_DOWNLOAD_TITLE), react_1.default.createElement("div", { className: "fileCount" }, count, " File(s)"), react_1.default.createElement("div", { className: "description" }, "You must be granted the download permission on ", react_1.default.createElement("strong", null, entityHeader === null || entityHeader === void 0 ? void 0 : entityHeader.name), " in order to download this set of files.")), react_1.default.createElement("a", { className: "startButtonContainer", href: getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Synapse:" + (entityHeader === null || entityHeader === void 0 ? void 0 : entityHeader.id), target: '_blank', rel: 'noreferrer' }, react_1.default.createElement(react_bootstrap_1.Button, { className: "startButton", variant: "secondary" }, "Start")))), isLoading && (react_1.default.createElement(MeetAccessRequirementCard_1.LoadingAccessRequirementCard, null)))); }; exports.RequestDownloadCard = RequestDownloadCard; //# sourceMappingURL=RequestDownloadCard.js.map