@vuu-ui/vuu-table-extras 3.3.0 → 3.3.1

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.0",
2
+ "version": "3.3.1",
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.0",
15
- "@vuu-ui/vuu-protocol-types": "3.3.0"
14
+ "@vuu-ui/vuu-filter-types": "3.3.1",
15
+ "@vuu-ui/vuu-protocol-types": "3.3.1"
16
16
  },
17
17
  "dependencies": {
18
- "@vuu-ui/vuu-codemirror": "3.3.0",
19
- "@vuu-ui/vuu-data-editing": "3.3.0",
20
- "@vuu-ui/vuu-data-react": "3.3.0",
21
- "@vuu-ui/vuu-data-types": "3.3.0",
22
- "@vuu-ui/vuu-table-types": "3.3.0",
23
- "@vuu-ui/vuu-popups": "3.3.0",
24
- "@vuu-ui/vuu-table": "3.3.0",
25
- "@vuu-ui/vuu-utils": "3.3.0",
26
- "@vuu-ui/vuu-ui-controls": "3.3.0",
18
+ "@vuu-ui/vuu-codemirror": "3.3.1",
19
+ "@vuu-ui/vuu-data-editing": "3.3.1",
20
+ "@vuu-ui/vuu-data-react": "3.3.1",
21
+ "@vuu-ui/vuu-data-types": "3.3.1",
22
+ "@vuu-ui/vuu-table-types": "3.3.1",
23
+ "@vuu-ui/vuu-popups": "3.3.1",
24
+ "@vuu-ui/vuu-table": "3.3.1",
25
+ "@vuu-ui/vuu-utils": "3.3.1",
26
+ "@vuu-ui/vuu-ui-controls": "3.3.1",
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,13 +5,18 @@ 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", onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions })=>{
8
+ const useCsvUpload = ({ dataSource, importMode = "direct", onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults })=>{
9
9
  const [validation, setValidation] = useState();
10
10
  const [sessionTable, setSessionTable] = useState();
11
11
  const [isProcessingFile, setIsProcessingFile] = useState(false);
12
12
  const [isImporting, setIsImporting] = useState(false);
13
- const editSession = useMemo(()=>new EditSession(dataSource), [
14
- dataSource
13
+ const editSession = useMemo(()=>new EditSession({
14
+ dataSource,
15
+ editSessionApi: "createSessionDataSource",
16
+ rowDefaults
17
+ }), [
18
+ dataSource,
19
+ rowDefaults
15
20
  ]);
16
21
  const ownsEditSessionRef = useRef(true);
17
22
  const operationIdRef = useRef(0);
@@ -1,9 +1,9 @@
1
1
  import { type ReactNode } from "react";
2
- import type { DataSource } from "@vuu-ui/vuu-data-types";
3
- import type { EditSession } from "@vuu-ui/vuu-data-editing";
4
- import type { VuuTable } from "@vuu-ui/vuu-protocol-types";
2
+ import type { RowDefaultDataItemValues, EditSession } from "@vuu-ui/vuu-data-editing";
5
3
  import type { CsvParseError, CsvParseOptions } from "./parse/csv-parse";
6
4
  import type { CsvValidationStructuredError } from "./parse/csv-schema-validation";
5
+ import type { DataSource } from "@vuu-ui/vuu-data-types";
6
+ import type { VuuTable } from "@vuu-ui/vuu-protocol-types";
7
7
  import type { CsvUploadTableData } from "./parse/csv-upload-utils";
8
8
  export type CsvUploadImportedResult = {
9
9
  tableData: CsvUploadTableData;
@@ -51,5 +51,6 @@ export interface CsvUploadProps {
51
51
  open?: boolean;
52
52
  parseOptions?: CsvParseOptions;
53
53
  importMode?: "direct" | "preview";
54
+ rowDefaults?: RowDefaultDataItemValues;
54
55
  }
55
56
  export declare const CsvUpload: (props: CsvUploadProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import type { DataSource, TableSchema } from "@vuu-ui/vuu-data-types";
2
+ import { type RowDefaultDataItemValues } from "@vuu-ui/vuu-data-editing";
2
3
  import { type CsvParseOptions } from "./parse/csv-parse";
3
4
  import { type CsvValidationResult } from "./parse/csv-schema-validation";
4
5
  import type { CsvUploadErrorResult, CsvUploadImportedResult, CsvUploadPreviewResult, CsvUploadSessionEndResult, CsvUploadSessionTable } from "./CsvUpload";
@@ -13,6 +14,8 @@ export interface CsvUploadHookProps {
13
14
  onPreview?: (result: CsvUploadPreviewResult) => void;
14
15
  onProcessingStarted?: () => void;
15
16
  parseOptions?: CsvParseOptions;
17
+ /** Default column values applied to every addRow call. Pass a stable reference — a new object triggers EditSession recreation. */
18
+ rowDefaults?: RowDefaultDataItemValues;
16
19
  }
17
20
  export type UseCsvUploadReturn = {
18
21
  canImport: boolean;
@@ -26,4 +29,4 @@ export type UseCsvUploadReturn = {
26
29
  schema: TableSchema | undefined;
27
30
  validation: CsvValidationResult | undefined;
28
31
  };
29
- export declare const useCsvUpload: ({ dataSource, importMode, onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, }: CsvUploadHookProps) => UseCsvUploadReturn;
32
+ export declare const useCsvUpload: ({ dataSource, importMode, onImportSessionEnded, onImportSessionStarted, onError, onImported, onPreview, onProcessingStarted, maxRows, parseOptions, rowDefaults, }: CsvUploadHookProps) => UseCsvUploadReturn;