synapse-react-client 4.0.28 → 4.0.29

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 (80) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  3. package/dist/components/DataGrid/SynapseGrid.js +102 -94
  4. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  5. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.d.ts +4 -1
  6. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.d.ts.map +1 -1
  7. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js +1 -0
  8. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  9. package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -1
  10. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +13 -10
  11. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -1
  12. package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +20 -0
  13. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts.map +1 -1
  14. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js +62 -49
  15. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js.map +1 -1
  16. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -1
  17. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +16 -20
  18. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -1
  19. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts +1 -1
  20. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts.map +1 -1
  21. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js +89 -122
  22. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js.map +1 -1
  23. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts +1 -1
  24. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts.map +1 -1
  25. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +77 -102
  26. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
  27. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts +6 -1
  28. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts.map +1 -1
  29. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js +9 -2
  30. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js.map +1 -1
  31. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts +5 -1
  32. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts.map +1 -1
  33. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js +6 -2
  34. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js.map +1 -1
  35. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts +7 -1
  36. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts.map +1 -1
  37. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js +10 -2
  38. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js.map +1 -1
  39. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts +6 -1
  40. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts.map +1 -1
  41. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js +9 -2
  42. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js.map +1 -1
  43. package/dist/features/entity/metadata-task/create-task/TaskStatusField.d.ts +19 -0
  44. package/dist/features/entity/metadata-task/create-task/TaskStatusField.d.ts.map +1 -0
  45. package/dist/features/entity/metadata-task/create-task/TaskStatusField.js +32 -0
  46. package/dist/features/entity/metadata-task/create-task/TaskStatusField.js.map +1 -0
  47. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.d.ts +21 -0
  48. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.d.ts.map +1 -0
  49. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +100 -0
  50. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -0
  51. package/dist/features/entity/metadata-task/create-task/useComputeTypeFields.d.ts +24 -0
  52. package/dist/features/entity/metadata-task/create-task/useComputeTypeFields.d.ts.map +1 -0
  53. package/dist/features/entity/metadata-task/create-task/useComputeTypeFields.js +56 -0
  54. package/dist/features/entity/metadata-task/create-task/useComputeTypeFields.js.map +1 -0
  55. package/dist/features/entity/metadata-task/create-task/useCurateTypeFields.d.ts +26 -0
  56. package/dist/features/entity/metadata-task/create-task/useCurateTypeFields.d.ts.map +1 -0
  57. package/dist/features/entity/metadata-task/create-task/useCurateTypeFields.js +57 -0
  58. package/dist/features/entity/metadata-task/create-task/useCurateTypeFields.js.map +1 -0
  59. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts +4 -2
  60. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts.map +1 -1
  61. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js +12 -11
  62. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js.map +1 -1
  63. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts +9 -14
  64. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts.map +1 -1
  65. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js +11 -7
  66. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js.map +1 -1
  67. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts +11 -12
  68. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts.map +1 -1
  69. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js +17 -12
  70. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js.map +1 -1
  71. package/dist/features/entity/metadata-task/utils/constants.d.ts +14 -1
  72. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  73. package/dist/features/entity/metadata-task/utils/constants.js +23 -20
  74. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  75. package/dist/tsconfig.build.tsbuildinfo +1 -1
  76. package/package.json +4 -4
  77. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts +0 -18
  78. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts.map +0 -1
  79. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js +0 -78
  80. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js.map +0 -1
@@ -1,14 +1,17 @@
1
1
  import './CurationTaskCard.css';var e = {
2
- card: "_card_pb0lb_1",
3
- cardContent: "_cardContent_pb0lb_5",
4
- mainContent: "_mainContent_pb0lb_18",
5
- titleChipContainer: "_titleChipContainer_pb0lb_26",
6
- title: "_title_pb0lb_26",
7
- entityInfo: "_entityInfo_pb0lb_47",
8
- statusContainer: "_statusContainer_pb0lb_52",
9
- expandedContent: "_expandedContent_pb0lb_59",
10
- userChipContainer: "_userChipContainer_pb0lb_69",
11
- buttonContainer: "_buttonContainer_pb0lb_77"
2
+ card: "_card_1btsm_1",
3
+ cardContent: "_cardContent_1btsm_5",
4
+ mainContent: "_mainContent_1btsm_18",
5
+ titleChipContainer: "_titleChipContainer_1btsm_26",
6
+ title: "_title_1btsm_26",
7
+ entityInfo: "_entityInfo_1btsm_47",
8
+ statusContainer: "_statusContainer_1btsm_52",
9
+ expandedContent: "_expandedContent_1btsm_59",
10
+ expandedTopRow: "_expandedTopRow_1btsm_69",
11
+ helpLink: "_helpLink_1btsm_76",
12
+ helpIcon: "_helpIcon_1btsm_85",
13
+ userChipContainer: "_userChipContainer_1btsm_89",
14
+ buttonContainer: "_buttonContainer_1btsm_97"
12
15
  };
13
16
  //#endregion
