@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.
- package/cjs/packages/vuu-utils/src/column-utils.js +6 -1
- package/cjs/packages/vuu-utils/src/column-utils.js.map +1 -1
- package/cjs/packages/vuu-utils/src/index.js +2 -14
- package/cjs/packages/vuu-utils/src/index.js.map +1 -1
- package/cjs/packages/vuu-utils/src/table-schema-utils.js +10 -0
- package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/column-utils.js +6 -2
- package/esm/packages/vuu-utils/src/column-utils.js.map +1 -1
- package/esm/packages/vuu-utils/src/index.js +2 -7
- package/esm/packages/vuu-utils/src/index.js.map +1 -1
- package/esm/packages/vuu-utils/src/table-schema-utils.js +10 -1
- package/esm/packages/vuu-utils/src/table-schema-utils.js.map +1 -1
- package/package.json +6 -6
- package/types/column-utils.d.ts +33 -1
- package/types/filters/filter-utils.d.ts +1 -1
- package/types/index.d.ts +0 -6
- package/types/table-schema-utils.d.ts +4 -2
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -28
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +0 -64
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js +0 -320
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js +0 -37
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -124
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -25
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +0 -62
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js +0 -316
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js +0 -34
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -122
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/types/data-editing/DataEditingProvider.d.ts +0 -8
- package/types/data-editing/EditButtons.d.ts +0 -13
- package/types/data-editing/EditModeProvider.d.ts +0 -13
- package/types/data-editing/EditSession.d.ts +0 -53
- package/types/data-editing/edit-utils.d.ts +0 -4
- 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
|
-
};
|