@vuu-ui/vuu-table-extras 3.3.12 → 3.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.3.12",
2
+ "version": "3.3.13",
3
3
  "author": "heswell",
4
4
  "main": "./src/index.js",
5
5
  "license": "Apache-2.0",
@@ -11,19 +11,19 @@
11
11
  "lezer-generate:column": "lezer-generator --output ./src/column-expression-input/column-language-parser/generated/column-parser.js ./src/column-expression-input/column-language-parser/grammar/column.grammar"
12
12
  },
13
13
  "devDependencies": {
14
- "@vuu-ui/vuu-filter-types": "3.3.12",
15
- "@vuu-ui/vuu-protocol-types": "3.3.12"
14
+ "@vuu-ui/vuu-filter-types": "3.3.13",
15
+ "@vuu-ui/vuu-protocol-types": "3.3.13"
16
16
  },
17
17
  "dependencies": {
18
- "@vuu-ui/vuu-codemirror": "3.3.12",
19
- "@vuu-ui/vuu-data-editing": "3.3.12",
20
- "@vuu-ui/vuu-data-react": "3.3.12",
21
- "@vuu-ui/vuu-data-types": "3.3.12",
22
- "@vuu-ui/vuu-table-types": "3.3.12",
23
- "@vuu-ui/vuu-popups": "3.3.12",
24
- "@vuu-ui/vuu-table": "3.3.12",
25
- "@vuu-ui/vuu-utils": "3.3.12",
26
- "@vuu-ui/vuu-ui-controls": "3.3.12",
18
+ "@vuu-ui/vuu-codemirror": "3.3.13",
19
+ "@vuu-ui/vuu-data-editing": "3.3.13",
20
+ "@vuu-ui/vuu-data-react": "3.3.13",
21
+ "@vuu-ui/vuu-data-types": "3.3.13",
22
+ "@vuu-ui/vuu-table-types": "3.3.13",
23
+ "@vuu-ui/vuu-popups": "3.3.13",
24
+ "@vuu-ui/vuu-table": "3.3.13",
25
+ "@vuu-ui/vuu-utils": "3.3.13",
26
+ "@vuu-ui/vuu-ui-controls": "3.3.13",
27
27
  "@lezer/lr": "1.4.2",
28
28
  "@salt-ds/core": "1.54.1",
29
29
  "@salt-ds/lab": "1.0.0-alpha.83",
@@ -5,7 +5,7 @@ import { parseCsv } from "./parse/csv-parse.js";
5
5
  import { validateCsvAgainstSchema } from "./parse/csv-schema-validation.js";
6
6
  import { buildRowErrorMessage, createUploadError, hasFileParseErrors, isCsvParseError, mergeValidationWithParseErrors, toErrorMessage } from "./parse/csv-upload-utils.js";
7
7
  import { CSV_FIRST_DATA_ROW_NUMBER } from "./parse/csv-constants.js";
8
- const useCsvUpload = ({ dataSource, importMode = "direct", importSchema, importTable, onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults, validators })=>{
8
+ const useCsvUpload = ({ dataSource, importMode = "direct", importSchema, importTable, onImportSessionEnded, onImportSessionReady, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults, validators })=>{
9
9
  const { getServerAPI } = useData();
10
10
  const [validation, setValidation] = useState();
11
11
  const [sessionTable, setSessionTable] = useState();
@@ -187,11 +187,9 @@ const useCsvUpload = ({ dataSource, importMode = "direct", importSchema, importT
187
187
  const sessionVuuTable = sessionDataSource?.table;
188
188
  if (void 0 === sessionDataSource || void 0 === sessionVuuTable || !isSessionTable(sessionVuuTable)) throw Error("CsvUpload createSessionDataSource returned no session datasource.");
189
189
  setActiveSessionDataSource(sessionDataSource);
190
- onImportSessionStarted?.(sessionDataSource);
191
190
  return sessionDataSource;
192
191
  }, [
193
192
  editSession,
194
- onImportSessionStarted,
195
193
  setActiveSessionDataSource
196
194
  ]);
197
195
  const closePendingEditSession = useCallback(async (save)=>{
@@ -259,10 +257,11 @@ const useCsvUpload = ({ dataSource, importMode = "direct", importSchema, importT
259
257
  const mergedValidation = mergeValidationWithParseErrors(schemaValidation, parsedCsv.error);
260
258
  setValidation(mergedValidation);
261
259
  if (mergedValidation.rows.length > 0) try {
262
- await beginEditSession();
260
+ const sessionDataSource = await beginEditSession();
263
261
  if (operationId !== operationIdRef.current) return;
264
262
  const rowsAdded = await addAllRows(mergedValidation, operationId);
265
263
  if (!rowsAdded) return;
264
+ onImportSessionReady?.(sessionDataSource);
266
265
  } catch (error) {
267
266
  if (void 0 !== sessionDataSourceRef.current) await endEditSessionAndNotify(false, "failed");
268
267
  else try {
@@ -290,7 +289,8 @@ const useCsvUpload = ({ dataSource, importMode = "direct", importSchema, importT
290
289
  table,
291
290
  endEditSessionAndNotify,
292
291
  schema,
293
- validators
292
+ validators,
293
+ onImportSessionReady
294
294
  ]);
295
295
  const handleFiles = useCallback(async (files)=>{
296
296
  const file = files[0];
@@ -46,7 +46,7 @@ export interface CsvUploadProps {
46
46
  importSchema?: TableSchema;
47
47
  /** Expected import table, used to validate the session table returned by the server. */
48
48
  importTable?: VuuTable;
49
- onImportSessionStarted?: (dataSource: DataSource) => void;
49
+ onImportSessionReady?: (dataSource: DataSource) => void;
50
50
  onImportSessionEnded?: (result: CsvUploadSessionEndResult) => void;
51
51
  onError?: (result: CsvUploadErrorResult | undefined) => void;
52
52
  onImported?: (result: CsvUploadImportedResult) => void;
@@ -17,7 +17,7 @@ export interface CsvUploadHookProps {
17
17
  importTable?: VuuTable;
18
18
  maxRows?: number;
19
19
  onImportSessionEnded?: (result: CsvUploadSessionEndResult) => void;
20
- onImportSessionStarted?: (dataSource: DataSource) => void;
20
+ onImportSessionReady?: (dataSource: DataSource) => void;
21
21
  onError?: (result: CsvUploadErrorResult | undefined) => void;
22
22
  onImported?: (result: CsvUploadImportedResult) => void;
23
23
  onPreview?: (result: CsvUploadPreviewResult) => void;
@@ -40,4 +40,4 @@ export type UseCsvUploadReturn = {
40
40
  validation: CsvValidationResult | undefined;
41
41
  error: CsvUploadErrorResult | undefined;
42
42
  };
43
- export declare const useCsvUpload: ({ dataSource, importMode, importSchema, importTable, onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults, validators, }: CsvUploadHookProps) => UseCsvUploadReturn;
43
+ export declare const useCsvUpload: ({ dataSource, importMode, importSchema, importTable, onImportSessionEnded, onImportSessionReady, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults, validators, }: CsvUploadHookProps) => UseCsvUploadReturn;