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

127 lines (126 loc) 4.01 kB
import { jsx as r, jsxs as g, Fragment as T } 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 { convertToEntityType as h } from "../../utils/functions/EntityTypeUtils.js"; import "../../utils/SynapseConstants.js"; import { noop as u, omitBy as v, isUndefined as x } from "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "@tanstack/react-query"; import "../../utils/PermissionLevelToAccessType.js"; import { useRef as B, useCallback as E, useMemo as w } from "react"; import "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { Alert as M } 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 { SynapseSpinner as I } from "../LoadingScreen/LoadingScreen.js"; 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 { useUpdateTableColumns as P } from "../../synapse-queries/entity/useEntity.js"; import F from "../../synapse-queries/entity/useEntityBundle.js"; import { ConfirmationDialog as R } from "../ConfirmationDialog/ConfirmationDialog.js"; import "@mui/material/Skeleton"; import { SkeletonTable as U } from "../Skeleton/SkeletonTable.js"; import { getViewScopeForEntity as W } from "./TableColumnSchemaEditorUtils.js"; import j from "./TableColumnSchemaForm.js"; function St(a) { const { entityId: e, open: d, onColumnsUpdated: c = u, onCancel: f = u } = a, n = B(null), { data: i, isLoading: y } = F( e, void 0, { includeEntity: !0, includeTableBundle: !0 }, { // This data is inserted into a form, so don't refetch it. staleTime: 1 / 0, throwOnError: !0 } ), t = i?.entity, m = i?.tableBundle?.columnModels, { mutate: l, isPending: o, error: s } = P({ onSuccess: () => { c(); } }), b = E( (p) => { l({ entityId: e, originalColumnModels: m, newColumnModels: p.map( (S) => ( // Remove undefined properties from the new column models v(S, x) ) ) }); }, [e, l, m] ), C = w(() => { if (t) return W(t); }, [t]); return y || !i || !t ? /* @__PURE__ */ r( U, { numRows: 8, numCols: 7, rowHeight: "50px", fullWidthCells: !0 } ) : /* @__PURE__ */ r( R, { open: d, maxWidth: "xl", title: "Edit Columns", content: /* @__PURE__ */ g(T, { children: [ /* @__PURE__ */ r( j, { ref: n, entityType: h(t.concreteType), viewScope: C, initialData: i?.tableBundle?.columnModels, isSubmitting: o, onSubmit: (p) => { b(p); }, originalColumnModels: m } ), s && /* @__PURE__ */ r(M, { severity: "error", sx: { my: 2 }, children: s?.message }) ] }), confirmButtonProps: { children: o ? "Saving..." : "Save", disabled: o, startIcon: o ? /* @__PURE__ */ r(I, {}) : void 0 }, onConfirm: () => { n.current && n.current.submit(); }, cancelButtonProps: { disabled: o }, onCancel: f } ); } export { St as default }; //# sourceMappingURL=TableColumnSchemaEditor.js.map