14
17
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"CurationTaskCard.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCard.module.scss"],"sourcesContent":[".card:global(.MuiCard-root) {\n background-color: #f5f8fa;\n}\n\n.cardContent {\n display: flex;\n flex-direction: row;\n margin-bottom: 16px;\n gap: 24px;\n align-items: stretch;\n\n @media (max-width: 768px) {\n flex-direction: column;\n }\n}\n\n.mainContent {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex-grow: 1;\n flex: 1;\n}\n\n.titleChipContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 16px;\n align-items: center;\n @media (max-width: 768px) {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.title {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\n.entityInfo {\n display: flex;\n gap: 16px;\n}\n\n.statusContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n}\n\n.expandedContent {\n background-color: #fff;\n padding: 16px;\n margin: 16px;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.userChipContainer {\n display: flex;\n flex-direction: row;\n gap: 16px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.buttonContainer {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n margin-left: auto;\n @media (max-width: 768px) {\n margin-left: 0;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"CurationTaskCard.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCard.module.scss"],"sourcesContent":[".card:global(.MuiCard-root) {\n background-color: #f5f8fa;\n}\n\n.cardContent {\n display: flex;\n flex-direction: row;\n margin-bottom: 16px;\n gap: 24px;\n align-items: stretch;\n\n @media (max-width: 768px) {\n flex-direction: column;\n }\n}\n\n.mainContent {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex-grow: 1;\n flex: 1;\n}\n\n.titleChipContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 16px;\n align-items: center;\n @media (max-width: 768px) {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.title {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\n.entityInfo {\n display: flex;\n gap: 16px;\n}\n\n.statusContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n}\n\n.expandedContent {\n background-color: #fff;\n padding: 16px;\n margin: 16px;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.expandedTopRow {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: 16px;\n}\n\n.helpLink {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n margin-left: auto;\n white-space: nowrap;\n font-size: 14px;\n}\n\n.helpIcon {\n font-size: 16px !important;\n}\n\n.userChipContainer {\n display: flex;\n flex-direction: row;\n gap: 16px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.buttonContainer {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n margin-left: auto;\n @media (max-width: 768px) {\n margin-left: 0;\n }\n}\n"],"mappings":""}
@@ -64,6 +64,26 @@
64
64
  gap: 16px;
65
65
  }
66
66
 
67
+ .expandedTopRow {
68
+ display: flex;
69
+ flex-direction: row;
70
+ align-items: flex-start;
71
+ gap: 16px;
72
+ }
73
+
74
+ .helpLink {
75
+ display: inline-flex;
76
+ align-items: center;
77
+ gap: 4px;
78
+ margin-left: auto;
79
+ white-space: nowrap;
80
+ font-size: 14px;
81
+ }
82
+
83
+ .helpIcon {
84
+ font-size: 16px !important;
85
+ }
86
+
67
87
  .userChipContainer {
68
88
  display: flex;
69
89
  flex-direction: row;
@@ -1 +1 @@
1
- {"version":3,"file":"CurationTaskCardLayout.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,UAAU,EAEX,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AA+D3C,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,iGAAiG;IACjG,kBAAkB,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAA;CAChE,CAAA;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;;;;EAMxD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,EAAE,2BAA2B,2CAqFnC"}
1
+ {"version":3,"file":"CurationTaskCardLayout.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"names":[],"mappings":"AAWA,OAAO,EACL,UAAU,EAEX,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AA+D3C,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,iGAAiG;IACjG,kBAAkB,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAA;CAChE,CAAA;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;;;;EAMxD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,EAAE,2BAA2B,2CAmGnC"}
@@ -5,18 +5,19 @@ import r from "./CurationTaskCard.module.js";
5
5
  import i from "./shared.module.js";
6
6
  import a from "./UserOrTeamChip.js";
7
7
  import { useState as o } from "react";
8
- import { Card as s, Chip as c, Collapse as l, Divider as u, IconButton as d, Skeleton as f, Typography as p } from "@mui/material";
9
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
10
- import { useNavigate as _ } from "react-router";
11
- import v from "dayjs";
12
- import y from "dayjs/plugin/utc";
13
- import b from "classnames";
14
- import x from "@mui/icons-material/SettingsOutlined";
8
+ import { Card as s, Chip as c, Collapse as l, Divider as u, IconButton as d, Link as f, Skeleton as p, Typography as m } from "@mui/material";
9
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
10
+ import { useNavigate as v } from "react-router";
11
+ import y from "dayjs";
12
+ import b from "dayjs/plugin/utc";
13
+ import x from "@mui/icons-material/HelpOutline";
14
+ import S from "classnames";
15
+ import C from "@mui/icons-material/SettingsOutlined";
15
16
  //#region src/features/curator/dashboard/components/CurationTaskCardLayout.tsx
16
- v.extend(y);
17
- function S(e) {
17
+ y.extend(b);
18
+ function w(e) {
18
19
  let { label: t } = e;
19
- return /* @__PURE__ */ h(c, {
20
+ return /* @__PURE__ */ g(c, {
20
21
  sx: {
21
22
  fontWeight: 600,
22
23
  backgroundColor: "#BFD3ED"
@@ -24,11 +25,11 @@ function S(e) {
24
25
  label: t
25
26
  });
26
27
  }
27
- function C(e) {
28
+ function T(e) {
28
29
  let { state: n } = e;
29
30
  if (!n) return null;
30
31
  let { label: r, backgroundColor: i } = t[n];
31
- return /* @__PURE__ */ h(c, {
32
+ return /* @__PURE__ */ g(c, {
32
33
  size: "small",
33
34
  sx: {
34
35
  fontWeight: 600,
@@ -37,11 +38,11 @@ function C(e) {
37
38
  label: r
38
39
  });
39
40
  }
40
- function w(e) {
41
+ function E(e) {
41
42
  let { dueDate: t } = e, r = n(t);
42
43
  if (!r) return null;
43
- let i = r.diff(v.utc().startOf("day"), "day"), a = r.format("MM/DD/YY"), o = "#E0E0E0";
44
- return i < 0 ? o = "#FFCDD2" : i < 30 && (o = "#FFF9C4"), /* @__PURE__ */ h(c, {
44
+ let i = r.diff(y.utc().startOf("day"), "day"), a = r.format("MM/DD/YY"), o = "#E0E0E0";
45
+ return i < 0 ? o = "#FFCDD2" : i < 30 && (o = "#FFF9C4"), /* @__PURE__ */ g(c, {
45
46
  size: "small",
46
47
  sx: {
47
48
  fontWeight: 600,
@@ -50,85 +51,97 @@ function w(e) {
50
51
  label: `Due ${a}`
51
52
  });
52
53
  }
53
- function T(e) {
54
+ function D(e) {
54
55
  return {
55
56
  title: e?.dataType ?? "",
56
57
  description: e?.instructions ?? "",
57
58
  principalIds: e?.assigneePrincipalId ? [e.assigneePrincipalId] : []
58
59
  };
59
60
  }
60
- function E(t) {
61
- let { taskBundle: n, title: c, description: v, taskType: y, principalIds: T, renderActionButton: E } = t, D = _(), [O, k] = o(!1), A = n.task?.taskId, j = n.task?.projectId, { data: M } = e(j, void 0, {
61
+ function O(t) {
62
+ let { taskBundle: n, title: c, description: y, taskType: b, principalIds: D, renderActionButton: O } = t, k = v(), [A, j] = o(!1), M = n.task?.taskId, N = n.task?.projectId, { data: P } = e(N, void 0, {
62
63
  includeEntity: !0,
63
64
  includePermissions: !0
64
- }), N = M?.permissions?.canEdit ?? !1;
65
- return /* @__PURE__ */ g(s, {
66
- className: b(i.card, r.card),
67
- children: [/* @__PURE__ */ g("div", {
65
+ }), F = P?.permissions?.canEdit ?? !1;
66
+ return /* @__PURE__ */ _(s, {
67
+ className: S(i.card, r.card),
68
+ children: [/* @__PURE__ */ _("div", {
68
69
  className: r.cardContent,
69
70
  children: [
70
- /* @__PURE__ */ g("div", {
71
+ /* @__PURE__ */ _("div", {
71
72
  className: r.mainContent,
72
73
  children: [
73
- /* @__PURE__ */ g("div", {
74
+ /* @__PURE__ */ _("div", {
74
75
  className: r.titleChipContainer,
75
76
  children: [
76
- /* @__PURE__ */ h(p, {
77
+ /* @__PURE__ */ g(m, {
77
78
  variant: "headline3",
78
79
  className: r.title,
79
- onClick: () => k(!O),
80
+ onClick: () => j(!A),
80
81
  children: c
81
82
  }),
82
- y && /* @__PURE__ */ h(S, { label: y }),
83
- N && /* @__PURE__ */ h(d, {
84
- onClick: () => void D(`edit/${A}`),
83
+ b && /* @__PURE__ */ g(w, { label: b }),
84
+ F && /* @__PURE__ */ g(d, {
85
+ onClick: () => void k(`edit/${M}`),
85
86
  "aria-label": "Task settings",
86
- children: /* @__PURE__ */ h(x, {})
87
+ children: /* @__PURE__ */ g(C, {})
87
88
  })
88
89
  ]
89
90
  }),
90
- /* @__PURE__ */ g("div", {
91
+ /* @__PURE__ */ _("div", {
91
92
  className: r.entityInfo,
92
- children: [M?.entity?.name ? /* @__PURE__ */ h(p, {
93
+ children: [P?.entity?.name ? /* @__PURE__ */ g(m, {
93
94
  variant: "body1",
94
- children: M.entity.name
95
- }) : /* @__PURE__ */ h(f, { width: 100 }), A && /* @__PURE__ */ g(p, {
95
+ children: P.entity.name
96
+ }) : /* @__PURE__ */ g(p, { width: 100 }), M && /* @__PURE__ */ _(m, {
96
97
  variant: "body1",
97
- children: ["Task ID: ", A]
98
+ children: ["Task ID: ", M]
98
99
  })]
99
100
  }),
100
- /* @__PURE__ */ h("div", {
101
+ /* @__PURE__ */ g("div", {
101
102
  className: r.userChipContainer,
102
- children: T.map((e) => /* @__PURE__ */ h(a, { principalId: e }, e))
103
+ children: D.map((e) => /* @__PURE__ */ g(a, { principalId: e }, e))
103
104
  })
104
105
  ]
105
106
  }),
106
- /* @__PURE__ */ g("div", {
107
+ /* @__PURE__ */ _("div", {
107
108
  className: r.statusContainer,
108
- children: [/* @__PURE__ */ h(C, { state: n.status?.state }), /* @__PURE__ */ h(w, { dueDate: n.status?.dueDate })]
109
+ children: [/* @__PURE__ */ g(T, { state: n.status?.state }), /* @__PURE__ */ g(E, { dueDate: n.status?.dueDate })]
109
110
  }),
110
- !O && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(u, {
111
+ !A && /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(u, {
111
112
  orientation: "vertical",
112
113
  flexItem: !0,
113
114
  sx: { display: {
114
115
  xs: "none",
115
116
  md: "block"
116
117
  } }
117
- }), E({ expanded: !1 })] })
118
+ }), O({ expanded: !1 })] })
118
119
  ]
119
- }), /* @__PURE__ */ h(l, {
120
- in: O,
121
- children: /* @__PURE__ */ g("div", {
120
+ }), /* @__PURE__ */ g(l, {
121
+ in: A,
122
+ children: /* @__PURE__ */ _("div", {
122
123
  className: r.expandedContent,
123
- children: [v && /* @__PURE__ */ h(p, {
124
- variant: "body1",
125
- children: v
126
- }), E({ expanded: !0 })]
124
+ children: [/* @__PURE__ */ _("div", {
125
+ className: r.expandedTopRow,
126
+ children: [y && /* @__PURE__ */ g(m, {
127
+ variant: "body1",
128
+ children: y
129
+ }), /* @__PURE__ */ _(f, {
130
+ href: "https://docs.synapse.org/synapse-docs/managing-metadata-with-curator",
131
+ target: "_blank",
132
+ rel: "noopener noreferrer",
133
+ color: "text.primary",
134
+ underline: "hover",
135
+ className: r.helpLink,
136
+ sx: { fontWeight: 400 },
137
+ children: [/* @__PURE__ */ g(x, { className: r.helpIcon }), "Have questions or need help?"]
138
+ })]
139
+ }), O({ expanded: !0 })]
127
140
  })
128
141
  })]
129
142
  });
130
143
  }
131
144
  //#endregion
132
- export { E as default, T as deriveCardFields };
145
+ export { O as default, D as deriveCardFields };
133
146
 
134
147
  //# sourceMappingURL=CurationTaskCardLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurationTaskCardLayout.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"sourcesContent":["import {\n Card,\n Chip,\n Collapse,\n Divider,\n IconButton,\n Skeleton,\n Typography,\n} from '@mui/material'\nimport {\n TaskBundle,\n TaskStatusStateEnum,\n} from '@sage-bionetworks/synapse-client'\nimport classNames from 'classnames'\nimport { ReactNode, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport dayjs from 'dayjs'\nimport utc from 'dayjs/plugin/utc'\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { TASK_STATUS_CONFIG } from '@/features/entity/metadata-task/utils/constants'\nimport { parseDueDate } from '@/features/entity/metadata-task/utils/dueDate'\nimport styles from './CurationTaskCard.module.scss'\nimport sharedStyles from './shared.module.scss'\nimport UserOrTeamChip from './UserOrTeamChip'\n\ndayjs.extend(utc)\n\nfunction TaskTypeChip(props: { label: string }) {\n const { label } = props\n return (\n <Chip sx={{ fontWeight: 600, backgroundColor: '#BFD3ED' }} label={label} />\n )\n}\n\n/**\n * A chip to display CurationTask status.\n *\n * See {@link https://www.figma.com/design/0oPm5lLSUva8kyfVNMS6FA/Sage-Style---Component-Library--SDS-?node-id=4942-1129&m=dev}\n */\nfunction TaskStatusChip(props: { state: TaskStatusStateEnum | undefined }) {\n const { state } = props\n if (!state) return null\n const { label, backgroundColor } = TASK_STATUS_CONFIG[state]\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={label}\n />\n )\n}\n\nfunction DueDateChip(props: { dueDate: string | undefined }) {\n const { dueDate } = props\n const dueDateObj = parseDueDate(dueDate)\n if (!dueDateObj) return null\n\n const daysUntilDue = dueDateObj.diff(dayjs.utc().startOf('day'), 'day')\n const formattedDate = dueDateObj.format('MM/DD/YY')\n\n let backgroundColor = '#E0E0E0'\n if (daysUntilDue < 0) {\n backgroundColor = '#FFCDD2'\n } else if (daysUntilDue < 30) {\n backgroundColor = '#FFF9C4'\n }\n\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={`Due ${formattedDate}`}\n />\n )\n}\n\nexport type CurationTaskCardLayoutProps = {\n taskBundle: TaskBundle\n title: string\n description: string\n taskType: string\n principalIds: string[]\n /** Renders the action button. `expanded` reflects whether the card is in its expanded layout. */\n renderActionButton: (props: { expanded: boolean }) => ReactNode\n}\n\n/** Derives the fields shared by every card variant from a task's common properties. */\nexport function deriveCardFields(task: TaskBundle['task']) {\n return {\n title: task?.dataType ?? '',\n description: task?.instructions ?? '',\n principalIds: task?.assigneePrincipalId ? [task.assigneePrincipalId] : [],\n }\n}\n\n/**\n * Shared presentational chrome for a curation task card: title, chips, entity info, assignees,\n * status/due date, and an action button slot. Both the grid and executable task cards compose this.\n */\nexport default function CurationTaskCardLayout(\n props: CurationTaskCardLayoutProps,\n) {\n const {\n taskBundle,\n title,\n description,\n taskType,\n principalIds,\n renderActionButton,\n } = props\n\n const navigate = useNavigate()\n const [isExpanded, setIsExpanded] = useState(false)\n\n const taskId = taskBundle.task?.taskId\n const projectId = taskBundle.task?.projectId\n const { data: bundle } = useGetEntityBundle(projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n return (\n <Card className={classNames(sharedStyles.card, styles.card)}>\n <div className={styles.cardContent}>\n <div className={styles.mainContent}>\n <div className={styles.titleChipContainer}>\n <Typography\n variant=\"headline3\"\n className={styles.title}\n onClick={() => setIsExpanded(!isExpanded)}\n >\n {title}\n </Typography>\n {taskType && <TaskTypeChip label={taskType} />}\n {canEdit && (\n <IconButton\n onClick={() => void navigate(`edit/${taskId}`)}\n aria-label=\"Task settings\"\n >\n <SettingsOutlinedIcon />\n </IconButton>\n )}\n </div>\n <div className={styles.entityInfo}>\n {bundle?.entity?.name ? (\n <Typography variant=\"body1\">{bundle.entity.name}</Typography>\n ) : (\n <Skeleton width={100} />\n )}\n {taskId && (\n <Typography variant=\"body1\">Task ID: {taskId}</Typography>\n )}\n </div>\n <div className={styles.userChipContainer}>\n {principalIds.map(principalId => (\n <UserOrTeamChip key={principalId} principalId={principalId} />\n ))}\n </div>\n </div>\n <div className={styles.statusContainer}>\n <TaskStatusChip state={taskBundle.status?.state} />\n <DueDateChip dueDate={taskBundle.status?.dueDate} />\n </div>\n {!isExpanded && (\n <>\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ display: { xs: 'none', md: 'block' } }}\n />\n {renderActionButton({ expanded: false })}\n </>\n )}\n </div>\n <Collapse in={isExpanded}>\n <div className={styles.expandedContent}>\n {description && (\n <Typography variant=\"body1\">{description}</Typography>\n )}\n {renderActionButton({ expanded: true })}\n </div>\n </Collapse>\n </Card>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CurationTaskCardLayout.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"sourcesContent":["import {\n Card,\n Chip,\n Collapse,\n Divider,\n IconButton,\n Link,\n Skeleton,\n Typography,\n} from '@mui/material'\nimport HelpOutline from '@mui/icons-material/HelpOutline'\nimport {\n TaskBundle,\n TaskStatusStateEnum,\n} from '@sage-bionetworks/synapse-client'\nimport classNames from 'classnames'\nimport { ReactNode, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport dayjs from 'dayjs'\nimport utc from 'dayjs/plugin/utc'\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { TASK_STATUS_CONFIG } from '@/features/entity/metadata-task/utils/constants'\nimport { parseDueDate } from '@/features/entity/metadata-task/utils/dueDate'\nimport styles from './CurationTaskCard.module.scss'\nimport sharedStyles from './shared.module.scss'\nimport UserOrTeamChip from './UserOrTeamChip'\n\ndayjs.extend(utc)\n\nfunction TaskTypeChip(props: { label: string }) {\n const { label } = props\n return (\n <Chip sx={{ fontWeight: 600, backgroundColor: '#BFD3ED' }} label={label} />\n )\n}\n\n/**\n * A chip to display CurationTask status.\n *\n * See {@link https://www.figma.com/design/0oPm5lLSUva8kyfVNMS6FA/Sage-Style---Component-Library--SDS-?node-id=4942-1129&m=dev}\n */\nfunction TaskStatusChip(props: { state: TaskStatusStateEnum | undefined }) {\n const { state } = props\n if (!state) return null\n const { label, backgroundColor } = TASK_STATUS_CONFIG[state]\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={label}\n />\n )\n}\n\nfunction DueDateChip(props: { dueDate: string | undefined }) {\n const { dueDate } = props\n const dueDateObj = parseDueDate(dueDate)\n if (!dueDateObj) return null\n\n const daysUntilDue = dueDateObj.diff(dayjs.utc().startOf('day'), 'day')\n const formattedDate = dueDateObj.format('MM/DD/YY')\n\n let backgroundColor = '#E0E0E0'\n if (daysUntilDue < 0) {\n backgroundColor = '#FFCDD2'\n } else if (daysUntilDue < 30) {\n backgroundColor = '#FFF9C4'\n }\n\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={`Due ${formattedDate}`}\n />\n )\n}\n\nexport type CurationTaskCardLayoutProps = {\n taskBundle: TaskBundle\n title: string\n description: string\n taskType: string\n principalIds: string[]\n /** Renders the action button. `expanded` reflects whether the card is in its expanded layout. */\n renderActionButton: (props: { expanded: boolean }) => ReactNode\n}\n\n/** Derives the fields shared by every card variant from a task's common properties. */\nexport function deriveCardFields(task: TaskBundle['task']) {\n return {\n title: task?.dataType ?? '',\n description: task?.instructions ?? '',\n principalIds: task?.assigneePrincipalId ? [task.assigneePrincipalId] : [],\n }\n}\n\n/**\n * Shared presentational chrome for a curation task card: title, chips, entity info, assignees,\n * status/due date, and an action button slot. Both the grid and executable task cards compose this.\n */\nexport default function CurationTaskCardLayout(\n props: CurationTaskCardLayoutProps,\n) {\n const {\n taskBundle,\n title,\n description,\n taskType,\n principalIds,\n renderActionButton,\n } = props\n\n const navigate = useNavigate()\n const [isExpanded, setIsExpanded] = useState(false)\n\n const taskId = taskBundle.task?.taskId\n const projectId = taskBundle.task?.projectId\n const { data: bundle } = useGetEntityBundle(projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n return (\n <Card className={classNames(sharedStyles.card, styles.card)}>\n <div className={styles.cardContent}>\n <div className={styles.mainContent}>\n <div className={styles.titleChipContainer}>\n <Typography\n variant=\"headline3\"\n className={styles.title}\n onClick={() => setIsExpanded(!isExpanded)}\n >\n {title}\n </Typography>\n {taskType && <TaskTypeChip label={taskType} />}\n {canEdit && (\n <IconButton\n onClick={() => void navigate(`edit/${taskId}`)}\n aria-label=\"Task settings\"\n >\n <SettingsOutlinedIcon />\n </IconButton>\n )}\n </div>\n <div className={styles.entityInfo}>\n {bundle?.entity?.name ? (\n <Typography variant=\"body1\">{bundle.entity.name}</Typography>\n ) : (\n <Skeleton width={100} />\n )}\n {taskId && (\n <Typography variant=\"body1\">Task ID: {taskId}</Typography>\n )}\n </div>\n <div className={styles.userChipContainer}>\n {principalIds.map(principalId => (\n <UserOrTeamChip key={principalId} principalId={principalId} />\n ))}\n </div>\n </div>\n <div className={styles.statusContainer}>\n <TaskStatusChip state={taskBundle.status?.state} />\n <DueDateChip dueDate={taskBundle.status?.dueDate} />\n </div>\n {!isExpanded && (\n <>\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ display: { xs: 'none', md: 'block' } }}\n />\n {renderActionButton({ expanded: false })}\n </>\n )}\n </div>\n <Collapse in={isExpanded}>\n <div className={styles.expandedContent}>\n <div className={styles.expandedTopRow}>\n {description && (\n <Typography variant=\"body1\">{description}</Typography>\n )}\n <Link\n href=\"https://docs.synapse.org/synapse-docs/managing-metadata-with-curator\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n color=\"text.primary\"\n underline=\"hover\"\n className={styles.helpLink}\n sx={{ fontWeight: 400 }}\n >\n <HelpOutline className={styles.helpIcon} />\n Have questions or need help?\n </Link>\n </div>\n {renderActionButton({ expanded: true })}\n </div>\n </Collapse>\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,EAAM,OAAO,CAAG;AAEhB,SAAS,EAAa,GAA0B;CAC9C,IAAM,EAAE,aAAU;CAClB,OACE,kBAAC,GAAD;EAAM,IAAI;GAAE,YAAY;GAAK,iBAAiB;EAAU;EAAU;CAAQ,CAAA;AAE9E;AAOA,SAAS,EAAe,GAAmD;CACzE,IAAM,EAAE,aAAU;CAClB,IAAI,CAAC,GAAO,OAAO;CACnB,IAAM,EAAE,UAAO,uBAAoB,EAAmB;CACtD,OACE,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EAChC;CACR,CAAA;AAEL;AAEA,SAAS,EAAY,GAAwC;CAC3D,IAAM,EAAE,eAAY,GACd,IAAa,EAAa,CAAO;CACvC,IAAI,CAAC,GAAY,OAAO;CAExB,IAAM,IAAe,EAAW,KAAK,EAAM,IAAI,EAAE,QAAQ,KAAK,GAAG,KAAK,GAChE,IAAgB,EAAW,OAAO,UAAU,GAE9C,IAAkB;CAOtB,OANI,IAAe,IACjB,IAAkB,YACT,IAAe,OACxB,IAAkB,YAIlB,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EACvC,OAAO,OAAO;CACf,CAAA;AAEL;AAaA,SAAgB,EAAiB,GAA0B;CACzD,OAAO;EACL,OAAO,GAAM,YAAY;EACzB,aAAa,GAAM,gBAAgB;EACnC,cAAc,GAAM,sBAAsB,CAAC,EAAK,mBAAmB,IAAI,CAAC;CAC1E;AACF;AAMA,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,eACA,UACA,gBACA,aACA,iBACA,0BACE,GAEE,IAAW,EAAY,GACvB,CAAC,GAAY,KAAiB,EAAS,EAAK,GAE5C,IAAS,EAAW,MAAM,QAC1B,IAAY,EAAW,MAAM,WAC7B,EAAE,MAAM,MAAW,EAAmB,GAAW,KAAA,GAAW;EAChE,eAAe;EACf,oBAAoB;CACtB,CAAC,GACK,IAAU,GAAQ,aAAa,WAAW;CAEhD,OACE,kBAAC,GAAD;EAAM,WAAW,EAAW,EAAa,MAAM,EAAO,IAAI;YAA1D,CACE,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACE,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB;MACE,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB;QACE,kBAAC,GAAD;SACE,SAAQ;SACR,WAAW,EAAO;SAClB,eAAe,EAAc,CAAC,CAAU;mBAEvC;QACS,CAAA;QACX,KAAY,kBAAC,GAAD,EAAc,OAAO,EAAW,CAAA;QAC5C,KACC,kBAAC,GAAD;SACE,eAAe,KAAK,EAAS,QAAQ,GAAQ;SAC7C,cAAW;mBAEX,kBAAC,GAAD,CAAuB,CAAA;QACb,CAAA;OAEX;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB,CACG,GAAQ,QAAQ,OACf,kBAAC,GAAD;QAAY,SAAQ;kBAAS,EAAO,OAAO;OAAiB,CAAA,IAE5D,kBAAC,GAAD,EAAU,OAAO,IAAM,CAAA,GAExB,KACC,kBAAC,GAAD;QAAY,SAAQ;kBAApB,CAA4B,aAAU,CAAmB;SAExD;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBACpB,EAAa,KAAI,MAChB,kBAAC,GAAD,EAA+C,eAAc,GAAxC,CAAwC,CAC9D;MACE,CAAA;KACF;;IACL,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACE,kBAAC,GAAD,EAAgB,OAAO,EAAW,QAAQ,MAAQ,CAAA,GAClD,kBAAC,GAAD,EAAa,SAAS,EAAW,QAAQ,QAAU,CAAA,CAChD;;IACJ,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KACE,aAAY;KACZ,UAAA;KACA,IAAI,EAAE,SAAS;MAAE,IAAI;MAAQ,IAAI;KAAQ,EAAE;IAC5C,CAAA,GACA,EAAmB,EAAE,UAAU,GAAM,CAAC,CACvC,EAAA,CAAA;GAED;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACE,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACG,KACC,kBAAC,GAAD;MAAY,SAAQ;gBAAS;KAAwB,CAAA,GAEvD,kBAAC,GAAD;MACE,MAAK;MACL,QAAO;MACP,KAAI;MACJ,OAAM;MACN,WAAU;MACV,WAAW,EAAO;MAClB,IAAI,EAAE,YAAY,IAAI;gBAPxB,CASE,kBAAC,GAAD,EAAa,WAAW,EAAO,SAAW,CAAA,GAAC,8BAEvC;OACH;QACJ,EAAmB,EAAE,UAAU,GAAK,CAAC,CACnC;;EACG,CAAA,CACN;;AAEV"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTasksPageRouter.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPageRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAWlD,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,CAAA;AAYF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,2CA4CpC"}
1
+ {"version":3,"file":"MetadataTasksPageRouter.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPageRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAUlD,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,2CA4CpC"}
@@ -1,43 +1,39 @@
1
- import e from "../create-task/CreateCurationTaskFlow.js";
2
- import t from "../create-task/EditCurationTaskPage.js";
1
+ import e from "../create-task/EditCurationTaskPage.js";
2
+ import { getCurationTaskFlowRoutes as t } from "../create-task/curationTaskFlowRoutes.js";
3
3
  import { MetadataTasksPageInternal as n } from "./MetadataTasksPage.js";
4
4
  import { useMemo as r } from "react";
5
5
  import { jsx as i } from "react/jsx-runtime";
6
- import { RouterProvider as a, createBrowserRouter as o, createMemoryRouter as s, useNavigate as c } from "react-router";
7
- import { RouterProvider as l } from "react-router/dom";
6
+ import { RouterProvider as a, createBrowserRouter as o, createMemoryRouter as s } from "react-router";
7
+ import { RouterProvider as c } from "react-router/dom";
8
8
  //#region src/features/entity/metadata-task/components/MetadataTasksPageRouter.tsx
9
- function u(t) {
10
- let n = c();
11
- return /* @__PURE__ */ i(e, {
12
- projectId: t.projectId,
13
- onExit: () => void n("/")
14
- });
15
- }
16
- function d(e) {
17
- let { projectId: c, routerBaseName: d, useMemoryRouter: f = !1 } = e, p = r(() => [{
9
+ function l(l) {
10
+ let { projectId: u, routerBaseName: d, useMemoryRouter: f = !1 } = l, p = r(() => [{
18
11
  path: "/",
19
12
  children: [
20
13
  {
21
14
  index: !0,
22
- element: /* @__PURE__ */ i(n, { projectId: c })
15
+ element: /* @__PURE__ */ i(n, { projectId: u })
23
16
  },
24
17
  {
25
- path: "create/*",
26
- element: /* @__PURE__ */ i(u, { projectId: c })
18
+ path: "create",
19
+ children: t({
20
+ projectId: u,
21
+ exitPath: "/"
22
+ })
27
23
  },
28
24
  {
29
25
  path: "edit/:taskId",
30
- element: /* @__PURE__ */ i(t, {})
26
+ element: /* @__PURE__ */ i(e, {})
31
27
  }
32
28
  ]
33
- }], [c]), m = r(() => f ? s(p, { basename: d }) : o(p, { basename: d }), [
29
+ }], [u]), m = r(() => f ? s(p, { basename: d }) : o(p, { basename: d }), [
34
30
  f,
35
31
  p,
36
32
  d
37
33
  ]);
38
- return i(f ? a : l, { router: m });
34
+ return i(f ? a : c, { router: m });
39
35
  }
40
36
  //#endregion
41
- export { d as default };
37
+ export { l as default };
42
38
 
43
39
  //# sourceMappingURL=MetadataTasksPageRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTasksPageRouter.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPageRouter.tsx"],"sourcesContent":["import CreateCurationTaskFlow from '@/features/entity/metadata-task/create-task/CreateCurationTaskFlow'\nimport EditCurationTaskPage from '@/features/entity/metadata-task/create-task/EditCurationTaskPage'\nimport { PropsWithChildren, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n RouteObject,\n RouterProvider,\n useNavigate,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { MetadataTasksPageInternal } from './MetadataTasksPage'\n\nexport type MetadataTasksPageRouterProps = PropsWithChildren<{\n projectId: string\n /**\n * Used to determine the base path for the component. In SWC, this should be /Synapse:syn123/metadata/\n * (replacing syn123 with the project ID).\n */\n routerBaseName: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For testing purposes only. */\n useMemoryRouter?: boolean\n}>\n\nfunction CreateRouteRenderer(props: { projectId: string }) {\n const navigate = useNavigate()\n return (\n <CreateCurationTaskFlow\n projectId={props.projectId}\n onExit={() => void navigate('/')}\n />\n )\n}\n\n/**\n * A router wrapper for `MetadataTasksPage`, which applies a router around the page content to support\n * page-based create/edit flows for curation tasks, mirroring `GridPageRouter`.\n */\nexport default function MetadataTasksPageRouter(\n props: MetadataTasksPageRouterProps,\n) {\n const { projectId, routerBaseName, useMemoryRouter = false } = props\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n children: [\n {\n index: true,\n element: <MetadataTasksPageInternal projectId={projectId} />,\n },\n {\n path: 'create/*',\n element: <CreateRouteRenderer projectId={projectId} />,\n },\n {\n path: 'edit/:taskId',\n element: <EditCurationTaskPage />,\n },\n ],\n },\n ],\n [projectId],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n"],"mappings":";;;;;;;;AAwBA,SAAS,EAAoB,GAA8B;CACzD,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,WAAW,EAAM;EACjB,cAAc,KAAK,EAAS,GAAG;CAChC,CAAA;AAEL;AAMA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,cAAW,mBAAgB,qBAAkB,OAAU,GAEzD,IAAwB,QACtB,CACJ;EACE,MAAM;EACN,UAAU;GACR;IACE,OAAO;IACP,SAAS,kBAAC,GAAD,EAAsC,aAAY,CAAA;GAC7D;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,EAAgC,aAAY,CAAA;GACvD;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAClC;EACF;CACF,CACF,GACA,CAAC,CAAS,CACZ,GAEM,IAAS,QACT,IACK,EAAmB,GAAQ,EAChC,UAAU,EACZ,CAAC,IAEM,EAAoB,GAAQ,EACjC,UAAU,EACZ,CAAC,GAEF;EAAC;EAAiB;EAAQ;CAAc,CAAC;CAM5C,OAHS,EADL,IACM,IAGF,GAHC,EAAwB,UAAS,CAAA;AAI5C"}
1
+ {"version":3,"file":"MetadataTasksPageRouter.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPageRouter.tsx"],"sourcesContent":["import { getCurationTaskFlowRoutes } from '@/features/entity/metadata-task/create-task/curationTaskFlowRoutes'\nimport EditCurationTaskPage from '@/features/entity/metadata-task/create-task/EditCurationTaskPage'\nimport { PropsWithChildren, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n RouteObject,\n RouterProvider,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { MetadataTasksPageInternal } from './MetadataTasksPage'\n\nexport type MetadataTasksPageRouterProps = PropsWithChildren<{\n projectId: string\n /**\n * Used to determine the base path for the component. In SWC, this should be /Synapse:syn123/metadata/\n * (replacing syn123 with the project ID).\n */\n routerBaseName: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For testing purposes only. */\n useMemoryRouter?: boolean\n}>\n\n/**\n * A router wrapper for `MetadataTasksPage`, which applies a router around the page content to support\n * page-based create/edit flows for curation tasks, mirroring `GridPageRouter`.\n */\nexport default function MetadataTasksPageRouter(\n props: MetadataTasksPageRouterProps,\n) {\n const { projectId, routerBaseName, useMemoryRouter = false } = props\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n children: [\n {\n index: true,\n element: <MetadataTasksPageInternal projectId={projectId} />,\n },\n {\n path: 'create',\n children: getCurationTaskFlowRoutes({ projectId, exitPath: '/' }),\n },\n {\n path: 'edit/:taskId',\n element: <EditCurationTaskPage />,\n },\n ],\n },\n ],\n [projectId],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n"],"mappings":";;;;;;;;AA2BA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,cAAW,mBAAgB,qBAAkB,OAAU,GAEzD,IAAwB,QACtB,CACJ;EACE,MAAM;EACN,UAAU;GACR;IACE,OAAO;IACP,SAAS,kBAAC,GAAD,EAAsC,aAAY,CAAA;GAC7D;GACA;IACE,MAAM;IACN,UAAU,EAA0B;KAAE;KAAW,UAAU;IAAI,CAAC;GAClE;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAClC;EACF;CACF,CACF,GACA,CAAC,CAAS,CACZ,GAEM,IAAS,QACT,IACK,EAAmB,GAAQ,EAChC,UAAU,EACZ,CAAC,IAEM,EAAoB,GAAQ,EACjC,UAAU,EACZ,CAAC,GAEF;EAAC;EAAiB;EAAQ;CAAc,CAAC;CAM5C,OAHS,EADL,IACM,IAGF,GAHC,EAAwB,UAAS,CAAA;AAI5C"}
@@ -35,7 +35,7 @@ export type ComputeTaskFormProps = {
35
35
  };
36
36
  /**
37
37
  * The create/edit form for a Compute Data curation task. Used as step 2 of the create wizard
38
- * (`CreateCurationTaskFlow`) and directly by `EditCurationTaskPage`.
38
+ * (`getCurationTaskFlowRoutes`) and directly by `EditCurationTaskPage`.
39
39
  */
40
40
  export default function ComputeTaskForm(props: ComputeTaskFormProps): import("react/jsx-runtime").JSX.Element;
41
41
  //# sourceMappingURL=ComputeTaskForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComputeTaskForm.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/ComputeTaskForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,kCAAkC,CAAA;AA0CzC,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACtC,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAmNlE"}
1
+ {"version":3,"file":"ComputeTaskForm.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/ComputeTaskForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,kCAAkC,CAAA;AAsBzC,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACtC,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsJlE"}