synapse-react-client 4.0.18 → 4.0.19

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 (94) hide show
  1. package/dist/SWC.index.d.ts +2 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +3 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/components/DataExplorer/DataExplorer.css +1 -0
  6. package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
  7. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
  8. package/dist/components/DataExplorer/DataExplorer.js +119 -0
  9. package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
  10. package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
  11. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
  12. package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
  13. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  14. package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
  15. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  16. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  17. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
  18. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  19. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
  20. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
  21. package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
  22. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  23. package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
  24. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
  25. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  26. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
  27. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
  28. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  29. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  30. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
  31. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  32. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
  33. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  34. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
  35. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  36. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
  37. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
  38. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
  39. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  40. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
  41. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
  42. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  43. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +9 -9
  44. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
  45. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +25 -25
  46. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  47. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
  48. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
  49. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +116 -0
  50. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
  51. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
  52. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
  53. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
  54. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  55. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
  56. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
  57. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
  58. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
  59. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
  60. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
  61. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
  62. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
  63. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
  64. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
  65. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
  66. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
  67. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
  68. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
  69. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
  70. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
  71. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
  72. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
  73. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
  74. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
  75. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
  76. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
  77. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
  78. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
  79. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  80. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +67 -67
  81. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  82. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  83. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
  84. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  85. package/dist/features/entity/metadata-task/utils/constants.d.ts +6 -3
  86. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  87. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  88. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  89. package/dist/tsconfig.build.tsbuildinfo +1 -1
  90. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -1
  91. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  92. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  93. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  94. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvPreviewWithOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/CsvPreviewWithOptions.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAA;AAOzC,MAAM,MAAM,0BAA0B,GAAG;IACvC,sEAAsE;IACtE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,wCAAwC;IACxC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mFAAmF;IACnF,0BAA0B,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACpE,kDAAkD;IAClD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAA;IACnE,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,GAClB,EAAE,0BAA0B,2CAwC5B"}
