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