synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
179 lines (178 loc) • 5.49 kB
JavaScript
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