synapse-react-client 4.0.33 → 4.0.34
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 +5 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +152 -85
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +49 -42
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts +6 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +161 -155
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +21 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +163 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +264 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +105 -96
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts +13 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +122 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +17 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +112 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +193 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js +7 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js +23 -20
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +100 -99
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +4 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.d.ts.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +1 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +55 -55
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.d.ts +3 -0
- package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -0
- package/dist/components/dataaccess/EDucTemplateTable.js +213 -0
- package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -0
- package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +44 -34
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -40
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +48 -23
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js +9 -9
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js.map +1 -1
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +0 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +5 -0
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js +2 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/hooks/useFetchBlobUrl.d.ts +9 -0
- package/dist/utils/hooks/useFetchBlobUrl.d.ts.map +1 -0
- package/dist/utils/hooks/useFetchBlobUrl.js +19 -0
- package/dist/utils/hooks/useFetchBlobUrl.js.map +1 -0
- package/package.json +2 -2
|
@@ -4,32 +4,30 @@ import t from "../../IconSvg/IconSvg.js";
|
|
|
4
4
|
import { UserBadge as n } from "../../UserCard/UserBadge.js";
|
|
5
5
|
import r from "../../UserSearchBox/UserSearchBox.js";
|
|
6
6
|
import { longFieldLabelSx as i } from "./styles.js";
|
|
7
|
-
import {
|
|
8
|
-
import { Fragment as
|
|
9
|
-
import { AccessType as
|
|
7
|
+
import { Alert as a, Button as o, FormControlLabel as s, Radio as c, RadioGroup as l, Stack as u, Typography as d } from "@mui/material";
|
|
8
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
9
|
+
import { AccessType as h, TYPE_FILTER as g } from "@sage-bionetworks/synapse-types";
|
|
10
10
|
//#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.tsx
|
|
11
|
-
function
|
|
12
|
-
let { accessorChanges:
|
|
13
|
-
t &&
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
return e;
|
|
11
|
+
function _(_) {
|
|
12
|
+
let { accessorChanges: v, onChange: y, isRenewal: b, helpText: x, collaboratorLimit: S } = _, { data: C } = e(), w = S !== void 0 && v.filter((e) => e.userId !== C?.ownerId).length >= S, T = (e, t) => {
|
|
13
|
+
t && y((e) => {
|
|
14
|
+
if (e.map((e) => e.userId).includes(t.ownerId) || S !== void 0 && e.filter((e) => e.userId !== C?.ownerId).length >= S) return e;
|
|
15
|
+
let n = {
|
|
16
|
+
userId: t.ownerId,
|
|
17
|
+
type: h.GAIN_ACCESS
|
|
18
|
+
};
|
|
19
|
+
return e.push(n), e;
|
|
22
20
|
});
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
},
|
|
26
|
-
|
|
21
|
+
}, E = (e) => {
|
|
22
|
+
y((t) => t.filter((t) => t.userId !== e));
|
|
23
|
+
}, D = (e, t) => {
|
|
24
|
+
y((n) => {
|
|
27
25
|
let r = n.findIndex((e) => e.userId === t);
|
|
28
26
|
return n[r].type = e, n;
|
|
29
27
|
});
|
|
30
28
|
};
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
/* @__PURE__ */
|
|
29
|
+
return /* @__PURE__ */ m(f, { children: [
|
|
30
|
+
/* @__PURE__ */ p(d, {
|
|
33
31
|
variant: "headline3",
|
|
34
32
|
sx: {
|
|
35
33
|
mt: 4,
|
|
@@ -37,7 +35,7 @@ function g(g) {
|
|
|
37
35
|
},
|
|
38
36
|
children: "Collaborators"
|
|
39
37
|
}),
|
|
40
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ p(d, {
|
|
41
39
|
variant: "body1",
|
|
42
40
|
sx: {
|
|
43
41
|
...i,
|
|
@@ -45,7 +43,7 @@ function g(g) {
|
|
|
45
43
|
},
|
|
46
44
|
children: "List the Synapse usernames of all collaborators at your institution included in this data access request. Each collaborator must have a Synapse account and be able to receive messages at their registered email address."
|
|
47
45
|
}),
|
|
48
|
-
/* @__PURE__ */
|
|
46
|
+
/* @__PURE__ */ p(d, {
|
|
49
47
|
component: "div",
|
|
50
48
|
variant: "body1",
|
|
51
49
|
sx: {
|
|
@@ -53,50 +51,59 @@ function g(g) {
|
|
|
53
51
|
mb: 1
|
|
54
52
|
},
|
|
55
53
|
className: "requester-label",
|
|
56
|
-
children:
|
|
54
|
+
children: x
|
|
57
55
|
}),
|
|
58
|
-
/* @__PURE__ */
|
|
56
|
+
w && /* @__PURE__ */ m(a, {
|
|
57
|
+
severity: "warning",
|
|
58
|
+
sx: { mb: 1 },
|
|
59
|
+
children: [
|
|
60
|
+
"You have reached the maximum of ",
|
|
61
|
+
S,
|
|
62
|
+
" collaborators for this request. Remove a collaborator to add another."
|
|
63
|
+
]
|
|
64
|
+
}),
|
|
65
|
+
!w && /* @__PURE__ */ p(r, {
|
|
59
66
|
inputId: "requesters",
|
|
60
|
-
typeFilter:
|
|
61
|
-
onChange:
|
|
62
|
-
filterPredicate: (e) => !
|
|
67
|
+
typeFilter: g.USERS_ONLY,
|
|
68
|
+
onChange: T,
|
|
69
|
+
filterPredicate: (e) => !v.map((e) => e.userId).includes(e.ownerId),
|
|
63
70
|
value: null
|
|
64
71
|
}),
|
|
65
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ p(u, {
|
|
66
73
|
sx: {
|
|
67
74
|
my: 1,
|
|
68
75
|
gap: 1
|
|
69
76
|
},
|
|
70
|
-
children:
|
|
77
|
+
children: v.map((e, r) => /* @__PURE__ */ m("div", {
|
|
71
78
|
className: "list-items",
|
|
72
79
|
children: [
|
|
73
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ p(n, {
|
|
74
81
|
userId: e.userId,
|
|
75
82
|
showAccountLevelIcon: !0,
|
|
76
83
|
disableLink: !0,
|
|
77
84
|
showFullName: !0
|
|
78
85
|
}),
|
|
79
|
-
|
|
86
|
+
C?.ownerId !== e.userId && e.type === h.GAIN_ACCESS && /* @__PURE__ */ p(o, {
|
|
80
87
|
"aria-label": "Remove user",
|
|
81
88
|
variant: "text",
|
|
82
89
|
sx: {
|
|
83
90
|
ml: 1,
|
|
84
91
|
px: 0
|
|
85
92
|
},
|
|
86
|
-
onClick: () =>
|
|
87
|
-
children: /* @__PURE__ */
|
|
93
|
+
onClick: () => E(e.userId),
|
|
94
|
+
children: /* @__PURE__ */ p(t, { icon: "clear" })
|
|
88
95
|
}),
|
|
89
|
-
|
|
96
|
+
b && C?.ownerId !== e.userId && e.type !== h.GAIN_ACCESS && /* @__PURE__ */ p(f, { children: /* @__PURE__ */ m(l, {
|
|
90
97
|
value: e.type,
|
|
91
|
-
onChange: (t, n) =>
|
|
92
|
-
children: [/* @__PURE__ */
|
|
93
|
-
control: /* @__PURE__ */
|
|
98
|
+
onChange: (t, n) => D(n, e.userId),
|
|
99
|
+
children: [/* @__PURE__ */ p(s, {
|
|
100
|
+
control: /* @__PURE__ */ p(c, {}),
|
|
94
101
|
label: "Renew",
|
|
95
|
-
value:
|
|
96
|
-
}), /* @__PURE__ */
|
|
97
|
-
control: /* @__PURE__ */
|
|
102
|
+
value: h.RENEW_ACCESS
|
|
103
|
+
}), /* @__PURE__ */ p(s, {
|
|
104
|
+
control: /* @__PURE__ */ p(c, {}),
|
|
98
105
|
label: "Revoke",
|
|
99
|
-
value:
|
|
106
|
+
value: h.REVOKE_ACCESS
|
|
100
107
|
})]
|
|
101
108
|
}) })
|
|
102
109
|
]
|
|
@@ -105,6 +112,6 @@ function g(g) {
|
|
|
105
112
|
] });
|
|
106
113
|
}
|
|
107
114
|
//#endregion
|
|
108
|
-
export {
|
|
115
|
+
export { _ as default };
|
|
109
116
|
|
|
110
117
|
//# sourceMappingURL=DataAccessRequestAccessorsEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataAccessRequestAccessorsEditor.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.tsx"],"sourcesContent":["import { useGetCurrentUserProfile } from '@/synapse-queries'\nimport {\n Button,\n FormControlLabel,\n Radio,\n RadioGroup,\n Stack,\n Typography,\n} from '@mui/material'\nimport {\n AccessorChange,\n AccessType,\n TYPE_FILTER,\n UserGroupHeader,\n} from '@sage-bionetworks/synapse-types'\nimport { ReactNode } from 'react'\nimport IconSvg from '../../IconSvg/IconSvg'\nimport { UserBadge } from '../../UserCard/UserBadge'\nimport UserSearchBox from '../../UserSearchBox/UserSearchBox'\nimport { longFieldLabelSx } from './styles'\n\nexport type DataAccessRequestAccessorsEditorProps = {\n /* The current set of accessor changes for a data access request */\n accessorChanges: AccessorChange[]\n /* Invoked when the set of accessors is updated */\n onChange: (updater: (prevValue: AccessorChange[]) => AccessorChange[]) => void\n /* Whether this request is a renewal */\n isRenewal: boolean\n /* Text to show to inform the user about requirements accessors may need to meet */\n helpText: ReactNode\n}\n\n/**\n * Component that handles adding/removing/revoking accessors for a data access request.\n */\nexport default function DataAccessRequestAccessorsEditor(\n props: DataAccessRequestAccessorsEditorProps,\n) {\n const { accessorChanges, onChange, isRenewal, helpText }
|
|
1
|
+
{"version":3,"file":"DataAccessRequestAccessorsEditor.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.tsx"],"sourcesContent":["import { useGetCurrentUserProfile } from '@/synapse-queries'\nimport {\n Alert,\n Button,\n FormControlLabel,\n Radio,\n RadioGroup,\n Stack,\n Typography,\n} from '@mui/material'\nimport {\n AccessorChange,\n AccessType,\n TYPE_FILTER,\n UserGroupHeader,\n} from '@sage-bionetworks/synapse-types'\nimport { ReactNode } from 'react'\nimport IconSvg from '../../IconSvg/IconSvg'\nimport { UserBadge } from '../../UserCard/UserBadge'\nimport UserSearchBox from '../../UserSearchBox/UserSearchBox'\nimport { longFieldLabelSx } from './styles'\n\nexport type DataAccessRequestAccessorsEditorProps = {\n /* The current set of accessor changes for a data access request */\n accessorChanges: AccessorChange[]\n /* Invoked when the set of accessors is updated */\n onChange: (updater: (prevValue: AccessorChange[]) => AccessorChange[]) => void\n /* Whether this request is a renewal */\n isRenewal: boolean\n /* Text to show to inform the user about requirements accessors may need to meet */\n helpText: ReactNode\n /* Optional cap on the number of collaborators the user may add (excludes the submitter, who is auto-added) */\n collaboratorLimit?: number\n}\n\n/**\n * Component that handles adding/removing/revoking accessors for a data access request.\n */\nexport default function DataAccessRequestAccessorsEditor(\n props: DataAccessRequestAccessorsEditorProps,\n) {\n const { accessorChanges, onChange, isRenewal, helpText, collaboratorLimit } =\n props\n const { data: user } = useGetCurrentUserProfile()\n\n // The submitter (current user) is auto-added and does not count toward the collaborator limit.\n const isAtCollaboratorLimit =\n collaboratorLimit !== undefined &&\n accessorChanges.filter(ac => ac.userId !== user?.ownerId).length >=\n collaboratorLimit\n\n const onSelectUserCallback = (\n id: string | null,\n ugh: UserGroupHeader | null,\n ) => {\n if (ugh) {\n onChange(previousValue => {\n const currentAccessorIds = previousValue.map(ac => ac.userId)\n // if user is not already in the accessor list (prevent duplicates in accessor list)\n if (currentAccessorIds.includes(ugh.ownerId)) {\n return previousValue\n }\n if (\n collaboratorLimit !== undefined &&\n previousValue.filter(ac => ac.userId !== user?.ownerId).length >=\n collaboratorLimit\n ) {\n return previousValue\n }\n const selectedAccessor: AccessorChange = {\n userId: ugh.ownerId,\n type: AccessType.GAIN_ACCESS,\n }\n previousValue.push(selectedAccessor)\n return previousValue\n })\n }\n }\n\n const onClearAccessor = (userId: string) => {\n onChange(previousValue => {\n return previousValue.filter(item => item.userId !== userId)\n })\n }\n\n // For renewal only\n const onAccessorAccessTypeChange = (\n accessType: AccessType,\n userId: string,\n ) => {\n onChange(previousValue => {\n const indexOfUser = previousValue.findIndex(\n item => item.userId === userId,\n )\n previousValue[indexOfUser].type = accessType\n return previousValue\n })\n }\n\n return (\n <>\n <Typography variant={'headline3'} sx={{ mt: 4, mb: 2 }}>\n Collaborators\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 1 }}>\n List the Synapse usernames of all collaborators at your institution\n included in this data access request. Each collaborator must have a\n Synapse account and be able to receive messages at their registered\n email address.\n </Typography>\n <Typography\n component={'div'}\n variant={'body1'}\n sx={{ ...longFieldLabelSx, mb: 1 }}\n className={'requester-label'}\n >\n {helpText}\n </Typography>\n {isAtCollaboratorLimit && (\n <Alert severity=\"warning\" sx={{ mb: 1 }}>\n You have reached the maximum of {collaboratorLimit} collaborators for\n this request. Remove a collaborator to add another.\n </Alert>\n )}\n {!isAtCollaboratorLimit && (\n <UserSearchBox\n inputId={'requesters'}\n typeFilter={TYPE_FILTER.USERS_ONLY}\n onChange={onSelectUserCallback}\n filterPredicate={userGroupHeader =>\n !accessorChanges\n .map(ac => ac.userId)\n .includes(userGroupHeader.ownerId)\n }\n value={null}\n />\n )}\n <Stack sx={{ my: 1, gap: 1 }}>\n {accessorChanges.map((ac, i) => {\n return (\n <div className={'list-items'} key={`accessor-${i}`}>\n <UserBadge\n userId={ac.userId}\n showAccountLevelIcon={true}\n disableLink={true}\n showFullName={true}\n />\n {\n // only display delete button if the user profile is not the current user and has not had access before\n user?.ownerId !== ac.userId &&\n ac.type === AccessType.GAIN_ACCESS && (\n <Button\n aria-label={`Remove user`}\n variant={'text'}\n sx={{\n ml: 1,\n px: 0,\n }}\n onClick={() => onClearAccessor(ac.userId)}\n >\n <IconSvg icon=\"clear\" />\n </Button>\n )\n }\n {\n // Renewal/Revoke data access, only display if isRenewal is true\n // TODO: It's possible to that the accessors list is in an illegal state with no way to recover -- see PLFM-7893\n isRenewal &&\n user?.ownerId !== ac.userId &&\n ac.type !== AccessType.GAIN_ACCESS && (\n <>\n <RadioGroup\n value={ac.type}\n onChange={(_event, value) =>\n onAccessorAccessTypeChange(\n value as AccessType,\n ac.userId,\n )\n }\n >\n <FormControlLabel\n control={<Radio />}\n label={'Renew'}\n value={AccessType.RENEW_ACCESS}\n />\n <FormControlLabel\n control={<Radio />}\n label={'Revoke'}\n value={AccessType.REVOKE_ACCESS}\n />\n </RadioGroup>\n </>\n )\n }\n </div>\n )\n })}\n </Stack>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;AAsCA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,oBAAiB,aAAU,cAAW,aAAU,yBACtD,GACI,EAAE,MAAM,MAAS,EAAyB,GAG1C,IACJ,MAAsB,KAAA,KACtB,EAAgB,QAAO,MAAM,EAAG,WAAW,GAAM,OAAO,EAAE,UACxD,GAEE,KACJ,GACA,MACG;EACH,AAAI,KACF,GAAS,MAAiB;GAMxB,IAL2B,EAAc,KAAI,MAAM,EAAG,MAElD,EAAmB,SAAS,EAAI,OAAO,KAIzC,MAAsB,KAAA,KACtB,EAAc,QAAO,MAAM,EAAG,WAAW,GAAM,OAAO,EAAE,UACtD,GAEF,OAAO;GAET,IAAM,IAAmC;IACvC,QAAQ,EAAI;IACZ,MAAM,EAAW;GACnB;GAEA,OADA,EAAc,KAAK,CAAgB,GAC5B;EACT,CAAC;CAEL,GAEM,KAAmB,MAAmB;EAC1C,GAAS,MACA,EAAc,QAAO,MAAQ,EAAK,WAAW,CAAM,CAC3D;CACH,GAGM,KACJ,GACA,MACG;EACH,GAAS,MAAiB;GACxB,IAAM,IAAc,EAAc,WAChC,MAAQ,EAAK,WAAW,CAC1B;GAEA,OADA,EAAc,GAAa,OAAO,GAC3B;EACT,CAAC;CACH;CAEA,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD;GAAY,SAAS;GAAa,IAAI;IAAE,IAAI;IAAG,IAAI;GAAE;aAAG;EAE5C,CAAA;EACZ,kBAAC,GAAD;GAAY,SAAS;GAAS,IAAI;IAAE,GAAG;IAAkB,IAAI;GAAE;aAAG;EAKtD,CAAA;EACZ,kBAAC,GAAD;GACE,WAAW;GACX,SAAS;GACT,IAAI;IAAE,GAAG;IAAkB,IAAI;GAAE;GACjC,WAAW;aAEV;EACS,CAAA;EACX,KACC,kBAAC,GAAD;GAAO,UAAS;GAAU,IAAI,EAAE,IAAI,EAAE;aAAtC;IAAyC;IACN;IAAkB;GAE9C;;EAER,CAAC,KACA,kBAAC,GAAD;GACE,SAAS;GACT,YAAY,EAAY;GACxB,UAAU;GACV,kBAAiB,MACf,CAAC,EACE,KAAI,MAAM,EAAG,MAAM,EACnB,SAAS,EAAgB,OAAO;GAErC,OAAO;EACR,CAAA;EAEH,kBAAC,GAAD;GAAO,IAAI;IAAE,IAAI;IAAG,KAAK;GAAE;aACxB,EAAgB,KAAK,GAAI,MAEtB,kBAAC,OAAD;IAAK,WAAW;cAAhB;KACE,kBAAC,GAAD;MACE,QAAQ,EAAG;MACX,sBAAsB;MACtB,aAAa;MACb,cAAc;KACf,CAAA;KAGC,GAAM,YAAY,EAAG,UACnB,EAAG,SAAS,EAAW,eACrB,kBAAC,GAAD;MACE,cAAY;MACZ,SAAS;MACT,IAAI;OACF,IAAI;OACJ,IAAI;MACN;MACA,eAAe,EAAgB,EAAG,MAAM;gBAExC,kBAAC,GAAD,EAAS,MAAK,QAAS,CAAA;KACjB,CAAA;KAMZ,KACE,GAAM,YAAY,EAAG,UACrB,EAAG,SAAS,EAAW,eACrB,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;MACE,OAAO,EAAG;MACV,WAAW,GAAQ,MACjB,EACE,GACA,EAAG,MACL;gBANJ,CASE,kBAAC,GAAD;OACE,SAAS,kBAAC,GAAD,CAAQ,CAAA;OACjB,OAAO;OACP,OAAO,EAAW;MACnB,CAAA,GACD,kBAAC,GAAD;OACE,SAAS,kBAAC,GAAD,CAAQ,CAAA;OACjB,OAAO;OACP,OAAO,EAAW;MACnB,CAAA,CACS;QACZ,CAAA;IAGL;MAtD8B,YAAY,GAsD1C,CAER;EACI,CAAA;CACP,EAAA,CAAA;AAEN"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AlertProps as MuiAlertProps } from '@mui/material';
|
|
2
2
|
import { ManagedACTAccessRequirement, Renewal, Request, RestrictableObjectType } from '@sage-bionetworks/synapse-types';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
|
+
export declare const EDUC_COLLABORATOR_LIMIT = 97;
|
|
4
5
|
export type DataAccessRequestAccessorsFilesFormProps = {
|
|
5
6
|
/**
|
|
6
7
|
* The ID of the object of interest. This corresponds to the subjectId of the {@link CreateSubmissionRequest}
|
|
@@ -14,6 +15,11 @@ export type DataAccessRequestAccessorsFilesFormProps = {
|
|
|
14
15
|
onCancel: (modifiedDataAccessRequest: Request | Renewal) => void;
|
|
15
16
|
/** Callback invoked when the 'Back' action button is clicked */
|
|
16
17
|
onBackClicked: () => void;
|
|
18
|
+
/**
|
|
19
|
+
* When set (used for eDUC ARs), clicking the primary action saves the DAR and invokes this callback
|
|
20
|
+
* instead of creating a submission. Submission happens later in the eDUC flow.
|
|
21
|
+
*/
|
|
22
|
+
onEDucContinue?: () => void;
|
|
17
23
|
};
|
|
18
24
|
export type AlertProps = {
|
|
19
25
|
key: MuiAlertProps['severity'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataAccessRequestAccessorsFilesForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,IAAI,aAAa,EAY5B,MAAM,eAAe,CAAA;AAItB,OAAO,EAML,2BAA2B,EAC3B,OAAO,EACP,OAAO,EACP,sBAAsB,EAGvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"DataAccessRequestAccessorsFilesForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,IAAI,aAAa,EAY5B,MAAM,eAAe,CAAA;AAItB,OAAO,EAML,2BAA2B,EAC3B,OAAO,EACP,OAAO,EACP,sBAAsB,EAGvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAA;AAmB9D,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAiDzC,MAAM,MAAM,wCAAwC,GAAG;IACrD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,sBAAsB,CAAA;IAEnC,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB,QAAQ,EAAE,CAAC,yBAAyB,EAAE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAA;IAChE,gEAAgE;IAChE,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,KAAK,EAAE,wCAAwC,2CAylBhD"}
|