UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

83 lines (82 loc) 2.78 kB
import { jsxs as d, jsx as f } from "react/jsx-runtime"; import * as s from "../../synapse-client/SynapseClient.js"; import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode"; import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse"; import "@sage-bionetworks/synapse-client/util/SynapseClientError"; import "@sage-bionetworks/synapse-types"; import "../../utils/functions/EntityTypeUtils.js"; import { SRC_SIGN_IN_CLASS as u } from "../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "../../utils/PermissionLevelToAccessType.js"; import { useState as F, useEffect as S } from "react"; import { useSynapseContext as g } from "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import "@tanstack/react-query"; import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import "@mui/material"; import "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; import "../../utils/hooks/useCookiePreferences.js"; import "../../utils/hooks/useSourceAppConfigs.js"; import "universal-cookie"; import "../../utils/AppUtils/session/ApplicationSessionContext.js"; import "../../utils/context/FullContextProvider.js"; import "../../utils/context/DocumentMetadataContext.js"; import '../../style/components/_spinner.css';/* empty css */ import "react-router"; import y from "../IconSvg/IconSvg.js"; const Q = (n) => { const { fileHandleAssociation: e, showDownloadIcon: m, redirect: a = !1, displayValue: o } = n, { accessToken: t } = g(), [r, p] = F(); S(() => { o === void 0 && (async () => { const c = { requestedFiles: [e], includeFileHandles: !0, includePreSignedURLs: !1, includePreviewPreSignedURLs: !1 }; p( await s.getFiles(c, t) ); })(); }, [t, o, e]); let l; return r && (l = r.requestedFiles[0].fileHandle?.fileName), /* @__PURE__ */ d( "button", { onClick: () => { t && e && s.getActualFileHandleByIdURL( e.fileHandleId, t, e.associateObjectType, e.associateObjectId, a ).then((i) => { window.open(i, "_blank"); }).catch((i) => { console.error("Error on retrieving file handle url ", i); }); }, className: `SRC-primary-text-color ${u}`, type: "button", style: { padding: 0 }, children: [ o ?? l ?? e.fileHandleId, m && /* @__PURE__ */ f(y, { icon: "download" }) ] } ); }; export { Q as FileHandleLink }; //# sourceMappingURL=FileHandleLink.js.map