@infinite-table/infinite-react 0.0.10 → 0.1.3
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/index.css +8 -9
- package/index.d.ts +347 -207
- package/index.esm.css +8 -9
- package/index.esm.js +1307 -864
- package/index.js +1455 -1010
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -49,18 +49,14 @@ declare module "utils/multisort/index" {
|
|
|
49
49
|
const getMultisortFunction: <T>(sortInfo: MultisortInfo<T>[], get?: ((item: any) => T) | undefined) => (first: T, second: T) => number;
|
|
50
50
|
export { getMultisortFunction, getSortFunctions };
|
|
51
51
|
}
|
|
52
|
-
declare module "
|
|
52
|
+
declare module "utils/DeepMap/once" {
|
|
53
53
|
export function once<ReturnType>(fn: () => ReturnType): () => ReturnType;
|
|
54
|
-
export function useOnce<ReturnType>(fn: () => ReturnType): ReturnType;
|
|
55
|
-
}
|
|
56
|
-
declare module "components/types/VoidFn" {
|
|
57
|
-
export type VoidFn = () => void;
|
|
58
54
|
}
|
|
59
|
-
declare module "utils/sortAscending" {
|
|
55
|
+
declare module "utils/DeepMap/sortAscending" {
|
|
60
56
|
export const sortAscending: (a: number, b: number) => number;
|
|
61
57
|
}
|
|
62
|
-
declare module "utils/DeepMap" {
|
|
63
|
-
|
|
58
|
+
declare module "utils/DeepMap/index" {
|
|
59
|
+
type VoidFn = () => void;
|
|
64
60
|
type Pair<KeyType, ValueType> = {
|
|
65
61
|
value?: ValueType;
|
|
66
62
|
map?: Map<KeyType, Pair<KeyType, ValueType>>;
|
|
@@ -71,6 +67,7 @@ declare module "utils/DeepMap" {
|
|
|
71
67
|
private map;
|
|
72
68
|
private length;
|
|
73
69
|
private revision;
|
|
70
|
+
static clone<KeyType, ValueType>(map: DeepMap<KeyType, ValueType>): DeepMap<KeyType, ValueType>;
|
|
74
71
|
constructor(initial?: [KeyType[], ValueType][]);
|
|
75
72
|
set(keys: KeyType[] & {
|
|
76
73
|
length: Omit<number, 0>;
|
|
@@ -148,7 +145,7 @@ declare module "components/hooks/useComponentState" {
|
|
|
148
145
|
[k in keyof T_STATE]?: (value: T_STATE[k], { actions, state, }: {
|
|
149
146
|
actions: ComponentStateGeneratedActions<T_STATE>;
|
|
150
147
|
state: T_STATE;
|
|
151
|
-
}) => void;
|
|
148
|
+
}) => void | boolean;
|
|
152
149
|
};
|
|
153
150
|
export type ComponentStateActions<T_STATE> = ComponentStateGeneratedActions<T_STATE>;
|
|
154
151
|
export type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT> = Partial<{
|
|
@@ -157,9 +154,14 @@ declare module "components/hooks/useComponentState" {
|
|
|
157
154
|
type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
|
|
158
155
|
debugName?: string;
|
|
159
156
|
initSetupState?: () => COMPONENT_SETUP_STATE;
|
|
160
|
-
forwardProps?: () => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
|
|
157
|
+
forwardProps?: (setupState: COMPONENT_SETUP_STATE) => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
|
|
161
158
|
allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
|
|
162
159
|
interceptActions?: ComponentInterceptedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
|
|
160
|
+
onPropChange?: (params: {
|
|
161
|
+
name: keyof T_PROPS;
|
|
162
|
+
oldValue: any;
|
|
163
|
+
newValue: any;
|
|
164
|
+
}, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>) => void;
|
|
163
165
|
mapPropsToState?: (params: {
|
|
164
166
|
props: T_PROPS;
|
|
165
167
|
state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
|
|
@@ -184,6 +186,9 @@ declare module "components/hooks/useComponentState" {
|
|
|
184
186
|
declare module "components/types/NonUndefined" {
|
|
185
187
|
export type NonUndefined<T> = T extends undefined ? never : T;
|
|
186
188
|
}
|
|
189
|
+
declare module "components/types/VoidFn" {
|
|
190
|
+
export type VoidFn = () => void;
|
|
191
|
+
}
|
|
187
192
|
declare module "components/types/SubscriptionCallback" {
|
|
188
193
|
import { VoidFn } from "components/types/VoidFn";
|
|
189
194
|
export type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
@@ -197,105 +202,158 @@ declare module "components/types/SubscriptionCallback" {
|
|
|
197
202
|
declare module "components/DataSource/types" {
|
|
198
203
|
import * as React from 'react';
|
|
199
204
|
import { MultisortInfo } from "utils/multisort/index";
|
|
200
|
-
import { DeepMap } from "utils/DeepMap";
|
|
201
|
-
import {
|
|
205
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
206
|
+
import { DeepMapGroupValueType, GroupBy, GroupKeyType, PivotBy } from "utils/groupAndPivot/index";
|
|
202
207
|
import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableRowInfo, Scrollbars } from "components/InfiniteTable/index";
|
|
203
208
|
import { ComponentStateActions } from "components/hooks/useComponentState";
|
|
204
209
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
205
210
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
206
211
|
import { NonUndefined } from "components/types/NonUndefined";
|
|
207
212
|
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
213
|
+
import { ScrollStopInfo } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
208
214
|
export interface DataSourceDataParams<T> {
|
|
209
215
|
originalDataArray: T[];
|
|
210
216
|
sortInfo?: DataSourceSortInfo<T>;
|
|
211
|
-
|
|
217
|
+
groupBy?: DataSourcePropGroupBy<T>;
|
|
212
218
|
pivotBy?: DataSourcePropPivotBy<T>;
|
|
219
|
+
lazyLoadBatchSize?: number;
|
|
220
|
+
lazyLoadStartIndex?: number;
|
|
221
|
+
groupKeys?: any[];
|
|
222
|
+
aggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
213
223
|
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
224
|
+
cursorId?: DataSourceSetupState<T>['cursorId'];
|
|
225
|
+
changes?: DataSourceDataParamsChanges<T>;
|
|
214
226
|
}
|
|
227
|
+
export type DataSourceDataParamsChanges<T> = Partial<Record<keyof Omit<DataSourceDataParams<T>, 'originalDataArray' | 'changes'>, true>>;
|
|
215
228
|
export type DataSourceSingleSortInfo<T> = MultisortInfo<T> & {
|
|
216
229
|
field?: keyof T;
|
|
217
230
|
id?: string;
|
|
218
231
|
};
|
|
219
|
-
export type
|
|
232
|
+
export type DataSourceGroupBy<T> = GroupBy<T, any>;
|
|
220
233
|
export type DataSourcePivotBy<T> = PivotBy<T, any>;
|
|
221
234
|
export type DataSourceSortInfo<T> = null | DataSourceSingleSortInfo<T> | DataSourceSingleSortInfo<T>[];
|
|
222
235
|
export type DataSourceRemoteData<T> = {
|
|
223
236
|
data: T[];
|
|
237
|
+
mappings?: DataSourceMappings;
|
|
238
|
+
totalCount?: number;
|
|
224
239
|
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
225
240
|
};
|
|
226
|
-
export type DataSourceData<T> = T[] | Promise<T[] | DataSourceRemoteData<T>> | ((dataInfo: DataSourceDataParams<T>) => T[] | Promise<T[] | DataSourceRemoteData<T>>);
|
|
241
|
+
export type DataSourceData<T> = T[] | DataSourceRemoteData<T> | Promise<T[] | DataSourceRemoteData<T>> | ((dataInfo: DataSourceDataParams<T>) => T[] | Promise<T[] | DataSourceRemoteData<T>>);
|
|
227
242
|
export type DataSourceGroupRowsList<KeyType> = true | KeyType[][];
|
|
228
243
|
export type DataSourceExpandedAndCollapsedGroupRows<KeyType> = {
|
|
229
244
|
expandedRows: DataSourceGroupRowsList<KeyType>;
|
|
230
245
|
collapsedRows: DataSourceGroupRowsList<KeyType>;
|
|
231
246
|
};
|
|
232
|
-
export type
|
|
247
|
+
export type DataSourcePropGroupBy<T> = DataSourceGroupBy<T>[];
|
|
233
248
|
export type DataSourcePropPivotBy<T> = DataSourcePivotBy<T>[];
|
|
234
249
|
export interface DataSourceMappedState<T> {
|
|
250
|
+
aggregationReducers?: DataSourceProps<T>['aggregationReducers'];
|
|
235
251
|
livePagination: DataSourceProps<T>['livePagination'];
|
|
236
|
-
|
|
237
|
-
|
|
252
|
+
fullLazyLoad: DataSourceProps<T>['fullLazyLoad'];
|
|
253
|
+
lazyLoadBatchSize: DataSourceProps<T>['lazyLoadBatchSize'];
|
|
238
254
|
onDataParamsChange: DataSourceProps<T>['onDataParamsChange'];
|
|
239
255
|
data: DataSourceProps<T>['data'];
|
|
240
256
|
primaryKey: DataSourceProps<T>['primaryKey'];
|
|
241
|
-
|
|
257
|
+
groupBy: NonUndefined<DataSourceProps<T>['groupBy']>;
|
|
242
258
|
groupRowsState: NonUndefined<DataSourceProps<T>['groupRowsState']>;
|
|
243
259
|
pivotBy: DataSourceProps<T>['pivotBy'];
|
|
244
260
|
loading: NonUndefined<DataSourceProps<T>['loading']>;
|
|
261
|
+
collapseGroupRowsOnDataFunctionChange: NonUndefined<DataSourceProps<T>['collapseGroupRowsOnDataFunctionChange']>;
|
|
245
262
|
sortInfo: DataSourceSingleSortInfo<T>[] | null;
|
|
246
263
|
}
|
|
264
|
+
export type DataSourceAggregationReducer<T, AggregationResultType> = {
|
|
265
|
+
name?: string;
|
|
266
|
+
field?: keyof T;
|
|
267
|
+
initialValue?: AggregationResultType;
|
|
268
|
+
getter?: (data: T) => any;
|
|
269
|
+
reducer: string | ((accumulator: any, value: any, data: T) => AggregationResultType | any);
|
|
270
|
+
done?: (accumulatedValue: AggregationResultType | any, array: T[]) => AggregationResultType;
|
|
271
|
+
};
|
|
272
|
+
export type DataSourceMappings = Record<'totals' | 'values', string>;
|
|
273
|
+
export type LazyGroupDataItem<DataType> = {
|
|
274
|
+
data: Partial<DataType>;
|
|
275
|
+
keys: any[];
|
|
276
|
+
aggregations?: Record<string, any>;
|
|
277
|
+
pivot?: {
|
|
278
|
+
values: Record<string, any>;
|
|
279
|
+
totals?: Record<string, any>;
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
export type LazyGroupRowInfo<DataType> = {
|
|
283
|
+
items: LazyGroupDataItem<DataType>[];
|
|
284
|
+
totalCount: number;
|
|
285
|
+
};
|
|
286
|
+
export type LazyGroupDataDeepMap<DataType, KeyType = string> = DeepMap<KeyType, LazyGroupRowInfo<DataType>>;
|
|
247
287
|
export interface DataSourceSetupState<T> {
|
|
288
|
+
pivotMappings?: DataSourceMappings;
|
|
289
|
+
propsCache: Map<keyof DataSourceProps<T>, WeakMap<any, any>>;
|
|
290
|
+
showSeparatePivotColumnForSingleAggregation: boolean;
|
|
248
291
|
dataParams?: DataSourceDataParams<T>;
|
|
292
|
+
originalLazyGroupData: LazyGroupDataDeepMap<T>;
|
|
249
293
|
notifyScrollbarsChange: SubscriptionCallback<Scrollbars>;
|
|
294
|
+
notifyScrollStop: SubscriptionCallback<ScrollStopInfo>;
|
|
250
295
|
originalDataArray: T[];
|
|
251
296
|
lastSortDataArray?: T[];
|
|
252
297
|
lastGroupDataArray?: InfiniteTableRowInfo<T>[];
|
|
253
298
|
dataArray: InfiniteTableRowInfo<T>[];
|
|
254
299
|
groupDeepMap?: DeepMap<GroupKeyType, DeepMapGroupValueType<T, any>>;
|
|
255
300
|
pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
|
|
256
|
-
|
|
301
|
+
cursorId: number | Symbol | DataSourceLivePaginationCursorValue;
|
|
257
302
|
updatedAt: number;
|
|
258
303
|
reducedAt: number;
|
|
259
304
|
groupedAt: number;
|
|
260
305
|
sortedAt: number;
|
|
261
306
|
generateGroupRows: boolean;
|
|
262
|
-
aggregationReducers?: AggregationReducer<T, any>[];
|
|
263
307
|
postSortDataArray?: T[];
|
|
264
308
|
postGroupDataArray?: InfiniteTableRowInfo<T>[];
|
|
265
309
|
pivotColumns?: Map<string, InfiniteTableColumn<T>>;
|
|
266
310
|
pivotColumnGroups?: Map<string, InfiniteTableColumnGroup>;
|
|
267
311
|
}
|
|
268
|
-
export
|
|
312
|
+
export type DataSourcePropAggregationReducers<T> = Record<string, DataSourceAggregationReducer<T, any>>;
|
|
313
|
+
export type DataSourceProps<T> = {
|
|
269
314
|
children: React.ReactNode | ((contextData: DataSourceState<T>) => React.ReactNode);
|
|
270
315
|
primaryKey: keyof T;
|
|
271
316
|
fields?: (keyof T)[];
|
|
272
|
-
remoteCount?: number;
|
|
273
317
|
data: DataSourceData<T>;
|
|
318
|
+
fullLazyLoad?: boolean;
|
|
319
|
+
lazyLoadBatchSize?: number;
|
|
274
320
|
loading?: boolean;
|
|
275
321
|
defaultLoading?: boolean;
|
|
276
322
|
onLoadingChange?: (loading: boolean) => void;
|
|
277
323
|
pivotBy?: DataSourcePropPivotBy<T>;
|
|
278
324
|
defaultPivotBy?: DataSourcePropPivotBy<T>;
|
|
279
325
|
onPivotByChange?: (pivotBy: DataSourcePropPivotBy<T>) => void;
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
326
|
+
aggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
327
|
+
defaultAggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
328
|
+
groupBy?: DataSourcePropGroupBy<T>;
|
|
329
|
+
defaultGroupBy?: DataSourcePropGroupBy<T>;
|
|
330
|
+
onGroupByChange?: (groupBy: DataSourcePropGroupBy<T>) => void;
|
|
283
331
|
groupRowsState?: GroupRowsState;
|
|
284
332
|
defaultGroupRowsState?: GroupRowsState;
|
|
285
333
|
onGroupRowsStateChange?: (groupRowsState: GroupRowsState) => void;
|
|
334
|
+
collapseGroupRowsOnDataFunctionChange?: boolean;
|
|
286
335
|
sortInfo?: DataSourceSortInfo<T>;
|
|
287
336
|
defaultSortInfo?: DataSourceSortInfo<T>;
|
|
288
337
|
onSortInfoChange?: ((sortInfo: DataSourceSingleSortInfo<T> | null) => void) | ((sortInfo: DataSourceSingleSortInfo<T>[]) => void);
|
|
289
338
|
onDataParamsChange?: (dataParamsChange: DataSourceDataParams<T>) => void;
|
|
290
339
|
livePagination?: boolean;
|
|
291
|
-
livePaginationCursor?:
|
|
292
|
-
|
|
293
|
-
|
|
340
|
+
livePaginationCursor?: DataSourcePropLivePaginationCursor<T>;
|
|
341
|
+
onLivePaginationCursorChange?: (livePaginationCursor: DataSourceLivePaginationCursorValue) => void;
|
|
342
|
+
};
|
|
343
|
+
export type DataSourcePropLivePaginationCursor<T> = DataSourceLivePaginationCursorValue | DataSourceLivePaginationCursorFn<T>;
|
|
344
|
+
export type DataSourceLivePaginationCursorFn<T> = (params: DataSourceLivePaginationCursorParams<T>) => DataSourceLivePaginationCursorValue;
|
|
345
|
+
export type DataSourceLivePaginationCursorParams<T> = {
|
|
346
|
+
array: T[];
|
|
347
|
+
lastItem: T | Partial<T> | null;
|
|
348
|
+
length: number;
|
|
349
|
+
};
|
|
350
|
+
export type DataSourceLivePaginationCursorValue = string | number | null;
|
|
294
351
|
export interface DataSourceState<T> extends DataSourceSetupState<T>, DataSourceDerivedState<T>, DataSourceMappedState<T> {
|
|
295
352
|
}
|
|
296
353
|
export interface DataSourceDerivedState<_T> {
|
|
297
354
|
multiSort: boolean;
|
|
298
355
|
controlledSort: boolean;
|
|
356
|
+
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
299
357
|
}
|
|
300
358
|
export type DataSourceComponentActions<T> = ComponentStateActions<DataSourceState<T>>;
|
|
301
359
|
export interface DataSourceContextValue<T> {
|
|
@@ -331,21 +389,22 @@ declare module "components/hooks/useEffectWithChanges" {
|
|
|
331
389
|
export function useEffectWithObject(fn: EffectCallback, deps: Record<string, any>): void;
|
|
332
390
|
}
|
|
333
391
|
declare module "components/DataSource/privateHooks/useLoadData" {
|
|
334
|
-
import {
|
|
335
|
-
|
|
392
|
+
import { ComponentStateGeneratedActions } from "components/hooks/useComponentState";
|
|
393
|
+
import { DataSourceDataParams, DataSourceData, DataSourceState } from "components/DataSource/types";
|
|
394
|
+
export function buildDataSourceDataParams<T>(componentState: DataSourceState<T>, overrides?: Partial<DataSourceDataParams<T>>): DataSourceDataParams<T>;
|
|
395
|
+
export function loadData<T>(data: DataSourceData<T>, componentState: DataSourceState<T>, actions: ComponentStateGeneratedActions<DataSourceState<T>>, overrides?: Partial<DataSourceDataParams<T>>): void;
|
|
336
396
|
export function useLoadData<T>(): void;
|
|
337
|
-
export function useLivePagination<T>(): void;
|
|
338
397
|
}
|
|
339
398
|
declare module "components/DataSource/state/normalizeSortInfo" {
|
|
340
399
|
import { DataSourceSingleSortInfo, DataSourceSortInfo } from "components/DataSource/types";
|
|
341
|
-
export const normalizeSortInfo: <T>(
|
|
400
|
+
export const normalizeSortInfo: <T>(initialSortInfo?: DataSourceSortInfo<T> | undefined, weakMap?: WeakMap<any, any> | undefined) => DataSourceSingleSortInfo<T>[];
|
|
342
401
|
}
|
|
343
402
|
declare module "components/utils/buildSubscriptionCallback" {
|
|
344
403
|
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
345
404
|
export function buildSubscriptionCallback<T>(): SubscriptionCallback<T>;
|
|
346
405
|
}
|
|
347
406
|
declare module "utils/shallowEqualObjects" {
|
|
348
|
-
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T): boolean;
|
|
407
|
+
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T, ignoreKeys?: Set<string>): boolean;
|
|
349
408
|
}
|
|
350
409
|
declare module "components/utils/discardCallsWithEqualArg" {
|
|
351
410
|
export function discardCallsWithEqualArg<T = any>(fn: (arg: T) => void, timeframe?: number, getCompareObject?: (arg: T) => any): (arg: T) => void;
|
|
@@ -354,25 +413,33 @@ declare module "components/DataSource/state/getInitialState" {
|
|
|
354
413
|
import { DataSourceMappedState, DataSourceProps, DataSourceDerivedState, DataSourceSetupState, DataSourceState } from "components/DataSource/types";
|
|
355
414
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
356
415
|
import { ComponentInterceptedActions, ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
|
|
357
|
-
import { DataSourceDataParams } from "components/DataSource/index";
|
|
416
|
+
import { DataSourceComponentActions, DataSourceDataParams } from "components/DataSource/index";
|
|
417
|
+
export const defaultCursorId: unique symbol;
|
|
358
418
|
export function initSetupState<T>(): DataSourceSetupState<T>;
|
|
359
|
-
export const forwardProps: <T>() => Partial<{
|
|
419
|
+
export const forwardProps: <T>(setupState: DataSourceSetupState<T>) => Partial<{
|
|
360
420
|
data: 1 | ((value: import("components/DataSource").DataSourceData<T>) => import("components/DataSource").DataSourceData<T>);
|
|
361
421
|
loading: 1 | ((value: boolean | undefined) => boolean);
|
|
422
|
+
sortInfo: 1 | ((value: import("components/DataSource").DataSourceSortInfo<T> | undefined) => import("components/DataSource").DataSourceSingleSortInfo<T>[] | null);
|
|
423
|
+
groupBy: 1 | ((value: import("components/DataSource").DataSourcePropGroupBy<T> | undefined) => import("components/DataSource").DataSourcePropGroupBy<T>);
|
|
424
|
+
pivotBy: 1 | ((value: import("components/DataSource").DataSourcePropPivotBy<T> | undefined) => import("components/DataSource").DataSourcePropPivotBy<T> | undefined);
|
|
425
|
+
lazyLoadBatchSize: 1 | ((value: number | undefined) => number | undefined);
|
|
426
|
+
aggregationReducers: 1 | ((value: import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined) => import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined);
|
|
362
427
|
livePagination: 1 | ((value: boolean | undefined) => boolean | undefined);
|
|
363
|
-
|
|
364
|
-
remoteCount: 1 | ((value: number | undefined) => number | undefined);
|
|
428
|
+
fullLazyLoad: 1 | ((value: boolean | undefined) => boolean | undefined);
|
|
365
429
|
onDataParamsChange: 1 | ((value: ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined) => ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined);
|
|
366
430
|
primaryKey: 1 | ((value: keyof T) => keyof T);
|
|
367
|
-
groupRowsBy: 1 | ((value: import("components/DataSource").DataSourcePropGroupRowsBy<T> | undefined) => import("components/DataSource").DataSourcePropGroupRowsBy<T>);
|
|
368
431
|
groupRowsState: 1 | ((value: GroupRowsState<any> | undefined) => GroupRowsState<any>);
|
|
369
|
-
|
|
370
|
-
sortInfo: 1 | ((value: import("components/DataSource").DataSourceSortInfo<T> | undefined) => import("components/DataSource").DataSourceSingleSortInfo<T>[] | null);
|
|
432
|
+
collapseGroupRowsOnDataFunctionChange: 1 | ((value: boolean | undefined) => boolean);
|
|
371
433
|
}>;
|
|
372
434
|
export function mapPropsToState<T extends any>(params: {
|
|
373
435
|
props: DataSourceProps<T>;
|
|
374
436
|
state: DataSourceState<T>;
|
|
437
|
+
oldState: DataSourceState<T> | null;
|
|
375
438
|
}): DataSourceDerivedState<T>;
|
|
439
|
+
export function onPropChange<T>(params: {
|
|
440
|
+
name: keyof T;
|
|
441
|
+
newValue: any;
|
|
442
|
+
}, props: DataSourceProps<T>, actions: DataSourceComponentActions<T>): void;
|
|
376
443
|
export function getInterceptActions<T>(): ComponentInterceptedActions<DataSourceState<T>>;
|
|
377
444
|
}
|
|
378
445
|
declare module "components/types/Renderable" {
|
|
@@ -381,6 +448,7 @@ declare module "components/types/Renderable" {
|
|
|
381
448
|
}
|
|
382
449
|
declare module "components/InfiniteTable/types/Utility" {
|
|
383
450
|
export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
451
|
+
export type MapOrRecord<K extends string, V> = Map<K, V> | Record<K, V>;
|
|
384
452
|
export type RequireOnlyOneProperty<T, Keys extends keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
385
453
|
[K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
|
|
386
454
|
}[Keys];
|
|
@@ -400,26 +468,31 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
400
468
|
import type { Renderable } from "components/types/Renderable";
|
|
401
469
|
import type { DataSourcePivotBy, DataSourceSingleSortInfo, DataSourceState } from "components/DataSource/types";
|
|
402
470
|
import type { DiscriminatedUnion, RequireAtLeastOne } from "components/InfiniteTable/types/Utility";
|
|
403
|
-
import type { InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
471
|
+
import type { InfiniteTableColumnGroup, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
404
472
|
import { CSSProperties } from 'react';
|
|
405
|
-
import { PivotBy } from "utils/groupAndPivot/index";
|
|
473
|
+
import { AggregationReducer, InfiniteTableRowInfoGroup, InfiniteTableRowInfoNormal, PivotBy } from "utils/groupAndPivot/index";
|
|
474
|
+
import { InfiniteTableColumnPinnedValues } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
406
475
|
export type { DiscriminatedUnion, RequireAtLeastOne };
|
|
407
476
|
export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
|
|
408
|
-
export
|
|
477
|
+
export type InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
409
478
|
value: string | number | Renderable;
|
|
410
|
-
data: DATA_TYPE | null;
|
|
411
|
-
rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
|
|
412
479
|
groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
|
|
413
480
|
rowIndex: number;
|
|
414
481
|
column: COL_TYPE;
|
|
415
482
|
toggleCurrentGroupRow: () => void;
|
|
416
483
|
toggleGroupRow: InfiniteTableToggleGroupRowFn;
|
|
417
|
-
|
|
418
|
-
}
|
|
484
|
+
groupBy: DataSourceState<DATA_TYPE>['groupBy'];
|
|
485
|
+
} & ({
|
|
486
|
+
rowInfo: InfiniteTableRowInfoNormal<DATA_TYPE>;
|
|
487
|
+
data: DATA_TYPE;
|
|
488
|
+
} | {
|
|
489
|
+
rowInfo: InfiniteTableRowInfoGroup<DATA_TYPE>;
|
|
490
|
+
data: Partial<DATA_TYPE> | null;
|
|
491
|
+
});
|
|
419
492
|
export type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>;
|
|
420
493
|
export type InfiniteTableColumnRowspanFnParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
421
|
-
data: DATA_TYPE | null;
|
|
422
494
|
rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
|
|
495
|
+
data: DATA_TYPE | Partial<DATA_TYPE> | null;
|
|
423
496
|
groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
|
|
424
497
|
dataArray: InfiniteTableRowInfo<DATA_TYPE>[];
|
|
425
498
|
rowIndex: number;
|
|
@@ -429,8 +502,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
429
502
|
column: InfiniteTableComputedColumn<T>;
|
|
430
503
|
columnSortInfo: DataSourceSingleSortInfo<T> | null | undefined;
|
|
431
504
|
}
|
|
432
|
-
export type
|
|
433
|
-
export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupRowsBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
|
|
505
|
+
export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
|
|
434
506
|
export type InfiniteTableColumnRenderValueFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE>;
|
|
435
507
|
export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
|
|
436
508
|
export type InfiniteTableColumnWithField<T> = {
|
|
@@ -453,19 +525,25 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
453
525
|
valueGetter?: InfiniteTableColumnValueGetter<T>;
|
|
454
526
|
}, 'render' | 'renderValue' | 'field' | 'valueGetter'>;
|
|
455
527
|
export type InfiniteTableColumnStyleFnParams<T> = {
|
|
456
|
-
data: T | null;
|
|
457
528
|
value: Renderable;
|
|
458
|
-
rowInfo: InfiniteTableRowInfo<T>;
|
|
459
529
|
column: InfiniteTableColumn<T>;
|
|
460
|
-
}
|
|
530
|
+
} & ({
|
|
531
|
+
data: T;
|
|
532
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
533
|
+
} | {
|
|
534
|
+
data: Partial<T> | null;
|
|
535
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
536
|
+
});
|
|
461
537
|
export type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStyleFnParams<T>) => undefined | React.CSSProperties;
|
|
462
538
|
export type InfiniteTableColumnClassNameFn<T> = (params: InfiniteTableColumnStyleFnParams<T>) => undefined | string;
|
|
463
539
|
export type InfiniteTableColumnStyle<T> = CSSProperties | InfiniteTableColumnStyleFn<T>;
|
|
464
540
|
export type InfiniteTableColumnClassName<T> = string | InfiniteTableColumnClassNameFn<T>;
|
|
465
541
|
export type InfiniteTableColumnValueGetterParams<T> = {
|
|
466
|
-
data: T
|
|
467
|
-
rowInfo:
|
|
468
|
-
|
|
542
|
+
data: T;
|
|
543
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
544
|
+
} | {
|
|
545
|
+
data: Partial<T> | null;
|
|
546
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
469
547
|
};
|
|
470
548
|
export type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = Renderable> = (params: InfiniteTableColumnValueGetterParams<T>) => VALUE_GETTER_TYPE;
|
|
471
549
|
export type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanFnParams<T>) => number;
|
|
@@ -475,6 +553,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
475
553
|
draggable?: boolean;
|
|
476
554
|
resizable?: boolean;
|
|
477
555
|
comparer?: InfiniteTableColumnComparer<T>;
|
|
556
|
+
hiddenWhenGrouped?: boolean;
|
|
478
557
|
align?: InfiniteTableColumnAlign;
|
|
479
558
|
verticalAlign?: InfiniteTableColumnVerticalAlign;
|
|
480
559
|
columnGroup?: string;
|
|
@@ -487,28 +566,35 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
487
566
|
className?: InfiniteTableColumnClassName<T>;
|
|
488
567
|
rowspan?: InfiniteTableColumnRowspanFn<T>;
|
|
489
568
|
valueGetter?: InfiniteTableColumnValueGetter<T>;
|
|
569
|
+
defaultWidth?: number;
|
|
570
|
+
defaultFlex?: number;
|
|
490
571
|
};
|
|
491
572
|
export type InfiniteTableColumn<T> = {} & InfiniteTableBaseColumn<T> & InfiniteTableColumnWithRenderOrRenderValueOrFieldOrValueGetter<T>;
|
|
492
573
|
export type InfiniteTableGeneratedGroupColumn<T> = InfiniteTableColumn<T> & {
|
|
493
|
-
groupByField
|
|
574
|
+
groupByField: string | string[];
|
|
494
575
|
id?: string;
|
|
495
576
|
};
|
|
496
|
-
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> &
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
pivotGroupKeys
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
577
|
+
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & Partial<InfiniteTablePivotFinalColumnVariant<T, any>>;
|
|
578
|
+
export type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
|
|
579
|
+
pivotBy: DataSourcePivotBy<DataType>[];
|
|
580
|
+
pivotTotalColumnGroup?: true;
|
|
581
|
+
pivotGroupKeys: KeyType[];
|
|
582
|
+
pivotByAtIndex: PivotBy<DataType, KeyType>;
|
|
583
|
+
pivotGroupKey: KeyType;
|
|
584
|
+
pivotIndex: number;
|
|
504
585
|
};
|
|
505
|
-
export type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> =
|
|
586
|
+
export type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
|
|
506
587
|
pivotBy: DataSourcePivotBy<DataType>[];
|
|
588
|
+
pivotColumn: true;
|
|
589
|
+
pivotTotalColumn: boolean;
|
|
590
|
+
pivotAggregator: AggregationReducer<DataType, any>;
|
|
591
|
+
pivotAggregatorIndex: number;
|
|
507
592
|
pivotGroupKeys: KeyType[];
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
593
|
+
pivotByAtIndex?: PivotBy<DataType, KeyType>;
|
|
594
|
+
pivotIndex: number;
|
|
595
|
+
pivotGroupKey: KeyType;
|
|
511
596
|
};
|
|
597
|
+
export type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
|
|
512
598
|
type InfiniteTableComputedColumnBase<T> = {
|
|
513
599
|
computedWidth: number;
|
|
514
600
|
computedOffset: number;
|
|
@@ -522,7 +608,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
522
608
|
computedSortIndex: number;
|
|
523
609
|
computedVisibleIndex: number;
|
|
524
610
|
computedMultiSort: boolean;
|
|
525
|
-
computedPinned:
|
|
611
|
+
computedPinned: InfiniteTableColumnPinnedValues;
|
|
526
612
|
computedDraggable: boolean;
|
|
527
613
|
computedFirstInCategory: boolean;
|
|
528
614
|
computedLastInCategory: boolean;
|
|
@@ -531,19 +617,27 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
531
617
|
toggleSort: () => void;
|
|
532
618
|
id: string;
|
|
533
619
|
};
|
|
534
|
-
export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> &
|
|
620
|
+
export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
|
|
621
|
+
export type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
|
|
535
622
|
}
|
|
536
623
|
declare module "utils/groupAndPivot/getPivotColumnsAndColumnGroups" {
|
|
537
|
-
import type { DataSourcePivotBy } from "components/DataSource/index";
|
|
538
|
-
import type {
|
|
624
|
+
import type { DataSourceAggregationReducer, DataSourcePivotBy } from "components/DataSource/index";
|
|
625
|
+
import type { InfiniteTablePropColumnsMap } from "components/InfiniteTable/index";
|
|
539
626
|
import type { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
627
|
+
import { InfiniteTablePropColumnGroupsMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
540
628
|
import type { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
541
|
-
import { DeepMap } from "utils/DeepMap";
|
|
629
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
542
630
|
export type ComputedColumnsAndGroups<DataType> = {
|
|
543
631
|
columns: InfiniteTablePropColumnsMap<DataType, InfiniteTablePivotColumn<DataType>>;
|
|
544
|
-
columnGroups:
|
|
632
|
+
columnGroups: InfiniteTablePropColumnGroupsMap;
|
|
545
633
|
};
|
|
546
|
-
export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap
|
|
634
|
+
export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>({ deepMap, pivotBy, pivotTotalColumnPosition, reducers, showSeparatePivotColumnForSingleAggregation, }: {
|
|
635
|
+
deepMap: DeepMap<KeyType, boolean>;
|
|
636
|
+
pivotBy: DataSourcePivotBy<DataType>[];
|
|
637
|
+
pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
|
|
638
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
639
|
+
showSeparatePivotColumnForSingleAggregation?: boolean;
|
|
640
|
+
}): ComputedColumnsAndGroups<DataType>;
|
|
547
641
|
}
|
|
548
642
|
declare module "components/DataSource/state/reducer" {
|
|
549
643
|
import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
|
|
@@ -587,22 +681,34 @@ declare module "components/DataSource/GroupRowsState" {
|
|
|
587
681
|
}
|
|
588
682
|
}
|
|
589
683
|
declare module "utils/groupAndPivot/index" {
|
|
684
|
+
import { DataSourceAggregationReducer, DataSourceMappings, LazyGroupDataDeepMap } from "@infinite-table/infinite-react";
|
|
590
685
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
591
|
-
import { InfiniteTablePivotColumn,
|
|
592
|
-
import { InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
593
|
-
import { DeepMap } from "utils/DeepMap";
|
|
594
|
-
export
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
686
|
+
import { InfiniteTableColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumnGroup, InfiniteTablePivotFinalColumnVariant } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
687
|
+
import { InfiniteTableColumnGroup, InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
688
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
689
|
+
export const LAZY_ROOT_KEY_FOR_GROUPS: string;
|
|
690
|
+
export type AggregationReducer<T, AggregationResultType = any> = DataSourceAggregationReducer<T, AggregationResultType> & {
|
|
691
|
+
id: string;
|
|
692
|
+
};
|
|
693
|
+
export type AggregationReducerResult<AggregationResultType extends any = any> = {
|
|
694
|
+
value: AggregationResultType;
|
|
695
|
+
id: string;
|
|
696
|
+
};
|
|
697
|
+
export type InfiniteTableRowInfoNormalType<DataType> = {
|
|
698
|
+
data: DataType;
|
|
699
|
+
isGroupRow: false;
|
|
599
700
|
};
|
|
600
|
-
export
|
|
701
|
+
export type InfiniteTableRowInfoGroupType<DataType> = {
|
|
702
|
+
data: Partial<DataType> | null;
|
|
703
|
+
isGroupRow: true;
|
|
704
|
+
};
|
|
705
|
+
export type InfiniteTableRowInfoNormal<T> = InfiniteTableRowInfoBase<T> & InfiniteTableRowInfoNormalType<T>;
|
|
706
|
+
export type InfiniteTableRowInfoGroup<T> = InfiniteTableRowInfoBase<T> & InfiniteTableRowInfoGroupType<T>;
|
|
707
|
+
export type InfiniteTableRowInfo<T> = InfiniteTableRowInfoNormal<T> | InfiniteTableRowInfoGroup<T>;
|
|
708
|
+
export type InfiniteTableRowInfoBase<T> = {
|
|
601
709
|
id: any;
|
|
602
|
-
data: T | null;
|
|
603
|
-
groupData?: T[];
|
|
604
710
|
value?: any;
|
|
605
|
-
|
|
711
|
+
groupData?: T[];
|
|
606
712
|
collapsed: boolean;
|
|
607
713
|
collapsedChildrenCount?: number;
|
|
608
714
|
collapsedGroupsCount?: number;
|
|
@@ -615,10 +721,10 @@ declare module "utils/groupAndPivot/index" {
|
|
|
615
721
|
groupCount?: number;
|
|
616
722
|
groupBy?: (keyof T)[];
|
|
617
723
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
618
|
-
reducerResults?:
|
|
619
|
-
}
|
|
620
|
-
export
|
|
621
|
-
data: null;
|
|
724
|
+
reducerResults?: Record<string, AggregationReducerResult>;
|
|
725
|
+
};
|
|
726
|
+
export type InfiniteTableEnhancedGroupInfo<T> = InfiniteTableRowInfo<T> & {
|
|
727
|
+
data: Partial<T> | null;
|
|
622
728
|
groupData: T[];
|
|
623
729
|
value: any;
|
|
624
730
|
isGroupRow: true;
|
|
@@ -629,9 +735,9 @@ declare module "utils/groupAndPivot/index" {
|
|
|
629
735
|
groupCount: number;
|
|
630
736
|
groupBy: (keyof T)[];
|
|
631
737
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
632
|
-
}
|
|
738
|
+
};
|
|
633
739
|
export type GroupKeyType<T extends any = any> = T;
|
|
634
|
-
type PivotReducerResults<T = any> = T
|
|
740
|
+
type PivotReducerResults<T = any> = Record<string, AggregationReducerResult<T>>;
|
|
635
741
|
type PivotGroupValueType<DataType, KeyType> = {
|
|
636
742
|
reducerResults: PivotReducerResults<KeyType>;
|
|
637
743
|
items: DataType[];
|
|
@@ -639,7 +745,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
639
745
|
export type PivotValuesDeepMap<DataType, KeyType> = DeepMap<GroupKeyType<KeyType>, PivotGroupValueType<DataType, KeyType>>;
|
|
640
746
|
export type DeepMapGroupValueType<DataType, KeyType> = {
|
|
641
747
|
items: DataType[];
|
|
642
|
-
reducerResults:
|
|
748
|
+
reducerResults: Record<string, AggregationReducerResult>;
|
|
643
749
|
pivotDeepMap?: DeepMap<GroupKeyType<KeyType>, PivotGroupValueType<DataType, KeyType>>;
|
|
644
750
|
};
|
|
645
751
|
export type GroupBy<DataType, KeyType> = {
|
|
@@ -648,30 +754,38 @@ declare module "utils/groupAndPivot/index" {
|
|
|
648
754
|
column?: Partial<InfiniteTableGroupColumnBase<DataType>>;
|
|
649
755
|
};
|
|
650
756
|
export type PivotBy<DataType, KeyType> = Omit<GroupBy<DataType, KeyType>, 'column'> & {
|
|
651
|
-
column?:
|
|
652
|
-
column:
|
|
757
|
+
column?: InfiniteTableColumn<DataType> | (({ column, }: {
|
|
758
|
+
column: InfiniteTablePivotFinalColumnVariant<DataType, KeyType>;
|
|
653
759
|
}) => Partial<InfiniteTablePivotColumn<DataType>>);
|
|
760
|
+
columnGroup?: InfiniteTableColumnGroup | (({ columnGroup, }: {
|
|
761
|
+
columnGroup: InfiniteTablePivotFinalColumnGroup<DataType, KeyType>;
|
|
762
|
+
}) => Partial<InfiniteTablePivotFinalColumnGroup<DataType>>);
|
|
654
763
|
};
|
|
655
764
|
type GroupParams<DataType, KeyType> = {
|
|
656
765
|
groupBy: GroupBy<DataType, KeyType>[];
|
|
657
766
|
defaultToKey?: (value: any, item: DataType) => GroupKeyType<KeyType>;
|
|
658
767
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
659
|
-
reducers?:
|
|
768
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
769
|
+
};
|
|
770
|
+
type LazyGroupParams = {
|
|
771
|
+
mappings?: DataSourceMappings;
|
|
660
772
|
};
|
|
661
773
|
export type DataGroupResult<DataType, KeyType extends any> = {
|
|
662
774
|
deepMap: DeepMap<GroupKeyType<KeyType>, DeepMapGroupValueType<DataType, KeyType>>;
|
|
663
775
|
groupParams: GroupParams<DataType, KeyType>;
|
|
664
776
|
initialData: DataType[];
|
|
665
|
-
reducerResults?:
|
|
777
|
+
reducerResults?: Record<string, AggregationReducerResult>;
|
|
666
778
|
topLevelPivotColumns?: DeepMap<GroupKeyType<KeyType>, boolean>;
|
|
667
779
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
668
780
|
};
|
|
781
|
+
export function lazyGroup<DataType, KeyType extends string = string>(groupParams: GroupParams<DataType, KeyType> & LazyGroupParams, rootData: LazyGroupDataDeepMap<DataType>): DataGroupResult<DataType, KeyType>;
|
|
669
782
|
export function group<DataType, KeyType = any>(groupParams: GroupParams<DataType, KeyType>, data: DataType[]): DataGroupResult<DataType, KeyType>;
|
|
670
783
|
export function flatten<DataType, KeyType extends any>(groupResult: DataGroupResult<DataType, KeyType>): DataType[];
|
|
671
784
|
export type EnhancedFlattenParam<DataType, KeyType = any> = {
|
|
672
785
|
groupResult: DataGroupResult<DataType, KeyType>;
|
|
673
786
|
toPrimaryKey: (data: DataType) => any;
|
|
674
787
|
groupRowsState?: GroupRowsState;
|
|
788
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
675
789
|
generateGroupRows: boolean;
|
|
676
790
|
};
|
|
677
791
|
export function enhancedFlatten<DataType, KeyType = any>(param: EnhancedFlattenParam<DataType, KeyType>): {
|
|
@@ -859,35 +973,43 @@ declare module "components/InfiniteTable/components/LoadMask" {
|
|
|
859
973
|
declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
860
974
|
import * as React from 'react';
|
|
861
975
|
import { InfiniteTableState } from "components/InfiniteTable/types/index";
|
|
862
|
-
import { AggregationReducer,
|
|
863
|
-
import {
|
|
976
|
+
import { AggregationReducer, InfiniteTableRowInfoGroup, InfiniteTableRowInfoNormal } from "utils/groupAndPivot/index";
|
|
977
|
+
import { DataSourceGroupBy, DataSourcePropGroupBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
|
|
864
978
|
import { Renderable } from "components/types/Renderable";
|
|
865
979
|
import { LoadMaskProps } from "components/InfiniteTable/components/LoadMask";
|
|
866
|
-
import type {
|
|
980
|
+
import type { InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableComputedColumn, InfiniteTableComputedPivotFinalColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
867
981
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
868
982
|
export type InfiniteTablePropColumnOrderNormalized = string[];
|
|
869
983
|
export type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
|
|
870
|
-
export type InfiniteTablePropColumnVisibility =
|
|
871
|
-
export type
|
|
984
|
+
export type InfiniteTablePropColumnVisibility = Record<string, false>;
|
|
985
|
+
export type InfiniteTablePropColumnPinningMap = Map<string, true | 'start' | 'end'>;
|
|
986
|
+
export type InfiniteTableColumnPinnedValues = false | 'start' | 'end';
|
|
987
|
+
export type InfiniteTablePropColumnPinningRecord = Record<string, true | 'start' | 'end'>;
|
|
988
|
+
export type InfiniteTablePropColumnPinning = InfiniteTablePropColumnPinningRecord | InfiniteTablePropColumnPinningMap;
|
|
872
989
|
export type InfiniteTableRowStyleFnParams<T> = {
|
|
873
|
-
data: T | null;
|
|
874
|
-
rowInfo: InfiniteTableRowInfo<T>;
|
|
875
990
|
rowIndex: number;
|
|
876
|
-
|
|
877
|
-
}
|
|
991
|
+
groupBy?: (keyof T)[];
|
|
992
|
+
} & ({
|
|
993
|
+
data: T;
|
|
994
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
995
|
+
} | {
|
|
996
|
+
data: Partial<T> | null;
|
|
997
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
998
|
+
});
|
|
878
999
|
export type InfiniteTableRowStyleFn<T> = (params: InfiniteTableRowStyleFnParams<T>) => undefined | React.CSSProperties;
|
|
879
1000
|
export type InfiniteTableRowClassNameFn<T> = (params: InfiniteTableRowStyleFnParams<T>) => string | undefined;
|
|
880
1001
|
export type InfiniteTablePropRowStyle<T> = React.CSSProperties | InfiniteTableRowStyleFn<T>;
|
|
881
1002
|
export type InfiniteTablePropRowClassName<T> = string | InfiniteTableRowClassNameFn<T>;
|
|
882
|
-
export type InfiniteTableColumnAggregator<T, AggregationResultType> = Omit<AggregationReducer<T, AggregationResultType>, 'getter'> & {
|
|
1003
|
+
export type InfiniteTableColumnAggregator<T, AggregationResultType> = Omit<AggregationReducer<T, AggregationResultType>, 'getter' | 'id'> & {
|
|
883
1004
|
getter?: AggregationReducer<T, AggregationResultType>['getter'];
|
|
1005
|
+
field?: keyof T;
|
|
884
1006
|
};
|
|
885
|
-
export type InfiniteTablePropColumnAggregations<T> = Map<string, InfiniteTableColumnAggregator<T, any>>;
|
|
886
1007
|
export type InfiniteTableColumnType<T> = {
|
|
887
1008
|
minWidth?: number;
|
|
888
1009
|
maxWidth?: number;
|
|
889
|
-
|
|
890
|
-
|
|
1010
|
+
defaultWidth?: number;
|
|
1011
|
+
defaultFlex?: number;
|
|
1012
|
+
defaultPinned?: InfiniteTableColumnPinnedValues;
|
|
891
1013
|
header?: InfiniteTableColumn<T>['header'];
|
|
892
1014
|
comparer?: InfiniteTableColumn<T>['comparer'];
|
|
893
1015
|
draggable?: InfiniteTableColumn<T>['draggable'];
|
|
@@ -897,6 +1019,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
897
1019
|
verticalAlign?: InfiniteTableColumn<T>['verticalAlign'];
|
|
898
1020
|
renderValue?: InfiniteTableColumn<T>['renderValue'];
|
|
899
1021
|
render?: InfiniteTableColumn<T>['render'];
|
|
1022
|
+
valueGetter?: InfiniteTableColumn<T>['valueGetter'];
|
|
900
1023
|
};
|
|
901
1024
|
export type InfiniteTablePropColumnTypesMap<T> = Map<'default' | string, InfiniteTableColumnType<T>>;
|
|
902
1025
|
export type InfiniteTablePropColumnTypes<T> = InfiniteTablePropColumnTypesMap<T> | Record<'default' | string, InfiniteTableColumnType<T>>;
|
|
@@ -911,7 +1034,6 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
911
1034
|
export type InfiniteTableImperativeApi<T> = {
|
|
912
1035
|
setColumnOrder: (columnOrder: InfiniteTablePropColumnOrder) => void;
|
|
913
1036
|
setColumnVisibility: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
|
|
914
|
-
setColumnAggregations: (columnAggregations: InfiniteTablePropColumnAggregations<T>) => void;
|
|
915
1037
|
x?: T;
|
|
916
1038
|
getState: () => InfiniteTableState<T>;
|
|
917
1039
|
getDataSourceState: () => DataSourceState<T>;
|
|
@@ -925,11 +1047,14 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
925
1047
|
export type InfiniteTablePropColumns<T, ColumnType = InfiniteTableColumn<T>> = InfiniteTablePropColumnsMap<T, ColumnType> | Record<string, ColumnType>;
|
|
926
1048
|
export type InfiniteTableColumns<T> = InfiniteTablePropColumns<T>;
|
|
927
1049
|
export type InfiniteTableColumnsMap<T> = InfiniteTablePropColumnsMap<T>;
|
|
928
|
-
export type
|
|
1050
|
+
export type InfiniteTablePropColumnGroupsMap = Map<string, InfiniteTableColumnGroup>;
|
|
1051
|
+
export type InfiniteTablePropColumnGroupsRecord = Record<string, InfiniteTableColumnGroup>;
|
|
1052
|
+
export type InfiniteTablePropColumnGroups = InfiniteTablePropColumnGroupsRecord | InfiniteTablePropColumnGroupsMap;
|
|
929
1053
|
/**
|
|
930
1054
|
* the keys is an array of strings: first string in the array is the column group id, next strings are the ids of all columns in the group
|
|
931
1055
|
* the value is the id of the column to leave as visible
|
|
932
1056
|
*/
|
|
1057
|
+
export type InfiniteTablePropCollapsedColumnGroupsMap = Map<string[], string>;
|
|
933
1058
|
export type InfiniteTablePropCollapsedColumnGroups = Map<string[], string>;
|
|
934
1059
|
export type InfiniteTableColumnGroupHeaderRenderParams = {
|
|
935
1060
|
columnGroup: InfiniteTableComputedColumnGroup;
|
|
@@ -949,52 +1074,54 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
949
1074
|
};
|
|
950
1075
|
export type InfiniteTableGroupColumnGetterOptions<T> = {
|
|
951
1076
|
groupIndexForColumn?: number;
|
|
952
|
-
groupByForColumn?:
|
|
1077
|
+
groupByForColumn?: DataSourceGroupBy<T>;
|
|
953
1078
|
groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
|
|
954
1079
|
groupCount: number;
|
|
955
|
-
|
|
1080
|
+
groupBy: DataSourceGroupBy<T>[];
|
|
956
1081
|
};
|
|
957
|
-
export type InfiniteTablePivotColumnGetterOptions<T
|
|
958
|
-
column:
|
|
959
|
-
|
|
1082
|
+
export type InfiniteTablePivotColumnGetterOptions<T, COL_TYPE = InfiniteTableColumn<T>> = {
|
|
1083
|
+
column: COL_TYPE;
|
|
1084
|
+
groupBy: DataSourcePropGroupBy<T>;
|
|
960
1085
|
pivotBy: DataSourcePropPivotBy<T>;
|
|
961
1086
|
};
|
|
962
1087
|
export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
|
|
963
|
-
export type InfiniteTableGroupColumnBase<T> =
|
|
1088
|
+
export type InfiniteTableGroupColumnBase<T> = InfiniteTableColumn<T> & {
|
|
964
1089
|
renderValue?: InfiniteTableColumnRenderFunction<T>;
|
|
965
1090
|
id?: string;
|
|
966
1091
|
};
|
|
967
1092
|
export type InfiniteTablePivotColumnBase<T> = InfiniteTableColumn<T> & {
|
|
968
|
-
renderValue?: InfiniteTableColumnRenderFunction<T
|
|
969
|
-
id?: string;
|
|
1093
|
+
renderValue?: InfiniteTableColumnRenderFunction<T, InfiniteTableComputedPivotFinalColumn<T>>;
|
|
970
1094
|
};
|
|
971
1095
|
export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
|
|
972
1096
|
export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>;
|
|
973
|
-
export type InfiniteTablePropPivotColumn<T
|
|
1097
|
+
export type InfiniteTablePropPivotColumn<T, COL_TYPE = InfiniteTableColumn<T>> = Partial<InfiniteTablePivotColumnBase<T>> | ((options: InfiniteTablePivotColumnGetterOptions<T, COL_TYPE>) => InfiniteTablePivotColumnBase<T>);
|
|
974
1098
|
export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
|
|
975
1099
|
export type InfiniteTablePropComponents = {
|
|
976
1100
|
LoadMask?: React.FC<LoadMaskProps>;
|
|
977
1101
|
};
|
|
1102
|
+
export type ScrollStopInfo = {
|
|
1103
|
+
scrollTop: number;
|
|
1104
|
+
firstVisibleRowIndex: number;
|
|
1105
|
+
lastVisibleRowIndex: number;
|
|
1106
|
+
};
|
|
978
1107
|
export interface InfiniteTableProps<T> {
|
|
979
1108
|
columns: InfiniteTablePropColumns<T>;
|
|
980
1109
|
pivotColumns?: InfiniteTablePropColumnsMap<T, InfiniteTablePivotColumn<T>>;
|
|
981
1110
|
loadingText?: Renderable;
|
|
982
1111
|
components?: InfiniteTablePropComponents;
|
|
983
1112
|
viewportReservedWidth?: number;
|
|
984
|
-
pivotColumn?:
|
|
985
|
-
pivotRowLabelsColumn?:
|
|
1113
|
+
pivotColumn?: InfiniteTablePropPivotColumn<T, InfiniteTableColumn<T> & InfiniteTablePivotFinalColumn<T>>;
|
|
1114
|
+
pivotRowLabelsColumn?: InfiniteTablePropPivotRowLabelsColumn<T>;
|
|
986
1115
|
pivotTotalColumnPosition?: InfiniteTablePropPivotTotalColumnPosition;
|
|
987
1116
|
groupColumn?: Partial<InfiniteTablePropGroupColumn<T>>;
|
|
988
1117
|
groupRenderStrategy?: InfiniteTablePropGroupRenderStrategy;
|
|
989
1118
|
hideEmptyGroupColumns?: boolean;
|
|
990
1119
|
columnVisibility?: InfiniteTablePropColumnVisibility;
|
|
991
1120
|
defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
|
|
992
|
-
columnPinning?: InfiniteTablePropColumnPinning;
|
|
993
1121
|
pinnedStartMaxWidth?: number;
|
|
994
1122
|
pinnedEndMaxWidth?: number;
|
|
1123
|
+
columnPinning?: InfiniteTablePropColumnPinning;
|
|
995
1124
|
defaultColumnPinning?: InfiniteTablePropColumnPinning;
|
|
996
|
-
defaultColumnAggregations?: InfiniteTablePropColumnAggregations<T>;
|
|
997
|
-
columnAggregations?: InfiniteTablePropColumnAggregations<T>;
|
|
998
1125
|
columnSizing?: InfiniteTablePropColumnSizing;
|
|
999
1126
|
defaultColumnSizing?: InfiniteTablePropColumnSizing;
|
|
1000
1127
|
pivotColumnGroups?: InfiniteTablePropColumnGroups;
|
|
@@ -1005,6 +1132,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1005
1132
|
onScrollbarsChange?: (scrollbars: Scrollbars) => void;
|
|
1006
1133
|
onColumnVisibilityChange?: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
|
|
1007
1134
|
columnTypes?: InfiniteTablePropColumnTypes<T>;
|
|
1135
|
+
showSeparatePivotColumnForSingleAggregation?: boolean;
|
|
1008
1136
|
rowHeight: number | string;
|
|
1009
1137
|
rowStyle?: InfiniteTablePropRowStyle<T>;
|
|
1010
1138
|
rowClassName?: InfiniteTablePropRowClassName<T>;
|
|
@@ -1032,6 +1160,8 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1032
1160
|
onBlurWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
1033
1161
|
onScrollToTop?: () => void;
|
|
1034
1162
|
onScrollToBottom?: () => void;
|
|
1163
|
+
scrollStopDelay?: number;
|
|
1164
|
+
onScrollStop?: (param: ScrollStopInfo) => void;
|
|
1035
1165
|
scrollToBottomOffset?: number;
|
|
1036
1166
|
defaultColumnOrder?: InfiniteTablePropColumnOrder;
|
|
1037
1167
|
columnOrder?: InfiniteTablePropColumnOrder;
|
|
@@ -1071,7 +1201,7 @@ declare module "components/VirtualBrain/ScrollListener" {
|
|
|
1071
1201
|
}
|
|
1072
1202
|
declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
1073
1203
|
import type { ScrollPosition } from "components/types/ScrollPosition";
|
|
1074
|
-
import type { InfiniteTableColumnGroup,
|
|
1204
|
+
import type { InfiniteTableColumnGroup, InfiniteTablePropColumnGroupsMap, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnsMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1075
1205
|
import { Size } from "components/types/Size";
|
|
1076
1206
|
import { MutableRefObject } from 'react';
|
|
1077
1207
|
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
@@ -1079,12 +1209,13 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1079
1209
|
import { NonUndefined } from "components/types/NonUndefined";
|
|
1080
1210
|
import { InfiniteTableColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1081
1211
|
import { ComponentStateActions } from "components/hooks/useComponentState";
|
|
1082
|
-
import {
|
|
1083
|
-
export type
|
|
1084
|
-
groupBy:
|
|
1212
|
+
import { DataSourceGroupBy, DataSourceProps } from "components/DataSource/types";
|
|
1213
|
+
export type GroupByMap<T> = Map<keyof T, {
|
|
1214
|
+
groupBy: DataSourceGroupBy<T>;
|
|
1085
1215
|
groupIndex: number;
|
|
1086
1216
|
}>;
|
|
1087
1217
|
export interface InfiniteTableSetupState<T> {
|
|
1218
|
+
propsCache: Map<keyof InfiniteTableProps<T>, WeakMap<any, any>>;
|
|
1088
1219
|
columnsWhenInlineGroupRenderStrategy?: Map<string, InfiniteTableColumn<T>>;
|
|
1089
1220
|
domRef: MutableRefObject<HTMLDivElement | null>;
|
|
1090
1221
|
scrollerDOMRef: MutableRefObject<HTMLDivElement | null>;
|
|
@@ -1121,13 +1252,16 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1121
1252
|
onSelfBlur: InfiniteTableProps<T>['onSelfBlur'];
|
|
1122
1253
|
onFocusWithin: InfiniteTableProps<T>['onFocusWithin'];
|
|
1123
1254
|
onBlurWithin: InfiniteTableProps<T>['onBlurWithin'];
|
|
1255
|
+
scrollStopDelay: NonUndefined<InfiniteTableProps<T>['scrollStopDelay']>;
|
|
1124
1256
|
onScrollToTop: InfiniteTableProps<T>['onScrollToTop'];
|
|
1125
1257
|
onScrollToBottom: InfiniteTableProps<T>['onScrollToBottom'];
|
|
1258
|
+
onScrollStop: InfiniteTableProps<T>['onScrollStop'];
|
|
1126
1259
|
scrollToBottomOffset: InfiniteTableProps<T>['scrollToBottomOffset'];
|
|
1127
1260
|
focusedClassName: InfiniteTableProps<T>['focusedClassName'];
|
|
1128
1261
|
focusedWithinClassName: InfiniteTableProps<T>['focusedWithinClassName'];
|
|
1129
1262
|
focusedStyle: InfiniteTableProps<T>['focusedStyle'];
|
|
1130
1263
|
focusedWithinStyle: InfiniteTableProps<T>['focusedWithinStyle'];
|
|
1264
|
+
showSeparatePivotColumnForSingleAggregation: NonUndefined<InfiniteTableProps<T>['showSeparatePivotColumnForSingleAggregation']>;
|
|
1131
1265
|
domProps: InfiniteTableProps<T>['domProps'];
|
|
1132
1266
|
rowStyle: InfiniteTableProps<T>['rowStyle'];
|
|
1133
1267
|
rowProps: InfiniteTableProps<T>['rowProps'];
|
|
@@ -1136,7 +1270,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1136
1270
|
pinnedEndMaxWidth: InfiniteTableProps<T>['pinnedEndMaxWidth'];
|
|
1137
1271
|
pivotColumn: InfiniteTableProps<T>['pivotColumn'];
|
|
1138
1272
|
pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
|
|
1139
|
-
pivotColumnGroups:
|
|
1273
|
+
pivotColumnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1140
1274
|
activeIndex: NonUndefined<InfiniteTableProps<T>['activeIndex']>;
|
|
1141
1275
|
columnMinWidth: NonUndefined<InfiniteTableProps<T>['columnMinWidth']>;
|
|
1142
1276
|
columnMaxWidth: NonUndefined<InfiniteTableProps<T>['columnMaxWidth']>;
|
|
@@ -1152,23 +1286,22 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1152
1286
|
rowHeight: number;
|
|
1153
1287
|
headerHeight: number;
|
|
1154
1288
|
licenseKey: NonUndefined<InfiniteTableProps<T>['licenseKey']>;
|
|
1155
|
-
columnVisibility:
|
|
1156
|
-
columnPinning:
|
|
1289
|
+
columnVisibility: InfiniteTablePropColumnVisibility;
|
|
1290
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1157
1291
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1158
1292
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1159
|
-
|
|
1160
|
-
columnGroups: NonUndefined<InfiniteTableProps<T>['columnGroups']>;
|
|
1293
|
+
columnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1161
1294
|
collapsedColumnGroups: NonUndefined<InfiniteTableProps<T>['collapsedColumnGroups']>;
|
|
1162
1295
|
pivotTotalColumnPosition: NonUndefined<InfiniteTableProps<T>['pivotTotalColumnPosition']>;
|
|
1163
1296
|
}
|
|
1164
1297
|
export interface InfiniteTableDerivedState<T> {
|
|
1165
|
-
|
|
1298
|
+
groupBy: DataSourceProps<T>['groupBy'];
|
|
1166
1299
|
computedColumns: Map<string, InfiniteTableColumn<T>>;
|
|
1167
1300
|
virtualizeHeader: boolean;
|
|
1168
1301
|
groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
|
|
1169
1302
|
columnGroupsDepthsMap: InfiniteTableColumnGroupsDepthsMap;
|
|
1170
1303
|
columnGroupsMaxDepth: number;
|
|
1171
|
-
computedColumnGroups:
|
|
1304
|
+
computedColumnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1172
1305
|
rowHeightCSSVar: string;
|
|
1173
1306
|
headerHeightCSSVar: string;
|
|
1174
1307
|
}
|
|
@@ -1236,21 +1369,24 @@ declare module "components/InfiniteTable/types/index" {
|
|
|
1236
1369
|
import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1237
1370
|
import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
|
|
1238
1371
|
import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
|
|
1239
|
-
import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy,
|
|
1372
|
+
import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTablePropComponents, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableColumnSizingOptions, Scrollbars } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1240
1373
|
import type { InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1241
1374
|
import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
|
|
1242
1375
|
import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1243
1376
|
import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
|
|
1244
|
-
export type { Scrollbars, InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy,
|
|
1377
|
+
export type { Scrollbars, InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility as InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropColumnSizing, InfiniteTablePropColumnSizingMap, InfiniteTableColumnSizingOptions, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTableGroupColumnGetterOptions, };
|
|
1245
1378
|
}
|
|
1246
1379
|
declare module "components/InfiniteTable/InfiniteTableContext" {
|
|
1247
1380
|
import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1248
1381
|
export function getInfiniteTableContext<T>(): React.Context<InfiniteTableContextValue<T>>;
|
|
1249
1382
|
}
|
|
1383
|
+
declare module "components/InfiniteTable/utils/toMap" {
|
|
1384
|
+
export function toMap<K extends string, V>(mapOrObject?: Map<K, V> | Record<K, V>, weakMapCache?: WeakMap<any, any>): Map<K, V>;
|
|
1385
|
+
}
|
|
1250
1386
|
declare module "components/InfiniteTable/state/computeColumnGroupsDepths" {
|
|
1251
|
-
import type {
|
|
1387
|
+
import type { InfiniteTablePropColumnGroupsMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1252
1388
|
import type { InfiniteTableColumnGroupsDepthsMap } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1253
|
-
export function computeColumnGroupsDepths(columnGroups:
|
|
1389
|
+
export function computeColumnGroupsDepths(columnGroups: InfiniteTablePropColumnGroupsMap): InfiniteTableColumnGroupsDepthsMap;
|
|
1254
1390
|
}
|
|
1255
1391
|
declare module "components/InfiniteTable/state/getInitialState" {
|
|
1256
1392
|
import { DataSourceState } from "components/DataSource/index";
|
|
@@ -1263,59 +1399,61 @@ declare module "components/InfiniteTable/state/getInitialState" {
|
|
|
1263
1399
|
* be affected by props
|
|
1264
1400
|
*/
|
|
1265
1401
|
export function initSetupState<T>(): InfiniteTableSetupState<T>;
|
|
1266
|
-
export const forwardProps: <T>() => Partial<{
|
|
1402
|
+
export const forwardProps: <T>(setupState: InfiniteTableSetupState<T>) => Partial<{
|
|
1267
1403
|
columns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>) => import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>);
|
|
1268
1404
|
header: 1 | ((value: boolean | undefined) => boolean);
|
|
1405
|
+
showSeparatePivotColumnForSingleAggregation: 1 | ((value: boolean | undefined) => boolean);
|
|
1269
1406
|
pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
|
|
1270
1407
|
pivotColumns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined);
|
|
1271
|
-
pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").
|
|
1272
|
-
pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
|
|
1408
|
+
pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnGroupsMap);
|
|
1273
1409
|
sortable: 1 | ((value: boolean | undefined) => boolean);
|
|
1410
|
+
pivotColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T, import("components/InfiniteTable/types").InfiniteTableColumn<T> & import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotFinalColumn<T, any>> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T, import("components/InfiniteTable/types").InfiniteTableColumn<T> & import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotFinalColumn<T, any>> | undefined);
|
|
1274
1411
|
components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
|
|
1275
|
-
|
|
1412
|
+
loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
|
|
1276
1413
|
viewportReservedWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1414
|
+
pivotRowLabelsColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined);
|
|
1277
1415
|
groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
|
|
1416
|
+
hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1417
|
+
columnVisibility: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility);
|
|
1418
|
+
pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1419
|
+
pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1420
|
+
columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnPinningMap);
|
|
1421
|
+
columnSizing: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnSizing | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnSizingMap);
|
|
1422
|
+
columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnGroupsMap);
|
|
1423
|
+
collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
|
|
1278
1424
|
onScrollbarsChange: 1 | ((value: ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined) => ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined);
|
|
1279
|
-
|
|
1280
|
-
|
|
1425
|
+
columnTypes: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnTypes<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnTypesMap<T>);
|
|
1426
|
+
rowHeight: 1 | ((value: string | number) => number);
|
|
1427
|
+
rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
|
|
1428
|
+
rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
|
|
1429
|
+
headerHeight: 1 | ((value: string | number) => number);
|
|
1430
|
+
domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
|
|
1431
|
+
showZebraRows: 1 | ((value: boolean | undefined) => boolean);
|
|
1432
|
+
showHoverRows: 1 | ((value: boolean | undefined) => boolean);
|
|
1433
|
+
draggableColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1434
|
+
focusedClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1435
|
+
focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1436
|
+
focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1437
|
+
focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1438
|
+
columnDefaultWidth: 1 | ((value: number | undefined) => number);
|
|
1439
|
+
columnMinWidth: 1 | ((value: number | undefined) => number);
|
|
1440
|
+
columnMaxWidth: 1 | ((value: number | undefined) => number);
|
|
1441
|
+
virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
|
|
1442
|
+
activeIndex: 1 | ((value: number | undefined) => number);
|
|
1281
1443
|
onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1282
1444
|
onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1283
1445
|
onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1284
1446
|
onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1285
1447
|
onScrollToTop: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
|
|
1286
1448
|
onScrollToBottom: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
|
|
1449
|
+
scrollStopDelay: 1 | ((value: number | undefined) => number);
|
|
1450
|
+
onScrollStop: 1 | ((value: ((param: import("components/InfiniteTable/types/InfiniteTableProps").ScrollStopInfo) => void) | undefined) => ((param: import("components/InfiniteTable/types/InfiniteTableProps").ScrollStopInfo) => void) | undefined);
|
|
1287
1451
|
scrollToBottomOffset: 1 | ((value: number | undefined) => number | undefined);
|
|
1288
|
-
focusedClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1289
|
-
focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1290
|
-
focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1291
|
-
focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1292
|
-
domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
|
|
1293
|
-
rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
|
|
1294
|
-
rowProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined) => import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined);
|
|
1295
|
-
rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
|
|
1296
|
-
pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1297
|
-
pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1298
|
-
pivotRowLabelsColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined);
|
|
1299
|
-
activeIndex: 1 | ((value: number | undefined) => number);
|
|
1300
|
-
columnMinWidth: 1 | ((value: number | undefined) => number);
|
|
1301
|
-
columnMaxWidth: 1 | ((value: number | undefined) => number);
|
|
1302
|
-
columnDefaultWidth: 1 | ((value: number | undefined) => number);
|
|
1303
|
-
draggableColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1304
|
-
hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1305
1452
|
columnOrder: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnOrder | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnOrder);
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
|
|
1453
|
+
onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
|
|
1454
|
+
rowProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined) => import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined);
|
|
1309
1455
|
licenseKey: 1 | ((value: string | undefined) => string);
|
|
1310
|
-
|
|
1311
|
-
columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnPinning);
|
|
1312
|
-
columnAggregations: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T>);
|
|
1313
|
-
columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups);
|
|
1314
|
-
collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
|
|
1315
|
-
columnSizing: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnSizing | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnSizingMap);
|
|
1316
|
-
columnTypes: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnTypes<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnTypesMap<T>);
|
|
1317
|
-
rowHeight: 1 | ((value: string | number) => number);
|
|
1318
|
-
headerHeight: 1 | ((value: string | number) => number);
|
|
1456
|
+
scrollTopId: 1 | ((value: string | number | undefined) => string | number | undefined);
|
|
1319
1457
|
}>;
|
|
1320
1458
|
export const mapPropsToState: <T>(params: {
|
|
1321
1459
|
props: InfiniteTableProps<T>;
|
|
@@ -1392,9 +1530,8 @@ declare module "components/flexbox/index" {
|
|
|
1392
1530
|
export const computeFlex: (params: FlexComputeParams) => FlexComputeResult;
|
|
1393
1531
|
}
|
|
1394
1532
|
declare module "components/InfiniteTable/utils/adjustColumnOrderForPinning" {
|
|
1395
|
-
import {
|
|
1396
|
-
|
|
1397
|
-
export const adjustColumnOrderForPinning: (columnOrder: InfiniteTablePropColumnOrderNormalized, columnPinning: InfiniteTablePropColumnPinning) => InfiniteTablePropColumnOrderNormalized;
|
|
1533
|
+
import { InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinningMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1534
|
+
export const adjustColumnOrderForPinning: (columnOrder: InfiniteTablePropColumnOrderNormalized, columnPinning: InfiniteTablePropColumnPinningMap) => InfiniteTablePropColumnOrderNormalized;
|
|
1398
1535
|
}
|
|
1399
1536
|
declare module "utils/getGlobal" {
|
|
1400
1537
|
export function getGlobal<T extends Window>(): T;
|
|
@@ -1411,7 +1548,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
|
|
|
1411
1548
|
import type { InfiniteTableColumn, InfiniteTableComputedColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1412
1549
|
import type { Size } from "components/types/Size";
|
|
1413
1550
|
import type { DataSourceSingleSortInfo } from "components/DataSource/types";
|
|
1414
|
-
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized,
|
|
1551
|
+
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1415
1552
|
export type SortInfoMap<T> = {
|
|
1416
1553
|
[key: string]: {
|
|
1417
1554
|
sortInfo: DataSourceSingleSortInfo<T>;
|
|
@@ -1453,7 +1590,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
|
|
|
1453
1590
|
setSortInfo: (sortInfo: DataSourceSingleSortInfo<T>[]) => void;
|
|
1454
1591
|
draggableColumns?: boolean;
|
|
1455
1592
|
columnOrder: InfiniteTablePropColumnOrder;
|
|
1456
|
-
columnPinning:
|
|
1593
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1457
1594
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1458
1595
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1459
1596
|
columnVisibility: InfiniteTablePropColumnVisibility;
|
|
@@ -1489,7 +1626,7 @@ declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
|
|
|
1489
1626
|
declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
1490
1627
|
import type { DataSourceSingleSortInfo } from "components/DataSource/types";
|
|
1491
1628
|
import type { InfiniteTableColumn } from "components/InfiniteTable/types/index";
|
|
1492
|
-
import type { InfiniteTablePropColumnOrder,
|
|
1629
|
+
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1493
1630
|
import type { Size } from "components/types/Size";
|
|
1494
1631
|
import type { GetComputedVisibleColumnsResult } from "components/InfiniteTable/utils/getComputedVisibleColumns";
|
|
1495
1632
|
type UseComputedVisibleColumnsParam<T> = {
|
|
@@ -1506,7 +1643,7 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
|
1506
1643
|
multiSort: boolean;
|
|
1507
1644
|
sortInfo?: DataSourceSingleSortInfo<T>[];
|
|
1508
1645
|
setSortInfo: (sortInfo: DataSourceSingleSortInfo<T>[]) => void;
|
|
1509
|
-
columnPinning:
|
|
1646
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1510
1647
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1511
1648
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1512
1649
|
columnOrder: InfiniteTablePropColumnOrder;
|
|
@@ -1532,13 +1669,6 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
|
1532
1669
|
};
|
|
1533
1670
|
export const useComputedVisibleColumns: <T extends unknown>({ columns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, draggableColumns, sortInfo, multiSort, setSortInfo, columnOrder, columnPinning, columnTypes, pinnedEndMaxWidth, pinnedStartMaxWidth, viewportReservedWidth, columnVisibility, columnVisibilityAssumeVisible, columnSizing, }: UseComputedVisibleColumnsParam<T>) => UseComputedVisibleColumnsResult<T>;
|
|
1534
1671
|
}
|
|
1535
|
-
declare module "components/DataSource/publicHooks/useDataSourceActions" {
|
|
1536
|
-
import { DataSourceComponentActions } from "components/DataSource/types";
|
|
1537
|
-
export default function useDataSourceActions<T>(): DataSourceComponentActions<T>;
|
|
1538
|
-
}
|
|
1539
|
-
declare module "components/InfiniteTable/hooks/useColumnAggregations" {
|
|
1540
|
-
export function useColumnAggregations<T>(): void;
|
|
1541
|
-
}
|
|
1542
1672
|
declare module "components/InfiniteTable/hooks/useColumnGroups" {
|
|
1543
1673
|
export function useColumnGroups<T>(): void;
|
|
1544
1674
|
}
|
|
@@ -1546,6 +1676,15 @@ declare module "utils/join" {
|
|
|
1546
1676
|
const join: (...args: (string | number | void | null)[]) => string;
|
|
1547
1677
|
export { join };
|
|
1548
1678
|
}
|
|
1679
|
+
declare module "components/InfiniteTable/components/icons/ExpanderIcon.css" {
|
|
1680
|
+
export const ExpanderIconCls: string;
|
|
1681
|
+
export const ExpanderIconClsVariants: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
|
|
1682
|
+
expanded: {
|
|
1683
|
+
true: string;
|
|
1684
|
+
false: {};
|
|
1685
|
+
};
|
|
1686
|
+
}>;
|
|
1687
|
+
}
|
|
1549
1688
|
declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
|
|
1550
1689
|
import * as React from 'react';
|
|
1551
1690
|
type ExpanderIconProps = {
|
|
@@ -1590,7 +1729,7 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
|
|
|
1590
1729
|
export const GroupRowExpanderCls: string;
|
|
1591
1730
|
}
|
|
1592
1731
|
declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
|
|
1593
|
-
import {
|
|
1732
|
+
import { DataSourcePropGroupBy, DataSourcePropPivotBy } from "components/DataSource/index";
|
|
1594
1733
|
import { InfiniteTableProps } from "components/InfiniteTable/types/index";
|
|
1595
1734
|
import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1596
1735
|
export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
|
|
@@ -1599,13 +1738,13 @@ declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSo
|
|
|
1599
1738
|
pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
|
|
1600
1739
|
pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
|
|
1601
1740
|
pivotBy: DataSourcePropPivotBy<T>;
|
|
1602
|
-
|
|
1741
|
+
groupBy: DataSourcePropGroupBy<T>;
|
|
1603
1742
|
}): InfiniteTableProps<T>['pivotColumns'];
|
|
1604
1743
|
}
|
|
1605
1744
|
declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
|
|
1606
1745
|
import * as React from 'react';
|
|
1607
1746
|
import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
|
|
1608
|
-
import {
|
|
1747
|
+
import { DataSourceGroupBy } from "components/DataSource/index";
|
|
1609
1748
|
import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1610
1749
|
import { InfiniteTableGroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1611
1750
|
export function getGroupColumnRender<T>({ groupIndexForColumn, groupRenderStrategy, toggleGroupRow, }: {
|
|
@@ -1615,9 +1754,9 @@ declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
|
|
|
1615
1754
|
}): (renderOptions: InfiniteTableColumnRenderParam<T>) => React.ReactNode;
|
|
1616
1755
|
export function getColumnForGroupBy<T>(options: InfiniteTableGroupColumnGetterOptions<T> & {
|
|
1617
1756
|
groupIndexForColumn: number;
|
|
1618
|
-
groupByForColumn:
|
|
1619
|
-
}, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T
|
|
1620
|
-
export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T
|
|
1757
|
+
groupByForColumn: DataSourceGroupBy<T>;
|
|
1758
|
+
}, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: Partial<InfiniteTablePropGroupColumn<T>>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1759
|
+
export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: Partial<InfiniteTablePropGroupColumn<T>>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1621
1760
|
}
|
|
1622
1761
|
declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
|
|
1623
1762
|
export type ToggleGrouRowFn = (groupKeys: any[]) => void;
|
|
@@ -1625,12 +1764,12 @@ declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
|
|
|
1625
1764
|
}
|
|
1626
1765
|
declare module "components/InfiniteTable/hooks/useColumnsWhen" {
|
|
1627
1766
|
import type { InfiniteTableColumn } from "components/InfiniteTable/index";
|
|
1628
|
-
import type {
|
|
1767
|
+
import type { DataSourceGroupBy } from "components/DataSource/index";
|
|
1629
1768
|
import type { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1630
1769
|
export function useColumnsWhen<T>(): void;
|
|
1631
1770
|
export function getColumnsWhenGrouping<T>(params: {
|
|
1632
1771
|
columns: Map<string, InfiniteTableColumn<T>>;
|
|
1633
|
-
|
|
1772
|
+
groupBy: DataSourceGroupBy<T>[];
|
|
1634
1773
|
toggleGroupRow: (groupKeys: any[]) => void;
|
|
1635
1774
|
groupColumn: InfiniteTableProps<T>['groupColumn'];
|
|
1636
1775
|
groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
|
|
@@ -1823,9 +1962,7 @@ declare module "components/InfiniteTable/components/cell.css" {
|
|
|
1823
1962
|
unpinned: {};
|
|
1824
1963
|
pinnedStartLastInCategory: {
|
|
1825
1964
|
borderRight: import("@vanilla-extract/private").CSSVarFunction;
|
|
1826
|
-
vars: {
|
|
1827
|
-
[x: string]: import("@vanilla-extract/private").CSSVarFunction;
|
|
1828
|
-
};
|
|
1965
|
+
vars: {};
|
|
1829
1966
|
};
|
|
1830
1967
|
pinnedEndFirstInCategory: {
|
|
1831
1968
|
borderLeft: import("@vanilla-extract/private").CSSVarFunction;
|
|
@@ -2047,15 +2184,14 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
|
|
|
2047
2184
|
import { Renderable } from "components/types/Renderable";
|
|
2048
2185
|
import { VirtualBrain } from "components/VirtualBrain/index";
|
|
2049
2186
|
import { ScrollListener } from "components/VirtualBrain/ScrollListener";
|
|
2050
|
-
import {
|
|
2051
|
-
import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
2187
|
+
import { InfiniteTableColumnPinnedValues, InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
2052
2188
|
export type InfiniteTableHeaderProps<T> = {
|
|
2053
2189
|
repaintId?: string | number;
|
|
2054
2190
|
brain: VirtualBrain;
|
|
2055
2191
|
columns: InfiniteTableComputedColumn<T>[];
|
|
2056
2192
|
totalWidth: number;
|
|
2057
2193
|
availableWidth: number;
|
|
2058
|
-
pinning:
|
|
2194
|
+
pinning: InfiniteTableColumnPinnedValues;
|
|
2059
2195
|
};
|
|
2060
2196
|
export type InfiniteTableHeaderGroupProps<T> = {
|
|
2061
2197
|
columns: InfiniteTableComputedColumn<T>[];
|
|
@@ -2562,6 +2698,9 @@ declare module "components/InfiniteTable/hooks/usePinnedRendering" {
|
|
|
2562
2698
|
pinnedStartScrollbarPlaceholder: JSX.Element | null;
|
|
2563
2699
|
};
|
|
2564
2700
|
}
|
|
2701
|
+
declare module "components/hooks/useOnce" {
|
|
2702
|
+
export function useOnce<ReturnType>(fn: () => ReturnType): ReturnType;
|
|
2703
|
+
}
|
|
2565
2704
|
declare module "components/InfiniteTable/hooks/useColumnSizeFn" {
|
|
2566
2705
|
import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
|
|
2567
2706
|
/**
|
|
@@ -3060,4 +3199,5 @@ declare module "@infinite-table/infinite-react" {
|
|
|
3060
3199
|
export { group, flatten } from "utils/groupAndPivot/index";
|
|
3061
3200
|
export { useComponentState, getComponentStateRoot, } from "components/hooks/useComponentState";
|
|
3062
3201
|
export { interceptMap } from "components/hooks/useInterceptedMap";
|
|
3202
|
+
export { useEffectWithChanges } from "components/hooks/useEffectWithChanges";
|
|
3063
3203
|
}
|