synapse-react-client 4.0.42 → 4.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.js +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +6 -20
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +165 -159
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +3 -2
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js +23 -22
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts +4 -3
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js +6 -4
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts +22 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js +166 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js.map +1 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts +18 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js +91 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js.map +1 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts +33 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js +49 -0
- package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +26 -42
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +140 -155
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +43 -60
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +4 -5
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +5 -5
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +88 -103
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +14 -30
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.d.ts → RequestableAccessRequirementItem.d.ts} +9 -8
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.js → RequestableAccessRequirementItem.js} +16 -16
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.d.ts → RequestableAccessRequirementItemView.d.ts} +5 -5
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.js → RequestableAccessRequirementItemView.js} +3 -4
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +94 -110
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +0 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +35 -52
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -95
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +2 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts +34 -0
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/RequestDataStep.js +37 -0
- package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -0
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.d.ts +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +29 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +48 -16
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/components/GridLoadingState.d.ts +2 -2
- package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -1
- package/dist/components/DataGrid/components/GridLoadingState.js +2 -2
- package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +2 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +11 -10
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js +29 -30
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -1
- package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts +21 -0
- package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts.map +1 -0
- package/dist/components/JsonSchemaForm/SchemaStepForm.js +29 -0
- package/dist/components/JsonSchemaForm/SchemaStepForm.js.map +1 -0
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts +2 -2
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js +11 -10
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts +10 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js +81 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts +9 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js +32 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts +0 -2
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +74 -151
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/SynapseForm/SynapseForm.js +28 -28
- package/dist/components/TanStackTable/TanStackTableUtils.d.ts.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js +8 -5
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts +5 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js +20 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +183 -188
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts +25 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js +125 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js.map +1 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +5 -4
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +5 -4
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboardRouter.js +15 -15
- package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +15 -14
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +7 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +30 -15
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
- package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts +3 -0
- package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts.map +1 -1
- package/dist/mocks/dataaccess/MockDataAccessRequest.js +24 -12
- package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.d.ts +76 -0
- package/dist/mocks/dataaccess/MockSubmission.d.ts.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.js +108 -63
- package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +42 -30
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/style/components/_submission-page.scss +0 -4
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts +19 -0
- package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts.map +1 -0
- package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js +26 -0
- package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js.map +1 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts +37 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts.map +1 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js +35 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js.map +1 -0
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.d.ts.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js +21 -19
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts +2 -2
- package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js +135 -135
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js +31 -26
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/jsonschema/schemaData.d.ts +18 -0
- package/dist/utils/jsonschema/schemaData.d.ts.map +1 -0
- package/dist/utils/jsonschema/schemaData.js +26 -0
- package/dist/utils/jsonschema/schemaData.js.map +1 -0
- package/package.json +2 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.d.ts.map +0 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +0 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +0 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +0 -1
package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export declare const DUC_TEMPLATE_UPLOAD_ERROR = "There was an error uploading the DUC template. ";
|
|
2
|
-
export declare const getValidExpirationPeriodOrErrorMessage: (expirationPeriodDays: string) => string | number;
|
|
3
1
|
export type SetManagedAccessRequirementFieldsHandle = {
|
|
4
2
|
save: () => void;
|
|
5
3
|
};
|
package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetManagedAccessRequirementFields.d.ts","sourceRoot":"","sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SetManagedAccessRequirementFields.d.ts","sourceRoot":"","sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"names":[],"mappings":"AA+BA,MAAM,MAAM,uCAAuC,GAAG;IAEpD,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,sCAAsC,GAAG;IACnD,mBAAmB,EAAE,MAAM,CAAA;IAE3B,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,iCAAiC,4JA6L7C,CAAA"}
|
package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js
CHANGED
|
@@ -1,71 +1,41 @@
|
|
|
1
1
|
import { DAY_IN_MS as e } from "../../utils/SynapseConstants.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useGetAccessRequirements as r, useUpdateAccessRequirement as i } from "../../synapse-queries/dataaccess/useAccessRequirements.js";
|
|
5
|
-
import { useListEDucTemplates as a } from "../../synapse-queries/dataaccess/useEDuc.js";
|
|
2
|
+
import { SynapseSpinner as t } from "../LoadingScreen/LoadingScreen.js";
|
|
3
|
+
import { useGetAccessRequirements as n, useUpdateAccessRequirement as r } from "../../synapse-queries/dataaccess/useAccessRequirements.js";
|
|
6
4
|
import "../../synapse-queries/index.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { AccessorRequirements as c } from "../SetBasicAccessRequirementFields/AccessorRequirements.js";
|
|
5
|
+
import { AccessRequirementWikiInstructions as i } from "../SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js";
|
|
6
|
+
import { AccessorRequirements as a } from "../SetBasicAccessRequirementFields/AccessorRequirements.js";
|
|
10
7
|
import "../SetBasicAccessRequirementFields/index.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
8
|
+
import { DataUseCertificateFields as o } from "./DataUseCertificateFields.js";
|
|
9
|
+
import { ExpirationPeriodField as s, getValidExpirationPeriodOrErrorMessage as c } from "./ExpirationPeriodField.js";
|
|
10
|
+
import { forwardRef as l, useEffect as u, useImperativeHandle as d, useState as f } from "react";
|
|
11
|
+
import { Alert as p, Box as m, Checkbox as h, FormControlLabel as g, Typography as _ } from "@mui/material";
|
|
12
|
+
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
15
13
|
//#region src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
let n = "Please enter a valid expiration period (in days): ";
|
|
19
|
-
if (/^[-]?\d+$/.test(t)) {
|
|
20
|
-
let r = Number(t);
|
|
21
|
-
return r < 0 ? `${n}If expiration period is set, then it must be greater than 0.` : r * e;
|
|
22
|
-
}
|
|
23
|
-
return `${n}For input string: "${t}"`;
|
|
24
|
-
}, D = l(function(l, D) {
|
|
25
|
-
let { accessRequirementId: O, onSave: k, onError: A } = l, { data: j, error: M } = r(O, { staleTime: Infinity });
|
|
14
|
+
var x = l(function(l, x) {
|
|
15
|
+
let { accessRequirementId: S, onSave: C, onError: w } = l, { data: T, error: E } = n(S, { staleTime: Infinity });
|
|
26
16
|
u(() => {
|
|
27
|
-
|
|
28
|
-
}, [
|
|
29
|
-
let [
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
associateObjectType: w.AccessRequirementAttachment,
|
|
33
|
-
associateObjectId: L.id.toString()
|
|
34
|
-
};
|
|
35
|
-
}, [L?.ducTemplateFileHandleId, L?.id]), { data: H, isLoading: U, hasNextPage: W, fetchNextPage: G } = a();
|
|
36
|
-
u(() => {
|
|
37
|
-
W && G();
|
|
38
|
-
}, [W, G]);
|
|
39
|
-
let K = f(() => H?.pages.flatMap((e) => e.results ?? []) ?? [], [H]), q = f(() => K.find((e) => e.templateId === L?.eDucTemplateId) ?? null, [K, L?.eDucTemplateId]), J = (e) => {
|
|
40
|
-
if (e.resp && e.success && L) {
|
|
41
|
-
P(null);
|
|
42
|
-
let t = e.resp;
|
|
43
|
-
R({
|
|
44
|
-
...L,
|
|
45
|
-
ducTemplateFileHandleId: t.fileHandleId,
|
|
46
|
-
eDucTemplateId: void 0
|
|
47
|
-
});
|
|
48
|
-
} else !e.success && e.error && P(`${T} ${e.error.reason}`);
|
|
49
|
-
}, { mutate: Y, isPending: X, error: Z } = i({
|
|
50
|
-
onSuccess: () => k(),
|
|
51
|
-
onError: () => A()
|
|
17
|
+
T && (A(T), M((T.expirationPeriod / e).toString()));
|
|
18
|
+
}, [T]);
|
|
19
|
+
let [D, O] = f(null), [k, A] = f(null), [j, M] = f(""), { mutate: N, isPending: P, error: F } = r({
|
|
20
|
+
onSuccess: () => C(),
|
|
21
|
+
onError: () => w()
|
|
52
22
|
});
|
|
53
|
-
return d(
|
|
54
|
-
if (
|
|
55
|
-
let e =
|
|
56
|
-
typeof e == "string" ? (
|
|
57
|
-
...
|
|
23
|
+
return d(x, () => ({ save() {
|
|
24
|
+
if (k) {
|
|
25
|
+
let e = c(j);
|
|
26
|
+
typeof e == "string" ? (O(e), w()) : N({
|
|
27
|
+
...k,
|
|
58
28
|
expirationPeriod: e
|
|
59
29
|
});
|
|
60
30
|
}
|
|
61
31
|
} }), [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
]),
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
-
/* @__PURE__ */
|
|
32
|
+
j,
|
|
33
|
+
k,
|
|
34
|
+
N,
|
|
35
|
+
w
|
|
36
|
+
]), k ? /* @__PURE__ */ b(v, { children: [
|
|
37
|
+
/* @__PURE__ */ y(i, { accessRequirement: k }),
|
|
38
|
+
/* @__PURE__ */ b(m, { children: [/* @__PURE__ */ y(_, {
|
|
69
39
|
sx: {
|
|
70
40
|
bgcolor: "#f5f5f5",
|
|
71
41
|
borderBottom: "1px solid #ddd",
|
|
@@ -74,125 +44,78 @@ var T = "There was an error uploading the DUC template. ", E = (t) => {
|
|
|
74
44
|
py: 1
|
|
75
45
|
},
|
|
76
46
|
children: "Data Access Request Parameters"
|
|
77
|
-
}), /* @__PURE__ */
|
|
47
|
+
}), /* @__PURE__ */ b(m, {
|
|
78
48
|
sx: {
|
|
79
49
|
mt: 2,
|
|
80
50
|
mb: 4
|
|
81
51
|
},
|
|
82
|
-
children: [/* @__PURE__ */
|
|
83
|
-
accessRequirement:
|
|
84
|
-
onChange: (e) =>
|
|
85
|
-
}), /* @__PURE__ */
|
|
52
|
+
children: [/* @__PURE__ */ y(a, {
|
|
53
|
+
accessRequirement: k,
|
|
54
|
+
onChange: (e) => A(e)
|
|
55
|
+
}), /* @__PURE__ */ b(m, {
|
|
86
56
|
sx: { mb: 2 },
|
|
87
57
|
children: [
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
control: /* @__PURE__ */ S(_, {}),
|
|
95
|
-
label: "DUC is required.",
|
|
96
|
-
checked: L.isDUCRequired,
|
|
97
|
-
onChange: (e, t) => R({
|
|
98
|
-
...L,
|
|
99
|
-
isDUCRequired: t
|
|
58
|
+
/* @__PURE__ */ y(o, {
|
|
59
|
+
accessRequirement: k,
|
|
60
|
+
isLoading: P,
|
|
61
|
+
onChange: (e) => A({
|
|
62
|
+
...k,
|
|
63
|
+
...e
|
|
100
64
|
})
|
|
101
65
|
}),
|
|
102
|
-
/* @__PURE__ */
|
|
103
|
-
id: "duc",
|
|
104
|
-
isLoading: X,
|
|
105
|
-
disabled: !L.isDUCRequired,
|
|
106
|
-
uploadCallback: (e) => J(e),
|
|
107
|
-
documentName: "Template DUC",
|
|
108
|
-
fileHandleAssociations: V ? [V] : void 0,
|
|
109
|
-
isMultiFileUpload: !1,
|
|
110
|
-
uploadBtnVariant: "contained"
|
|
111
|
-
}), N && /* @__PURE__ */ S(m, {
|
|
112
|
-
severity: "error",
|
|
113
|
-
sx: { marginTop: 2 },
|
|
114
|
-
children: N
|
|
115
|
-
})] }),
|
|
116
|
-
/* @__PURE__ */ S(g, {
|
|
117
|
-
sx: { mt: 2 },
|
|
118
|
-
children: /* @__PURE__ */ S(h, {
|
|
119
|
-
id: "eDucTemplate",
|
|
120
|
-
options: K,
|
|
121
|
-
loading: U,
|
|
122
|
-
disabled: !L.isDUCRequired,
|
|
123
|
-
value: q,
|
|
124
|
-
onChange: (e, t) => R({
|
|
125
|
-
...L,
|
|
126
|
-
eDucTemplateId: t?.templateId
|
|
127
|
-
}),
|
|
128
|
-
getOptionLabel: (e) => e.name ?? "",
|
|
129
|
-
isOptionEqualToValue: (e, t) => e.templateId === t.templateId,
|
|
130
|
-
renderInput: (e) => /* @__PURE__ */ S(y, {
|
|
131
|
-
...e,
|
|
132
|
-
label: "eDUC template (electronic signing)",
|
|
133
|
-
helperText: "Optional. Select a DocuSign template to enable the eDUC signing flow for this Access Requirement."
|
|
134
|
-
})
|
|
135
|
-
})
|
|
136
|
-
}),
|
|
137
|
-
/* @__PURE__ */ S(v, {
|
|
66
|
+
/* @__PURE__ */ y(g, {
|
|
138
67
|
label: "IRB approval is required.",
|
|
139
|
-
checked:
|
|
140
|
-
control: /* @__PURE__ */
|
|
141
|
-
onChange: (e, t) =>
|
|
142
|
-
...
|
|
68
|
+
checked: k.isIRBApprovalRequired,
|
|
69
|
+
control: /* @__PURE__ */ y(h, {}),
|
|
70
|
+
onChange: (e, t) => A({
|
|
71
|
+
...k,
|
|
143
72
|
isIRBApprovalRequired: t
|
|
144
73
|
}),
|
|
145
74
|
sx: { ml: 0 }
|
|
146
75
|
}),
|
|
147
|
-
/* @__PURE__ */
|
|
148
|
-
control: /* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */ y(g, {
|
|
77
|
+
control: /* @__PURE__ */ y(h, {}),
|
|
149
78
|
label: "Other documents are required.",
|
|
150
|
-
checked:
|
|
151
|
-
onChange: (e, t) =>
|
|
152
|
-
...
|
|
79
|
+
checked: k.areOtherAttachmentsRequired,
|
|
80
|
+
onChange: (e, t) => A({
|
|
81
|
+
...k,
|
|
153
82
|
areOtherAttachmentsRequired: t
|
|
154
83
|
})
|
|
155
84
|
}),
|
|
156
|
-
/* @__PURE__ */
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
label: "Expiration period (days)",
|
|
160
|
-
value: z,
|
|
161
|
-
error: !!F,
|
|
162
|
-
helperText: F,
|
|
163
|
-
sx: { mt: 1 },
|
|
164
|
-
fullWidth: !0,
|
|
85
|
+
/* @__PURE__ */ y(s, {
|
|
86
|
+
days: j,
|
|
87
|
+
error: D,
|
|
165
88
|
onChange: (e) => {
|
|
166
|
-
|
|
89
|
+
O(null), M(e);
|
|
167
90
|
},
|
|
168
91
|
onBlur: () => {
|
|
169
|
-
let e =
|
|
170
|
-
typeof e == "string" &&
|
|
92
|
+
let e = c(j);
|
|
93
|
+
typeof e == "string" && O(e);
|
|
171
94
|
}
|
|
172
95
|
}),
|
|
173
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ b(m, {
|
|
174
97
|
sx: { mt: 1 },
|
|
175
|
-
children: [/* @__PURE__ */
|
|
176
|
-
control: /* @__PURE__ */
|
|
98
|
+
children: [/* @__PURE__ */ y(g, {
|
|
99
|
+
control: /* @__PURE__ */ y(h, {}),
|
|
177
100
|
label: "Intended Data Use statement is required.",
|
|
178
|
-
checked:
|
|
101
|
+
checked: k.isIDURequired,
|
|
179
102
|
onChange: (e, t) => {
|
|
180
|
-
|
|
181
|
-
...
|
|
103
|
+
A(t ? {
|
|
104
|
+
...k,
|
|
182
105
|
isIDURequired: !0
|
|
183
106
|
} : {
|
|
184
|
-
...
|
|
107
|
+
...k,
|
|
185
108
|
isIDURequired: !1,
|
|
186
109
|
isIDUPublic: !1
|
|
187
110
|
});
|
|
188
111
|
}
|
|
189
|
-
}), /* @__PURE__ */
|
|
190
|
-
control: /* @__PURE__ */
|
|
112
|
+
}), /* @__PURE__ */ y(g, {
|
|
113
|
+
control: /* @__PURE__ */ y(h, {}),
|
|
191
114
|
label: "Intended Data Use statements will be publicly available.",
|
|
192
|
-
checked:
|
|
193
|
-
disabled: !
|
|
194
|
-
onChange: (e, t) =>
|
|
195
|
-
...
|
|
115
|
+
checked: k.isIDUPublic,
|
|
116
|
+
disabled: !k.isIDURequired,
|
|
117
|
+
onChange: (e, t) => A({
|
|
118
|
+
...k,
|
|
196
119
|
isIDUPublic: t
|
|
197
120
|
})
|
|
198
121
|
})]
|
|
@@ -200,17 +123,17 @@ var T = "There was an error uploading the DUC template. ", E = (t) => {
|
|
|
200
123
|
]
|
|
201
124
|
})]
|
|
202
125
|
})] }),
|
|
203
|
-
|
|
126
|
+
F && /* @__PURE__ */ y(p, {
|
|
204
127
|
severity: "error",
|
|
205
128
|
sx: { marginTop: 2 },
|
|
206
|
-
children:
|
|
129
|
+
children: F.reason
|
|
207
130
|
})
|
|
208
|
-
] }) :
|
|
131
|
+
] }) : E ? /* @__PURE__ */ y(p, {
|
|
209
132
|
severity: "error",
|
|
210
|
-
children:
|
|
211
|
-
}) : /* @__PURE__ */
|
|
133
|
+
children: E.reason
|
|
134
|
+
}) : /* @__PURE__ */ y(t, {});
|
|
212
135
|
});
|
|
213
136
|
//#endregion
|
|
214
|
-
export {
|
|
137
|
+
export { x as SetManagedAccessRequirementFields };
|
|
215
138
|
|
|
216
139
|
//# sourceMappingURL=SetManagedAccessRequirementFields.js.map
|
package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetManagedAccessRequirementFields.js","names":[],"sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"sourcesContent":["import {\n useGetAccessRequirements,\n useListEDucTemplates,\n useUpdateAccessRequirement,\n} from '@/synapse-queries'\nimport { DAY_IN_MS } from '@/utils/SynapseConstants'\nimport {\n Alert,\n Autocomplete,\n Box,\n Checkbox,\n FormControlLabel,\n TextField,\n Typography,\n} from '@mui/material'\nimport { EDucTemplate } from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n FileHandleAssociateType,\n FileHandleAssociation,\n FileUploadComplete,\n ManagedACTAccessRequirement,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { UploadDocumentField } from '../AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport {\n AccessorRequirements,\n AccessRequirementWikiInstructions,\n} from '../SetBasicAccessRequirementFields'\n\nexport const DUC_TEMPLATE_UPLOAD_ERROR =\n 'There was an error uploading the DUC template. '\n\nexport const getValidExpirationPeriodOrErrorMessage = (\n expirationPeriodDays: string,\n) => {\n if (expirationPeriodDays === '') return 0\n\n const msgPrefix = 'Please enter a valid expiration period (in days): '\n if (/^[-]?\\d+$/.test(expirationPeriodDays)) {\n const num = Number(expirationPeriodDays)\n if (num < 0) {\n return `${msgPrefix}If expiration period is set, then it must be greater than 0.`\n }\n return num * DAY_IN_MS\n }\n return `${msgPrefix}For input string: \"${expirationPeriodDays}\"`\n}\n\nexport type SetManagedAccessRequirementFieldsHandle = {\n /* Allow the parent component to trigger saving the AR, so this may be embedded in an arbitrary modal. */\n save: () => void\n}\n\nexport type SetManagedAccessRequirementFieldsProps = {\n accessRequirementId: string\n /* Called when AR has been saved successfully */\n onSave: () => void\n /* Called when error saving AR */\n onError: () => void\n}\n\nexport const SetManagedAccessRequirementFields = forwardRef(\n function SetManagedAccessRequirementFields(\n props: SetManagedAccessRequirementFieldsProps,\n ref: ForwardedRef<SetManagedAccessRequirementFieldsHandle>,\n ) {\n const { accessRequirementId, onSave, onError } = props\n\n const { data: accessRequirement, error: getArError } =\n useGetAccessRequirements<ManagedACTAccessRequirement>(\n accessRequirementId,\n { staleTime: Infinity },\n )\n useEffect(() => {\n if (accessRequirement) {\n setUpdatedAr(accessRequirement)\n setExpirationPeriodDays(\n (accessRequirement.expirationPeriod / DAY_IN_MS).toString(),\n )\n }\n }, [accessRequirement])\n\n const [uploadDucTemplateError, setUploadDucTemplateError] = useState<\n string | null\n >(null)\n const [expirationPeriodError, setExpirationPeriodError] = useState<\n string | null\n >(null)\n\n const [updatedAr, setUpdatedAr] =\n useState<ManagedACTAccessRequirement | null>(null)\n const [expirationPeriodDays, setExpirationPeriodDays] = useState<string>('')\n\n const ducTemplateFileHandleAssociation = useMemo(() => {\n if (updatedAr?.ducTemplateFileHandleId) {\n const ducTemplateFileHandleAssociation: FileHandleAssociation = {\n fileHandleId: updatedAr.ducTemplateFileHandleId,\n associateObjectType:\n FileHandleAssociateType.AccessRequirementAttachment,\n associateObjectId: updatedAr.id.toString(),\n }\n return ducTemplateFileHandleAssociation\n }\n return undefined\n }, [updatedAr?.ducTemplateFileHandleId, updatedAr?.id])\n\n const {\n data: eDucTemplateData,\n isLoading: isLoadingEDucTemplates,\n hasNextPage: hasNextEDucTemplatePage,\n fetchNextPage: fetchNextEDucTemplatePage,\n } = useListEDucTemplates()\n // Auto-fetch all pages so the dropdown always shows the complete template list.\n useEffect(() => {\n if (hasNextEDucTemplatePage) {\n void fetchNextEDucTemplatePage()\n }\n }, [hasNextEDucTemplatePage, fetchNextEDucTemplatePage])\n const eDucTemplates = useMemo(\n () => eDucTemplateData?.pages.flatMap(page => page.results ?? []) ?? [],\n [eDucTemplateData],\n )\n const selectedEDucTemplate = useMemo(\n () =>\n eDucTemplates.find(\n template => template.templateId === updatedAr?.eDucTemplateId,\n ) ?? null,\n [eDucTemplates, updatedAr?.eDucTemplateId],\n )\n\n const uploadDucTemplateCallback = (data: UploadCallbackResp) => {\n if (data.resp && data.success && updatedAr) {\n setUploadDucTemplateError(null)\n // Files are uploaded and synced with the server immediately\n const uploadResponse: FileUploadComplete = data.resp\n setUpdatedAr({\n ...updatedAr,\n ducTemplateFileHandleId: uploadResponse.fileHandleId,\n eDucTemplateId: undefined, // mutually exclusive with file upload\n })\n } else if (!data.success && data.error) {\n setUploadDucTemplateError(\n `${DUC_TEMPLATE_UPLOAD_ERROR} ${\n (data.error as SynapseClientError).reason\n }`,\n )\n }\n }\n\n const {\n mutate: updateAccessRequirement,\n isPending: isUpdatingAccessRequirement,\n error: updateArError,\n } = useUpdateAccessRequirement<ManagedACTAccessRequirement>({\n onSuccess: () => onSave(),\n onError: () => onError(),\n })\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (updatedAr) {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n onError()\n } else {\n updateAccessRequirement({\n ...updatedAr,\n expirationPeriod: expirationPeriodOrErrorMessage,\n })\n }\n }\n },\n }\n }, [expirationPeriodDays, updatedAr, updateAccessRequirement, onError])\n\n if (!updatedAr) {\n if (getArError) {\n return <Alert severity=\"error\">{getArError.reason}</Alert>\n } else {\n return <SynapseSpinner />\n }\n }\n\n return (\n <>\n <AccessRequirementWikiInstructions accessRequirement={updatedAr} />\n <Box>\n <Typography\n sx={{\n bgcolor: '#f5f5f5',\n borderBottom: '1px solid #ddd',\n color: '#333',\n px: 2,\n py: 1,\n }}\n >\n Data Access Request Parameters\n </Typography>\n <Box\n sx={{\n mt: 2,\n mb: 4,\n }}\n >\n <AccessorRequirements\n accessRequirement={updatedAr}\n onChange={updatedAr =>\n setUpdatedAr(updatedAr as ManagedACTAccessRequirement)\n }\n />\n <Box\n sx={{\n mb: 2,\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n fontWeight: 700,\n }}\n >\n DUC\n </Typography>\n <FormControlLabel\n control={<Checkbox />}\n label=\"DUC is required.\"\n checked={updatedAr.isDUCRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isDUCRequired: checked,\n })\n }\n />\n <SynapseErrorBoundary>\n <UploadDocumentField\n id=\"duc\"\n isLoading={isUpdatingAccessRequirement}\n disabled={!updatedAr.isDUCRequired}\n uploadCallback={resp => uploadDucTemplateCallback(resp)}\n documentName=\"Template DUC\"\n fileHandleAssociations={\n ducTemplateFileHandleAssociation\n ? [ducTemplateFileHandleAssociation]\n : undefined\n }\n isMultiFileUpload={false}\n uploadBtnVariant=\"contained\"\n />\n {uploadDucTemplateError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {uploadDucTemplateError}\n </Alert>\n )}\n </SynapseErrorBoundary>\n <Box sx={{ mt: 2 }}>\n <Autocomplete<EDucTemplate>\n id=\"eDucTemplate\"\n options={eDucTemplates}\n loading={isLoadingEDucTemplates}\n disabled={!updatedAr.isDUCRequired}\n value={selectedEDucTemplate}\n onChange={(_event, template) =>\n setUpdatedAr({\n ...updatedAr,\n eDucTemplateId: template?.templateId,\n })\n }\n getOptionLabel={template => template.name ?? ''}\n isOptionEqualToValue={(option, value) =>\n option.templateId === value.templateId\n }\n renderInput={params => (\n <TextField\n {...params}\n label=\"eDUC template (electronic signing)\"\n helperText=\"Optional. Select a DocuSign template to enable the eDUC signing flow for this Access Requirement.\"\n />\n )}\n />\n </Box>\n <FormControlLabel\n label=\"IRB approval is required.\"\n checked={updatedAr.isIRBApprovalRequired}\n control={<Checkbox />}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIRBApprovalRequired: checked,\n })\n }\n sx={{ ml: 0 }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Other documents are required.\"\n checked={updatedAr.areOtherAttachmentsRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n areOtherAttachmentsRequired: checked,\n })\n }\n />\n <TextField\n id=\"expirationPeriod\"\n name=\"expirationPeriod\"\n label=\"Expiration period (days)\"\n value={expirationPeriodDays}\n error={Boolean(expirationPeriodError)}\n helperText={expirationPeriodError}\n sx={{ mt: 1 }}\n fullWidth\n onChange={event => {\n setExpirationPeriodError(null)\n setExpirationPeriodDays(event.target.value)\n }}\n onBlur={() => {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n }\n }}\n />\n <Box\n sx={{\n mt: 1,\n }}\n >\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statement is required.\"\n checked={updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) => {\n if (checked) {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: true,\n })\n } else {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: false,\n isIDUPublic: false,\n })\n }\n }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statements will be publicly available.\"\n checked={updatedAr.isIDUPublic}\n disabled={!updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIDUPublic: checked,\n })\n }\n />\n </Box>\n </Box>\n </Box>\n </Box>\n {updateArError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {updateArError.reason}\n </Alert>\n )}\n </>\n )\n },\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SetManagedAccessRequirementFields.js","names":[],"sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"sourcesContent":["import {\n useGetAccessRequirements,\n useUpdateAccessRequirement,\n} from '@/synapse-queries'\nimport { DAY_IN_MS } from '@/utils/SynapseConstants'\nimport {\n Alert,\n Box,\n Checkbox,\n FormControlLabel,\n Typography,\n} from '@mui/material'\nimport { ManagedACTAccessRequirement } from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport {\n AccessorRequirements,\n AccessRequirementWikiInstructions,\n} from '../SetBasicAccessRequirementFields'\nimport { DataUseCertificateFields } from './DataUseCertificateFields'\nimport {\n ExpirationPeriodField,\n getValidExpirationPeriodOrErrorMessage,\n} from './ExpirationPeriodField'\n\nexport type SetManagedAccessRequirementFieldsHandle = {\n /* Allow the parent component to trigger saving the AR, so this may be embedded in an arbitrary modal. */\n save: () => void\n}\n\nexport type SetManagedAccessRequirementFieldsProps = {\n accessRequirementId: string\n /* Called when AR has been saved successfully */\n onSave: () => void\n /* Called when error saving AR */\n onError: () => void\n}\n\nexport const SetManagedAccessRequirementFields = forwardRef(\n function SetManagedAccessRequirementFields(\n props: SetManagedAccessRequirementFieldsProps,\n ref: ForwardedRef<SetManagedAccessRequirementFieldsHandle>,\n ) {\n const { accessRequirementId, onSave, onError } = props\n\n const { data: accessRequirement, error: getArError } =\n useGetAccessRequirements<ManagedACTAccessRequirement>(\n accessRequirementId,\n { staleTime: Infinity },\n )\n useEffect(() => {\n if (accessRequirement) {\n setUpdatedAr(accessRequirement)\n setExpirationPeriodDays(\n (accessRequirement.expirationPeriod / DAY_IN_MS).toString(),\n )\n }\n }, [accessRequirement])\n\n const [expirationPeriodError, setExpirationPeriodError] = useState<\n string | null\n >(null)\n\n const [updatedAr, setUpdatedAr] =\n useState<ManagedACTAccessRequirement | null>(null)\n const [expirationPeriodDays, setExpirationPeriodDays] = useState<string>('')\n\n const {\n mutate: updateAccessRequirement,\n isPending: isUpdatingAccessRequirement,\n error: updateArError,\n } = useUpdateAccessRequirement<ManagedACTAccessRequirement>({\n onSuccess: () => onSave(),\n onError: () => onError(),\n })\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (updatedAr) {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n onError()\n } else {\n updateAccessRequirement({\n ...updatedAr,\n expirationPeriod: expirationPeriodOrErrorMessage,\n })\n }\n }\n },\n }\n }, [expirationPeriodDays, updatedAr, updateAccessRequirement, onError])\n\n if (!updatedAr) {\n if (getArError) {\n return <Alert severity=\"error\">{getArError.reason}</Alert>\n } else {\n return <SynapseSpinner />\n }\n }\n\n return (\n <>\n <AccessRequirementWikiInstructions accessRequirement={updatedAr} />\n <Box>\n <Typography\n sx={{\n bgcolor: '#f5f5f5',\n borderBottom: '1px solid #ddd',\n color: '#333',\n px: 2,\n py: 1,\n }}\n >\n Data Access Request Parameters\n </Typography>\n <Box\n sx={{\n mt: 2,\n mb: 4,\n }}\n >\n <AccessorRequirements\n accessRequirement={updatedAr}\n onChange={updatedAr =>\n setUpdatedAr(updatedAr as ManagedACTAccessRequirement)\n }\n />\n <Box\n sx={{\n mb: 2,\n }}\n >\n <DataUseCertificateFields\n accessRequirement={updatedAr}\n isLoading={isUpdatingAccessRequirement}\n onChange={changes => setUpdatedAr({ ...updatedAr, ...changes })}\n />\n <FormControlLabel\n label=\"IRB approval is required.\"\n checked={updatedAr.isIRBApprovalRequired}\n control={<Checkbox />}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIRBApprovalRequired: checked,\n })\n }\n sx={{ ml: 0 }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Other documents are required.\"\n checked={updatedAr.areOtherAttachmentsRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n areOtherAttachmentsRequired: checked,\n })\n }\n />\n <ExpirationPeriodField\n days={expirationPeriodDays}\n error={expirationPeriodError}\n onChange={days => {\n setExpirationPeriodError(null)\n setExpirationPeriodDays(days)\n }}\n onBlur={() => {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n }\n }}\n />\n <Box\n sx={{\n mt: 1,\n }}\n >\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statement is required.\"\n checked={updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) => {\n if (checked) {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: true,\n })\n } else {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: false,\n isIDUPublic: false,\n })\n }\n }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statements will be publicly available.\"\n checked={updatedAr.isIDUPublic}\n disabled={!updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIDUPublic: checked,\n })\n }\n />\n </Box>\n </Box>\n </Box>\n </Box>\n {updateArError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {updateArError.reason}\n </Alert>\n )}\n </>\n )\n },\n)\n"],"mappings":"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"}
|
|
@@ -14,17 +14,17 @@ import { Component as h, createRef as g } from "react";
|
|
|
14
14
|
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
15
15
|
import b from "lodash-es/isEqual";
|
|
16
16
|
import x from "@rjsf/validator-ajv8";
|
|
17
|
-
import S from "
|
|
18
|
-
import C from "
|
|
19
|
-
import w from "
|
|
20
|
-
import T from "lodash-es/
|
|
21
|
-
import
|
|
22
|
-
import D from "
|
|
23
|
-
import O from "lodash-es/
|
|
24
|
-
import k from "lodash-es/
|
|
25
|
-
import A from "lodash-es/
|
|
26
|
-
import j from "lodash-es/
|
|
27
|
-
import M from "lodash-es/
|
|
17
|
+
import S from "lodash-es/pick";
|
|
18
|
+
import C from "@rjsf/core";
|
|
19
|
+
import w from "react-switch";
|
|
20
|
+
import T from "lodash-es/cloneDeep";
|
|
21
|
+
import E from "lodash-es/first";
|
|
22
|
+
import { Engine as D } from "json-rules-engine";
|
|
23
|
+
import O from "lodash-es/find";
|
|
24
|
+
import k from "lodash-es/findIndex";
|
|
25
|
+
import A from "lodash-es/get";
|
|
26
|
+
import j from "lodash-es/isUndefined";
|
|
27
|
+
import M from "lodash-es/keys";
|
|
28
28
|
import N from "lodash-es/remove";
|
|
29
29
|
import P from "lodash-es/set";
|
|
30
30
|
import F from "lodash-es/trimStart";
|
|
@@ -43,7 +43,7 @@ var I = class extends h {
|
|
|
43
43
|
isNewForm = (e) => Object.keys(e).length == 1 && Object.keys(e)[0] === "metadata" || Object.keys(e).length == 0;
|
|
44
44
|
getFirstStep = (e, t) => this.isNewForm(t) ? e[0] : e.find((e) => e.final === !0) || e[0];
|
|
45
45
|
constructor(e) {
|
|
46
|
-
super(e), this.uiSchema = R(
|
|
46
|
+
super(e), this.uiSchema = R(T(e.uiSchema), "ui:help");
|
|
47
47
|
let t = e.navSchema.steps.map((e, t) => ({
|
|
48
48
|
...e,
|
|
49
49
|
inProgress: t === 0
|
|
@@ -78,20 +78,20 @@ var I = class extends h {
|
|
|
78
78
|
_setIncludedPropInFormDataNonWizard = (e, t) => {
|
|
79
79
|
let n = {}, r = e.formData;
|
|
80
80
|
return Object.keys(t).forEach((e) => {
|
|
81
|
-
|
|
81
|
+
A(t[e], "properties.included") && P(n, `${e}.included`, !0);
|
|
82
82
|
}), {
|
|
83
83
|
...r,
|
|
84
84
|
...n
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
87
|
_setIncludedPropInFormDataWizard = (e) => {
|
|
88
|
-
let t = e.currentStep.id, n =
|
|
88
|
+
let t = e.currentStep.id, n = T(e.formData);
|
|
89
89
|
return P(n, `${t}.included`, !0), n;
|
|
90
90
|
};
|
|
91
91
|
componentDidMount() {
|
|
92
92
|
this.setupBeforeUnloadListener(), this.isNewForm(this.state.formData) ? this.setState((e) => ({ formData: this.props.isWizardMode ? this._setIncludedPropInFormDataWizard(e) : this._setIncludedPropInFormDataNonWizard(e, this.props.schema) })) : this.triggerAction(c.VALIDATE);
|
|
93
93
|
}
|
|
94
|
-
getSchema = ({ id: e, final: t }) => t ? this.props.schema :
|
|
94
|
+
getSchema = ({ id: e, final: t }) => t ? this.props.schema : S(this.props.schema, [
|
|
95
95
|
"title",
|
|
96
96
|
"type",
|
|
97
97
|
`properties.${e}`
|
|
@@ -99,7 +99,7 @@ var I = class extends h {
|
|
|
99
99
|
getNextStepId = async (e, t, n) => {
|
|
100
100
|
if (n) return n;
|
|
101
101
|
if (!e.rules || e.rules.length === 0) return e.default;
|
|
102
|
-
let r = new
|
|
102
|
+
let r = new D(e.rules);
|
|
103
103
|
try {
|
|
104
104
|
let n = await r.run(t);
|
|
105
105
|
return n.events.length > 0 ? n.events[0].params.next : e.default;
|
|
@@ -140,10 +140,10 @@ var I = class extends h {
|
|
|
140
140
|
let n, r = [...this.state.previousStepIds];
|
|
141
141
|
if (this.props.isWizardMode) n = r.pop(), this.isSubmitScreen() || P(e, `${this.state.currentStep.id}.included`, void 0);
|
|
142
142
|
else {
|
|
143
|
-
let e =
|
|
143
|
+
let e = k(this.state.steps, { id: this.state.currentStep.id });
|
|
144
144
|
e > 0 && (n = this.state.steps[e - 1].id);
|
|
145
145
|
}
|
|
146
|
-
if (!
|
|
146
|
+
if (!j(n)) return this.moveStep(e, n, t, r);
|
|
147
147
|
};
|
|
148
148
|
triggerAction = async (e) => {
|
|
149
149
|
if (e === c.SAVE) return this.props.onSave(this.state.formData);
|
|
@@ -170,7 +170,7 @@ var I = class extends h {
|
|
|
170
170
|
};
|
|
171
171
|
if (o.indexOf(e.id) > -1) {
|
|
172
172
|
let t = u.COMPLETED;
|
|
173
|
-
return n && !
|
|
173
|
+
return n && !A(r[e.id], "included") && (t = e.state), {
|
|
174
174
|
...e,
|
|
175
175
|
state: t
|
|
176
176
|
};
|
|
@@ -229,7 +229,7 @@ var I = class extends h {
|
|
|
229
229
|
let i = n.steps.map((n) => n.id === e ? {
|
|
230
230
|
...n,
|
|
231
231
|
excluded: t
|
|
232
|
-
} : n), a =
|
|
232
|
+
} : n), a = T(n.formData), o = T(n.currentStep);
|
|
233
233
|
return o.id === e && (o.excluded = t), t ? a[e] = {} : P(a, `${e}.included`, !0), {
|
|
234
234
|
steps: i,
|
|
235
235
|
formData: a,
|
|
@@ -279,7 +279,7 @@ var I = class extends h {
|
|
|
279
279
|
className: "pull-right toggle-help-label",
|
|
280
280
|
children: [
|
|
281
281
|
/* @__PURE__ */ v("span", { children: "Hide help" }),
|
|
282
|
-
/* @__PURE__ */ v(
|
|
282
|
+
/* @__PURE__ */ v(w, {
|
|
283
283
|
checkedIcon: !1,
|
|
284
284
|
uncheckedIcon: !1,
|
|
285
285
|
height: 20,
|
|
@@ -294,13 +294,13 @@ var I = class extends h {
|
|
|
294
294
|
}) });
|
|
295
295
|
runCustomValidation = async (e, t, n) => {
|
|
296
296
|
let r = [], i = t.validationRules || [], a = { [t.id]: e[t.id] };
|
|
297
|
-
if (t.final && (i = n.reduce((e, t) => t.validationRules && t.validationRules.length > 0 ? e.concat(t.validationRules) : e, []), a =
|
|
297
|
+
if (t.final && (i = n.reduce((e, t) => t.validationRules && t.validationRules.length > 0 ? e.concat(t.validationRules) : e, []), a = T(e)), i.length === 0) return [];
|
|
298
298
|
let o = [];
|
|
299
299
|
i.forEach((t) => {
|
|
300
300
|
let n = t.event.params.property;
|
|
301
301
|
if (n.indexOf("[*]") === -1) o.push(t);
|
|
302
302
|
else {
|
|
303
|
-
let r =
|
|
303
|
+
let r = A(e, n.split("[*]")[0].substring(1));
|
|
304
304
|
if (Array.isArray(r) && typeof r != "string") for (let e = 0; e < r.length; e++) {
|
|
305
305
|
let n = JSON.parse(JSON.stringify(t).replace(/\[\*\]/g, `[${e}]`));
|
|
306
306
|
o.push(n);
|
|
@@ -308,7 +308,7 @@ var I = class extends h {
|
|
|
308
308
|
else o.push(t);
|
|
309
309
|
}
|
|
310
310
|
});
|
|
311
|
-
let s = new
|
|
311
|
+
let s = new D(o, { allowUndefinedFacts: !0 });
|
|
312
312
|
try {
|
|
313
313
|
(await s.run(a)).events.forEach((e) => {
|
|
314
314
|
let t = {
|
|
@@ -423,7 +423,7 @@ var I = class extends h {
|
|
|
423
423
|
ref: this.formDivRef,
|
|
424
424
|
className: `scroll-area ${this.state.currentStep.excluded ? "disabled" : " "} `,
|
|
425
425
|
children: [
|
|
426
|
-
/* @__PURE__ */ v(
|
|
426
|
+
/* @__PURE__ */ v(C, {
|
|
427
427
|
validator: x,
|
|
428
428
|
noHtml5Validate: !0,
|
|
429
429
|
className: this.state.doShowHelp ? "submissionInputForm" : "submissionInputForm no-help",
|
|
@@ -502,9 +502,9 @@ var I = class extends h {
|
|
|
502
502
|
}
|
|
503
503
|
};
|
|
504
504
|
function L(e, t, n, r, i) {
|
|
505
|
-
let a = F(t.property, "."), o = a.split("."), s = `${o.join(".properties.")}.title`, c = `${a}.ui:title`, l = s.replace(/\[.*?\]/, ".items"), u = c.replace(/\[.*?\]/, ".items"), d =
|
|
505
|
+
let a = F(t.property, "."), o = a.split("."), s = `${o.join(".properties.")}.title`, c = `${a}.ui:title`, l = s.replace(/\[.*?\]/, ".items"), u = c.replace(/\[.*?\]/, ".items"), d = E(s.match(/\[.*?\]/));
|
|
506
506
|
d &&= (d = d.substring(1, d.length - 1), isNaN(parseInt(d)) ? "" : ` [${parseInt(d) + 1}]`);
|
|
507
|
-
let f =
|
|
507
|
+
let f = A(n, c) || A(i.properties, s) || A(n, u) || A(i.properties, l) || t.property, p = O(e, { id: o[0] }) || {
|
|
508
508
|
title: o[0],
|
|
509
509
|
order: 0
|
|
510
510
|
}, m = /* @__PURE__ */ v("li", {
|
|
@@ -526,7 +526,7 @@ function L(e, t, n, r, i) {
|
|
|
526
526
|
};
|
|
527
527
|
}
|
|
528
528
|
function R(e, t) {
|
|
529
|
-
return
|
|
529
|
+
return M(e).some((n) => {
|
|
530
530
|
if (n === t) {
|
|
531
531
|
let t = e[n];
|
|
532
532
|
return e[n] = /* @__PURE__ */ v("span", { dangerouslySetInnerHTML: { __html: t } }), e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TanStackTableUtils.d.ts","sourceRoot":"","sources":["../../../src/components/TanStackTable/TanStackTableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TanStackTableUtils.d.ts","sourceRoot":"","sources":["../../../src/components/TanStackTable/TanStackTableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAcrC,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,UAExD;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,UAExD;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAsBzE"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
//#region src/components/TanStackTable/TanStackTableUtils.ts
|
|
2
2
|
function e(e) {
|
|
3
|
-
return
|
|
3
|
+
return e.replace(/[^A-Za-z0-9-]/g, (e) => `_${e.charCodeAt(0).toString(16)}_`);
|
|
4
4
|
}
|
|
5
|
-
function t(
|
|
6
|
-
return `--
|
|
5
|
+
function t(t) {
|
|
6
|
+
return `--col-${e(t)}-size`;
|
|
7
7
|
}
|
|
8
|
-
function n(
|
|
8
|
+
function n(t) {
|
|
9
|
+
return `--header-${e(t)}-size`;
|
|
10
|
+
}
|
|
11
|
+
function r(e) {
|
|
9
12
|
let t = e.getIsPinned(), n = t === "left" && e.getIsLastColumn("left"), r = t === "right" && e.getIsFirstColumn("right");
|
|
10
13
|
return t ? {
|
|
11
14
|
background: "inherit",
|
|
@@ -19,6 +22,6 @@ function n(e) {
|
|
|
19
22
|
} : {};
|
|
20
23
|
}
|
|
21
24
|
//#endregion
|
|
22
|
-
export {
|
|
25
|
+
export { t as getColumnSizeCssVariable, r as getCommonPinningStyles, n as getHeaderSizeCssVariable };
|
|
23
26
|
|
|
24
27
|
//# sourceMappingURL=TanStackTableUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TanStackTableUtils.js","names":[],"sources":["../../../src/components/TanStackTable/TanStackTableUtils.ts"],"sourcesContent":["import { Column } from '@tanstack/react-table'\nimport { CSSProperties } from 'react'\n\nexport function getColumnSizeCssVariable(columnId: string) {\n return `--col-${columnId}-size`\n}\n\nexport function getHeaderSizeCssVariable(headerId: string) {\n return `--header-${headerId}-size`\n}\n\n// Styles for column pinning, retrieved from TanStack docs examples with very minor modifications\n// See https://tanstack.com/table/v8/docs/framework/react/examples/column-pinning-sticky\nexport function getCommonPinningStyles(column: Column<any>): CSSProperties {\n const isPinned = column.getIsPinned()\n const isLastLeftPinnedColumn =\n isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinnedColumn =\n isPinned === 'right' && column.getIsFirstColumn('right')\n\n if (!isPinned) return {}\n return {\n background: 'inherit',\n boxShadow: isLastLeftPinnedColumn\n ? '-4px 0 4px -4px gray inset'\n : isFirstRightPinnedColumn\n ? '4px 0 4px -4px gray inset'\n : undefined,\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n opacity: 0.95,\n position: 'sticky',\n width: column.getSize(),\n zIndex: 1,\n }\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"TanStackTableUtils.js","names":[],"sources":["../../../src/components/TanStackTable/TanStackTableUtils.ts"],"sourcesContent":["import { Column } from '@tanstack/react-table'\nimport { CSSProperties } from 'react'\n\n/**\n * Column IDs are arbitrary strings (e.g. Synapse column names may contain spaces or periods), but a custom property\n * name referenced in `var()` must be a valid CSS identifier. Characters outside [A-Za-z0-9-] are hex-encoded between\n * underscores, so the encoding is valid and distinct IDs never map to the same name.\n */\nfunction toCssIdentifierSafeString(id: string) {\n return id.replace(\n /[^A-Za-z0-9-]/g,\n char => `_${char.charCodeAt(0).toString(16)}_`,\n )\n}\n\nexport function getColumnSizeCssVariable(columnId: string) {\n return `--col-${toCssIdentifierSafeString(columnId)}-size`\n}\n\nexport function getHeaderSizeCssVariable(headerId: string) {\n return `--header-${toCssIdentifierSafeString(headerId)}-size`\n}\n\n// Styles for column pinning, retrieved from TanStack docs examples with very minor modifications\n// See https://tanstack.com/table/v8/docs/framework/react/examples/column-pinning-sticky\nexport function getCommonPinningStyles(column: Column<any>): CSSProperties {\n const isPinned = column.getIsPinned()\n const isLastLeftPinnedColumn =\n isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinnedColumn =\n isPinned === 'right' && column.getIsFirstColumn('right')\n\n if (!isPinned) return {}\n return {\n background: 'inherit',\n boxShadow: isLastLeftPinnedColumn\n ? '-4px 0 4px -4px gray inset'\n : isFirstRightPinnedColumn\n ? '4px 0 4px -4px gray inset'\n : undefined,\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n opacity: 0.95,\n position: 'sticky',\n width: column.getSize(),\n zIndex: 1,\n }\n}\n"],"mappings":";AAQA,SAAS,EAA0B,GAAY;CAC7C,OAAO,EAAG,QACR,mBACA,MAAQ,IAAI,EAAK,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,EAC9C;AACF;AAEA,SAAgB,EAAyB,GAAkB;CACzD,OAAO,SAAS,EAA0B,CAAQ,EAAE;AACtD;AAEA,SAAgB,EAAyB,GAAkB;CACzD,OAAO,YAAY,EAA0B,CAAQ,EAAE;AACzD;AAIA,SAAgB,EAAuB,GAAoC;CACzE,IAAM,IAAW,EAAO,YAAY,GAC9B,IACJ,MAAa,UAAU,EAAO,gBAAgB,MAAM,GAChD,IACJ,MAAa,WAAW,EAAO,iBAAiB,OAAO;CAGzD,OADK,IACE;EACL,YAAY;EACZ,WAAW,IACP,+BACA,IACE,8BACA,KAAA;EACN,MAAM,MAAa,SAAS,GAAG,EAAO,SAAS,MAAM,EAAE,MAAM,KAAA;EAC7D,OAAO,MAAa,UAAU,GAAG,EAAO,SAAS,OAAO,EAAE,MAAM,KAAA;EAChE,SAAS;EACT,UAAU;EACV,OAAO,EAAO,QAAQ;EACtB,QAAQ;CACV,IAdsB,CAAC;AAezB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataAccessSubmissionFileHandleLink.d.ts","sourceRoot":"","sources":["../../../../src/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.tsx"],"names":[],"mappings":"AAIA,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB,2CAkBA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FileHandleLink as e } from "../../widgets/FileHandleLink.js";
|
|
2
|
+
import { useMemo as t } from "react";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
import { FileHandleAssociateType as r } from "@sage-bionetworks/synapse-types";
|
|
5
|
+
//#region src/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.tsx
|
|
6
|
+
function i(i) {
|
|
7
|
+
let { submissionId: a, fileHandleId: o } = i;
|
|
8
|
+
return /* @__PURE__ */ n(e, {
|
|
9
|
+
showDownloadIcon: !0,
|
|
10
|
+
fileHandleAssociation: t(() => ({
|
|
11
|
+
fileHandleId: o,
|
|
12
|
+
associateObjectId: a,
|
|
13
|
+
associateObjectType: r.DataAccessSubmissionAttachment
|
|
14
|
+
}), [o, a])
|
|
15
|
+
}, o);
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { i as DataAccessSubmissionFileHandleLink };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=DataAccessSubmissionFileHandleLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataAccessSubmissionFileHandleLink.js","names":[],"sources":["../../../../src/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.tsx"],"sourcesContent":["import { FileHandleLink } from '@/components/widgets/FileHandleLink'\nimport { FileHandleAssociateType } from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\n\nexport function DataAccessSubmissionFileHandleLink(props: {\n submissionId: string\n fileHandleId: string\n}) {\n const { submissionId, fileHandleId } = props\n const fileHandleAssociation = useMemo(\n () => ({\n fileHandleId: fileHandleId,\n associateObjectId: submissionId,\n associateObjectType:\n FileHandleAssociateType.DataAccessSubmissionAttachment,\n }),\n [fileHandleId, submissionId],\n )\n return (\n <FileHandleLink\n key={fileHandleId}\n showDownloadIcon={true}\n fileHandleAssociation={fileHandleAssociation}\n />\n )\n}\n"],"mappings":";;;;;AAIA,SAAgB,EAAmC,GAGhD;CACD,IAAM,EAAE,iBAAc,oBAAiB;CAUvC,OACE,kBAAC,GAAD;EAEE,kBAAkB;EACK,uBAbG,SACrB;GACS;GACd,mBAAmB;GACnB,qBACE,EAAwB;EAC5B,IACA,CAAC,GAAc,CAAY,CAMF;CACxB,GAHM,CAGN;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmissionPage.d.ts","sourceRoot":"","sources":["../../../../src/components/dataaccess/SubmissionPage/SubmissionPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SubmissionPage.d.ts","sourceRoot":"","sources":["../../../../src/components/dataaccess/SubmissionPage/SubmissionPage.tsx"],"names":[],"mappings":"AAgDA,MAAM,MAAM,mBAAmB,GAAG;IAChC,uCAAuC;IACvC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAuDD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA2dhE"}
|