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