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