synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
104 lines (102 loc) • 3.62 kB
JavaScript
import { jsxs as C, Fragment as E, jsx as r } from "react/jsx-runtime";
import T from "../Dialog/ConfirmCloseWithoutSavingDialog.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 { entityTypeToFriendlyName as _ } from "../../utils/functions/EntityTypeUtils.js";
import { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL as g } from "../../utils/SynapseConstants.js";
import { noop as D } from "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "@tanstack/react-query";
import "../../utils/PermissionLevelToAccessType.js";
import { useState as p, useRef as I } from "react";
import "../../utils/context/SynapseContext.js";
import "use-deep-compare-effect";
import "@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 N from "../../synapse-queries/entity/useEntityBundle.js";
import { ConfirmationDialog as v } from "../ConfirmationDialog/ConfirmationDialog.js";
import { displayToast as A } from "../ToastMessage/ToastMessage.js";
import O from "./EntityAclEditor.js";
const P = `Sharing settings determine who can access your content, and what kind of access they have. Choose people/teams and define their level of access below.
_Only Administrators can add, delete, or change access levels for other people._`;
function co(a) {
const {
entityId: n,
open: l,
onUpdateSuccess: c = D,
onClose: o,
isAfterUpload: f = !1
} = a, [d, t] = p(!1), [s, S] = p(!1), m = I(null), { data: e } = N(n), y = e?.entityType ? _(e?.entityType) : "", h = e?.permissions?.canChangePermissions;
function u() {
s ? t(!0) : o();
}
return /* @__PURE__ */ C(E, { children: [
/* @__PURE__ */ r(
T,
{
open: d,
onCancel: () => {
t(!1);
},
onConfirm: () => {
t(!1), o();
}
}
),
/* @__PURE__ */ r(
v,
{
title: `${y} Sharing Settings`.trim(),
onCancel: u,
open: l,
maxWidth: "md",
titleHelpPopoverProps: {
markdownText: P,
helpUrl: g
},
content: /* @__PURE__ */ r(
O,
{
ref: m,
entityId: n,
onCanSaveChange: (i) => S(i),
onUpdateSuccess: () => {
A(
"Permissions were successfully saved to Synapse",
"info"
), c(), o();
},
isAfterUpload: f
}
),
onConfirm: (i) => {
i.preventDefault(), m.current.save();
},
confirmButtonProps: {
children: h ? "Save" : "OK",
disabled: !s
}
}
)
] });
}
export {
co as default
};
//# sourceMappingURL=EntityAclEditorModal.js.map