@vuu-ui/vuu-utils 2.3.0 → 3.0.0-beta.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.
Files changed (43) hide show
  1. package/cjs/packages/vuu-utils/src/column-utils.js +6 -1
  2. package/cjs/packages/vuu-utils/src/column-utils.js.map +1 -1
  3. package/cjs/packages/vuu-utils/src/index.js +2 -14
  4. package/cjs/packages/vuu-utils/src/index.js.map +1 -1
  5. package/cjs/packages/vuu-utils/src/table-schema-utils.js +10 -0
  6. package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +1 -1
  7. package/esm/packages/vuu-utils/src/column-utils.js +6 -2
  8. package/esm/packages/vuu-utils/src/column-utils.js.map +1 -1
  9. package/esm/packages/vuu-utils/src/index.js +2 -7
  10. package/esm/packages/vuu-utils/src/index.js.map +1 -1
  11. package/esm/packages/vuu-utils/src/table-schema-utils.js +10 -1
  12. package/esm/packages/vuu-utils/src/table-schema-utils.js.map +1 -1
  13. package/package.json +6 -6
  14. package/types/column-utils.d.ts +33 -1
  15. package/types/filters/filter-utils.d.ts +1 -1
  16. package/types/index.d.ts +0 -6
  17. package/types/table-schema-utils.d.ts +4 -2
  18. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -28
  19. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
  20. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +0 -64
  21. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
  22. package/cjs/packages/vuu-utils/src/data-editing/EditSession.js +0 -320
  23. package/cjs/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
  24. package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js +0 -37
  25. package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
  26. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -124
  27. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
  28. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -25
  29. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
  30. package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +0 -62
  31. package/esm/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
  32. package/esm/packages/vuu-utils/src/data-editing/EditSession.js +0 -316
  33. package/esm/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
  34. package/esm/packages/vuu-utils/src/data-editing/edit-utils.js +0 -34
  35. package/esm/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
  36. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -122
  37. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
  38. package/types/data-editing/DataEditingProvider.d.ts +0 -8
  39. package/types/data-editing/EditButtons.d.ts +0 -13
  40. package/types/data-editing/EditModeProvider.d.ts +0 -13
  41. package/types/data-editing/EditSession.d.ts +0 -53
  42. package/types/data-editing/edit-utils.d.ts +0 -4
  43. package/types/data-editing/useEditableTable.d.ts +0 -34
@@ -1,53 +0,0 @@
1
- import { CopyOption, DataSource, DeleteRowMode, EditApi, EditSessionMode } from "@vuu-ui/vuu-data-types";
2
- import type { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
3
- import { EventEmitter } from "../event-emitter";
4
- export declare const isCopyOption: (mode?: EditSessionMode | CopyOption) => mode is CopyOption;
5
- export type EditState = "clean" | "dirty" | "invalid" | "stale";
6
- export declare class EditError extends Error {
7
- }
8
- type CellEdit = {
9
- originalValue: VuuRowDataItemType;
10
- editedValue: VuuRowDataItemType;
11
- isValid?: boolean;
12
- isDeleted?: boolean;
13
- };
14
- export declare class StaleUpdateError extends Error {
15
- }
16
- type RowEditDetails = {
17
- /**
18
- * Column name => cell edit details
19
- */
20
- cellEdits: Map<string, CellEdit>;
21
- };
22
- type EditSessionEvents = {
23
- editState: (editState: EditState) => void;
24
- };
25
- export declare class EditSession extends EventEmitter<EditSessionEvents> {
26
- #private;
27
- constructor(dataSource: EditApi, deleteMode?: DeleteRowMode);
28
- get editCount(): number;
29
- set editCount(val: number);
30
- get invalidCount(): number;
31
- set invalidCount(val: number);
32
- get deleteCount(): number;
33
- set deleteCount(val: number);
34
- get addCount(): number;
35
- set addCount(val: number);
36
- deleteSelectedRows(): Promise<void>;
37
- addRows(count?: number, rowData?: Record<string, VuuRowDataItemType>): void;
38
- restoreRows(keys: string[]): void;
39
- hasRowChanges(key: string): boolean;
40
- undoRowChange(key: string): Promise<void>;
41
- clear(): void;
42
- /** @deprecated Pass a `CopyOption` ("All" | "Empty" | "Selected") to use `createSessionDataSource` instead. Long-form `EditSessionMode` values will be removed in a future release. */
43
- begin(mode: EditSessionMode): Promise<DataSource | undefined>;
44
- begin(mode?: CopyOption): Promise<DataSource | undefined>;
45
- get dataSource(): EditApi<import("@vuu-ui/vuu-data-types").DataSourceRow<VuuRowDataItemType>> | undefined;
46
- end(saveChanges?: boolean, force?: boolean): Promise<void>;
47
- get inEditMode(): boolean;
48
- get editState(): EditState;
49
- getOrCreateRowEdits(key: string): RowEditDetails;
50
- storeCellEdit(cellEdits: Map<string, CellEdit>, column: string, originalValue: VuuRowDataItemType, editedValue: VuuRowDataItemType, isValid: boolean): CellEdit;
51
- commit(key: string, columnName: string, originalValue: VuuRowDataItemType, typedValue: string | number | boolean, isValid: boolean): Promise<any>;
52
- }
53
- export {};
@@ -1,4 +0,0 @@
1
- import { EditSessionMode, InlineEditSessionMode } from "@vuu-ui/vuu-data-types";
2
- import { DataRow, RuntimeColumnDescriptor } from "@vuu-ui/vuu-table-types";
3
- export declare const isInlineEditingSession: (editSessionMode: EditSessionMode) => editSessionMode is InlineEditSessionMode;
4
- export declare const getVuuEditMessage: (dataRow: DataRow, column: RuntimeColumnDescriptor, originalValue: string) => import("react/jsx-runtime").JSX.Element | undefined;
@@ -1,34 +0,0 @@
1
- import { CopyOption, DataSource, DeleteRowMode, EditSessionMode } from "@vuu-ui/vuu-data-types";
2
- import type { VuuTable } from "@vuu-ui/vuu-protocol-types";
3
- import { EditSession } from "./EditSession";
4
- export type EditMode = "edit" | "view";
5
- export interface EditableTableHookProps {
6
- /**
7
- * columns to be included in subscription. If not provided,
8
- * default will be '*'. Ignored if dataSource prop present.
9
- */
10
- columns?: string[];
11
- dataSource?: DataSource;
12
- addRowsCount?: number;
13
- deleteMode?: DeleteRowMode;
14
- editSessionMode?: EditSessionMode | CopyOption;
15
- isEditMode: boolean;
16
- onCancel: () => void;
17
- onSave: () => void;
18
- /**
19
- * If dataSource not provided, new DataSource
20
- * will be created using table and columns
21
- */
22
- table?: VuuTable;
23
- }
24
- export declare const useEditableTable: ({ addRowsCount, columns, dataSource: dataSourceProp, deleteMode, editSessionMode, isEditMode, onCancel, onSave, table, }: EditableTableHookProps) => {
25
- dataSource: DataSource;
26
- editSession: EditSession;
27
- hasSelection: boolean;
28
- onAddRows: () => void;
29
- onCancel: () => Promise<void>;
30
- onDelete: () => Promise<void>;
31
- onSave: (force?: boolean) => Promise<void>;
32
- onUndoRowChange: (key: string) => undefined;
33
- sessionDataSource: DataSource | undefined;
34
- };