@agile-team/mach-table-react 0.23.0 → 0.24.0

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.
@@ -1,138 +0,0 @@
1
- import { GridApi, GridChange, GridBatchSaveResult, SaveChangeIssue, SaveChangeConflict, SaveChangesHandler, SortModel, FilterModel, AdvancedFilterModel, GridOptions, OverlayContent, OverlayTemplate, MachTableCommands } from '@agile-team/mach-table';
2
- import { MutableRefObject } from 'react';
3
-
4
- interface UseMachGridReturn<TData = any> {
5
- apiRef: MutableRefObject<GridApi<TData> | null>;
6
- api: GridApi<TData> | null;
7
- ready: boolean;
8
- }
9
- declare function useMachGrid<TData = any>(): UseMachGridReturn<TData>;
10
-
11
- interface UseMachTableEditingOptions<TData = any> {
12
- guardBeforeUnload?: boolean;
13
- beforeUnloadMessage?: string;
14
- onSaveSuccess?(saved: readonly GridChange<TData>[]): void;
15
- onSaveResult?(result: GridBatchSaveResult<TData>): void;
16
- onSaveError?(error: unknown): void;
17
- }
18
- interface UseMachTableEditingReturn<TData = any> {
19
- changes: GridChange<TData>[];
20
- dirtyRowIds: string[];
21
- dirty: boolean;
22
- saving: boolean;
23
- saveError: unknown | null;
24
- lastSaveResult: GridBatchSaveResult<TData> | null;
25
- saveIssues: Array<SaveChangeIssue | SaveChangeConflict<TData>>;
26
- failedRowIds: string[];
27
- save(handler: SaveChangesHandler<TData>, rowIds?: readonly string[]): Promise<GridChange<TData>[]>;
28
- saveDetailed(handler: SaveChangesHandler<TData>, rowIds?: readonly string[]): Promise<GridBatchSaveResult<TData>>;
29
- clearSaveIssues(): void;
30
- resolveConflict(rowId: string, strategy: "acceptServer" | "keepLocal"): boolean;
31
- rollback(rowIds?: readonly string[]): boolean;
32
- markSaved(rowIds?: readonly string[]): void;
33
- reveal(rowId: string, colId?: string, edit?: boolean): boolean;
34
- refresh(): void;
35
- }
36
- /** Reactive dirty/save workflow layered over useMachGrid(). */
37
- declare function useMachTableEditing<TData = any>(table: UseMachGridReturn<TData>, options?: UseMachTableEditingOptions<TData>): UseMachTableEditingReturn<TData>;
38
-
39
- type MachTableQuerySource<TQuery> = TQuery | (() => TQuery);
40
- interface MachTablePageRequest<TQuery> {
41
- page: number;
42
- pageSize: number;
43
- query: TQuery;
44
- sortModel: SortModel;
45
- filterModel: FilterModel;
46
- advancedFilterModel: AdvancedFilterModel | null;
47
- quickFilterText: string | null;
48
- signal: AbortSignal;
49
- }
50
- interface MachTablePageResult<TData> {
51
- rows: readonly TData[];
52
- total: number;
53
- }
54
- type MachTableRemoteSelectionState = {
55
- mode: "explicit";
56
- selectedKeys: string[];
57
- } | {
58
- mode: "allMatching";
59
- excludedKeys: string[];
60
- };
61
- interface UseMachTableQueryOptions<TData, TQuery = Record<string, unknown>> {
62
- request(params: MachTablePageRequest<TQuery>): Promise<MachTablePageResult<TData>>;
63
- query: MachTableQuerySource<TQuery>;
64
- /** Memoize object queries in React; queryKey can explicitly control reload dependencies. */
65
- queryKey?: unknown;
66
- rowKey: string | ((row: TData) => string | number);
67
- initialPage?: number;
68
- pageSize?: number;
69
- pageSizeOptions?: readonly number[];
70
- immediate?: boolean;
71
- mode?: "auto" | "manual";
72
- debounceMs?: number;
73
- keepPreviousData?: boolean;
74
- selectionScope?: "page" | "preserve" | "query";
75
- clearSelectionOnQueryChange?: boolean;
76
- initialQuickFilterText?: string | null;
77
- errorOverlay?(context: {
78
- error: unknown;
79
- retry(): Promise<void>;
80
- }): OverlayContent;
81
- emptyOverlay?: OverlayTemplate;
82
- onSuccess?(result: MachTablePageResult<TData>): void;
83
- onError?(error: unknown): void;
84
- }
85
- interface UseMachTableQueryReturn<TData> {
86
- rows: TData[];
87
- loading: boolean;
88
- error: unknown | null;
89
- page: number;
90
- pageSize: number;
91
- total: number;
92
- sortModel: SortModel;
93
- filterModel: FilterModel;
94
- advancedFilterModel: AdvancedFilterModel | null;
95
- quickFilterText: string | null;
96
- setQuickFilterText(value: string | null): void;
97
- selectedKeys: string[];
98
- selectedRows: TData[];
99
- selectionState: MachTableRemoteSelectionState;
100
- gridProps: GridOptions<TData>;
101
- bindings: GridOptions<TData>;
102
- reload(options?: {
103
- resetPage?: boolean;
104
- }): Promise<void>;
105
- retry(): Promise<void>;
106
- reset(): Promise<void>;
107
- abort(): void;
108
- clearSelection(): void;
109
- selectAllMatching(): void;
110
- applySelectionState(state: MachTableRemoteSelectionState): void;
111
- }
112
- /** React remote-list controller with cancellation, stale guards and cross-page selection. */
113
- declare function useMachTableQuery<TData, TQuery = Record<string, unknown>>(options: UseMachTableQueryOptions<TData, TQuery>): UseMachTableQueryReturn<TData>;
114
-
115
- interface UseMachTableControllerOptions<TData> {
116
- /** Pass the result of useMachTableQuery for remote workflows. */
117
- query?: UseMachTableQueryReturn<TData>;
118
- editing?: UseMachTableEditingOptions<TData>;
119
- initialSearch?: string;
120
- }
121
- interface UseMachTableControllerReturn<TData> {
122
- table: UseMachGridReturn<TData>;
123
- query: UseMachTableQueryReturn<TData> | null;
124
- editing: UseMachTableEditingReturn<TData>;
125
- bindings: GridOptions<TData>;
126
- search: string;
127
- setSearch(value: string): void;
128
- selectedRows: TData[];
129
- selectedCount: number;
130
- busy: boolean;
131
- error: unknown | null;
132
- commands: MachTableCommands;
133
- reload(): Promise<void>;
134
- }
135
- /** Cohesive React controller for API readiness, selection, editing and toolbar commands. */
136
- declare function useMachTableController<TData>(options?: UseMachTableControllerOptions<TData>): UseMachTableControllerReturn<TData>;
137
-
138
- export { type MachTablePageRequest as M, type UseMachGridReturn as U, type MachTablePageResult as a, type MachTableQuerySource as b, type MachTableRemoteSelectionState as c, type UseMachTableControllerOptions as d, type UseMachTableControllerReturn as e, type UseMachTableEditingOptions as f, type UseMachTableEditingReturn as g, type UseMachTableQueryOptions as h, type UseMachTableQueryReturn as i, useMachTableController as j, useMachTableEditing as k, useMachTableQuery as l, useMachGrid as u };