synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
117 lines (116 loc) • 4.23 kB
JavaScript
import { jsxs as S, Fragment as f, jsx as o } from "react/jsx-runtime";
import { WideButton as I } from "../styled/WideButton.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 { SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as l, TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as L, LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as U, ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as N, MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as b } from "@sage-bionetworks/synapse-types";
import "../../utils/functions/EntityTypeUtils.js";
import { VARIABLE_DIFFICULTY as c, MEDIUM_DIFFICULTY as q, EASY_DIFFICULTY as A } 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 F, useMemo as M } 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 { useGetAccessRequirements as O, useGetAccessRequirementStatus as h } from "../../synapse-queries/dataaccess/useAccessRequirements.js";
import j from "../AccessRequirementList/AccessRequirementList.js";
import { ActionRequiredCard as Y } from "./ActionRequiredCard/ActionRequiredCard.js";
const g = "Requires Acceptance of Data-Specific Terms of Use", D = "Requires Acceptance of Data-Specific Terms of Use", v = "Requires Approval of Data-Specific Access Requirements", y = "Access Restricted";
function Re({
accessRequirementId: m,
count: n
}) {
const { data: e, isLoading: E } = O(
m,
{ throwOnError: !0 }
), [T, p] = F(!1);
let r, t = "", i = "";
const s = M(() => {
if (e) {
if (e.name.match(/^\d+$/))
return "";
} else return "";
return e.name;
}, [e]);
if (!E && e)
switch (e.concreteType) {
case L:
r = g, t = A, i = s;
break;
case l: {
r = D;
const _ = e;
_.isValidatedProfileRequired ? t = c : _.isCertifiedUserRequired ? t = q : t = A, i = s;
break;
}
case b:
case N:
r = v, t = c, i = s;
break;
case U:
r = y, t = c, i = "Access restricted pending review by Synapse Access and Compliance Team.";
break;
}
const { data: u } = h(
String(m)
), a = !!u?.isApproved, d = e?.subjectIds && e?.subjectIds.length > 0, C = d ? e?.subjectIds[0].id : void 0, R = d ? e?.subjectIds[0].type : void 0;
return /* @__PURE__ */ S(f, { children: [
/* @__PURE__ */ o(
Y,
{
isLoading: E,
title: r,
description: i,
iconType: t,
count: n,
actionNode: /* @__PURE__ */ o(
I,
{
variant: "contained",
onClick: () => p(!0),
disabled: a,
children: a ? "Complete" : "Start"
}
)
}
),
T && e && /* @__PURE__ */ o(
j,
{
subjectId: C,
subjectType: R,
accessRequirementFromProps: [e],
renderAsModal: !0,
numberOfFilesAffected: n,
onHide: () => {
p(!1);
}
}
)
] });
}
export {
v as ACT_TITLE,
y as LOCK_TITLE,
Re as MeetAccessRequirementCard,
D as SELF_SIGN_TITLE,
g as TERMS_OF_USE_TITLE
};
//# sourceMappingURL=MeetAccessRequirementCard.js.map