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

85 lines (84 loc) 3.13 kB
import { jsx as c } from "react/jsx-runtime"; import { getFullQueryTableResults as x } from "../../synapse-client/SynapseClient.js"; import "../../utils/PermissionLevelToAccessType.js"; import { BUNDLE_MASK_QUERY_RESULTS as E } from "../../utils/SynapseConstants.js"; import { useMemo as R, useState as m, useEffect as y } from "react"; import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode"; import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse"; import "@sage-bionetworks/synapse-client/util/SynapseClientError"; import { parseEntityIdAndVersionFromSqlStatement as D } from "../../utils/functions/SqlFunctions.js"; import { copyStringToClipboard as T } from "../../utils/functions/StringUtils.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import { useSynapseContext as $ } 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/functions/EntityTypeUtils.js"; import "@sage-bionetworks/synapse-types"; 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 { SynapseSpinner as h } from "../LoadingScreen/LoadingScreen.js"; import "react-router"; import { InteractiveCopyIdsIcon as v } from "../InteractiveCopyIdsIcon.js"; import { useQueryContext as A } from "../QueryContext/QueryContext.js"; import { displayToast as f } from "../ToastMessage/ToastMessage.js"; const ct = (d) => { const C = $(), { getCurrentQueryRequest: l } = A(), r = R( () => l(), [l] ), [S, a] = m(!1), [i, u] = m(), [t, I] = m(); y(() => (t || I(new AbortController()), () => { t && t.abort(); }), [t]); const b = () => { a(!0); const { sql: o } = r.query, { entityId: n, versionNumber: e } = D(o), q = e ? `.${e}` : ""; r.partMask = E; const s = `${n}${q}`, g = o.indexOf(s); r.query.sql = `select id from ${s}${o.substring( g + s.length )}`, x( r, C.accessToken, t?.signal ).then((p) => { u(p); }).catch((p) => { console.error(p), f("Unable to query for all Synapse IDs to copy", "danger"); }).finally(() => { a(!1); }); }; return y(() => { if (i) { const { rows: o } = i.queryResult.queryResults, n = o.map((e) => `${e.values[0]}`).join(` `); T(n).then(() => { f("Successfully copied to clipboard"), u(void 0); }); } }, [i]), S ? /* @__PURE__ */ c(h, { size: 25 }) : /* @__PURE__ */ c( v, { ...d, onCopy: () => { b(); } } ); }; export { ct as default }; //# sourceMappingURL=EntityIDColumnCopyIcon.js.map