@@ -0,0 +1,41 @@
1
+ import e from "../CsvTableDescriptorForm/CsvTableDescriptorForm.js";
2
+ import t from "./CsvPreview.js";
3
+ import { useRef as n } from "react";
4
+ import { Accordion as r, AccordionDetails as i, AccordionSummary as a, Button as o, Stack as s, Typography as c } from "@mui/material";
5
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ import { RefreshTwoTone as d } from "@mui/icons-material";
7
+ import f from "@mui/icons-material/ExpandMore";
8
+ //#region src/components/table/CsvPreview/CsvPreviewWithOptions.tsx
9
+ function p({ fileHandleId: p, csvTableDescriptor: m, onCsvTableDescriptorChange: h, onCsvPreviewDataChange: g, onIsLoadingChange: _ }) {
10
+ let v = n(null);
11
+ return /* @__PURE__ */ u(s, {
12
+ spacing: 2,
13
+ children: [p && /* @__PURE__ */ l(t, {
14
+ fileHandleId: p,
15
+ csvTableDescriptor: m,
16
+ onCsvPreviewDataChange: g,
17
+ onIsLoadingChange: _
18
+ }), /* @__PURE__ */ u(r, { children: [/* @__PURE__ */ l(a, {
19
+ expandIcon: /* @__PURE__ */ l(f, {}),
20
+ children: /* @__PURE__ */ l(c, {
21
+ variant: "headline3",
22
+ children: "Show Options"
23
+ })
24
+ }), /* @__PURE__ */ u(i, { children: [/* @__PURE__ */ l(e, {
25
+ defaultValue: m,
26
+ ref: v
27
+ }), /* @__PURE__ */ l(o, {
28
+ variant: "outlined",
29
+ startIcon: /* @__PURE__ */ l(d, {}),
30
+ sx: { mt: 2 },
31
+ onClick: () => {
32
+ v.current && h(v.current.getFormData());
33
+ },
34
+ children: "Refresh Preview"
35
+ })] })] })]
36
+ });
37
+ }
38
+ //#endregion
39
+ export { p as default };
40
+
41
+ //# sourceMappingURL=CsvPreviewWithOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvPreviewWithOptions.js","names":[],"sources":["../../../../src/components/table/CsvPreview/CsvPreviewWithOptions.tsx"],"sourcesContent":["import { RefreshTwoTone } from '@mui/icons-material'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Button,\n Stack,\n Typography,\n} from '@mui/material'\nimport {\n CsvTableDescriptor,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\nimport CsvTableDescriptorForm, {\n CsvTableDescriptorFormHandle,\n} from '@/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm'\nimport { useRef } from 'react'\nimport CsvPreview from '@/components/table/CsvPreview/CsvPreview'\n\nexport type CsvPreviewWithOptionsProps = {\n /** File handle ID of the uploaded CSV, or null if not yet uploaded */\n fileHandleId: string | null\n /** Current CSV parsing configuration */\n csvTableDescriptor: CsvTableDescriptor\n /** Called when the user clicks \"Refresh Preview\" with the form's current values */\n onCsvTableDescriptorChange: (descriptor: CsvTableDescriptor) => void\n /** Called when the CSV preview data is fetched */\n onCsvPreviewDataChange?: (data: UploadToTablePreviewResult) => void\n /** Called when the preview load state changes */\n onIsLoadingChange?: (isLoading: boolean) => void\n}\n\n/**\n * Displays a CSV preview table with expandable parsing options.\n * For upload/preview flows, prefer useCsvUploadPreview with CsvUploadPreviewContent.\n */\nexport default function CsvPreviewWithOptions({\n fileHandleId,\n csvTableDescriptor,\n onCsvTableDescriptorChange,\n onCsvPreviewDataChange,\n onIsLoadingChange,\n}: CsvPreviewWithOptionsProps) {\n const csvDescriptorFormRef = useRef<CsvTableDescriptorFormHandle | null>(null)\n\n return (\n <Stack spacing={2}>\n {fileHandleId && (\n <CsvPreview\n fileHandleId={fileHandleId}\n csvTableDescriptor={csvTableDescriptor}\n onCsvPreviewDataChange={onCsvPreviewDataChange}\n onIsLoadingChange={onIsLoadingChange}\n />\n )}\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant={'headline3'}>Show Options</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CsvTableDescriptorForm\n defaultValue={csvTableDescriptor}\n ref={csvDescriptorFormRef}\n />\n <Button\n variant={'outlined'}\n startIcon={<RefreshTwoTone />}\n sx={{ mt: 2 }}\n onClick={() => {\n if (csvDescriptorFormRef.current) {\n onCsvTableDescriptorChange(\n csvDescriptorFormRef.current.getFormData(),\n )\n }\n }}\n >\n Refresh Preview\n </Button>\n </AccordionDetails>\n </Accordion>\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;AAqCA,SAAwB,EAAsB,EAC5C,iBACA,uBACA,+BACA,2BACA,wBAC6B;CAC7B,IAAM,IAAuB,EAA4C,KAAK;AAE9E,QACE,kBAAC,GAAD;EAAO,SAAS;YAAhB,CACG,KACC,kBAAC,GAAD;GACgB;GACM;GACI;GACL;GACnB,CAAA,EAEJ,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;GAAkB,YAAY,kBAAC,GAAD,EAAkB,CAAA;aAC9C,kBAAC,GAAD;IAAY,SAAS;cAAa;IAAyB,CAAA;GAC1C,CAAA,EACnB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,cAAc;GACd,KAAK;GACL,CAAA,EACF,kBAAC,GAAD;GACE,SAAS;GACT,WAAW,kBAAC,GAAD,EAAkB,CAAA;GAC7B,IAAI,EAAE,IAAI,GAAG;GACb,eAAe;AACb,IAAI,EAAqB,WACvB,EACE,EAAqB,QAAQ,aAAa,CAC3C;;aAGN;GAEQ,CAAA,CACQ,EAAA,CAAA,CACT,EAAA,CAAA,CACN"}
@@ -0,0 +1,12 @@
1
+ import useCsvUploadPreview from './useCsvUploadPreview';
2
+ export type CsvUploadPreviewContentProps = {
3
+ /**
4
+ * Shared upload/preview workflow state and callbacks from useCsvUploadPreview.
5
+ */
6
+ workflow: ReturnType<typeof useCsvUploadPreview>;
7
+ };
8
+ /**
9
+ * Renders the active CSV upload workflow step: file upload first, then preview/options.
10
+ */
11
+ export default function CsvUploadPreviewContent({ workflow, }: CsvUploadPreviewContentProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=CsvUploadPreviewContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvUploadPreviewContent.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/CsvUploadPreviewContent.tsx"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAQvD,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;CACjD,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,QAAQ,GACT,EAAE,4BAA4B,2CAmC9B"}
@@ -0,0 +1,25 @@
1
+ import { BasicFileHandleUpload as e } from "../../file/upload/BasicFileHandleUpload.js";
2
+ import { CsvUploadPreviewStep as t } from "./useCsvUploadPreview.js";
3
+ import n from "./CsvPreviewWithOptions.js";
4
+ import { useRef as r } from "react";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ //#region src/components/table/CsvPreview/CsvUploadPreviewContent.tsx
7
+ function a({ workflow: a }) {
8
+ let { step: o, uploadedFileHandleId: s, onFileUploaded: c, csvTableDescriptor: l, setCsvTableDescriptor: u, setCsvPreviewData: d, setIsLoadingPreview: f } = a, p = r(null);
9
+ return o === t.UPLOAD_CSV ? /* @__PURE__ */ i(e, {
10
+ ref: p,
11
+ allowMultipleUpload: !1,
12
+ onFileUploadComplete: c,
13
+ disableDragAndDrop: !0
14
+ }) : /* @__PURE__ */ i(n, {
15
+ fileHandleId: s,
16
+ csvTableDescriptor: l,
17
+ onCsvTableDescriptorChange: u,
18
+ onCsvPreviewDataChange: d,
19
+ onIsLoadingChange: f
20
+ });
21
+ }
22
+ //#endregion
23
+ export { a as default };
24
+
25
+ //# sourceMappingURL=CsvUploadPreviewContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvUploadPreviewContent.js","names":[],"sources":["../../../../src/components/table/CsvPreview/CsvUploadPreviewContent.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport useCsvUploadPreview from './useCsvUploadPreview'\nimport {\n BasicFileHandleUpload,\n FileUploadHandle,\n} from '@/components/file/upload/BasicFileHandleUpload'\nimport { CsvUploadPreviewStep } from '@/components/table/CsvPreview/useCsvUploadPreview'\nimport CsvPreviewWithOptions from './CsvPreviewWithOptions'\n\nexport type CsvUploadPreviewContentProps = {\n /**\n * Shared upload/preview workflow state and callbacks from useCsvUploadPreview.\n */\n workflow: ReturnType<typeof useCsvUploadPreview>\n}\n\n/**\n * Renders the active CSV upload workflow step: file upload first, then preview/options.\n */\nexport default function CsvUploadPreviewContent({\n workflow,\n}: CsvUploadPreviewContentProps) {\n const {\n step,\n uploadedFileHandleId,\n onFileUploaded,\n csvTableDescriptor,\n setCsvTableDescriptor,\n setCsvPreviewData,\n setIsLoadingPreview,\n } = workflow\n\n const uploadRef = useRef<FileUploadHandle | null>(null)\n\n // Upload step\n if (step === CsvUploadPreviewStep.UPLOAD_CSV) {\n return (\n <BasicFileHandleUpload\n ref={uploadRef}\n allowMultipleUpload={false}\n onFileUploadComplete={onFileUploaded}\n disableDragAndDrop={true}\n />\n )\n }\n\n // Preview step\n return (\n <CsvPreviewWithOptions\n fileHandleId={uploadedFileHandleId}\n csvTableDescriptor={csvTableDescriptor}\n onCsvTableDescriptorChange={setCsvTableDescriptor}\n onCsvPreviewDataChange={setCsvPreviewData}\n onIsLoadingChange={setIsLoadingPreview}\n />\n )\n}\n"],"mappings":";;;;;;AAmBA,SAAwB,EAAwB,EAC9C,eAC+B;CAC/B,IAAM,EACJ,SACA,yBACA,mBACA,uBACA,0BACA,sBACA,2BACE,GAEE,IAAY,EAAgC,KAAK;AAevD,QAZI,MAAS,EAAqB,aAE9B,kBAAC,GAAD;EACE,KAAK;EACL,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;EACpB,CAAA,GAMJ,kBAAC,GAAD;EACE,cAAc;EACM;EACpB,4BAA4B;EAC5B,wBAAwB;EACxB,mBAAmB;EACnB,CAAA"}
@@ -0,0 +1,18 @@
1
+ export type UpdateTableWithCsvDialogProps = {
2
+ /** Whether the dialog is open */
3
+ open: boolean;
4
+ /** Callback when the dialog is closed */
5
+ onClose: () => void;
6
+ /** If provided, upload csv rows to existing table */
7
+ tableId: string;
8
+ /** Invoked after all backend operations successfully complete */
9
+ onSuccess?: () => void;
10
+ };
11
+ /**
12
+ * A dialog used to upload CSV data to an existing Synapse Table entity.
13
+ * It handles a single-phase workflow:
14
+ * 1. CSV Upload & Preview: Displays data preview and applies the rows directly
15
+ * to the target table upon confirmation.
16
+ */
17
+ export default function UpdateTableWithCsvDialog(props: UpdateTableWithCsvDialogProps): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=UpdateTableWithCsvDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateTableWithCsvDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/UpdateTableWithCsvDialog.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,6BAA6B,2CA8DrC"}
@@ -0,0 +1,55 @@
1
+ import { displayToast as e } from "../../ToastMessage/ToastMessage.js";
2
+ import { DialogBase as t } from "../../DialogBase.js";
3
+ import n, { CsvUploadPreviewStep as r } from "./useCsvUploadPreview.js";
4
+ import i from "./CsvUploadPreviewContent.js";
5
+ import a from "./useUploadCsvToExistingTable.js";
6
+ import { useCallback as o } from "react";
7
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ import u from "@mui/material/Button";
9
+ //#region src/components/table/CsvPreview/UpdateTableWithCsvDialog.tsx
10
+ function d(d) {
11
+ let { open: f, onClose: p, tableId: m, onSuccess: h } = d, g = n(), { mutate: _, isPending: v } = a({
12
+ onSuccess() {
13
+ h?.();
14
+ },
15
+ onError(t) {
16
+ e(t.message, "danger");
17
+ }
18
+ }), y = o(() => {
19
+ _({
20
+ tableId: m,
21
+ csvTableDescriptor: g.csvTableDescriptor,
22
+ fileHandleId: g.uploadedFileHandleId
23
+ });
24
+ }, [
25
+ _,
26
+ m,
27
+ g.csvTableDescriptor,
28
+ g.uploadedFileHandleId
29
+ ]);
30
+ return /* @__PURE__ */ c(t, {
31
+ maxWidth: "lg",
32
+ title: "Upload CSV",
33
+ onCancel: p,
34
+ open: f,
35
+ content: /* @__PURE__ */ c(i, { workflow: g }),
36
+ actions: /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(u, {
37
+ variant: "outlined",
38
+ disabled: g.isLoadingPreview,
39
+ onClick: () => {
40
+ p();
41
+ },
42
+ children: "Cancel"
43
+ }), g.step === r.COLUMN_PREVIEW && /* @__PURE__ */ c(u, {
44
+ disabled: g.isLoadingPreview,
45
+ variant: "contained",
46
+ onClick: y,
47
+ loading: v,
48
+ children: "Confirm"
49
+ })] })
50
+ });
51
+ }
52
+ //#endregion
53
+ export { d as default };
54
+
55
+ //# sourceMappingURL=UpdateTableWithCsvDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateTableWithCsvDialog.js","names":[],"sources":["../../../../src/components/table/CsvPreview/UpdateTableWithCsvDialog.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport useCsvUploadPreview, {\n CsvUploadPreviewStep,\n} from '@/components/table/CsvPreview/useCsvUploadPreview'\nimport Button from '@mui/material/Button'\nimport { useCallback } from 'react'\nimport useUploadCsvToExistingTable from './useUploadCsvToExistingTable'\nimport CsvUploadPreviewContent from './CsvUploadPreviewContent'\n\nexport type UpdateTableWithCsvDialogProps = {\n /** Whether the dialog is open */\n open: boolean\n /** Callback when the dialog is closed */\n onClose: () => void\n /** If provided, upload csv rows to existing table */\n tableId: string\n /** Invoked after all backend operations successfully complete */\n onSuccess?: () => void\n}\n\n/**\n * A dialog used to upload CSV data to an existing Synapse Table entity.\n * It handles a single-phase workflow:\n * 1. CSV Upload & Preview: Displays data preview and applies the rows directly\n * to the target table upon confirmation.\n */\nexport default function UpdateTableWithCsvDialog(\n props: UpdateTableWithCsvDialogProps,\n) {\n const { open, onClose, tableId, onSuccess } = props\n const csvUploadPreviewWorkflow = useCsvUploadPreview()\n\n const { mutate: uploadCsvToExistingTable, isPending: isUploading } =\n useUploadCsvToExistingTable({\n onSuccess() {\n onSuccess?.()\n },\n onError(error) {\n displayToast(error.message, 'danger')\n },\n })\n\n const handleFinish = useCallback(() => {\n // table already exists; upload csv rows directly to table\n uploadCsvToExistingTable({\n tableId,\n csvTableDescriptor: csvUploadPreviewWorkflow.csvTableDescriptor,\n fileHandleId: csvUploadPreviewWorkflow.uploadedFileHandleId!,\n })\n }, [\n uploadCsvToExistingTable,\n tableId,\n csvUploadPreviewWorkflow.csvTableDescriptor,\n csvUploadPreviewWorkflow.uploadedFileHandleId,\n ])\n\n return (\n <DialogBase\n maxWidth={'lg'}\n title={'Upload CSV'}\n onCancel={onClose}\n open={open}\n content={<CsvUploadPreviewContent workflow={csvUploadPreviewWorkflow} />}\n actions={\n <>\n <Button\n variant={'outlined'}\n disabled={csvUploadPreviewWorkflow.isLoadingPreview}\n onClick={() => {\n onClose()\n }}\n >\n Cancel\n </Button>\n {csvUploadPreviewWorkflow.step ===\n CsvUploadPreviewStep.COLUMN_PREVIEW && (\n <Button\n disabled={csvUploadPreviewWorkflow.isLoadingPreview}\n variant={'contained'}\n onClick={handleFinish}\n loading={isUploading}\n >\n Confirm\n </Button>\n )}\n </>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;AA2BA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,SAAM,YAAS,YAAS,iBAAc,GACxC,IAA2B,GAAqB,EAEhD,EAAE,QAAQ,GAA0B,WAAW,MACnD,EAA4B;EAC1B,YAAY;AACV,QAAa;;EAEf,QAAQ,GAAO;AACb,KAAa,EAAM,SAAS,SAAS;;EAExC,CAAC,EAEE,IAAe,QAAkB;AAErC,IAAyB;GACvB;GACA,oBAAoB,EAAyB;GAC7C,cAAc,EAAyB;GACxC,CAAC;IACD;EACD;EACA;EACA,EAAyB;EACzB,EAAyB;EAC1B,CAAC;AAEF,QACE,kBAAC,GAAD;EACE,UAAU;EACV,OAAO;EACP,UAAU;EACJ;EACN,SAAS,kBAAC,GAAD,EAAyB,UAAU,GAA4B,CAAA;EACxE,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,SAAS;GACT,UAAU,EAAyB;GACnC,eAAe;AACb,OAAS;;aAEZ;GAEQ,CAAA,EACR,EAAyB,SACxB,EAAqB,kBACrB,kBAAC,GAAD;GACE,UAAU,EAAyB;GACnC,SAAS;GACT,SAAS;GACT,SAAS;aACV;GAEQ,CAAA,CAEV,EAAA,CAAA;EAEL,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { CsvTableDescriptor, TableUpdateTransactionResponse } from '@sage-bionetworks/synapse-client';
2
+ import { UseMutationOptions } from '@tanstack/react-query';
3
+ import { ColumnModel as SynapseTypesColumnModel } from '@sage-bionetworks/synapse-types';
4
+ import { SetOptional } from 'type-fest';
5
+ import { SynapseClientError } from '@/utils/index';
6
+ type CreateTableFromCsvProps = {
7
+ parentId: string;
8
+ tableName: string;
9
+ columnModels: SetOptional<SynapseTypesColumnModel, 'id'>[];
10
+ csvTableDescriptor: CsvTableDescriptor;
11
+ fileHandleId: string;
12
+ };
13
+ /**
14
+ * Mutation hook that creates a new Synapse Table from a CSV.
15
+ * Creates ColumnModels, creates the TableEntity, then uploads the CSV rows.
16
+ */
17
+ export default function useCreateTableFromCsv(options?: Omit<UseMutationOptions<TableUpdateTransactionResponse, SynapseClientError, CreateTableFromCsvProps>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<TableUpdateTransactionResponse, SynapseClientError, CreateTableFromCsvProps, unknown>;
18
+ export {};
19
+ //# sourceMappingURL=useCreateTableFromCsv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateTableFromCsv.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/useCreateTableFromCsv.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,8BAA8B,EAC/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAEL,WAAW,IAAI,uBAAuB,EAEvC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKlD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,WAAW,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAA;IAC1D,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,CACxB,EACD,YAAY,CACb,2IAkDF"}
@@ -0,0 +1,35 @@
1
+ import { useCreateEntity as e } from "../../../synapse-queries/entity/useEntity.js";
2
+ import "../../../synapse-queries/index.js";
3
+ import { useCreateColumnModels as t } from "../../../synapse-queries/table/useColumnModel.js";
4
+ import { useTableUpdateTransaction as n } from "../../../synapse-queries/table/useTableUpdateTransaction.js";
5
+ import { useMutation as r } from "@tanstack/react-query";
6
+ //#region src/components/table/CsvPreview/useCreateTableFromCsv.ts
7
+ function i(i) {
8
+ let { mutateAsync: a } = t(), { mutateAsync: o } = e(), { mutateAsync: s } = n();
9
+ return r({
10
+ ...i,
11
+ mutationFn: async ({ parentId: e, tableName: t, columnModels: n, csvTableDescriptor: r, fileHandleId: i }) => {
12
+ let c = await a(n), l = {
13
+ name: t,
14
+ parentId: e,
15
+ concreteType: "org.sagebionetworks.repo.model.table.TableEntity"
16
+ };
17
+ l.columnIds = c.map((e) => e.id);
18
+ let u = await o(l);
19
+ return s({
20
+ concreteType: "org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest",
21
+ entityId: u.id,
22
+ changes: [{
23
+ tableId: u.id,
24
+ uploadFileHandleId: i,
25
+ csvTableDescriptor: r,
26
+ concreteType: "org.sagebionetworks.repo.model.table.UploadToTableRequest"
27
+ }]
28
+ });
29
+ }
30
+ });
31
+ }
32
+ //#endregion
33
+ export { i as default };
34
+
35
+ //# sourceMappingURL=useCreateTableFromCsv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateTableFromCsv.js","names":[],"sources":["../../../../src/components/table/CsvPreview/useCreateTableFromCsv.ts"],"sourcesContent":["import {\n CsvTableDescriptor,\n TableUpdateTransactionRequest,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport {\n Entity,\n ColumnModel as SynapseTypesColumnModel,\n Table,\n} from '@sage-bionetworks/synapse-types'\nimport { SetOptional } from 'type-fest'\nimport { SynapseClientError } from '@/utils/index'\nimport { useCreateEntity } from '@/synapse-queries'\nimport { useCreateColumnModels } from '@/synapse-queries/table/useColumnModel'\nimport { useTableUpdateTransaction } from '@/synapse-queries/table/useTableUpdateTransaction'\n\ntype CreateTableFromCsvProps = {\n parentId: string\n tableName: string\n columnModels: SetOptional<SynapseTypesColumnModel, 'id'>[]\n csvTableDescriptor: CsvTableDescriptor\n fileHandleId: string\n}\n\n/**\n * Mutation hook that creates a new Synapse Table from a CSV.\n * Creates ColumnModels, creates the TableEntity, then uploads the CSV rows.\n */\nexport default function useCreateTableFromCsv(\n options?: Omit<\n UseMutationOptions<\n TableUpdateTransactionResponse,\n SynapseClientError,\n CreateTableFromCsvProps\n >,\n 'mutationFn'\n >,\n) {\n const { mutateAsync: createColumnModels } = useCreateColumnModels()\n const { mutateAsync: createEntity } = useCreateEntity()\n const { mutateAsync: updateTableInTransaction } = useTableUpdateTransaction()\n\n return useMutation<\n TableUpdateTransactionResponse,\n SynapseClientError,\n CreateTableFromCsvProps\n >({\n ...options,\n mutationFn: async ({\n parentId,\n tableName,\n columnModels,\n csvTableDescriptor,\n fileHandleId,\n }) => {\n const createdColumnModelResults = await createColumnModels(columnModels)\n\n const entityToCreate: Entity = {\n name: tableName,\n parentId: parentId,\n concreteType: 'org.sagebionetworks.repo.model.table.TableEntity',\n }\n ;(entityToCreate as Table)['columnIds'] = createdColumnModelResults.map(\n cm => cm.id,\n )\n\n const newEntity = await createEntity(entityToCreate)\n\n const tableUpdateRequest: TableUpdateTransactionRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest',\n entityId: newEntity.id!,\n changes: [\n {\n tableId: newEntity.id!,\n uploadFileHandleId: fileHandleId,\n csvTableDescriptor,\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTableRequest',\n },\n ],\n }\n\n return updateTableInTransaction(tableUpdateRequest)\n },\n })\n}\n"],"mappings":";;;;;;AA6BA,SAAwB,EACtB,GAQA;CACA,IAAM,EAAE,aAAa,MAAuB,GAAuB,EAC7D,EAAE,aAAa,MAAiB,GAAiB,EACjD,EAAE,aAAa,MAA6B,GAA2B;AAE7E,QAAO,EAIL;EACA,GAAG;EACH,YAAY,OAAO,EACjB,aACA,cACA,iBACA,uBACA,sBACI;GACJ,IAAM,IAA4B,MAAM,EAAmB,EAAa,EAElE,IAAyB;IAC7B,MAAM;IACI;IACV,cAAc;IACf;AACC,KAAyB,YAAe,EAA0B,KAClE,MAAM,EAAG,GACV;GAED,IAAM,IAAY,MAAM,EAAa,EAAe;AAiBpD,UAAO,EAAyB;IAd9B,cACE;IACF,UAAU,EAAU;IACpB,SAAS,CACP;KACE,SAAS,EAAU;KACnB,oBAAoB;KACpB;KACA,cACE;KACH,CACF;IAG6B,CAAmB;;EAEtD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { CsvTableDescriptor, UploadToTablePreviewResult } from '@sage-bionetworks/synapse-client';
2
+ export declare enum CsvUploadPreviewStep {
3
+ UPLOAD_CSV = 0,
4
+ COLUMN_PREVIEW = 1
5
+ }
6
+ /**
7
+ * Shared state and logic for CSV upload/preview dialogs.
8
+ * Manages the common state needed for uploading a CSV file and previewing its contents.
9
+ */
10
+ export default function useCsvUploadPreview(): {
11
+ step: CsvUploadPreviewStep;
12
+ setStep: import("react").Dispatch<import("react").SetStateAction<CsvUploadPreviewStep>>;
13
+ csvTableDescriptor: CsvTableDescriptor;
14
+ setCsvTableDescriptor: import("react").Dispatch<import("react").SetStateAction<CsvTableDescriptor>>;
15
+ uploadedFileHandleId: string | null;
16
+ csvPreviewData: UploadToTablePreviewResult | null;
17
+ setCsvPreviewData: import("react").Dispatch<import("react").SetStateAction<UploadToTablePreviewResult | null>>;
18
+ isLoadingPreview: boolean;
19
+ setIsLoadingPreview: import("react").Dispatch<import("react").SetStateAction<boolean>>;
20
+ onFileUploaded: (fileHandleId: string) => void;
21
+ };
22
+ //# sourceMappingURL=useCsvUploadPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCsvUploadPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/useCsvUploadPreview.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAA;AAUzC,oBAAY,oBAAoB;IAC9B,UAAU,IAAI;IACd,cAAc,IAAI;CACnB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB;;;;;;;;;;mCAWS,MAAM;EAiBzD"}
@@ -0,0 +1,32 @@
1
+ import { useCallback as e, useState as t } from "react";
2
+ //#region src/components/table/CsvPreview/useCsvUploadPreview.ts
3
+ var n = {
4
+ separator: ",",
5
+ quoteCharacter: "\"",
6
+ escapeCharacter: "\\",
7
+ lineEnd: "\n",
8
+ isFirstLineHeader: !0
9
+ }, r = /* @__PURE__ */ function(e) {
10
+ return e[e.UPLOAD_CSV = 0] = "UPLOAD_CSV", e[e.COLUMN_PREVIEW = 1] = "COLUMN_PREVIEW", e;
11
+ }({});
12
+ function i() {
13
+ let [i, a] = t(r.UPLOAD_CSV), [o, s] = t(n), [c, l] = t(null), [u, d] = t(null), [f, p] = t(!1);
14
+ return {
15
+ step: i,
16
+ setStep: a,
17
+ csvTableDescriptor: o,
18
+ setCsvTableDescriptor: s,
19
+ uploadedFileHandleId: c,
20
+ csvPreviewData: u,
21
+ setCsvPreviewData: d,
22
+ isLoadingPreview: f,
23
+ setIsLoadingPreview: p,
24
+ onFileUploaded: e((e) => {
25
+ l(e), a(r.COLUMN_PREVIEW);
26
+ }, [])
27
+ };
28
+ }
29
+ //#endregion
30
+ export { r as CsvUploadPreviewStep, i as default };
31
+
32
+ //# sourceMappingURL=useCsvUploadPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCsvUploadPreview.js","names":[],"sources":["../../../../src/components/table/CsvPreview/useCsvUploadPreview.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport {\n CsvTableDescriptor,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\n\nconst DEFAULT_CSV_TABLE_DESCRIPTOR: CsvTableDescriptor = {\n separator: ',',\n quoteCharacter: '\"',\n escapeCharacter: '\\\\',\n lineEnd: '\\n',\n isFirstLineHeader: true,\n}\n\nexport enum CsvUploadPreviewStep {\n UPLOAD_CSV = 0,\n COLUMN_PREVIEW = 1,\n}\n\n/**\n * Shared state and logic for CSV upload/preview dialogs.\n * Manages the common state needed for uploading a CSV file and previewing its contents.\n */\nexport default function useCsvUploadPreview() {\n const [step, setStep] = useState(CsvUploadPreviewStep.UPLOAD_CSV)\n const [csvTableDescriptor, setCsvTableDescriptor] =\n useState<CsvTableDescriptor>(DEFAULT_CSV_TABLE_DESCRIPTOR)\n const [uploadedFileHandleId, setUploadedFileHandleId] = useState<\n string | null\n >(null)\n const [csvPreviewData, setCsvPreviewData] =\n useState<UploadToTablePreviewResult | null>(null)\n const [isLoadingPreview, setIsLoadingPreview] = useState(false)\n\n const onFileUploaded = useCallback((fileHandleId: string) => {\n setUploadedFileHandleId(fileHandleId)\n setStep(CsvUploadPreviewStep.COLUMN_PREVIEW)\n }, [])\n\n return {\n step,\n setStep,\n csvTableDescriptor,\n setCsvTableDescriptor,\n uploadedFileHandleId,\n csvPreviewData,\n setCsvPreviewData,\n isLoadingPreview,\n setIsLoadingPreview,\n onFileUploaded,\n }\n}\n"],"mappings":";;AAMA,IAAM,IAAmD;CACvD,WAAW;CACX,gBAAgB;CAChB,iBAAiB;CACjB,SAAS;CACT,mBAAmB;CACpB,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,aAAa,KAAA,cACb,EAAA,EAAA,iBAAiB,KAAA;KAClB;AAMD,SAAwB,IAAsB;CAC5C,IAAM,CAAC,GAAM,KAAW,EAAS,EAAqB,WAAW,EAC3D,CAAC,GAAoB,KACzB,EAA6B,EAA6B,EACtD,CAAC,GAAsB,KAA2B,EAEtD,KAAK,EACD,CAAC,GAAgB,KACrB,EAA4C,KAAK,EAC7C,CAAC,GAAkB,KAAuB,EAAS,GAAM;AAO/D,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAfqB,GAAa,MAAyB;AAE3D,GADA,EAAwB,EAAa,EACrC,EAAQ,EAAqB,eAAe;KAC3C,EAAE,CAYH;EACD"}
@@ -0,0 +1,14 @@
1
+ import { CsvTableDescriptor, TableUpdateTransactionResponse } from '@sage-bionetworks/synapse-client';
2
+ import { UseMutationOptions } from '@tanstack/react-query';
3
+ import { SynapseClientError } from '@/utils/index';
4
+ type UploadCsvToExistingTableProps = {
5
+ tableId: string;
6
+ csvTableDescriptor: CsvTableDescriptor;
7
+ fileHandleId: string;
8
+ };
9
+ /**
10
+ * Mutation hook that uploads CSV rows to an existing Synapse Table.
11
+ */
12
+ export default function useUploadCsvToExistingTable(options?: Omit<UseMutationOptions<TableUpdateTransactionResponse, SynapseClientError, UploadCsvToExistingTableProps>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<TableUpdateTransactionResponse, SynapseClientError, UploadCsvToExistingTableProps, unknown>;
13
+ export {};
14
+ //# sourceMappingURL=useUploadCsvToExistingTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadCsvToExistingTable.d.ts","sourceRoot":"","sources":["../../../../src/components/table/CsvPreview/useUploadCsvToExistingTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,8BAA8B,EAC/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAGlD,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,CAC9B,EACD,YAAY,CACb,iJA6BF"}
@@ -0,0 +1,23 @@
1
+ import { useTableUpdateTransaction as e } from "../../../synapse-queries/table/useTableUpdateTransaction.js";
2
+ import { useMutation as t } from "@tanstack/react-query";
3
+ //#region src/components/table/CsvPreview/useUploadCsvToExistingTable.ts
4
+ function n(n) {
5
+ let { mutateAsync: r } = e();
6
+ return t({
7
+ ...n,
8
+ mutationFn: async ({ tableId: e, csvTableDescriptor: t, fileHandleId: n }) => r({
9
+ concreteType: "org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest",
10
+ entityId: e,
11
+ changes: [{
12
+ tableId: e,
13
+ uploadFileHandleId: n,
14
+ csvTableDescriptor: t,
15
+ concreteType: "org.sagebionetworks.repo.model.table.UploadToTableRequest"
16
+ }]
17
+ })
18
+ });
19
+ }
20
+ //#endregion
21
+ export { n as default };
22
+
23
+ //# sourceMappingURL=useUploadCsvToExistingTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadCsvToExistingTable.js","names":[],"sources":["../../../../src/components/table/CsvPreview/useUploadCsvToExistingTable.ts"],"sourcesContent":["import {\n CsvTableDescriptor,\n TableUpdateTransactionRequest,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { SynapseClientError } from '@/utils/index'\nimport { useTableUpdateTransaction } from '@/synapse-queries/table/useTableUpdateTransaction'\n\ntype UploadCsvToExistingTableProps = {\n tableId: string\n csvTableDescriptor: CsvTableDescriptor\n fileHandleId: string\n}\n\n/**\n * Mutation hook that uploads CSV rows to an existing Synapse Table.\n */\nexport default function useUploadCsvToExistingTable(\n options?: Omit<\n UseMutationOptions<\n TableUpdateTransactionResponse,\n SynapseClientError,\n UploadCsvToExistingTableProps\n >,\n 'mutationFn'\n >,\n) {\n const { mutateAsync: updateTableInTransaction } = useTableUpdateTransaction()\n\n return useMutation<\n TableUpdateTransactionResponse,\n SynapseClientError,\n UploadCsvToExistingTableProps\n >({\n ...options,\n mutationFn: async ({ tableId, csvTableDescriptor, fileHandleId }) => {\n const tableUpdateRequest: TableUpdateTransactionRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest',\n entityId: tableId,\n changes: [\n {\n tableId: tableId,\n uploadFileHandleId: fileHandleId,\n csvTableDescriptor,\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTableRequest',\n },\n ],\n }\n\n return updateTableInTransaction(tableUpdateRequest)\n },\n })\n}\n"],"mappings":";;;AAkBA,SAAwB,EACtB,GAQA;CACA,IAAM,EAAE,aAAa,MAA6B,GAA2B;AAE7E,QAAO,EAIL;EACA,GAAG;EACH,YAAY,OAAO,EAAE,YAAS,uBAAoB,sBAgBzC,EAAyB;GAd9B,cACE;GACF,UAAU;GACV,SAAS,CACP;IACW;IACT,oBAAoB;IACpB;IACA,cACE;IACH,CACF;GAG6B,CAAmB;EAEtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,YAAY,EAKb,MAAM,kCAAkC,CAAA;AAgCzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CAogB7C"}
1
+ {"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,YAAY,EAKb,MAAM,kCAAkC,CAAA;AAmCzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CAwgB7C"}