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

107 lines (106 loc) 4.28 kB
import { jsx as o, jsxs as i } 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 "../../../utils/functions/EntityTypeUtils.js"; import { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL as S } from "../../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "@tanstack/react-query"; import "../../../utils/PermissionLevelToAccessType.js"; import { useState as b } from "react"; import "../../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { FormControl as C, FormLabel as I, RadioGroup as A, FormControlLabel as s, Radio as a, Typography as _ } 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 "@sage-bionetworks/synapse-client"; import "../../../utils/types/IsType.js"; import { useCreateLockAccessRequirement as v } from "../../../synapse-queries/dataaccess/useAccessRequirements.js"; import { ConfirmationDialog as N } from "../../ConfirmationDialog/ConfirmationDialog.js"; import R from "../../FullWidthAlert/FullWidthAlert.js"; import { displayToast as l } from "../../ToastMessage/ToastMessage.js"; function so(m) { const p = /* @__PURE__ */ i(_, { variant: "smallText1", children: [ "Sage Bionetworks does not typically impose conditions for use on non-human data unless there is a legal, ethical or regulatory reason to do so. If you want to add conditions for use to this content, please contact the Synapse Access and Compliance Team (ACT) to discuss at", " ", /* @__PURE__ */ o("a", { href: "mailto:act@sagebase.org", children: "act@sagebase.org" }), "." ] }), { entityId: c, open: d, onClose: e } = m, [t, u] = b(null), { mutate: f, isPending: n } = v({ onSuccess: () => { l("Successfully imposed restriction", "success"), window.open( "https://sagebionetworks.jira.com/servicedesk/customer/portal/8/group/15/create/134", "_blank" ), e(); }, onError: (r) => { l(`Failed to impose restriction: ${r.reason}`, "danger"); } }); function h() { t ? f(c) : e(); } function g(r) { u(r.target.value === "true"); } return /* @__PURE__ */ o( N, { title: "Conditions for Use", onConfirm: () => h(), titleHelpPopoverProps: { markdownText: "Conditions for use describes data use requirements that must be fulfilled before downloading.", helpUrl: S }, confirmButtonProps: { disabled: t == null || n }, cancelButtonProps: { disabled: n }, onCancel: () => e(), open: d, content: /* @__PURE__ */ i(C, { sx: { width: "100%" }, children: [ /* @__PURE__ */ o(I, { id: "demo-radio-buttons-group-label", children: "Is this sensitive human data that must be protected?" }), /* @__PURE__ */ i( A, { value: t, onChange: g, children: [ /* @__PURE__ */ o(s, { control: /* @__PURE__ */ o(a, {}), label: "Yes", value: !0 }), /* @__PURE__ */ o(s, { control: /* @__PURE__ */ o(a, {}), label: "No", value: !1 }) ] } ), t === !1 && /* @__PURE__ */ o( R, { variant: "warning", isGlobal: !1, description: p } ) ] }) } ); } export { so as default }; //# sourceMappingURL=ImposeRestrictionDialog.js.map