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

112 lines (111 loc) 3.98 kB
import { jsx as a, Fragment as T, jsxs as V } from "react/jsx-runtime"; 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 { isTableType as b } from "../../../../../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 { useMemo as S, useEffect as D } from "react"; import "../../../../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { Select as I } 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 { EntityType as R } from "@sage-bionetworks/synapse-client"; import "../../../../../utils/types/IsType.js"; import { useGetVersionsInfinite as w } from "../../../../../synapse-queries/entity/useEntity.js"; import C from "../../../../IconSvg/IconSvg.js"; import { VersionSelectionType as n } from "../../../VersionSelectionType.js"; function O(s, p) { let t = "Latest", r = ""; return b(p) && (p === R.dataset ? (t = "Draft", r = "Stable Version") : (t = "Current", r = "Snapshot")), s === n.TRACKED ? `Always ${t} Version` : s === n.REQUIRED ? /* @__PURE__ */ V(T, { children: [ t, /* @__PURE__ */ a( C, { icon: "helpOutlineTwoTone", label: `No ${r} exists. The ${t} version will be referenced until a new ${r} is created.`, sx: { width: "12px", paddingLeft: "0.2rem" } } ) ] }) : `${t} Version`; } function ue(s) { const { context: p, toggleSelection: t, setInitialVersion: r, versionSelection: i } = s, { row: N } = p, { id: l, entityType: g, isVersionableEntity: h, isSelected: u, currentSelectedVersion: c } = N.original, f = -1, { data: v } = w(l, { enabled: h, staleTime: 60 * 1e3 // 60 seconds }), m = S( () => v?.pages.flatMap((e) => e.results) ?? [], [v] ), d = m[0]?.versionNumber; D(() => { u && i == n.REQUIRED && c == null && d != null && r(l, d); }, [ c, l, u, i, r, d ]); const x = i === n.TRACKED || i === n.UNTRACKED && b(g), E = O(i, g); if (!u || !h) return /* @__PURE__ */ a(T, {}); const y = c ?? f; return /* @__PURE__ */ a("div", { children: m && m.length > 0 ? /* @__PURE__ */ V( I, { native: !0, fullWidth: !0, value: y, onClick: (e) => { e.stopPropagation(); }, sx: { height: "30px" }, onChange: (e) => { e.stopPropagation(); let o = e.target.value; typeof o == "string" && (o = parseInt(o)), t({ targetId: l, targetVersionNumber: o === f ? void 0 : o }); }, children: [ x && /* @__PURE__ */ a("option", { value: f, children: E }), m.map((e) => /* @__PURE__ */ V("option", { value: e.versionNumber, children: [ "Version ", e.versionNumber ] }, e.versionNumber)) ] } ) : E }); } export { ue as EntityFinderVersionCell }; //# sourceMappingURL=EntityFinderVersionCell.js.map