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.
Files changed (182) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +6 -20
  3. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  4. package/dist/components/AccessRequirementList/AccessRequirementList.js +165 -159
  5. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  6. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +3 -2
  7. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
  8. package/dist/components/AccessRequirementList/AccessRequirementListItem.js +23 -22
  9. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  10. package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts +4 -3
  11. package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts.map +1 -1
  12. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js +6 -4
  13. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  14. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts +22 -0
  15. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts.map +1 -0
  16. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js +166 -0
  17. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js.map +1 -0
  18. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts +18 -0
  19. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts.map +1 -0
  20. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js +91 -0
  21. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js.map +1 -0
  22. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts +33 -0
  23. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts.map +1 -0
  24. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js +49 -0
  25. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js.map +1 -0
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.d.ts.map +1 -1
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +26 -42
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +140 -155
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +43 -60
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +4 -5
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +5 -5
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +88 -103
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.d.ts.map +1 -1
  43. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +14 -30
  44. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  45. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.d.ts → RequestableAccessRequirementItem.d.ts} +9 -8
  46. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.d.ts.map +1 -0
  47. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.js → RequestableAccessRequirementItem.js} +16 -16
  48. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.js.map +1 -0
  49. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.d.ts → RequestableAccessRequirementItemView.d.ts} +5 -5
  50. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.d.ts.map +1 -0
  51. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.js → RequestableAccessRequirementItemView.js} +3 -4
  52. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.js.map +1 -0
  53. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  54. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +94 -110
  55. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  56. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +0 -2
  57. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
  58. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +35 -52
  59. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
  60. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  61. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -95
  62. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  63. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +2 -1
  64. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
  65. package/dist/components/AccessRequirementList/RequestDataStep.d.ts +34 -0
  66. package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -0
  67. package/dist/components/AccessRequirementList/RequestDataStep.js +37 -0
  68. package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -0
  69. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.d.ts +1 -1
  70. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  71. package/dist/components/DataGrid/DataGridWebSocket.d.ts +29 -1
  72. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  73. package/dist/components/DataGrid/DataGridWebSocket.js +48 -16
  74. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  75. package/dist/components/DataGrid/components/GridLoadingState.d.ts +2 -2
  76. package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -1
  77. package/dist/components/DataGrid/components/GridLoadingState.js +2 -2
  78. package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -1
  79. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  80. package/dist/components/DataGrid/useDataGridWebsocket.js +2 -1
  81. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  82. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
  83. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +11 -10
  84. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  85. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -1
  86. package/dist/components/FormTemplateEditor/FormTemplatePreview.js +29 -30
  87. package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -1
  88. package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts +21 -0
  89. package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts.map +1 -0
  90. package/dist/components/JsonSchemaForm/SchemaStepForm.js +29 -0
  91. package/dist/components/JsonSchemaForm/SchemaStepForm.js.map +1 -0
  92. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts +2 -2
  93. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts.map +1 -1
  94. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js +11 -10
  95. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  96. package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts +10 -0
  97. package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts.map +1 -0
  98. package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js +81 -0
  99. package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js.map +1 -0
  100. package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts +9 -0
  101. package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts.map +1 -0
  102. package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js +32 -0
  103. package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js.map +1 -0
  104. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts +0 -2
  105. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
  106. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +74 -151
  107. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  108. package/dist/components/SynapseForm/SynapseForm.js +28 -28
  109. package/dist/components/TanStackTable/TanStackTableUtils.d.ts.map +1 -1
  110. package/dist/components/TanStackTable/TanStackTableUtils.js +8 -5
  111. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  112. package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts +5 -0
  113. package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts.map +1 -0
  114. package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js +20 -0
  115. package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js.map +1 -0
  116. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
  117. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +183 -188
  118. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  119. package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts +25 -0
  120. package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts.map +1 -0
  121. package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js +125 -0
  122. package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js.map +1 -0
  123. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  124. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +5 -4
  125. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  126. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.d.ts.map +1 -1
  127. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +5 -4
  128. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  129. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -1
  130. package/dist/features/curator/dashboard/CuratorDashboardRouter.js +15 -15
  131. package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -1
  132. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -1
  133. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +15 -14
  134. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -1
  135. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +7 -0
  136. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
  137. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +30 -15
  138. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
  139. package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts +3 -0
  140. package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts.map +1 -1
  141. package/dist/mocks/dataaccess/MockDataAccessRequest.js +24 -12
  142. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  143. package/dist/mocks/dataaccess/MockSubmission.d.ts +76 -0
  144. package/dist/mocks/dataaccess/MockSubmission.d.ts.map +1 -1
  145. package/dist/mocks/dataaccess/MockSubmission.js +108 -63
  146. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  147. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  148. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +42 -30
  149. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  150. package/dist/style/components/_submission-page.scss +0 -4
  151. package/dist/style/main.css +1 -1
  152. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts +19 -0
  153. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts.map +1 -0
  154. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js +26 -0
  155. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js.map +1 -0
  156. package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts +37 -0
  157. package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts.map +1 -0
  158. package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js +35 -0
  159. package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js.map +1 -0
  160. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
  161. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
  162. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  163. package/dist/synapse-queries/termsOfService/useTermsOfService.d.ts.map +1 -1
  164. package/dist/synapse-queries/termsOfService/useTermsOfService.js +21 -19
  165. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  166. package/dist/tsconfig.build.tsbuildinfo +1 -1
  167. package/dist/utils/functions/EntityTypeUtils.d.ts +2 -2
  168. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  169. package/dist/utils/functions/EntityTypeUtils.js +135 -135
  170. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  171. package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
  172. package/dist/utils/hooks/useDetectSSOCode.js +31 -26
  173. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  174. package/dist/utils/jsonschema/schemaData.d.ts +18 -0
  175. package/dist/utils/jsonschema/schemaData.d.ts.map +1 -0
  176. package/dist/utils/jsonschema/schemaData.js +26 -0
  177. package/dist/utils/jsonschema/schemaData.js.map +1 -0
  178. package/package.json +2 -2
  179. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.d.ts.map +0 -1
  180. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +0 -1
  181. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +0 -1
  182. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +0 -1
@@ -1,48 +1,31 @@
1
1
  import { useGetDataAccessRequestForUpdate as e } from "../../../../synapse-queries/dataaccess/useAccessRequirements.js";
2
2
  import "../../../../synapse-queries/index.js";
3
- import t from "../../../IconSvg/IconSvg.js";
3
+ import { DialogBaseTitle as t } from "../../../DialogBase.js";
4
4
  import { longFieldLabelSx as n } from "../styles.js";
5
5
  import r from "../ManagedACTAccessRequirementFormWikiWrapper.js";
6
6
  import { ReviewCollaboratorsAndSigningOfficialAccordion as i } from "../ReviewCollaboratorsAndSigningOfficialAccordion.js";
7
- import { Box as a, Button as o, DialogActions as s, DialogContent as c, DialogTitle as l, IconButton as u, Stack as d, Typography as f } from "@mui/material";
8
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
7
+ import { Box as a, Button as o, DialogActions as s, DialogContent as c, Typography as l } from "@mui/material";
8
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
9
9
  //#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.tsx
