synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
42 lines • 3.06 kB
JavaScript
"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