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

138 lines (137 loc) 5.3 kB
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