synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
138 lines (137 loc) • 5.3 kB
JavaScript
import { jsx as o, jsxs as x, Fragment as L } from "react/jsx-runtime";
import M from "../../download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js";
import { useGetAddToDownloadListRequestForCurrentQuery as _ } from "../../QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js";
import "../../../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 "../../../utils/SynapseConstants.js";
import "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "@tanstack/react-query";
import "../../../utils/PermissionLevelToAccessType.js";
import { useState as g } from "react";
import { useSynapseContext as D } from "../../../utils/context/SynapseContext.js";
import "use-deep-compare-effect";
import { Button as a, Box as E } from "@mui/material";
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 "@tanstack/query-core";
import "lodash-es/isEmpty";
import "lodash-es/isEqual";
import "lodash-es/xorWith";
import "react-router";
import "@sage-bionetworks/synapse-client";
import "../../../utils/types/IsType.js";
import { useGetEntity as N } from "../../../synapse-queries/entity/useEntity.js";
import { canTableQueryBeAddedToDownloadList as B } from "../../../utils/functions/queryUtils.js";
import { GetAppTwoTone as P } from "@mui/icons-material";
import { useAtom as b } from "jotai";
import { toast as l } from "react-hot-toast";
import { useQueryContext as q } from "../../QueryContext/QueryContext.js";
import { useGetQueryMetadata as G } from "../../QueryWrapper/useGetQueryMetadata.js";
import { useQueryVisualizationContext as Q } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
import { selectedRowsAtom as F } from "../../QueryWrapper/TableRowSelectionState.js";
import { getFileColumnModelId as O, SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE as v } from "../SynapseTableUtils.js";
import { CustomControlButton as k } from "../CustomControls/CustomControlButton.js";
import { RowSelectionUI as j } from "./RowSelectionUI.js";
import { SignInRequiredModal as U } from "../../SignInRequiredModal/SignInRequiredModal.js";
const Y = "SendToAnalysisPlatformRowSelectionControlButton";
function Qo(d) {
const { customControls: p = [], remount: e } = d, { isAuthenticated: u } = D(), [c, n] = g(!1), { entityId: i, versionNumber: f, getCurrentQueryRequest: A } = q(), { data: w } = N(i, f), { data: s } = G(), [r, m] = b(F), S = _(), {
setIsShowingExportToAnalysisPlatformModal: C,
enabledExternalAnalysisPlatforms: T
} = Q(), y = T.length > 0, h = () => {
m([]), e && e();
}, I = O(s?.columnModels), R = B(
w,
I
);
return /* @__PURE__ */ o(
j,
{
show: r.length > 0,
selectedRowCount: r.length,
onClearSelection: () => m([]),
customControls: /* @__PURE__ */ x(L, { children: [
p.map((t) => /* @__PURE__ */ o(
k,
{
variant: "contained",
callbackData: {
tableId: i,
queryMetadata: s,
selectedRows: r,
refresh: h,
request: A()
},
control: t,
startIcon: t.icon
},
t.buttonText
)),
y && /* @__PURE__ */ o(
a,
{
variant: "outlined",
onClick: () => {
u ? C(!0) : n(!0);
},
id: Y,
children: "Send to Analysis Platform"
}
),
c && /* @__PURE__ */ o(
U,
{
onHide: () => n(!1),
content: v
}
),
R && /* @__PURE__ */ o(
a,
{
variant: "contained",
onClick: () => {
const t = l.custom(
/* @__PURE__ */ o(
E,
{
sx: {
width: "100%"
},
children: /* @__PURE__ */ o(
M,
{
addToDownloadListRequest: S,
onClose: () => {
l.dismiss(t);
}
}
)
}
),
{
duration: 1 / 0
}
);
},
startIcon: /* @__PURE__ */ o(P, {}),
children: "Add to Download List"
}
)
] })
}
);
}
export {
Qo as RowSelectionControls
};
//# sourceMappingURL=RowSelectionControls.js.map