synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
112 lines (111 loc) • 3.77 kB
JavaScript
import { jsxs as T, Fragment as y, jsx as e } from "react/jsx-runtime";
import * as C 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 { EntityTypeGroup as b } from "../../utils/functions/EntityTypeUtils.js";
import "../../utils/SynapseConstants.js";
import "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "../../utils/PermissionLevelToAccessType.js";
import { useState as S, useCallback as l } from "react";
import { useSynapseContext as E } 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 { Button as h } from "@mui/material";
import { EntityType as w } from "@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 { DownloadTwoTone as g } from "@mui/icons-material";
import { EntityFinderModal as B } from "../EntityFinder/EntityFinderModal.js";
import { FinderScope as a } from "../EntityFinder/tree/EntityTree.js";
import { VersionSelectionType as F } from "../EntityFinder/VersionSelectionType.js";
import { displayToast as I } from "../ToastMessage/ToastMessage.js";
function po(c) {
const { initialFinderProjectId: n, onAddColumns: m, ...d } = c, [u, r] = S(!1), { accessToken: p } = E(), s = l(
async (t) => {
const { tableBundle: o } = await C.getEntityBundleV2(
t.targetId,
{ includeTableBundle: !0 },
t.targetVersionNumber,
p
);
return o.columnModels.map((i) => ({
...i,
id: void 0
}));
},
[p]
), f = l(
async (t) => {
try {
const o = t[0];
if (o) {
const i = await s(o);
m(i);
}
} catch (o) {
console.error(o), I(o.message, "danger");
} finally {
r(!1);
}
},
[s, m]
);
return /* @__PURE__ */ T(y, { children: [
/* @__PURE__ */ e(
B,
{
configuration: {
initialScope: n ? a.CURRENT_PROJECT : a.ALL_PROJECTS,
initialContainer: n ?? "root",
selectMultiple: !1,
selectableTypes: b.ALL_TABLES,
visibleTypesInTree: [w.project],
versionSelection: F.UNTRACKED
},
show: u,
title: "Import Columns from Table",
promptCopy: "Find Tables to import columns",
titleHelpPopoverProps: {
markdownText: "Search or Browse Synapse to find an existing Table in order to import columns into this Table"
},
onConfirm: (t) => {
f(t);
},
confirmButtonCopy: "Import Columns",
onCancel: () => {
r(!1);
}
}
),
/* @__PURE__ */ e(
h,
{
variant: "outlined",
onClick: () => {
r(!0);
},
startIcon: /* @__PURE__ */ e(g, {}),
...d,
children: "Import Columns"
}
)
] });
}
export {
po as default
};
//# sourceMappingURL=ImportTableColumnsButton.js.map