10
- function g(g) {
11
- let { managedACTAccessRequirement: _, onHide: v, onBackClicked: y, onCreateDuc: b, hideWiki: x } = g, { data: S, isLoading: C } = e(String(_.id), {
10
+ function p(p) {
11
+ let { managedACTAccessRequirement: m, onHide: h, onBackClicked: g, onCreateDuc: _ } = p, { data: v, isLoading: y } = e(String(m.id), {
12
12
  staleTime: Infinity,
13
13
  throwOnError: !0
14
- }), w = S?.accessorChanges ?? [], T = S?.principalInvestigator, E = S?.signingOfficial;
15
- return /* @__PURE__ */ h(p, { children: [
16
- /* @__PURE__ */ m(l, { children: /* @__PURE__ */ h(d, {
17
- direction: "row",
18
- sx: {
19
- alignItems: "center",
20
- gap: "5px"
21
- },
22
- children: [
23
- "Request Access",
24
- /* @__PURE__ */ m(a, { sx: { flexGrow: 1 } }),
25
- /* @__PURE__ */ m(u, {
26
- "aria-label": "Close",
27
- onClick: v,
28
- children: /* @__PURE__ */ m(t, {
29
- icon: "close",
30
- wrap: !1,
31
- sx: { color: "grey.700" }
32
- })
33
- })
34
- ]
35
- }) }),
36
- /* @__PURE__ */ m(c, { children: /* @__PURE__ */ m(r, {
37
- managedACTAccessRequirementId: String(_.id),
38
- hideWiki: x,
39
- children: /* @__PURE__ */ h(a, { children: [
40
- /* @__PURE__ */ m(f, {
14
+ }), b = v?.accessorChanges ?? [], x = v?.principalInvestigator, S = v?.signingOfficial;
15
+ return /* @__PURE__ */ f(u, { children: [
16
+ /* @__PURE__ */ d(t, {
17
+ title: "Request Access",
18
+ onCancel: h
19
+ }),
20
+ /* @__PURE__ */ d(c, { children: /* @__PURE__ */ d(r, {
21
+ accessRequirement: m,
22
+ children: /* @__PURE__ */ f(a, { children: [
23
+ /* @__PURE__ */ d(l, {
41
24
  variant: "headline3",
42
25
  sx: { mb: 2 },
43
26
  children: "Sign a Data Use Certificate (DUC)"
44
27
  }),
45
- /* @__PURE__ */ m(f, {
28
+ /* @__PURE__ */ d(l, {
46
29
  variant: "body1",
47
30
  sx: {
48
31
  ...n,
@@ -50,7 +33,7 @@ function g(g) {
50
33
  },
51
34
  children: "The DUC may be signed electronically."
52
35
  }),
53
- /* @__PURE__ */ m(f, {
36
+ /* @__PURE__ */ d(l, {
54
37
  variant: "body1",
55
38
  sx: {
56
39
  ...n,
@@ -58,7 +41,7 @@ function g(g) {
58
41
  },
59
42
  children: "Please verify the information of each data requester listed in the previous step. Ensure all email addresses are accurate. You can click the BACK button, below, to modify your list of collaborators and Signing Official if necessary."
60
43
  }),
61
- /* @__PURE__ */ m(f, {
44
+ /* @__PURE__ */ d(l, {
62
45
  variant: "body1",
63
46
  sx: {
64
47
  ...n,
@@ -66,7 +49,7 @@ function g(g) {
66
49
  },
67
50
  children: "If any information is incorrect, the request will be rejected."
68
51
  }),
69
- /* @__PURE__ */ h(f, {
52
+ /* @__PURE__ */ f(l, {
70
53
  variant: "body1",
71
54
  sx: {
72
55
  ...n,
@@ -74,40 +57,40 @@ function g(g) {
74
57
  },
75
58
  children: [
76
59
  "Click ",
77
- /* @__PURE__ */ m("strong", { children: "Create a DUC" }),
60
+ /* @__PURE__ */ d("strong", { children: "Create a DUC" }),
78
61
  " to generate a document and review it before sending it to your collaborators, PI, and Signing Official."
79
62
  ]
80
63
  }),
81
- /* @__PURE__ */ m(i, {
82
- accessorChanges: w,
83
- principalInvestigator: T,
84
- signingOfficial: E,
85
- isLoading: C
64
+ /* @__PURE__ */ d(i, {
65
+ accessorChanges: b,
66
+ principalInvestigator: x,
67
+ signingOfficial: S,
68
+ isLoading: y
86
69
  })
87
70
  ] })
88
71
  }) }),
89
- /* @__PURE__ */ h(s, { children: [
90
- /* @__PURE__ */ m(o, {
72
+ /* @__PURE__ */ f(s, { children: [
73
+ /* @__PURE__ */ d(o, {
91
74
  variant: "outlined",
92
- onClick: y,
75
+ onClick: g,
93
76
  children: "Back"
94
77
  }),
95
- /* @__PURE__ */ m(a, { sx: { flexGrow: 1 } }),
96
- /* @__PURE__ */ m(o, {
78
+ /* @__PURE__ */ d(a, { sx: { flexGrow: 1 } }),
79
+ /* @__PURE__ */ d(o, {
97
80
  variant: "outlined",
98
- onClick: v,
81
+ onClick: h,
99
82
  children: "Cancel"
100
83
  }),
101
- /* @__PURE__ */ m(o, {
84
+ /* @__PURE__ */ d(o, {
102
85
  variant: "contained",
103
- disabled: C,
104
- onClick: b,
86
+ disabled: y,
87
+ onClick: _,
105
88
  children: "Create a DUC"
106
89
  })
107
90
  ] })
108
91
  ] });
109
92
  }
110
93
  //#endregion
111
- export { g as default };
94
+ export { p as default };
112
95
 
113
96
  //# sourceMappingURL=ReviewDucStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewDucStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.tsx"],"sourcesContent":["import { useGetDataAccessRequestForUpdate } from '@/synapse-queries'\nimport {\n Box,\n Button,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Stack,\n Typography,\n} from '@mui/material'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport ManagedACTAccessRequirementFormWikiWrapper from '../ManagedACTAccessRequirementFormWikiWrapper'\nimport { ReviewCollaboratorsAndSigningOfficialAccordion } from '../ReviewCollaboratorsAndSigningOfficialAccordion'\nimport { longFieldLabelSx } from '../styles'\nimport { RequestFlowAccessRequirement } from '../requestFlowTypes'\n\nexport type ReviewDucStepProps = {\n managedACTAccessRequirement: RequestFlowAccessRequirement\n onHide: () => void\n onBackClicked: () => void\n /**\n * Called when the user clicks \"Create a DUC\". The parent advances to the eDUC preview step\n * (PORTALS-4377), where the generated document is displayed for review before signing.\n */\n onCreateDuc: () => void\n /** Hides the access requirement wiki that is otherwise shown beside the step. */\n hideWiki?: boolean\n}\n\n/**\n * Wizard step shown after accessors/files (PORTALS-4375) and before the eDUC preview (PORTALS-4377).\n * Lets the user confirm their collaborators, PI, and Signing Official before generating the DUC.\n */\nexport default function ReviewDucStep(props: ReviewDucStepProps) {\n const {\n managedACTAccessRequirement,\n onHide,\n onBackClicked,\n onCreateDuc,\n hideWiki,\n } = props\n\n const { data: dataAccessRequest, isLoading } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const accessorChanges = dataAccessRequest?.accessorChanges ?? []\n const pi = dataAccessRequest?.principalInvestigator\n const so = dataAccessRequest?.signingOfficial\n\n return (\n <>\n <DialogTitle>\n <Stack direction=\"row\" sx={{ alignItems: 'center', gap: '5px' }}>\n Request Access\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n <DialogContent>\n <ManagedACTAccessRequirementFormWikiWrapper\n managedACTAccessRequirementId={String(managedACTAccessRequirement.id)}\n hideWiki={hideWiki}\n >\n <Box>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n The DUC may be signed electronically.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Please verify the information of each data requester listed in the\n previous step. Ensure all email addresses are accurate. You can\n click the BACK button, below, to modify your list of collaborators\n and Signing Official if necessary.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n If any information is incorrect, the request will be rejected.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n Click <strong>Create a DUC</strong> to generate a document and\n review it before sending it to your collaborators, PI, and Signing\n Official.\n </Typography>\n\n <ReviewCollaboratorsAndSigningOfficialAccordion\n accessorChanges={accessorChanges}\n principalInvestigator={pi}\n signingOfficial={so}\n isLoading={isLoading}\n />\n </Box>\n </ManagedACTAccessRequirementFormWikiWrapper>\n </DialogContent>\n <DialogActions>\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n <Button variant={'outlined'} onClick={onHide}>\n Cancel\n </Button>\n <Button\n variant={'contained'}\n disabled={isLoading}\n onClick={onCreateDuc}\n >\n Create a DUC\n </Button>\n </DialogActions>\n </>\n )\n}\n"],"mappings":";;;;;;;;;AAkCA,SAAwB,EAAc,GAA2B;CAC/D,IAAM,EACJ,gCACA,WACA,kBACA,gBACA,gBACE,GAEE,EAAE,MAAM,GAAmB,iBAC/B,EAAiC,OAAO,EAA4B,EAAE,GAAG;EACvE,WAAW;EACX,cAAc;CAChB,CAAC,GAEG,IAAkB,GAAmB,mBAAmB,CAAC,GACzD,IAAK,GAAmB,uBACxB,IAAK,GAAmB;CAE9B,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAO,WAAU;GAAM,IAAI;IAAE,YAAY;IAAU,KAAK;GAAM;aAA9D;IAAiE;IAE/D,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;IAC3B,kBAAC,GAAD;KAAY,cAAY;KAAS,SAAS;eACxC,kBAAC,GAAD;MAAS,MAAM;MAAS,MAAM;MAAO,IAAI,EAAE,OAAO,WAAW;KAAI,CAAA;IACvD,CAAA;GACP;KACI,CAAA;EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACE,+BAA+B,OAAO,EAA4B,EAAE;GAC1D;aAEV,kBAAC,GAAD,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAS;KAAa,IAAI,EAAE,IAAI,EAAE;eAAG;IAErC,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAEtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAKtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAEtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAA/D;MAAkE;MAC1D,kBAAC,UAAD,EAAA,UAAQ,eAAoB,CAAA;MAAC;KAGzB;;IAEZ,kBAAC,GAAD;KACmB;KACjB,uBAAuB;KACvB,iBAAiB;KACN;IACZ,CAAA;GACE,EAAA,CAAA;EACqC,CAAA,EAC/B,CAAA;EACf,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAQ,SAAS;IAAY,SAAS;cAAe;GAE7C,CAAA;GACR,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;GAC3B,kBAAC,GAAD;IAAQ,SAAS;IAAY,SAAS;cAAQ;GAEtC,CAAA;GACR,kBAAC,GAAD;IACE,SAAS;IACT,UAAU;IACV,SAAS;cACV;GAEO,CAAA;EACK,EAAA,CAAA;CACf,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"ReviewDucStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.tsx"],"sourcesContent":["import { useGetDataAccessRequestForUpdate } from '@/synapse-queries'\nimport {\n Box,\n Button,\n DialogActions,\n DialogContent,\n Typography,\n} from '@mui/material'\nimport { DialogBaseTitle } from '../../../DialogBase'\nimport ManagedACTAccessRequirementFormWikiWrapper from '../ManagedACTAccessRequirementFormWikiWrapper'\nimport { ReviewCollaboratorsAndSigningOfficialAccordion } from '../ReviewCollaboratorsAndSigningOfficialAccordion'\nimport { longFieldLabelSx } from '../styles'\nimport { RequestFlowAccessRequirement } from '../requestFlowTypes'\n\nexport type ReviewDucStepProps = {\n managedACTAccessRequirement: RequestFlowAccessRequirement\n onHide: () => void\n onBackClicked: () => void\n /**\n * Called when the user clicks \"Create a DUC\". The parent advances to the eDUC preview step\n * (PORTALS-4377), where the generated document is displayed for review before signing.\n */\n onCreateDuc: () => void\n}\n\n/**\n * Wizard step shown after accessors/files (PORTALS-4375) and before the eDUC preview (PORTALS-4377).\n * Lets the user confirm their collaborators, PI, and Signing Official before generating the DUC.\n */\nexport default function ReviewDucStep(props: ReviewDucStepProps) {\n const { managedACTAccessRequirement, onHide, onBackClicked, onCreateDuc } =\n props\n\n const { data: dataAccessRequest, isLoading } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const accessorChanges = dataAccessRequest?.accessorChanges ?? []\n const pi = dataAccessRequest?.principalInvestigator\n const so = dataAccessRequest?.signingOfficial\n\n return (\n <>\n <DialogBaseTitle title={'Request Access'} onCancel={onHide} />\n <DialogContent>\n <ManagedACTAccessRequirementFormWikiWrapper\n accessRequirement={managedACTAccessRequirement}\n >\n <Box>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n The DUC may be signed electronically.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Please verify the information of each data requester listed in the\n previous step. Ensure all email addresses are accurate. You can\n click the BACK button, below, to modify your list of collaborators\n and Signing Official if necessary.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n If any information is incorrect, the request will be rejected.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n Click <strong>Create a DUC</strong> to generate a document and\n review it before sending it to your collaborators, PI, and Signing\n Official.\n </Typography>\n\n <ReviewCollaboratorsAndSigningOfficialAccordion\n accessorChanges={accessorChanges}\n principalInvestigator={pi}\n signingOfficial={so}\n isLoading={isLoading}\n />\n </Box>\n </ManagedACTAccessRequirementFormWikiWrapper>\n </DialogContent>\n <DialogActions>\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n <Button variant={'outlined'} onClick={onHide}>\n Cancel\n </Button>\n <Button\n variant={'contained'}\n disabled={isLoading}\n onClick={onCreateDuc}\n >\n Create a DUC\n </Button>\n </DialogActions>\n </>\n )\n}\n"],"mappings":";;;;;;;;;AA6BA,SAAwB,EAAc,GAA2B;CAC/D,IAAM,EAAE,gCAA6B,WAAQ,kBAAe,mBAC1D,GAEI,EAAE,MAAM,GAAmB,iBAC/B,EAAiC,OAAO,EAA4B,EAAE,GAAG;EACvE,WAAW;EACX,cAAc;CAChB,CAAC,GAEG,IAAkB,GAAmB,mBAAmB,CAAC,GACzD,IAAK,GAAmB,uBACxB,IAAK,GAAmB;CAE9B,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD;GAAiB,OAAO;GAAkB,UAAU;EAAS,CAAA;EAC7D,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACE,mBAAmB;aAEnB,kBAAC,GAAD,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAS;KAAa,IAAI,EAAE,IAAI,EAAE;eAAG;IAErC,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAEtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAKtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAAG;IAEtD,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI;MAAE,GAAG;MAAkB,IAAI;KAAE;eAA/D;MAAkE;MAC1D,kBAAC,UAAD,EAAA,UAAQ,eAAoB,CAAA;MAAC;KAGzB;;IAEZ,kBAAC,GAAD;KACmB;KACjB,uBAAuB;KACvB,iBAAiB;KACN;IACZ,CAAA;GACE,EAAA,CAAA;EACqC,CAAA,EAC/B,CAAA;EACf,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAQ,SAAS;IAAY,SAAS;cAAe;GAE7C,CAAA;GACR,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;GAC3B,kBAAC,GAAD;IAAQ,SAAS;IAAY,SAAS;cAAQ;GAEtC,CAAA;GACR,kBAAC,GAAD;IACE,SAAS;IACT,UAAU;IACV,SAAS;cACV;GAEO,CAAA;EACK,EAAA,CAAA;CACf,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureStatusStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAEL,sBAAsB,EACvB,MAAM,iCAAiC,CAAA;AAKxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAYlE,MAAM,MAAM,wBAAwB,GAAG;IACrC,2BAA2B,EAAE,4BAA4B,CAAA;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAkQ1E"}
1
+ {"version":3,"file":"SignatureStatusStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"names":[],"mappings":"AAkCA,OAAO,EAEL,sBAAsB,EACvB,MAAM,iCAAiC,CAAA;AAKxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAYlE,MAAM,MAAM,wBAAwB,GAAG;IACrC,2BAA2B,EAAE,4BAA4B,CAAA;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,sBAAsB,CAAA;IACnC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CA0P1E"}
@@ -2,20 +2,20 @@ import { PRODUCTION_ENDPOINT_CONFIG as e } from "../../../../utils/functions/get
2
2
  import t from "../../../../synapse-client/index.js";
3
3
  import { useSubmitDataAccessRequest as n } from "../../../../synapse-queries/dataaccess/useDataAccessSubmission.js";
4
4
  import { useGetDataAccessRequestForUpdate as r, useUpdateDataAccessRequest as i } from "../../../../synapse-queries/dataaccess/useAccessRequirements.js";
5
- import { useGetDataAccessRequestPreview as a, useGetDataAccessRequestSignatureStatus as ee, useGetDataAccessRequestSignatureUpdatable as te, useGetDataAccessRequestSignedFileHandleId as ne } from "../../../../synapse-queries/dataaccess/useEDuc.js";
5
+ import { useGetDataAccessRequestPreview as ee, useGetDataAccessRequestSignatureStatus as te, useGetDataAccessRequestSignatureUpdatable as ne, useGetDataAccessRequestSignedFileHandleId as a } from "../../../../synapse-queries/dataaccess/useEDuc.js";
6
6
  import "../../../../synapse-queries/index.js";
7
- import o from "../../../IconSvg/IconSvg.js";
7
+ import { DialogBaseTitle as o } from "../../../DialogBase.js";
8
8
  import { formatDate as s } from "../../../../utils/functions/DateFormatter.js";
9
9
  import { longFieldLabelSx as c } from "../styles.js";
10
10
  import { useState as l } from "react";
11
- import { Alert as u, Box as d, Button as f, DialogActions as re, DialogContent as p, DialogTitle as m, IconButton as h, Link as g, Skeleton as _, Stack as v, Typography as y } from "@mui/material";
12
- import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
13
- import { FileHandleAssociateType as C } from "@sage-bionetworks/synapse-types";
14
- import { EDucSignerStatusStatusEnum as w } from "@sage-bionetworks/synapse-client";
15
- import { CheckCircleOutline as T, HourglassEmpty as ie, OpenInNew as E, Refresh as D } from "@mui/icons-material";
16
- import O from "dayjs";
11
+ import { Alert as u, Box as d, Button as f, DialogActions as p, DialogContent as m, Link as h, Skeleton as g, Stack as re, Typography as _ } from "@mui/material";
12
+ import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
13
+ import { FileHandleAssociateType as x } from "@sage-bionetworks/synapse-types";
14
+ import { EDucSignerStatusStatusEnum as S } from "@sage-bionetworks/synapse-client";
15
+ import { CheckCircleOutline as C, HourglassEmpty as w, OpenInNew as T, Refresh as E } from "@mui/icons-material";
16
+ import D from "dayjs";
17
17
  //#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx
18
- var k = {
18
+ var O = {
19
19
  mx: 0,
20
20
  my: .5,
21
21
  pl: 1.5,
@@ -23,58 +23,42 @@ var k = {
23
23
  borderColor: "grey.300",
24
24
  color: "grey.700"
25
25
  };
26
- function A(e) {
27
- let { managedACTAccessRequirement: s, subjectId: w, subjectType: O, onHide: k, onBackClicked: A, onSubmissionCreated: j, viewDucHrefOverride: M } = e, { data: N, isLoading: oe } = r(String(s.id), {
26
+ function k(e) {
27
+ let { managedACTAccessRequirement: s, subjectId: S, subjectType: D, onHide: O, onBackClicked: k, onSubmissionCreated: A, viewDucHrefOverride: j } = e, { data: M, isLoading: ae } = r(String(s.id), {
28
28
  staleTime: Infinity,
29
29
  throwOnError: !0
30
- }), P = N?.id ?? "", { data: F, isLoading: I, isRefetching: L, error: R, refetch: z } = ee(P, { enabled: !!P }), B = F?.signerStatus ?? [], V = B.filter((e) => e.status === "done").length, H = B.length, U = H > 0 && V === H, W = B.filter((e) => e.status !== "done"), { data: G } = te(P, { enabled: !!P && !U }), { data: K } = a(P, { enabled: !!P && !M }), q = M ?? (K?.fileHandleId && P ? t.getPortalFileHandleServletUrl(K.fileHandleId, P, C.DataAccessRequestAttachment) : void 0), { data: J } = ne(P, { enabled: !!P && U }), [Y, X] = l(), [Z, Q] = l(), { mutateAsync: se, isPending: ce } = i({ onError: (e) => X(e.reason) }), { mutate: le, isPending: $ } = n({
31
- onSuccess: (e) => j(e.submissionId),
32
- onError: (e) => Q(e.reason)
33
- }), ue = oe || I || L || !N || !U || !J?.fileHandleId || ce || $, de = async () => {
34
- if (!N || !J?.fileHandleId) return;
35
- X(void 0), Q(void 0);
36
- let e = await se({
37
- ...N,
38
- ducFileHandleId: J.fileHandleId
30
+ }), N = M?.id ?? "", { data: P, isLoading: F, isRefetching: I, error: L, refetch: R } = te(N, { enabled: !!N }), z = P?.signerStatus ?? [], B = z.filter((e) => e.status === "done").length, V = z.length, H = V > 0 && B === V, U = z.filter((e) => e.status !== "done"), { data: W } = ne(N, { enabled: !!N && !H }), { data: G } = ee(N, { enabled: !!N && !j }), K = j ?? (G?.fileHandleId && N ? t.getPortalFileHandleServletUrl(G.fileHandleId, N, x.DataAccessRequestAttachment) : void 0), { data: q } = a(N, { enabled: !!N && H }), [J, Y] = l(), [X, Z] = l(), { mutateAsync: oe, isPending: se } = i({ onError: (e) => Y(e.reason) }), { mutate: ce, isPending: Q } = n({
31
+ onSuccess: (e) => A(e.submissionId),
32
+ onError: (e) => Z(e.reason)
33
+ }), le = ae || F || I || !M || !H || !q?.fileHandleId || se || Q, $ = async () => {
34
+ if (!M || !q?.fileHandleId) return;
35
+ Y(void 0), Z(void 0);
36
+ let e = await oe({
37
+ ...M,
38
+ ducFileHandleId: q.fileHandleId
39
39
  }).catch(() => null);
40
- e && le({
40
+ e && ce({
41
41
  request: {
42
42
  requestId: e.id,
43
43
  requestEtag: e.etag,
44
- subjectId: w,
45
- subjectType: O
44
+ subjectId: S,
45
+ subjectType: D
46
46
  },
47
47
  accessRequirementId: String(s.id)
48
48
  });
49
49
  };
50
- return /* @__PURE__ */ S(b, { children: [
51
- /* @__PURE__ */ x(m, { children: /* @__PURE__ */ S(v, {
52
- direction: "row",
53
- sx: {
54
- alignItems: "center",
55
- gap: "5px"
56
- },
57
- children: [
58
- "Request Access",
59
- /* @__PURE__ */ x(d, { sx: { flexGrow: 1 } }),
60
- /* @__PURE__ */ x(h, {
61
- "aria-label": "Close",
62
- onClick: k,
63
- children: /* @__PURE__ */ x(o, {
64
- icon: "close",
65
- wrap: !1,
66
- sx: { color: "grey.700" }
67
- })
68
- })
69
- ]
70
- }) }),
71
- /* @__PURE__ */ S(p, { children: [
72
- /* @__PURE__ */ x(y, {
50
+ return /* @__PURE__ */ b(v, { children: [
51
+ /* @__PURE__ */ y(o, {
52
+ title: "Request Access",
53
+ onCancel: O
54
+ }),
55
+ /* @__PURE__ */ b(m, { children: [
56
+ /* @__PURE__ */ y(_, {
73
57
  variant: "headline3",
74
58
  sx: { mb: 2 },
75
59
  children: "Sign a Data Use Certificate (DUC)"
76
60
  }),
77
- /* @__PURE__ */ x(y, {
61
+ /* @__PURE__ */ y(_, {
78
62
  variant: "body1",
79
63
  sx: {
80
64
  ...c,
@@ -82,7 +66,7 @@ function A(e) {
82
66
  },
83
67
  children: "Your DUC has been emailed to your Collaborators. Once all signatures (including the Signing Official) have been collected, you can submit the Data Access Request."
84
68
  }),
85
- A && F && !U && G && /* @__PURE__ */ S(y, {
69
+ k && P && !H && W && /* @__PURE__ */ b(_, {
86
70
  variant: "body1",
87
71
  sx: {
88
72
  ...c,
@@ -91,26 +75,26 @@ function A(e) {
91
75
  children: [
92
76
  "You can update the list of Collaborators by pressing",
93
77
  " ",
94
- /* @__PURE__ */ x("strong", { children: "Back" }),
78
+ /* @__PURE__ */ y("strong", { children: "Back" }),
95
79
  ". Your changes will be applied to this signature request, so anyone who has already signed will not need to sign again."
96
80
  ]
97
81
  }),
98
- I && /* @__PURE__ */ x(_, {
82
+ F && /* @__PURE__ */ y(g, {
99
83
  variant: "rectangular",
100
84
  width: "100%",
101
85
  height: 120,
102
86
  "data-testid": "SignatureStatusStep-loading"
103
87
  }),
104
- R && /* @__PURE__ */ S(u, {
88
+ L && /* @__PURE__ */ b(u, {
105
89
  severity: "error",
106
90
  children: [
107
- /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't load the current signature status." }),
108
- /* @__PURE__ */ x("br", {}),
109
- R.reason
91
+ /* @__PURE__ */ y("strong", { children: "Sorry, we couldn't load the current signature status." }),
92
+ /* @__PURE__ */ y("br", {}),
93
+ L.reason
110
94
  ]
111
95
  }),
112
- !I && !R && F && /* @__PURE__ */ S(b, { children: [
113
- /* @__PURE__ */ S(v, {
96
+ !F && !L && P && /* @__PURE__ */ b(v, { children: [
97
+ /* @__PURE__ */ b(re, {
114
98
  direction: "row",
115
99
  sx: {
116
100
  alignItems: "center",
@@ -118,15 +102,15 @@ function A(e) {
118
102
  mb: 1
119
103
  },
120
104
  children: [
121
- U ? /* @__PURE__ */ x(T, { color: "success" }) : /* @__PURE__ */ x(ie, { sx: { color: "grey.700" } }),
122
- /* @__PURE__ */ x(y, {
105
+ H ? /* @__PURE__ */ y(C, { color: "success" }) : /* @__PURE__ */ y(w, { sx: { color: "grey.700" } }),
106
+ /* @__PURE__ */ y(_, {
123
107
  variant: "body1",
124
108
  sx: { fontWeight: 700 },
125
- children: U ? "All signatures collected." : `${V} out of ${H} signatures collected.`
109
+ children: H ? "All signatures collected." : `${B} out of ${V} signatures collected.`
126
110
  }),
127
- /* @__PURE__ */ x(d, { sx: { flexGrow: 1 } }),
128
- q && /* @__PURE__ */ S(g, {
129
- href: q,
111
+ /* @__PURE__ */ y(d, { sx: { flexGrow: 1 } }),
112
+ K && /* @__PURE__ */ b(h, {
113
+ href: K,
130
114
  target: "_blank",
131
115
  rel: "noopener",
132
116
  sx: {
@@ -134,93 +118,93 @@ function A(e) {
134
118
  alignItems: "center",
135
119
  gap: .5
136
120
  },
137
- children: ["View DUC", /* @__PURE__ */ x(E, { fontSize: "small" })]
121
+ children: ["View DUC", /* @__PURE__ */ y(T, { fontSize: "small" })]
138
122
  })
139
123
  ]
140
124
  }),
141
- W.length > 0 && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(y, {
125
+ U.length > 0 && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(_, {
142
126
  variant: "body1",
143
127
  sx: { mb: 1 },
144
128
  children: "You're still waiting for signatures from"
145
- }), /* @__PURE__ */ x(d, {
129
+ }), /* @__PURE__ */ y(d, {
146
130
  component: "ul",
147
131
  sx: {
148
132
  mt: 0,
149
133
  mb: 2,
150
134
  pl: 3
151
135
  },
152
- children: W.map((e, t) => /* @__PURE__ */ x("li", { children: /* @__PURE__ */ x(ae, { signer: e }) }, e.userId ?? `${e.name}-${t}`))
136
+ children: U.map((e, t) => /* @__PURE__ */ y("li", { children: /* @__PURE__ */ y(ie, { signer: e }) }, e.userId ?? `${e.name}-${t}`))
153
137
  })] }),
154
- /* @__PURE__ */ x(f, {
138
+ /* @__PURE__ */ y(f, {
155
139
  variant: "outlined",
156
- startIcon: /* @__PURE__ */ x(D, {}),
157
- loading: L,
140
+ startIcon: /* @__PURE__ */ y(E, {}),
141
+ loading: I,
158
142
  onClick: () => {
159
- z();
143
+ R();
160
144
  },
161
145
  children: "Refresh"
162
146
  })
163
147
  ] }),
164
- Y && /* @__PURE__ */ S(u, {
148
+ J && /* @__PURE__ */ b(u, {
165
149
  severity: "error",
166
150
  sx: { mt: 2 },
167
151
  children: [
168
- /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't save your change." }),
169
- /* @__PURE__ */ x("br", {}),
170
- Y
152
+ /* @__PURE__ */ y("strong", { children: "Sorry, we couldn't save your change." }),
153
+ /* @__PURE__ */ y("br", {}),
154
+ J
171
155
  ]
172
156
  }),
173
- Z && /* @__PURE__ */ S(u, {
157
+ X && /* @__PURE__ */ b(u, {
174
158
  severity: "error",
175
159
  sx: { mt: 2 },
176
160
  children: [
177
- /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't submit your request." }),
178
- /* @__PURE__ */ x("br", {}),
179
- Z
161
+ /* @__PURE__ */ y("strong", { children: "Sorry, we couldn't submit your request." }),
162
+ /* @__PURE__ */ y("br", {}),
163
+ X
180
164
  ]
181
165
  })
182
166
  ] }),
183
- /* @__PURE__ */ S(re, { children: [
184
- A && /* @__PURE__ */ x(f, {
167
+ /* @__PURE__ */ b(p, { children: [
168
+ k && /* @__PURE__ */ y(f, {
185
169
  variant: "outlined",
186
- onClick: A,
170
+ onClick: k,
187
171
  children: "Back"
188
172
  }),
189
- /* @__PURE__ */ x(d, { sx: { flexGrow: 1 } }),
190
- /* @__PURE__ */ x(f, {
173
+ /* @__PURE__ */ y(d, { sx: { flexGrow: 1 } }),
174
+ /* @__PURE__ */ y(f, {
191
175
  variant: "contained",
192
- disabled: ue,
193
- loading: $,
176
+ disabled: le,
177
+ loading: Q,
194
178
  onClick: () => {
195
- de();
179
+ $();
196
180
  },
197
181
  children: "Submit"
198
182
  })
199
183
  ] })
200
184
  ] });
201
185
  }
202
- function j(e) {
203
- return !e.status || e.status === w.pending || e.status === w.done ? "" : e.status === w.declined && e.declinedOn ? ` (declined ${s(O(e.declinedOn))})` : ` (${e.status})`;
186
+ function A(e) {
187
+ return !e.status || e.status === S.pending || e.status === S.done ? "" : e.status === S.declined && e.declinedOn ? ` (declined ${s(D(e.declinedOn))})` : ` (${e.status})`;
204
188
  }
205
- function ae(t) {
189
+ function ie(t) {
206
190
  let { signer: n } = t, r = n.name ?? "Unnamed signer";
207
- return /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ S(y, {
191
+ return /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ b(_, {
208
192
  variant: "body1",
209
193
  component: "span",
210
- children: [n.userId ? /* @__PURE__ */ x(g, {
194
+ children: [n.userId ? /* @__PURE__ */ y(h, {
211
195
  href: `${e.PORTAL}Profile:${n.userId}`,
212
196
  target: "_blank",
213
197
  rel: "noopener",
214
198
  children: r
215
- }) : /* @__PURE__ */ x(b, { children: r }), j(n)]
216
- }), n.declinedReason && /* @__PURE__ */ x(y, {
199
+ }) : /* @__PURE__ */ y(v, { children: r }), A(n)]
200
+ }), n.declinedReason && /* @__PURE__ */ y(_, {
217
201
  variant: "body1",
218
202
  component: "blockquote",
219
- sx: k,
203
+ sx: O,
220
204
  children: n.declinedReason
221
205
  })] });
222
206
  }
223
207
  //#endregion
224
- export { A as default };
208
+ export { k as default };
225
209
 
226
210
  //# sourceMappingURL=SignatureStatusStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureStatusStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"sourcesContent":["import {\n useGetDataAccessRequestForUpdate,\n useGetDataAccessRequestPreview,\n useGetDataAccessRequestSignatureStatus,\n useGetDataAccessRequestSignatureUpdatable,\n useGetDataAccessRequestSignedFileHandleId,\n useSubmitDataAccessRequest,\n useUpdateDataAccessRequest,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n CheckCircleOutline,\n HourglassEmpty,\n OpenInNew,\n Refresh,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Link,\n Skeleton,\n Stack,\n SxProps,\n Typography,\n} from '@mui/material'\nimport {\n EDucSignerStatus,\n EDucSignerStatusStatusEnum,\n} from '@sage-bionetworks/synapse-client'\nimport {\n FileHandleAssociateType,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useState } from 'react'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { longFieldLabelSx } from '../styles'\nimport { RequestFlowAccessRequirement } from '../requestFlowTypes'\n\n/** Browser defaults indent a blockquote far too much for a nested list item. */\nconst declinedReasonSx: SxProps = {\n mx: 0,\n my: 0.5,\n pl: 1.5,\n borderLeft: '3px solid',\n borderColor: 'grey.300',\n color: 'grey.700',\n}\n\nexport type SignatureStatusStepProps = {\n managedACTAccessRequirement: RequestFlowAccessRequirement\n subjectId: string\n subjectType: RestrictableObjectType\n onHide: () => void\n /**\n * Called when the user clicks the Back button. When omitted, the Back button is hidden —\n * used when the step is reached via direct entry (e.g. a deep-link route) rather than\n * through the wizard flow, so there is no meaningful previous step to return to.\n */\n onBackClicked?: () => void\n onSubmissionCreated: (submissionId: string) => void\n /**\n * Optional href override for the \"View DUC\" link. When set, the preview file handle fetch\n * is skipped and this URL is used directly. Used by stories and tests where the portal\n * servlet is not available.\n */\n viewDucHrefOverride?: string\n}\n\n/**\n * Wizard step shown after the user has routed the eDUC for electronic signature\n * (PORTALS-4380). Polls the DocuSign envelope status, lists the pending signers,\n * and enables submission once every signer has signed.\n */\nexport default function SignatureStatusStep(props: SignatureStatusStepProps) {\n const {\n managedACTAccessRequirement,\n subjectId,\n subjectType,\n onHide,\n onBackClicked,\n onSubmissionCreated,\n viewDucHrefOverride,\n } = props\n\n const { data: dataAccessRequest, isLoading: isLoadingDar } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const requestId = dataAccessRequest?.id ?? ''\n\n const {\n data: signatureStatus,\n isLoading: isLoadingStatus,\n isRefetching: isRefetchingStatus,\n error: statusError,\n refetch: refetchStatus,\n } = useGetDataAccessRequestSignatureStatus(requestId, {\n enabled: Boolean(requestId),\n })\n\n const signers: EDucSignerStatus[] = signatureStatus?.signerStatus ?? []\n const collectedCount = signers.filter(s => s.status === 'done').length\n const totalCount = signers.length\n const allCollected = totalCount > 0 && collectedCount === totalCount\n const outstandingSigners = signers.filter(s => s.status !== 'done')\n\n // Whether going Back could still deliver edits to this envelope is the server's call -- it knows\n // every state DocuSign will refuse to correct. Only the copy below depends on it, so a stale or\n // failed answer simply withholds the guidance rather than blocking the step.\n const { data: isEnvelopeUpdatable } =\n useGetDataAccessRequestSignatureUpdatable(requestId, {\n enabled: Boolean(requestId) && !allCollected,\n })\n\n const { data: previewFileHandle } = useGetDataAccessRequestPreview(\n requestId,\n { enabled: Boolean(requestId) && !viewDucHrefOverride },\n )\n const viewDucHref =\n viewDucHrefOverride ??\n (previewFileHandle?.fileHandleId && requestId\n ? SynapseClient.getPortalFileHandleServletUrl(\n previewFileHandle.fileHandleId,\n requestId,\n FileHandleAssociateType.DataAccessRequestAttachment,\n )\n : undefined)\n\n const { data: signedFileHandle } = useGetDataAccessRequestSignedFileHandleId(\n requestId,\n { enabled: Boolean(requestId) && allCollected },\n )\n\n const [updateDarError, setUpdateDarError] = useState<string | undefined>()\n const [submitDarError, setSubmitDarError] = useState<string | undefined>()\n\n const { mutateAsync: updateDarAsync, isPending: isUpdating } =\n useUpdateDataAccessRequest({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutate: submit, isPending: isSubmitting } =\n useSubmitDataAccessRequest({\n onSuccess: submission => onSubmissionCreated(submission.submissionId),\n onError: e => setSubmitDarError(e.reason),\n })\n\n const isSubmitDisabled =\n isLoadingDar ||\n isLoadingStatus ||\n isRefetchingStatus ||\n !dataAccessRequest ||\n !allCollected ||\n !signedFileHandle?.fileHandleId ||\n isUpdating ||\n isSubmitting\n\n const handleSubmit = async () => {\n if (!dataAccessRequest || !signedFileHandle?.fileHandleId) return\n setUpdateDarError(undefined)\n setSubmitDarError(undefined)\n const updated = await updateDarAsync({\n ...dataAccessRequest,\n ducFileHandleId: signedFileHandle.fileHandleId,\n }).catch(() => null)\n if (!updated) return\n submit({\n request: {\n requestId: updated.id,\n requestEtag: updated.etag,\n subjectId,\n subjectType,\n },\n accessRequirementId: String(managedACTAccessRequirement.id),\n })\n }\n\n return (\n <>\n <DialogTitle>\n <Stack direction=\"row\" sx={{ alignItems: 'center', gap: '5px' }}>\n Request Access\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Your DUC has been emailed to your Collaborators. Once all signatures\n (including the Signing Official) have been collected, you can submit\n the Data Access Request.\n </Typography>\n {/* Editing is only worth offering while signatures are still outstanding -- once every\n signer is done the user should simply submit. Withheld until both the status and the\n precheck resolve, so the copy neither appears and then vanishes nor promises that\n existing signatures carry over when the server has already ruled that out. */}\n {onBackClicked &&\n signatureStatus &&\n !allCollected &&\n isEnvelopeUpdatable && (\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n You can update the list of Collaborators by pressing{' '}\n <strong>Back</strong>. Your changes will be applied to this\n signature request, so anyone who has already signed will not need\n to sign again.\n </Typography>\n )}\n\n {isLoadingStatus && (\n <Skeleton\n variant={'rectangular'}\n width={'100%'}\n height={120}\n data-testid={'SignatureStatusStep-loading'}\n />\n )}\n\n {statusError && (\n <Alert severity={'error'}>\n <strong>\n Sorry, we couldn&apos;t load the current signature status.\n </strong>\n <br />\n {statusError.reason}\n </Alert>\n )}\n\n {!isLoadingStatus && !statusError && signatureStatus && (\n <>\n <Stack\n direction={'row'}\n sx={{ alignItems: 'center', gap: 1, mb: 1 }}\n >\n {allCollected ? (\n <CheckCircleOutline color={'success'} />\n ) : (\n <HourglassEmpty sx={{ color: 'grey.700' }} />\n )}\n <Typography variant={'body1'} sx={{ fontWeight: 700 }}>\n {allCollected\n ? 'All signatures collected.'\n : `${collectedCount} out of ${totalCount} signatures collected.`}\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n {viewDucHref && (\n <Link\n href={viewDucHref}\n target={'_blank'}\n rel={'noopener'}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }}\n >\n View DUC\n <OpenInNew fontSize={'small'} />\n </Link>\n )}\n </Stack>\n\n {outstandingSigners.length > 0 && (\n <>\n <Typography variant={'body1'} sx={{ mb: 1 }}>\n You&apos;re still waiting for signatures from\n </Typography>\n <Box component={'ul'} sx={{ mt: 0, mb: 2, pl: 3 }}>\n {outstandingSigners.map((signer, index) => (\n <li key={signer.userId ?? `${signer.name}-${index}`}>\n <SignerLine signer={signer} />\n </li>\n ))}\n </Box>\n </>\n )}\n\n <Button\n variant={'outlined'}\n startIcon={<Refresh />}\n loading={isRefetchingStatus}\n onClick={() => {\n refetchStatus()\n }}\n >\n Refresh\n </Button>\n </>\n )}\n\n {updateDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t save your change.</strong>\n <br />\n {updateDarError}\n </Alert>\n )}\n {submitDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t submit your request.</strong>\n <br />\n {submitDarError}\n </Alert>\n )}\n </DialogContent>\n <DialogActions>\n {onBackClicked && (\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n )}\n <Box sx={{ flexGrow: 1 }} />\n <Button\n variant={'contained'}\n disabled={isSubmitDisabled}\n loading={isSubmitting}\n onClick={() => {\n handleSubmit()\n }}\n >\n Submit\n </Button>\n </DialogActions>\n </>\n )\n}\n\n/**\n * Only surface non-pending problem states inline; pending is implied by the section header. A\n * decline carries a timestamp, which folds into the label so the row doesn't read \"(declined)\"\n * and then repeat itself underneath.\n */\nfunction getSignerStatusLabel(signer: EDucSignerStatus): string {\n if (\n !signer.status ||\n signer.status === EDucSignerStatusStatusEnum.pending ||\n signer.status === EDucSignerStatusStatusEnum.done\n ) {\n return ''\n }\n if (\n signer.status === EDucSignerStatusStatusEnum.declined &&\n signer.declinedOn\n ) {\n return ` (declined ${formatDate(dayjs(signer.declinedOn))})`\n }\n return ` (${signer.status})`\n}\n\nfunction SignerLine(props: { signer: EDucSignerStatus }) {\n const { signer } = props\n const displayName = signer.name ?? 'Unnamed signer'\n const nameNode = signer.userId ? (\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Profile:${signer.userId}`}\n target={'_blank'}\n rel={'noopener'}\n >\n {displayName}\n </Link>\n ) : (\n <>{displayName}</>\n )\n return (\n <>\n <Typography variant={'body1'} component={'span'}>\n {nameNode}\n {getSignerStatusLabel(signer)}\n </Typography>\n {/* The reason is the signer's own words, so it is quoted rather than restated as UI copy. */}\n {signer.declinedReason && (\n <Typography\n variant={'body1'}\n component={'blockquote'}\n sx={declinedReasonSx}\n >\n {signer.declinedReason}\n </Typography>\n )}\n </>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SignatureStatusStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"sourcesContent":["import {\n useGetDataAccessRequestForUpdate,\n useGetDataAccessRequestPreview,\n useGetDataAccessRequestSignatureStatus,\n useGetDataAccessRequestSignatureUpdatable,\n useGetDataAccessRequestSignedFileHandleId,\n useSubmitDataAccessRequest,\n useUpdateDataAccessRequest,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n CheckCircleOutline,\n HourglassEmpty,\n OpenInNew,\n Refresh,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n DialogActions,\n DialogContent,\n Link,\n Skeleton,\n Stack,\n SxProps,\n Typography,\n} from '@mui/material'\nimport {\n EDucSignerStatus,\n EDucSignerStatusStatusEnum,\n} from '@sage-bionetworks/synapse-client'\nimport {\n FileHandleAssociateType,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useState } from 'react'\nimport { DialogBaseTitle } from '../../../DialogBase'\nimport { longFieldLabelSx } from '../styles'\nimport { RequestFlowAccessRequirement } from '../requestFlowTypes'\n\n/** Browser defaults indent a blockquote far too much for a nested list item. */\nconst declinedReasonSx: SxProps = {\n mx: 0,\n my: 0.5,\n pl: 1.5,\n borderLeft: '3px solid',\n borderColor: 'grey.300',\n color: 'grey.700',\n}\n\nexport type SignatureStatusStepProps = {\n managedACTAccessRequirement: RequestFlowAccessRequirement\n subjectId: string\n subjectType: RestrictableObjectType\n onHide: () => void\n /**\n * Called when the user clicks the Back button. When omitted, the Back button is hidden —\n * used when the step is reached via direct entry (e.g. a deep-link route) rather than\n * through the wizard flow, so there is no meaningful previous step to return to.\n */\n onBackClicked?: () => void\n onSubmissionCreated: (submissionId: string) => void\n /**\n * Optional href override for the \"View DUC\" link. When set, the preview file handle fetch\n * is skipped and this URL is used directly. Used by stories and tests where the portal\n * servlet is not available.\n */\n viewDucHrefOverride?: string\n}\n\n/**\n * Wizard step shown after the user has routed the eDUC for electronic signature\n * (PORTALS-4380). Polls the DocuSign envelope status, lists the pending signers,\n * and enables submission once every signer has signed.\n */\nexport default function SignatureStatusStep(props: SignatureStatusStepProps) {\n const {\n managedACTAccessRequirement,\n subjectId,\n subjectType,\n onHide,\n onBackClicked,\n onSubmissionCreated,\n viewDucHrefOverride,\n } = props\n\n const { data: dataAccessRequest, isLoading: isLoadingDar } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const requestId = dataAccessRequest?.id ?? ''\n\n const {\n data: signatureStatus,\n isLoading: isLoadingStatus,\n isRefetching: isRefetchingStatus,\n error: statusError,\n refetch: refetchStatus,\n } = useGetDataAccessRequestSignatureStatus(requestId, {\n enabled: Boolean(requestId),\n })\n\n const signers: EDucSignerStatus[] = signatureStatus?.signerStatus ?? []\n const collectedCount = signers.filter(s => s.status === 'done').length\n const totalCount = signers.length\n const allCollected = totalCount > 0 && collectedCount === totalCount\n const outstandingSigners = signers.filter(s => s.status !== 'done')\n\n // Whether going Back could still deliver edits to this envelope is the server's call -- it knows\n // every state DocuSign will refuse to correct. Only the copy below depends on it, so a stale or\n // failed answer simply withholds the guidance rather than blocking the step.\n const { data: isEnvelopeUpdatable } =\n useGetDataAccessRequestSignatureUpdatable(requestId, {\n enabled: Boolean(requestId) && !allCollected,\n })\n\n const { data: previewFileHandle } = useGetDataAccessRequestPreview(\n requestId,\n { enabled: Boolean(requestId) && !viewDucHrefOverride },\n )\n const viewDucHref =\n viewDucHrefOverride ??\n (previewFileHandle?.fileHandleId && requestId\n ? SynapseClient.getPortalFileHandleServletUrl(\n previewFileHandle.fileHandleId,\n requestId,\n FileHandleAssociateType.DataAccessRequestAttachment,\n )\n : undefined)\n\n const { data: signedFileHandle } = useGetDataAccessRequestSignedFileHandleId(\n requestId,\n { enabled: Boolean(requestId) && allCollected },\n )\n\n const [updateDarError, setUpdateDarError] = useState<string | undefined>()\n const [submitDarError, setSubmitDarError] = useState<string | undefined>()\n\n const { mutateAsync: updateDarAsync, isPending: isUpdating } =\n useUpdateDataAccessRequest({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutate: submit, isPending: isSubmitting } =\n useSubmitDataAccessRequest({\n onSuccess: submission => onSubmissionCreated(submission.submissionId),\n onError: e => setSubmitDarError(e.reason),\n })\n\n const isSubmitDisabled =\n isLoadingDar ||\n isLoadingStatus ||\n isRefetchingStatus ||\n !dataAccessRequest ||\n !allCollected ||\n !signedFileHandle?.fileHandleId ||\n isUpdating ||\n isSubmitting\n\n const handleSubmit = async () => {\n if (!dataAccessRequest || !signedFileHandle?.fileHandleId) return\n setUpdateDarError(undefined)\n setSubmitDarError(undefined)\n const updated = await updateDarAsync({\n ...dataAccessRequest,\n ducFileHandleId: signedFileHandle.fileHandleId,\n }).catch(() => null)\n if (!updated) return\n submit({\n request: {\n requestId: updated.id,\n requestEtag: updated.etag,\n subjectId,\n subjectType,\n },\n accessRequirementId: String(managedACTAccessRequirement.id),\n })\n }\n\n return (\n <>\n <DialogBaseTitle title={'Request Access'} onCancel={onHide} />\n <DialogContent>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Your DUC has been emailed to your Collaborators. Once all signatures\n (including the Signing Official) have been collected, you can submit\n the Data Access Request.\n </Typography>\n {/* Editing is only worth offering while signatures are still outstanding -- once every\n signer is done the user should simply submit. Withheld until both the status and the\n precheck resolve, so the copy neither appears and then vanishes nor promises that\n existing signatures carry over when the server has already ruled that out. */}\n {onBackClicked &&\n signatureStatus &&\n !allCollected &&\n isEnvelopeUpdatable && (\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n You can update the list of Collaborators by pressing{' '}\n <strong>Back</strong>. Your changes will be applied to this\n signature request, so anyone who has already signed will not need\n to sign again.\n </Typography>\n )}\n\n {isLoadingStatus && (\n <Skeleton\n variant={'rectangular'}\n width={'100%'}\n height={120}\n data-testid={'SignatureStatusStep-loading'}\n />\n )}\n\n {statusError && (\n <Alert severity={'error'}>\n <strong>\n Sorry, we couldn&apos;t load the current signature status.\n </strong>\n <br />\n {statusError.reason}\n </Alert>\n )}\n\n {!isLoadingStatus && !statusError && signatureStatus && (\n <>\n <Stack\n direction={'row'}\n sx={{ alignItems: 'center', gap: 1, mb: 1 }}\n >\n {allCollected ? (\n <CheckCircleOutline color={'success'} />\n ) : (\n <HourglassEmpty sx={{ color: 'grey.700' }} />\n )}\n <Typography variant={'body1'} sx={{ fontWeight: 700 }}>\n {allCollected\n ? 'All signatures collected.'\n : `${collectedCount} out of ${totalCount} signatures collected.`}\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n {viewDucHref && (\n <Link\n href={viewDucHref}\n target={'_blank'}\n rel={'noopener'}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }}\n >\n View DUC\n <OpenInNew fontSize={'small'} />\n </Link>\n )}\n </Stack>\n\n {outstandingSigners.length > 0 && (\n <>\n <Typography variant={'body1'} sx={{ mb: 1 }}>\n You&apos;re still waiting for signatures from\n </Typography>\n <Box component={'ul'} sx={{ mt: 0, mb: 2, pl: 3 }}>\n {outstandingSigners.map((signer, index) => (\n <li key={signer.userId ?? `${signer.name}-${index}`}>\n <SignerLine signer={signer} />\n </li>\n ))}\n </Box>\n </>\n )}\n\n <Button\n variant={'outlined'}\n startIcon={<Refresh />}\n loading={isRefetchingStatus}\n onClick={() => {\n refetchStatus()\n }}\n >\n Refresh\n </Button>\n </>\n )}\n\n {updateDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t save your change.</strong>\n <br />\n {updateDarError}\n </Alert>\n )}\n {submitDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t submit your request.</strong>\n <br />\n {submitDarError}\n </Alert>\n )}\n </DialogContent>\n <DialogActions>\n {onBackClicked && (\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n )}\n <Box sx={{ flexGrow: 1 }} />\n <Button\n variant={'contained'}\n disabled={isSubmitDisabled}\n loading={isSubmitting}\n onClick={() => {\n handleSubmit()\n }}\n >\n Submit\n </Button>\n </DialogActions>\n </>\n )\n}\n\n/**\n * Only surface non-pending problem states inline; pending is implied by the section header. A\n * decline carries a timestamp, which folds into the label so the row doesn't read \"(declined)\"\n * and then repeat itself underneath.\n */\nfunction getSignerStatusLabel(signer: EDucSignerStatus): string {\n if (\n !signer.status ||\n signer.status === EDucSignerStatusStatusEnum.pending ||\n signer.status === EDucSignerStatusStatusEnum.done\n ) {\n return ''\n }\n if (\n signer.status === EDucSignerStatusStatusEnum.declined &&\n signer.declinedOn\n ) {\n return ` (declined ${formatDate(dayjs(signer.declinedOn))})`\n }\n return ` (${signer.status})`\n}\n\nfunction SignerLine(props: { signer: EDucSignerStatus }) {\n const { signer } = props\n const displayName = signer.name ?? 'Unnamed signer'\n const nameNode = signer.userId ? (\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Profile:${signer.userId}`}\n target={'_blank'}\n rel={'noopener'}\n >\n {displayName}\n </Link>\n ) : (\n <>{displayName}</>\n )\n return (\n <>\n <Typography variant={'body1'} component={'span'}>\n {nameNode}\n {getSignerStatusLabel(signer)}\n </Typography>\n {/* The reason is the signer's own words, so it is quoted rather than restated as UI copy. */}\n {signer.declinedReason && (\n <Typography\n variant={'body1'}\n component={'blockquote'}\n sx={declinedReasonSx}\n >\n {signer.declinedReason}\n </Typography>\n )}\n </>\n )\n}\n"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ManagedACTAccessRequirement } from '@sage-bionetworks/synapse-types';
2
+ import { RequestableAccessRequirement } from '../RequestDataStep';
2
3
  /**
3
4
  * The part of an access requirement that every data access request step needs. Satisfied by any access requirement
4
5
  * type that supports the data access request flow.
5
6
  */
6
- export type RequestFlowAccessRequirement = Pick<ManagedACTAccessRequirement, 'id'> & Partial<Pick<ManagedACTAccessRequirement, 'eDucTemplateId'>>;
7
+ export type RequestFlowAccessRequirement = Pick<RequestableAccessRequirement, 'id' | 'concreteType'> & Partial<Pick<ManagedACTAccessRequirement, 'eDucTemplateId'>>;
7
8
  /**
8
9
  * The part of an access requirement that determines how accessors are collected and which documents are requested.
9
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"requestFlowTypes.d.ts","sourceRoot":"","sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAE7E;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,2BAA2B,EAC3B,IAAI,CACL,GACC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,4BAA4B,GACtE,OAAO,CACL,IAAI,CACF,2BAA2B,EACzB,yBAAyB,GACzB,4BAA4B,GAC5B,eAAe,GACf,yBAAyB,CAC5B,CACF,CAAA"}
1
+ {"version":3,"file":"requestFlowTypes.d.ts","sourceRoot":"","sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,4BAA4B,EAC5B,IAAI,GAAG,cAAc,CACtB,GACC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,4BAA4B,GACtE,OAAO,CACL,IAAI,CACF,2BAA2B,EACzB,yBAAyB,GACzB,4BAA4B,GAC5B,eAAe,GACf,yBAAyB,CAC5B,CACF,CAAA"}