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.39 kB
import { jsx as r, jsxs as u, Fragment as h } 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 { ApprovalState as O } from "@sage-bionetworks/synapse-types"; import "../../../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 { useState as P } from "react"; import { useSynapseContext as b } from "../../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { Typography as x, Link as U, Box as E, Alert as L } 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 { isTermsOfUseAccessRequirement as j } from "../../../utils/types/IsType.js"; import { useGetAccessRequirementStatus as B, useGetAccessRequirementWikiPageKey as G, useCreateAccessApproval as M } from "../../../synapse-queries/dataaccess/useAccessRequirements.js"; import { useGetCurrentUserProfile as D, useGetCurrentUserBundle as V } from "../../../synapse-queries/user/useUserBundle.js"; import { Markdown as q } from "../../Markdown/MarkdownSynapse.js"; import { RequirementItemStatus as l } from "../AccessApprovalCheckMark.js"; import N from "./RequirementItem.js"; function we(R) { const { accessRequirement: e, onHide: S } = R, { isAuthenticated: n } = b(), c = j(e), { data: f } = D(), { data: i } = V(), m = n && i && !c && e.isCertifiedUserRequired && !i.isCertified, a = n && i && !c && e.isValidatedProfileRequired && !i.isVerified, { data: g, isLoading: w } = B(String(e.id)), p = g?.isApproved, { data: o } = G( e.id.toString() // TermsOfUse ARs may have the terms embedded in the AR or an associated Wiki. ), [d, T] = P(!1), { mutate: k, isPending: C, error: A } = M({ onError: (t) => { console.error("Error creating access approval: ", t); } }), y = () => { const t = { requirementId: e?.id, submitterId: f?.ownerId, accessorId: f?.ownerId, state: O.APPROVED }; k(t); }; let s = /* @__PURE__ */ r(h, {}); c && e.termsOfUse ? s = /* @__PURE__ */ r(q, { markdown: e.termsOfUse }) : o && (s = /* @__PURE__ */ r( q, { wikiId: o?.wikiPageId, ownerId: o?.ownerObjectId, objectType: o?.ownerObjectType } )); let v; if (n && !p) { let t = "I Accept Terms of Use", I = !1; (m || a) && (I = !0, t = `You must ${m ? "be certified" : ""}${m && a ? " and " : ""}${a ? "have a validated user profile" : ""} to accept`), v = [ { variant: "outlined", onClick: y, children: t, disabled: C || I }, { variant: "text", onClick: S, children: "I do not accept" } ]; } return /* @__PURE__ */ u( N, { "data-testid": "SelfSignAccessRequirementItem", status: w ? l.LOADING : p ? l.COMPLETE : l.LOCKED, actions: v, children: [ p ? /* @__PURE__ */ u(h, { children: [ /* @__PURE__ */ u(x, { variant: "body1", children: [ "You have accepted the terms of use.", " ", /* @__PURE__ */ r(U, { role: "button", onClick: () => T(!d), children: d ? "Hide Terms" : "View Terms" }) ] }), d && /* @__PURE__ */ r(E, { sx: { my: 1 }, children: s }) ] }) : s, A && /* @__PURE__ */ r(L, { severity: "error", children: A.reason }) ] } ); } export { we as default }; //# sourceMappingURL=SelfSignAccessRequirementItem.js.map