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

179 lines (178 loc) 5.49 kB
import { jsx as s, Fragment as F } from "react/jsx-runtime"; import * as M from "../../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 "../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "../../utils/PermissionLevelToAccessType.js"; import { useState as r } from "react"; import { useSynapseContext as Q } from "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import "@tanstack/react-query"; import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import { Typography as D } from "@mui/material"; import { EntityType as u } from "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; 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 "react-router"; import H from "../StepperDialog/StepperDialog.js"; import { displayToast as R } from "../ToastMessage/ToastMessage.js"; import j from "./EvaluationQueueList.js"; import z from "./SubmissionCommitList.js"; const P = { SELECT_COMMIT: { id: "SELECT_COMMIT", title: "Select Commit for Submission", nextStep: "SELECT_EVALUATION", nextEnabled: !1 }, SELECT_EVALUATION: { id: "SELECT_EVALUATION", title: "Select Evaluation Queue", previousStep: "SELECT_COMMIT", confirmStep: "SUBMISSION_SUCCESS", confirmButtonText: "Submit" }, SUBMISSION_SUCCESS: { id: "SUBMISSION_SUCCESS", title: "Submission Successful!", confirmButtonText: "Close", confirmEnabled: !0 } }, Y = { SELECT_COMMIT: { id: "SELECT_COMMIT", title: "" }, SELECT_EVALUATION: { id: "SELECT_EVALUATION", title: "Select Evaluation Queue", confirmStep: "SUBMISSION_SUCCESS", confirmButtonText: "Submit" }, SUBMISSION_SUCCESS: { id: "SUBMISSION_SUCCESS", title: "Submission Successful!", confirmButtonText: "Close", confirmEnabled: !0 } }, q = (p) => p === u.dockerrepo ? P : Y; function Ut({ projectId: p, userId: N, teamId: d, entity: e, entityType: n, isShowingModal: O, onClose: U }) { const { accessToken: f } = Q(), m = q(n), T = n === u.dockerrepo ? m.SELECT_COMMIT : m.SELECT_EVALUATION, [a, S] = r(T), [_, o] = r(), [E, b] = r(), [C, I] = r(""), [c, g] = r(), [v, h] = r(!1), L = () => { o(void 0), b(void 0), I(""), g(void 0), h(!1), U(), S(T); }; function A(t) { !t || !m[t] || (o(void 0), S(m[t])); } async function x() { if (!c) return o("Please select an evaluation."); try { return await M.getSubmissionEligibility( c, d, f ); } catch (t) { return o(t.message); } } async function y(t) { if (!e.id || n === u.dockerrepo && !E) return o("Error: Invalid entity or commit."); const w = t.membersEligibility.filter( (i) => !i.hasConflictingSubmission && i.isEligible && !i.isQuotaFilled && i.isRegistered ).map((i) => ({ principalId: i.principalId.toString() })), l = { userId: N, evaluationId: c, entityId: e.id, versionNumber: e.versionNumber ?? -1, teamId: d, contributors: w }; n === u.dockerrepo && (l.dockerRepositoryName = e.repositoryName, l.dockerDigest = E.digest), C !== "" && (l.name = C); try { await M.submitToEvaluation( f, l, e.etag, t.eligibilityStateHash ), R("Submitted successfully!", "success"), L(); } catch (i) { o(i.message); } } const B = async () => { const t = await x(); t && await y(t); }, k = (t) => { b(t), S({ ...a, nextEnabled: !0 }); }; function V() { switch (a.id) { case "SELECT_COMMIT": return /* @__PURE__ */ s( z, { repository: e, selectedCommit: E, onCommitChanged: k } ); case "SELECT_EVALUATION": return /* @__PURE__ */ s( j, { projectId: p, submissonName: C, onSubmissionNameChange: I, selectedEvaluation: c, onEvaluationChange: (t) => { S({ ...a, confirmEnabled: !0 }), g(t); } } ); case "SUBMISSION_SUCCESS": return /* @__PURE__ */ s(D, { variant: "body1", sx: { fontSize: "16px" }, children: "Your submission will be scored and results posted to the Challenge Leaderboard." }); default: return /* @__PURE__ */ s(F, {}); } } return /* @__PURE__ */ s( H, { errorMessage: _, onCancel: L, onStepChange: A, open: O, onConfirm: () => { B(); }, confirming: v, step: a, content: V(), loading: !1 } ); } export { Ut as default }; //# sourceMappingURL=ChallengeSubmissionStepper.js.map