synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
83 lines (82 loc) • 2.78 kB
JavaScript
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