@infinite-table/infinite-react 0.0.8 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.css +3 -5
- package/index.d.ts +259 -167
- package/index.esm.css +3 -5
- package/index.esm.js +825 -600
- package/index.js +889 -663
- package/package.json +3 -4
package/index.d.ts
CHANGED
|
@@ -71,6 +71,7 @@ declare module "utils/DeepMap" {
|
|
|
71
71
|
private map;
|
|
72
72
|
private length;
|
|
73
73
|
private revision;
|
|
74
|
+
static clone<KeyType, ValueType>(map: DeepMap<KeyType, ValueType>): DeepMap<KeyType, ValueType>;
|
|
74
75
|
constructor(initial?: [KeyType[], ValueType][]);
|
|
75
76
|
set(keys: KeyType[] & {
|
|
76
77
|
length: Omit<number, 0>;
|
|
@@ -141,9 +142,15 @@ declare module "components/hooks/useComponentState" {
|
|
|
141
142
|
componentState: T_STATE;
|
|
142
143
|
componentActions: T_ACTIONS;
|
|
143
144
|
};
|
|
144
|
-
type ComponentStateGeneratedActions<T_STATE> = {
|
|
145
|
+
export type ComponentStateGeneratedActions<T_STATE> = {
|
|
145
146
|
[k in keyof T_STATE]: T_STATE[k] | React.SetStateAction<T_STATE[k]>;
|
|
146
147
|
};
|
|
148
|
+
export type ComponentInterceptedActions<T_STATE> = {
|
|
149
|
+
[k in keyof T_STATE]?: (value: T_STATE[k], { actions, state, }: {
|
|
150
|
+
actions: ComponentStateGeneratedActions<T_STATE>;
|
|
151
|
+
state: T_STATE;
|
|
152
|
+
}) => void;
|
|
153
|
+
};
|
|
147
154
|
export type ComponentStateActions<T_STATE> = ComponentStateGeneratedActions<T_STATE>;
|
|
148
155
|
export type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT> = Partial<{
|
|
149
156
|
[propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName]) => TYPE_RESULT[propName]);
|
|
@@ -153,6 +160,7 @@ declare module "components/hooks/useComponentState" {
|
|
|
153
160
|
initSetupState?: () => COMPONENT_SETUP_STATE;
|
|
154
161
|
forwardProps?: () => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
|
|
155
162
|
allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
|
|
163
|
+
interceptActions?: ComponentInterceptedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
|
|
156
164
|
mapPropsToState?: (params: {
|
|
157
165
|
props: T_PROPS;
|
|
158
166
|
state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
|
|
@@ -177,71 +185,99 @@ declare module "components/hooks/useComponentState" {
|
|
|
177
185
|
declare module "components/types/NonUndefined" {
|
|
178
186
|
export type NonUndefined<T> = T extends undefined ? never : T;
|
|
179
187
|
}
|
|
188
|
+
declare module "components/types/SubscriptionCallback" {
|
|
189
|
+
import { VoidFn } from "components/types/VoidFn";
|
|
190
|
+
export type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
191
|
+
export interface SubscriptionCallback<T> {
|
|
192
|
+
(node: T): void;
|
|
193
|
+
get: () => T | null;
|
|
194
|
+
destroy: VoidFn;
|
|
195
|
+
onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
180
198
|
declare module "components/DataSource/types" {
|
|
181
199
|
import * as React from 'react';
|
|
182
200
|
import { MultisortInfo } from "utils/multisort/index";
|
|
183
201
|
import { DeepMap } from "utils/DeepMap";
|
|
184
|
-
import {
|
|
185
|
-
import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableRowInfo } from "components/InfiniteTable/index";
|
|
202
|
+
import { DeepMapGroupValueType, GroupBy, GroupKeyType, PivotBy } from "utils/groupAndPivot/index";
|
|
203
|
+
import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableRowInfo, Scrollbars } from "components/InfiniteTable/index";
|
|
186
204
|
import { ComponentStateActions } from "components/hooks/useComponentState";
|
|
187
205
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
188
206
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
189
207
|
import { NonUndefined } from "components/types/NonUndefined";
|
|
190
|
-
|
|
208
|
+
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
209
|
+
export interface DataSourceDataParams<T> {
|
|
191
210
|
originalDataArray: T[];
|
|
211
|
+
sortInfo?: DataSourceSortInfo<T>;
|
|
212
|
+
groupBy?: DataSourcePropGroupBy<T>;
|
|
213
|
+
pivotBy?: DataSourcePropPivotBy<T>;
|
|
214
|
+
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
192
215
|
}
|
|
193
216
|
export type DataSourceSingleSortInfo<T> = MultisortInfo<T> & {
|
|
194
217
|
field?: keyof T;
|
|
195
218
|
id?: string;
|
|
196
219
|
};
|
|
197
|
-
export type
|
|
220
|
+
export type DataSourceGroupBy<T> = GroupBy<T, any>;
|
|
198
221
|
export type DataSourcePivotBy<T> = PivotBy<T, any>;
|
|
199
222
|
export type DataSourceSortInfo<T> = null | DataSourceSingleSortInfo<T> | DataSourceSingleSortInfo<T>[];
|
|
200
|
-
export type
|
|
201
|
-
data: T[];
|
|
202
|
-
}> | (() => T[] | Promise<T[] | {
|
|
223
|
+
export type DataSourceRemoteData<T> = {
|
|
203
224
|
data: T[];
|
|
204
|
-
|
|
225
|
+
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
226
|
+
};
|
|
227
|
+
export type DataSourceData<T> = T[] | DataSourceRemoteData<T> | Promise<T[] | DataSourceRemoteData<T>> | ((dataInfo: DataSourceDataParams<T>) => T[] | Promise<T[] | DataSourceRemoteData<T>>);
|
|
205
228
|
export type DataSourceGroupRowsList<KeyType> = true | KeyType[][];
|
|
206
229
|
export type DataSourceExpandedAndCollapsedGroupRows<KeyType> = {
|
|
207
230
|
expandedRows: DataSourceGroupRowsList<KeyType>;
|
|
208
231
|
collapsedRows: DataSourceGroupRowsList<KeyType>;
|
|
209
232
|
};
|
|
210
|
-
export type
|
|
233
|
+
export type DataSourcePropGroupBy<T> = DataSourceGroupBy<T>[];
|
|
211
234
|
export type DataSourcePropPivotBy<T> = DataSourcePivotBy<T>[];
|
|
212
235
|
export interface DataSourceMappedState<T> {
|
|
213
|
-
|
|
236
|
+
aggregationReducers?: DataSourceProps<T>['aggregationReducers'];
|
|
237
|
+
livePagination: DataSourceProps<T>['livePagination'];
|
|
238
|
+
livePaginationCursor: DataSourceProps<T>['livePaginationCursor'];
|
|
239
|
+
onDataParamsChange: DataSourceProps<T>['onDataParamsChange'];
|
|
214
240
|
data: DataSourceProps<T>['data'];
|
|
215
241
|
primaryKey: DataSourceProps<T>['primaryKey'];
|
|
216
|
-
|
|
242
|
+
groupBy: NonUndefined<DataSourceProps<T>['groupBy']>;
|
|
217
243
|
groupRowsState: NonUndefined<DataSourceProps<T>['groupRowsState']>;
|
|
218
244
|
pivotBy: DataSourceProps<T>['pivotBy'];
|
|
219
245
|
loading: NonUndefined<DataSourceProps<T>['loading']>;
|
|
220
246
|
sortInfo: DataSourceSingleSortInfo<T>[] | null;
|
|
221
247
|
}
|
|
248
|
+
export type DataSourceAggregationReducer<T, AggregationResultType> = {
|
|
249
|
+
field?: keyof T;
|
|
250
|
+
initialValue: AggregationResultType;
|
|
251
|
+
getter?: (data: T) => any;
|
|
252
|
+
reducer: (accumulator: any, value: any, data: T) => AggregationResultType | any;
|
|
253
|
+
done?: (accumulatedValue: AggregationResultType | any, array: T[]) => AggregationResultType;
|
|
254
|
+
};
|
|
222
255
|
export interface DataSourceSetupState<T> {
|
|
256
|
+
showSeparatePivotColumnForSingleAggregation: boolean;
|
|
257
|
+
dataParams?: DataSourceDataParams<T>;
|
|
258
|
+
notifyScrollbarsChange: SubscriptionCallback<Scrollbars>;
|
|
223
259
|
originalDataArray: T[];
|
|
224
260
|
lastSortDataArray?: T[];
|
|
225
261
|
lastGroupDataArray?: InfiniteTableRowInfo<T>[];
|
|
226
262
|
dataArray: InfiniteTableRowInfo<T>[];
|
|
227
263
|
groupDeepMap?: DeepMap<GroupKeyType, DeepMapGroupValueType<T, any>>;
|
|
228
264
|
pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
|
|
265
|
+
scrollBottomId: number | Symbol | DataSourceLivePaginationCursorValue;
|
|
229
266
|
updatedAt: number;
|
|
230
267
|
reducedAt: number;
|
|
231
268
|
groupedAt: number;
|
|
232
269
|
sortedAt: number;
|
|
233
270
|
generateGroupRows: boolean;
|
|
234
|
-
aggregationReducers?: AggregationReducer<T, any>[];
|
|
235
271
|
postSortDataArray?: T[];
|
|
236
272
|
postGroupDataArray?: InfiniteTableRowInfo<T>[];
|
|
237
273
|
pivotColumns?: Map<string, InfiniteTableColumn<T>>;
|
|
238
274
|
pivotColumnGroups?: Map<string, InfiniteTableColumnGroup>;
|
|
239
275
|
}
|
|
276
|
+
export type DataSourcePropAggregationReducers<T> = Record<string, DataSourceAggregationReducer<T, any>>;
|
|
240
277
|
export interface DataSourceProps<T> {
|
|
241
278
|
children: React.ReactNode | ((contextData: DataSourceState<T>) => React.ReactNode);
|
|
242
279
|
primaryKey: keyof T;
|
|
243
280
|
fields?: (keyof T)[];
|
|
244
|
-
remoteCount?: number;
|
|
245
281
|
data: DataSourceData<T>;
|
|
246
282
|
loading?: boolean;
|
|
247
283
|
defaultLoading?: boolean;
|
|
@@ -249,20 +285,27 @@ declare module "components/DataSource/types" {
|
|
|
249
285
|
pivotBy?: DataSourcePropPivotBy<T>;
|
|
250
286
|
defaultPivotBy?: DataSourcePropPivotBy<T>;
|
|
251
287
|
onPivotByChange?: (pivotBy: DataSourcePropPivotBy<T>) => void;
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
288
|
+
aggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
289
|
+
defaultAggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
290
|
+
groupBy?: DataSourcePropGroupBy<T>;
|
|
291
|
+
defaultGroupBy?: DataSourcePropGroupBy<T>;
|
|
292
|
+
onGroupByChange?: (groupBy: DataSourcePropGroupBy<T>) => void;
|
|
255
293
|
groupRowsState?: GroupRowsState;
|
|
256
294
|
defaultGroupRowsState?: GroupRowsState;
|
|
257
295
|
onGroupRowsStateChange?: (groupRowsState: GroupRowsState) => void;
|
|
258
296
|
sortInfo?: DataSourceSortInfo<T>;
|
|
259
297
|
defaultSortInfo?: DataSourceSortInfo<T>;
|
|
260
|
-
onSortInfoChange?: (sortInfo:
|
|
298
|
+
onSortInfoChange?: ((sortInfo: DataSourceSingleSortInfo<T> | null) => void) | ((sortInfo: DataSourceSingleSortInfo<T>[]) => void);
|
|
299
|
+
onDataParamsChange?: (dataParamsChange: DataSourceDataParams<T>) => void;
|
|
300
|
+
livePagination?: boolean;
|
|
301
|
+
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
261
302
|
}
|
|
303
|
+
export type DataSourceLivePaginationCursorValue = string | number;
|
|
262
304
|
export interface DataSourceState<T> extends DataSourceSetupState<T>, DataSourceDerivedState<T>, DataSourceMappedState<T> {
|
|
263
305
|
}
|
|
264
306
|
export interface DataSourceDerivedState<_T> {
|
|
265
307
|
multiSort: boolean;
|
|
308
|
+
controlledSort: boolean;
|
|
266
309
|
}
|
|
267
310
|
export type DataSourceComponentActions<T> = ComponentStateActions<DataSourceState<T>>;
|
|
268
311
|
export interface DataSourceContextValue<T> {
|
|
@@ -292,42 +335,55 @@ declare module "components/DataSource/publicHooks/useDataSource" {
|
|
|
292
335
|
export function useDataSource<T>(): DataSourceState<T>;
|
|
293
336
|
export function useDataSourceContextValue<T>(): DataSourceContextValue<T>;
|
|
294
337
|
}
|
|
295
|
-
declare module "components/
|
|
296
|
-
import {
|
|
297
|
-
export function
|
|
298
|
-
|
|
299
|
-
}): DataSourceDataInfo<T>;
|
|
300
|
-
}
|
|
301
|
-
declare module "components/DataSource/privateHooks/loadDataAsync" {
|
|
302
|
-
import { DataSourceData, DataSourceDataInfo } from "components/DataSource/types";
|
|
303
|
-
export function loadDataAsync<T>(data: DataSourceData<T>): Promise<DataSourceDataInfo<T>>;
|
|
338
|
+
declare module "components/hooks/useEffectWithChanges" {
|
|
339
|
+
import { EffectCallback } from 'react';
|
|
340
|
+
export function useEffectWithChanges(fn: (changes: Record<string, any>, prevValues: Record<string, any>) => void | (() => void), deps: Record<string, any>): void;
|
|
341
|
+
export function useEffectWithObject(fn: EffectCallback, deps: Record<string, any>): void;
|
|
304
342
|
}
|
|
305
343
|
declare module "components/DataSource/privateHooks/useLoadData" {
|
|
344
|
+
import { DataSourceDataParams, DataSourceState } from "components/DataSource/types";
|
|
345
|
+
export function buildDataSourceDataParams<T>(componentState: DataSourceState<T>): DataSourceDataParams<T>;
|
|
306
346
|
export function useLoadData<T>(): void;
|
|
347
|
+
export function useLivePagination<T>(): void;
|
|
307
348
|
}
|
|
308
349
|
declare module "components/DataSource/state/normalizeSortInfo" {
|
|
309
350
|
import { DataSourceSingleSortInfo, DataSourceSortInfo } from "components/DataSource/types";
|
|
310
351
|
export const normalizeSortInfo: <T>(sortInfo?: DataSourceSortInfo<T> | undefined) => DataSourceSingleSortInfo<T>[];
|
|
311
352
|
}
|
|
353
|
+
declare module "components/utils/buildSubscriptionCallback" {
|
|
354
|
+
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
355
|
+
export function buildSubscriptionCallback<T>(): SubscriptionCallback<T>;
|
|
356
|
+
}
|
|
357
|
+
declare module "utils/shallowEqualObjects" {
|
|
358
|
+
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T): boolean;
|
|
359
|
+
}
|
|
360
|
+
declare module "components/utils/discardCallsWithEqualArg" {
|
|
361
|
+
export function discardCallsWithEqualArg<T = any>(fn: (arg: T) => void, timeframe?: number, getCompareObject?: (arg: T) => any): (arg: T) => void;
|
|
362
|
+
}
|
|
312
363
|
declare module "components/DataSource/state/getInitialState" {
|
|
313
364
|
import { DataSourceMappedState, DataSourceProps, DataSourceDerivedState, DataSourceSetupState, DataSourceState } from "components/DataSource/types";
|
|
314
365
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
315
|
-
import { ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
|
|
366
|
+
import { ComponentInterceptedActions, ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
|
|
367
|
+
import { DataSourceDataParams } from "components/DataSource/index";
|
|
316
368
|
export function initSetupState<T>(): DataSourceSetupState<T>;
|
|
317
369
|
export const forwardProps: <T>() => Partial<{
|
|
318
|
-
data: 1 | ((value: import("components/DataSource
|
|
370
|
+
data: 1 | ((value: import("components/DataSource").DataSourceData<T>) => import("components/DataSource").DataSourceData<T>);
|
|
319
371
|
loading: 1 | ((value: boolean | undefined) => boolean);
|
|
320
|
-
|
|
372
|
+
aggregationReducers: 1 | ((value: import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined) => import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined);
|
|
373
|
+
livePagination: 1 | ((value: boolean | undefined) => boolean | undefined);
|
|
374
|
+
livePaginationCursor: 1 | ((value: import("components/DataSource").DataSourceLivePaginationCursorValue | undefined) => import("components/DataSource").DataSourceLivePaginationCursorValue | undefined);
|
|
375
|
+
onDataParamsChange: 1 | ((value: ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined) => ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined);
|
|
321
376
|
primaryKey: 1 | ((value: keyof T) => keyof T);
|
|
322
|
-
|
|
377
|
+
groupBy: 1 | ((value: import("components/DataSource").DataSourcePropGroupBy<T> | undefined) => import("components/DataSource").DataSourcePropGroupBy<T>);
|
|
323
378
|
groupRowsState: 1 | ((value: GroupRowsState<any> | undefined) => GroupRowsState<any>);
|
|
324
|
-
pivotBy: 1 | ((value: import("components/DataSource
|
|
325
|
-
sortInfo: 1 | ((value: import("components/DataSource
|
|
379
|
+
pivotBy: 1 | ((value: import("components/DataSource").DataSourcePropPivotBy<T> | undefined) => import("components/DataSource").DataSourcePropPivotBy<T> | undefined);
|
|
380
|
+
sortInfo: 1 | ((value: import("components/DataSource").DataSourceSortInfo<T> | undefined) => import("components/DataSource").DataSourceSingleSortInfo<T>[] | null);
|
|
326
381
|
}>;
|
|
327
382
|
export function mapPropsToState<T extends any>(params: {
|
|
328
383
|
props: DataSourceProps<T>;
|
|
329
384
|
state: DataSourceState<T>;
|
|
330
385
|
}): DataSourceDerivedState<T>;
|
|
386
|
+
export function getInterceptActions<T>(): ComponentInterceptedActions<DataSourceState<T>>;
|
|
331
387
|
}
|
|
332
388
|
declare module "components/types/Renderable" {
|
|
333
389
|
import * as React from 'react';
|
|
@@ -335,6 +391,7 @@ declare module "components/types/Renderable" {
|
|
|
335
391
|
}
|
|
336
392
|
declare module "components/InfiniteTable/types/Utility" {
|
|
337
393
|
export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
394
|
+
export type MapOrRecord<K extends string, V> = Map<K, V> | Record<K, V>;
|
|
338
395
|
export type RequireOnlyOneProperty<T, Keys extends keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
339
396
|
[K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
|
|
340
397
|
}[Keys];
|
|
@@ -354,26 +411,30 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
354
411
|
import type { Renderable } from "components/types/Renderable";
|
|
355
412
|
import type { DataSourcePivotBy, DataSourceSingleSortInfo, DataSourceState } from "components/DataSource/types";
|
|
356
413
|
import type { DiscriminatedUnion, RequireAtLeastOne } from "components/InfiniteTable/types/Utility";
|
|
357
|
-
import type { InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
414
|
+
import type { InfiniteTableColumnGroup, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
358
415
|
import { CSSProperties } from 'react';
|
|
359
|
-
import { PivotBy } from "utils/groupAndPivot/index";
|
|
416
|
+
import { AggregationReducer, InfiniteTableRowInfoGroup, InfiniteTableRowInfoNormal, PivotBy } from "utils/groupAndPivot/index";
|
|
360
417
|
export type { DiscriminatedUnion, RequireAtLeastOne };
|
|
361
418
|
export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
|
|
362
|
-
export
|
|
419
|
+
export type InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
363
420
|
value: string | number | Renderable;
|
|
364
|
-
data: DATA_TYPE | null;
|
|
365
|
-
rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
|
|
366
421
|
groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
|
|
367
422
|
rowIndex: number;
|
|
368
423
|
column: COL_TYPE;
|
|
369
424
|
toggleCurrentGroupRow: () => void;
|
|
370
425
|
toggleGroupRow: InfiniteTableToggleGroupRowFn;
|
|
371
|
-
|
|
372
|
-
}
|
|
426
|
+
groupBy: DataSourceState<DATA_TYPE>['groupBy'];
|
|
427
|
+
} & ({
|
|
428
|
+
rowInfo: InfiniteTableRowInfoNormal<DATA_TYPE>;
|
|
429
|
+
data: DATA_TYPE;
|
|
430
|
+
} | {
|
|
431
|
+
rowInfo: InfiniteTableRowInfoGroup<DATA_TYPE>;
|
|
432
|
+
data: Partial<DATA_TYPE> | null;
|
|
433
|
+
});
|
|
373
434
|
export type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>;
|
|
374
435
|
export type InfiniteTableColumnRowspanFnParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
375
|
-
data: DATA_TYPE | null;
|
|
376
436
|
rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
|
|
437
|
+
data: DATA_TYPE | Partial<DATA_TYPE> | null;
|
|
377
438
|
groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
|
|
378
439
|
dataArray: InfiniteTableRowInfo<DATA_TYPE>[];
|
|
379
440
|
rowIndex: number;
|
|
@@ -384,7 +445,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
384
445
|
columnSortInfo: DataSourceSingleSortInfo<T> | null | undefined;
|
|
385
446
|
}
|
|
386
447
|
export type InfiniteTableColumnPinned = 'start' | 'end' | false;
|
|
387
|
-
export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo,
|
|
448
|
+
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;
|
|
388
449
|
export type InfiniteTableColumnRenderValueFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE>;
|
|
389
450
|
export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
|
|
390
451
|
export type InfiniteTableColumnWithField<T> = {
|
|
@@ -407,19 +468,25 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
407
468
|
valueGetter?: InfiniteTableColumnValueGetter<T>;
|
|
408
469
|
}, 'render' | 'renderValue' | 'field' | 'valueGetter'>;
|
|
409
470
|
export type InfiniteTableColumnStyleFnParams<T> = {
|
|
410
|
-
data: T | null;
|
|
411
471
|
value: Renderable;
|
|
412
|
-
rowInfo: InfiniteTableRowInfo<T>;
|
|
413
472
|
column: InfiniteTableColumn<T>;
|
|
414
|
-
}
|
|
473
|
+
} & ({
|
|
474
|
+
data: T;
|
|
475
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
476
|
+
} | {
|
|
477
|
+
data: Partial<T> | null;
|
|
478
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
479
|
+
});
|
|
415
480
|
export type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStyleFnParams<T>) => undefined | React.CSSProperties;
|
|
416
481
|
export type InfiniteTableColumnClassNameFn<T> = (params: InfiniteTableColumnStyleFnParams<T>) => undefined | string;
|
|
417
482
|
export type InfiniteTableColumnStyle<T> = CSSProperties | InfiniteTableColumnStyleFn<T>;
|
|
418
483
|
export type InfiniteTableColumnClassName<T> = string | InfiniteTableColumnClassNameFn<T>;
|
|
419
484
|
export type InfiniteTableColumnValueGetterParams<T> = {
|
|
420
|
-
data: T
|
|
421
|
-
rowInfo:
|
|
422
|
-
|
|
485
|
+
data: T;
|
|
486
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
487
|
+
} | {
|
|
488
|
+
data: Partial<T> | null;
|
|
489
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
423
490
|
};
|
|
424
491
|
export type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = Renderable> = (params: InfiniteTableColumnValueGetterParams<T>) => VALUE_GETTER_TYPE;
|
|
425
492
|
export type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanFnParams<T>) => number;
|
|
@@ -429,6 +496,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
429
496
|
draggable?: boolean;
|
|
430
497
|
resizable?: boolean;
|
|
431
498
|
comparer?: InfiniteTableColumnComparer<T>;
|
|
499
|
+
hiddenWhenGrouped?: boolean;
|
|
432
500
|
align?: InfiniteTableColumnAlign;
|
|
433
501
|
verticalAlign?: InfiniteTableColumnVerticalAlign;
|
|
434
502
|
columnGroup?: string;
|
|
@@ -441,27 +509,33 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
441
509
|
className?: InfiniteTableColumnClassName<T>;
|
|
442
510
|
rowspan?: InfiniteTableColumnRowspanFn<T>;
|
|
443
511
|
valueGetter?: InfiniteTableColumnValueGetter<T>;
|
|
512
|
+
defaultWidth?: number;
|
|
513
|
+
defaultFlex?: number;
|
|
444
514
|
};
|
|
445
515
|
export type InfiniteTableColumn<T> = {} & InfiniteTableBaseColumn<T> & InfiniteTableColumnWithRenderOrRenderValueOrFieldOrValueGetter<T>;
|
|
446
516
|
export type InfiniteTableGeneratedGroupColumn<T> = InfiniteTableColumn<T> & {
|
|
447
|
-
groupByField
|
|
517
|
+
groupByField: string | string[];
|
|
448
518
|
id?: string;
|
|
449
519
|
};
|
|
450
|
-
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> &
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
pivotGroupKeys
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
520
|
+
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & Partial<InfiniteTablePivotFinalColumn<T, any>>;
|
|
521
|
+
export type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
|
|
522
|
+
pivotBy: DataSourcePivotBy<DataType>[];
|
|
523
|
+
pivotTotalColumnGroup?: true;
|
|
524
|
+
pivotGroupKeys: KeyType[];
|
|
525
|
+
pivotByAtIndex: PivotBy<DataType, KeyType>;
|
|
526
|
+
pivotGroupKey: KeyType;
|
|
527
|
+
pivotIndex: number;
|
|
458
528
|
};
|
|
459
|
-
export type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> =
|
|
529
|
+
export type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
|
|
460
530
|
pivotBy: DataSourcePivotBy<DataType>[];
|
|
531
|
+
pivotColumn: true;
|
|
532
|
+
pivotTotalColumn: boolean;
|
|
533
|
+
pivotAggregator: AggregationReducer<DataType, any>;
|
|
534
|
+
pivotAggregatorIndex: number;
|
|
461
535
|
pivotGroupKeys: KeyType[];
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
536
|
+
pivotByAtIndex: PivotBy<DataType, KeyType>;
|
|
537
|
+
pivotIndex: number;
|
|
538
|
+
pivotGroupKey: KeyType;
|
|
465
539
|
};
|
|
466
540
|
type InfiniteTableComputedColumnBase<T> = {
|
|
467
541
|
computedWidth: number;
|
|
@@ -485,10 +559,11 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
485
559
|
toggleSort: () => void;
|
|
486
560
|
id: string;
|
|
487
561
|
};
|
|
488
|
-
export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> &
|
|
562
|
+
export type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
|
|
563
|
+
export type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
|
|
489
564
|
}
|
|
490
565
|
declare module "utils/groupAndPivot/getPivotColumnsAndColumnGroups" {
|
|
491
|
-
import type { DataSourcePivotBy } from "components/DataSource/index";
|
|
566
|
+
import type { DataSourceAggregationReducer, DataSourcePivotBy } from "components/DataSource/index";
|
|
492
567
|
import type { InfiniteTablePropColumnGroups, InfiniteTablePropColumnsMap } from "components/InfiniteTable/index";
|
|
493
568
|
import type { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
494
569
|
import type { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
@@ -497,21 +572,29 @@ declare module "utils/groupAndPivot/getPivotColumnsAndColumnGroups" {
|
|
|
497
572
|
columns: InfiniteTablePropColumnsMap<DataType, InfiniteTablePivotColumn<DataType>>;
|
|
498
573
|
columnGroups: InfiniteTablePropColumnGroups;
|
|
499
574
|
};
|
|
500
|
-
export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap
|
|
575
|
+
export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>({ deepMap, pivotBy, pivotTotalColumnPosition, reducers, showSeparatePivotColumnForSingleAggregation, }: {
|
|
576
|
+
deepMap: DeepMap<KeyType, boolean>;
|
|
577
|
+
pivotBy: DataSourcePivotBy<DataType>[];
|
|
578
|
+
pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
|
|
579
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
580
|
+
showSeparatePivotColumnForSingleAggregation?: boolean;
|
|
581
|
+
}): ComputedColumnsAndGroups<DataType>;
|
|
501
582
|
}
|
|
502
583
|
declare module "components/DataSource/state/reducer" {
|
|
503
584
|
import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
|
|
585
|
+
import { DataSourceSetupState } from "components/DataSource/index";
|
|
504
586
|
export function concludeReducer<T>(params: {
|
|
505
587
|
previousState: DataSourceState<T> & DataSourceDerivedState<T>;
|
|
506
|
-
state: DataSourceState<T> & DataSourceDerivedState<T>;
|
|
507
|
-
}): DataSourceState<T> & DataSourceDerivedState<T>;
|
|
588
|
+
state: DataSourceState<T> & DataSourceDerivedState<T> & DataSourceSetupState<T>;
|
|
589
|
+
}): DataSourceState<T> & DataSourceDerivedState<T> & DataSourceSetupState<T>;
|
|
508
590
|
}
|
|
509
591
|
declare module "components/DataSource/index" {
|
|
592
|
+
import { multisort } from "utils/multisort/index";
|
|
510
593
|
import { DataSourceProps } from "components/DataSource/types";
|
|
511
594
|
import { useDataSource } from "components/DataSource/publicHooks/useDataSource";
|
|
512
595
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
513
596
|
function DataSource<T>(props: DataSourceProps<T>): JSX.Element;
|
|
514
|
-
export { useDataSource, DataSource, GroupRowsState };
|
|
597
|
+
export { useDataSource, DataSource, GroupRowsState, multisort };
|
|
515
598
|
export * from "components/DataSource/types";
|
|
516
599
|
}
|
|
517
600
|
declare module "components/DataSource/GroupRowsState" {
|
|
@@ -539,22 +622,33 @@ declare module "components/DataSource/GroupRowsState" {
|
|
|
539
622
|
}
|
|
540
623
|
}
|
|
541
624
|
declare module "utils/groupAndPivot/index" {
|
|
625
|
+
import { DataSourceAggregationReducer } from "@infinite-table/infinite-react";
|
|
542
626
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
543
|
-
import { InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
544
|
-
import { InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
627
|
+
import { InfiniteTableColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn, InfiniteTablePivotFinalColumnGroup } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
628
|
+
import { InfiniteTableColumnGroup, InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
545
629
|
import { DeepMap } from "utils/DeepMap";
|
|
546
|
-
export type AggregationReducer<T, AggregationResultType> = {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
630
|
+
export type AggregationReducer<T, AggregationResultType = any> = DataSourceAggregationReducer<T, AggregationResultType> & {
|
|
631
|
+
id: string;
|
|
632
|
+
};
|
|
633
|
+
export type AggregationReducerResult<AggregationResultType extends any = any> = {
|
|
634
|
+
value: AggregationResultType;
|
|
635
|
+
id: string;
|
|
636
|
+
};
|
|
637
|
+
export type InfiniteTableRowInfoNormalType<DataType> = {
|
|
638
|
+
data: DataType;
|
|
639
|
+
isGroupRow: false;
|
|
640
|
+
};
|
|
641
|
+
export type InfiniteTableRowInfoGroupType<DataType> = {
|
|
642
|
+
data: Partial<DataType> | null;
|
|
643
|
+
isGroupRow: true;
|
|
551
644
|
};
|
|
552
|
-
export
|
|
645
|
+
export type InfiniteTableRowInfoNormal<T> = InfiniteTableRowInfoBase<T> & InfiniteTableRowInfoNormalType<T>;
|
|
646
|
+
export type InfiniteTableRowInfoGroup<T> = InfiniteTableRowInfoBase<T> & InfiniteTableRowInfoGroupType<T>;
|
|
647
|
+
export type InfiniteTableRowInfo<T> = InfiniteTableRowInfoNormal<T> | InfiniteTableRowInfoGroup<T>;
|
|
648
|
+
export type InfiniteTableRowInfoBase<T> = {
|
|
553
649
|
id: any;
|
|
554
|
-
data: T | null;
|
|
555
|
-
groupData?: T[];
|
|
556
650
|
value?: any;
|
|
557
|
-
|
|
651
|
+
groupData?: T[];
|
|
558
652
|
collapsed: boolean;
|
|
559
653
|
collapsedChildrenCount?: number;
|
|
560
654
|
collapsedGroupsCount?: number;
|
|
@@ -567,10 +661,10 @@ declare module "utils/groupAndPivot/index" {
|
|
|
567
661
|
groupCount?: number;
|
|
568
662
|
groupBy?: (keyof T)[];
|
|
569
663
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
570
|
-
reducerResults?:
|
|
571
|
-
}
|
|
572
|
-
export
|
|
573
|
-
data: null;
|
|
664
|
+
reducerResults?: Record<string, AggregationReducerResult>;
|
|
665
|
+
};
|
|
666
|
+
export type InfiniteTableEnhancedGroupInfo<T> = InfiniteTableRowInfo<T> & {
|
|
667
|
+
data: Partial<T> | null;
|
|
574
668
|
groupData: T[];
|
|
575
669
|
value: any;
|
|
576
670
|
isGroupRow: true;
|
|
@@ -581,9 +675,9 @@ declare module "utils/groupAndPivot/index" {
|
|
|
581
675
|
groupCount: number;
|
|
582
676
|
groupBy: (keyof T)[];
|
|
583
677
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
584
|
-
}
|
|
678
|
+
};
|
|
585
679
|
export type GroupKeyType<T extends any = any> = T;
|
|
586
|
-
type PivotReducerResults<T = any> = T
|
|
680
|
+
type PivotReducerResults<T = any> = Record<string, AggregationReducerResult<T>>;
|
|
587
681
|
type PivotGroupValueType<DataType, KeyType> = {
|
|
588
682
|
reducerResults: PivotReducerResults<KeyType>;
|
|
589
683
|
items: DataType[];
|
|
@@ -591,7 +685,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
591
685
|
export type PivotValuesDeepMap<DataType, KeyType> = DeepMap<GroupKeyType<KeyType>, PivotGroupValueType<DataType, KeyType>>;
|
|
592
686
|
export type DeepMapGroupValueType<DataType, KeyType> = {
|
|
593
687
|
items: DataType[];
|
|
594
|
-
reducerResults:
|
|
688
|
+
reducerResults: Record<string, AggregationReducerResult>;
|
|
595
689
|
pivotDeepMap?: DeepMap<GroupKeyType<KeyType>, PivotGroupValueType<DataType, KeyType>>;
|
|
596
690
|
};
|
|
597
691
|
export type GroupBy<DataType, KeyType> = {
|
|
@@ -600,21 +694,24 @@ declare module "utils/groupAndPivot/index" {
|
|
|
600
694
|
column?: Partial<InfiniteTableGroupColumnBase<DataType>>;
|
|
601
695
|
};
|
|
602
696
|
export type PivotBy<DataType, KeyType> = Omit<GroupBy<DataType, KeyType>, 'column'> & {
|
|
603
|
-
column?:
|
|
697
|
+
column?: InfiniteTableColumn<DataType> | (({ column, }: {
|
|
604
698
|
column: InfiniteTablePivotFinalColumn<DataType, KeyType>;
|
|
605
699
|
}) => Partial<InfiniteTablePivotColumn<DataType>>);
|
|
700
|
+
columnGroup?: InfiniteTableColumnGroup | (({ columnGroup, }: {
|
|
701
|
+
columnGroup: InfiniteTablePivotFinalColumnGroup<DataType, KeyType>;
|
|
702
|
+
}) => Partial<InfiniteTablePivotFinalColumnGroup<DataType>>);
|
|
606
703
|
};
|
|
607
704
|
type GroupParams<DataType, KeyType> = {
|
|
608
705
|
groupBy: GroupBy<DataType, KeyType>[];
|
|
609
706
|
defaultToKey?: (value: any, item: DataType) => GroupKeyType<KeyType>;
|
|
610
707
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
611
|
-
reducers?:
|
|
708
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
612
709
|
};
|
|
613
710
|
export type DataGroupResult<DataType, KeyType extends any> = {
|
|
614
711
|
deepMap: DeepMap<GroupKeyType<KeyType>, DeepMapGroupValueType<DataType, KeyType>>;
|
|
615
712
|
groupParams: GroupParams<DataType, KeyType>;
|
|
616
713
|
initialData: DataType[];
|
|
617
|
-
reducerResults?:
|
|
714
|
+
reducerResults?: Record<string, AggregationReducerResult>;
|
|
618
715
|
topLevelPivotColumns?: DeepMap<GroupKeyType<KeyType>, boolean>;
|
|
619
716
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
620
717
|
};
|
|
@@ -624,6 +721,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
624
721
|
groupResult: DataGroupResult<DataType, KeyType>;
|
|
625
722
|
toPrimaryKey: (data: DataType) => any;
|
|
626
723
|
groupRowsState?: GroupRowsState;
|
|
724
|
+
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
627
725
|
generateGroupRows: boolean;
|
|
628
726
|
};
|
|
629
727
|
export function enhancedFlatten<DataType, KeyType = any>(param: EnhancedFlattenParam<DataType, KeyType>): {
|
|
@@ -811,35 +909,39 @@ declare module "components/InfiniteTable/components/LoadMask" {
|
|
|
811
909
|
declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
812
910
|
import * as React from 'react';
|
|
813
911
|
import { InfiniteTableState } from "components/InfiniteTable/types/index";
|
|
814
|
-
import { AggregationReducer,
|
|
815
|
-
import {
|
|
912
|
+
import { AggregationReducer, InfiniteTableRowInfoGroup, InfiniteTableRowInfoNormal } from "utils/groupAndPivot/index";
|
|
913
|
+
import { DataSourceGroupBy, DataSourcePropGroupBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
|
|
816
914
|
import { Renderable } from "components/types/Renderable";
|
|
817
915
|
import { LoadMaskProps } from "components/InfiniteTable/components/LoadMask";
|
|
818
|
-
import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableComputedColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
916
|
+
import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnPinned, InfiniteTableColumnRenderFunction, InfiniteTableComputedColumn, InfiniteTableComputedPivotFinalColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
819
917
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
820
918
|
export type InfiniteTablePropColumnOrderNormalized = string[];
|
|
821
919
|
export type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
|
|
822
920
|
export type InfiniteTablePropColumnVisibility = Map<string, false>;
|
|
823
921
|
export type InfiniteTablePropColumnPinning = Map<string, true | 'start' | 'end'>;
|
|
824
922
|
export type InfiniteTableRowStyleFnParams<T> = {
|
|
825
|
-
data: T | null;
|
|
826
|
-
rowInfo: InfiniteTableRowInfo<T>;
|
|
827
923
|
rowIndex: number;
|
|
828
|
-
|
|
829
|
-
}
|
|
924
|
+
groupBy?: (keyof T)[];
|
|
925
|
+
} & ({
|
|
926
|
+
data: T;
|
|
927
|
+
rowInfo: InfiniteTableRowInfoNormal<T>;
|
|
928
|
+
} | {
|
|
929
|
+
data: Partial<T> | null;
|
|
930
|
+
rowInfo: InfiniteTableRowInfoGroup<T>;
|
|
931
|
+
});
|
|
830
932
|
export type InfiniteTableRowStyleFn<T> = (params: InfiniteTableRowStyleFnParams<T>) => undefined | React.CSSProperties;
|
|
831
933
|
export type InfiniteTableRowClassNameFn<T> = (params: InfiniteTableRowStyleFnParams<T>) => string | undefined;
|
|
832
934
|
export type InfiniteTablePropRowStyle<T> = React.CSSProperties | InfiniteTableRowStyleFn<T>;
|
|
833
935
|
export type InfiniteTablePropRowClassName<T> = string | InfiniteTableRowClassNameFn<T>;
|
|
834
|
-
export type InfiniteTableColumnAggregator<T, AggregationResultType> = Omit<AggregationReducer<T, AggregationResultType>, 'getter'> & {
|
|
936
|
+
export type InfiniteTableColumnAggregator<T, AggregationResultType> = Omit<AggregationReducer<T, AggregationResultType>, 'getter' | 'id'> & {
|
|
835
937
|
getter?: AggregationReducer<T, AggregationResultType>['getter'];
|
|
938
|
+
field?: keyof T;
|
|
836
939
|
};
|
|
837
|
-
export type InfiniteTablePropColumnAggregations<T> = Map<string, InfiniteTableColumnAggregator<T, any>>;
|
|
838
940
|
export type InfiniteTableColumnType<T> = {
|
|
839
941
|
minWidth?: number;
|
|
840
942
|
maxWidth?: number;
|
|
841
|
-
|
|
842
|
-
|
|
943
|
+
defaultWidth?: number;
|
|
944
|
+
defaultFlex?: number;
|
|
843
945
|
header?: InfiniteTableColumn<T>['header'];
|
|
844
946
|
comparer?: InfiniteTableColumn<T>['comparer'];
|
|
845
947
|
draggable?: InfiniteTableColumn<T>['draggable'];
|
|
@@ -847,8 +949,10 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
847
949
|
resizable?: InfiniteTableColumn<T>['resizable'];
|
|
848
950
|
align?: InfiniteTableColumn<T>['align'];
|
|
849
951
|
verticalAlign?: InfiniteTableColumn<T>['verticalAlign'];
|
|
952
|
+
defaultPinned?: InfiniteTableColumnPinned;
|
|
850
953
|
renderValue?: InfiniteTableColumn<T>['renderValue'];
|
|
851
954
|
render?: InfiniteTableColumn<T>['render'];
|
|
955
|
+
valueGetter?: InfiniteTableColumn<T>['valueGetter'];
|
|
852
956
|
};
|
|
853
957
|
export type InfiniteTablePropColumnTypesMap<T> = Map<'default' | string, InfiniteTableColumnType<T>>;
|
|
854
958
|
export type InfiniteTablePropColumnTypes<T> = InfiniteTablePropColumnTypesMap<T> | Record<'default' | string, InfiniteTableColumnType<T>>;
|
|
@@ -863,7 +967,6 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
863
967
|
export type InfiniteTableImperativeApi<T> = {
|
|
864
968
|
setColumnOrder: (columnOrder: InfiniteTablePropColumnOrder) => void;
|
|
865
969
|
setColumnVisibility: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
|
|
866
|
-
setColumnAggregations: (columnAggregations: InfiniteTablePropColumnAggregations<T>) => void;
|
|
867
970
|
x?: T;
|
|
868
971
|
getState: () => InfiniteTableState<T>;
|
|
869
972
|
getDataSourceState: () => DataSourceState<T>;
|
|
@@ -901,14 +1004,14 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
901
1004
|
};
|
|
902
1005
|
export type InfiniteTableGroupColumnGetterOptions<T> = {
|
|
903
1006
|
groupIndexForColumn?: number;
|
|
904
|
-
groupByForColumn?:
|
|
1007
|
+
groupByForColumn?: DataSourceGroupBy<T>;
|
|
905
1008
|
groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
|
|
906
1009
|
groupCount: number;
|
|
907
|
-
|
|
1010
|
+
groupBy: DataSourceGroupBy<T>[];
|
|
908
1011
|
};
|
|
909
|
-
export type InfiniteTablePivotColumnGetterOptions<T
|
|
910
|
-
column:
|
|
911
|
-
|
|
1012
|
+
export type InfiniteTablePivotColumnGetterOptions<T, COL_TYPE = InfiniteTableColumn<T>> = {
|
|
1013
|
+
column: COL_TYPE;
|
|
1014
|
+
groupBy: DataSourcePropGroupBy<T>;
|
|
912
1015
|
pivotBy: DataSourcePropPivotBy<T>;
|
|
913
1016
|
};
|
|
914
1017
|
export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
|
|
@@ -917,12 +1020,11 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
917
1020
|
id?: string;
|
|
918
1021
|
};
|
|
919
1022
|
export type InfiniteTablePivotColumnBase<T> = InfiniteTableColumn<T> & {
|
|
920
|
-
renderValue?: InfiniteTableColumnRenderFunction<T
|
|
921
|
-
id?: string;
|
|
1023
|
+
renderValue?: InfiniteTableColumnRenderFunction<T, InfiniteTableComputedPivotFinalColumn<T>>;
|
|
922
1024
|
};
|
|
923
1025
|
export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
|
|
924
1026
|
export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>;
|
|
925
|
-
export type InfiniteTablePropPivotColumn<T
|
|
1027
|
+
export type InfiniteTablePropPivotColumn<T, COL_TYPE = InfiniteTableColumn<T>> = Partial<InfiniteTablePivotColumnBase<T>> | ((options: InfiniteTablePivotColumnGetterOptions<T, COL_TYPE>) => InfiniteTablePivotColumnBase<T>);
|
|
926
1028
|
export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
|
|
927
1029
|
export type InfiniteTablePropComponents = {
|
|
928
1030
|
LoadMask?: React.FC<LoadMaskProps>;
|
|
@@ -933,20 +1035,18 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
933
1035
|
loadingText?: Renderable;
|
|
934
1036
|
components?: InfiniteTablePropComponents;
|
|
935
1037
|
viewportReservedWidth?: number;
|
|
936
|
-
pivotColumn?:
|
|
937
|
-
pivotRowLabelsColumn?:
|
|
1038
|
+
pivotColumn?: InfiniteTablePropPivotColumn<T, InfiniteTableColumn<T> & InfiniteTablePivotFinalColumn<T>>;
|
|
1039
|
+
pivotRowLabelsColumn?: InfiniteTablePropPivotRowLabelsColumn<T>;
|
|
938
1040
|
pivotTotalColumnPosition?: InfiniteTablePropPivotTotalColumnPosition;
|
|
939
1041
|
groupColumn?: Partial<InfiniteTablePropGroupColumn<T>>;
|
|
940
1042
|
groupRenderStrategy?: InfiniteTablePropGroupRenderStrategy;
|
|
941
1043
|
hideEmptyGroupColumns?: boolean;
|
|
942
1044
|
columnVisibility?: InfiniteTablePropColumnVisibility;
|
|
943
1045
|
defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
|
|
944
|
-
columnPinning?: InfiniteTablePropColumnPinning;
|
|
945
1046
|
pinnedStartMaxWidth?: number;
|
|
946
1047
|
pinnedEndMaxWidth?: number;
|
|
1048
|
+
columnPinning?: InfiniteTablePropColumnPinning;
|
|
947
1049
|
defaultColumnPinning?: InfiniteTablePropColumnPinning;
|
|
948
|
-
defaultColumnAggregations?: InfiniteTablePropColumnAggregations<T>;
|
|
949
|
-
columnAggregations?: InfiniteTablePropColumnAggregations<T>;
|
|
950
1050
|
columnSizing?: InfiniteTablePropColumnSizing;
|
|
951
1051
|
defaultColumnSizing?: InfiniteTablePropColumnSizing;
|
|
952
1052
|
pivotColumnGroups?: InfiniteTablePropColumnGroups;
|
|
@@ -954,8 +1054,10 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
954
1054
|
defaultColumnGroups?: InfiniteTablePropColumnGroups;
|
|
955
1055
|
defaultCollapsedColumnGroups?: InfiniteTablePropCollapsedColumnGroups;
|
|
956
1056
|
collapsedColumnGroups?: InfiniteTablePropCollapsedColumnGroups;
|
|
1057
|
+
onScrollbarsChange?: (scrollbars: Scrollbars) => void;
|
|
957
1058
|
onColumnVisibilityChange?: (columnVisibility: InfiniteTablePropColumnVisibility) => void;
|
|
958
1059
|
columnTypes?: InfiniteTablePropColumnTypes<T>;
|
|
1060
|
+
showSeparatePivotColumnForSingleAggregation?: boolean;
|
|
959
1061
|
rowHeight: number | string;
|
|
960
1062
|
rowStyle?: InfiniteTablePropRowStyle<T>;
|
|
961
1063
|
rowClassName?: InfiniteTablePropRowClassName<T>;
|
|
@@ -991,7 +1093,12 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
991
1093
|
onReady?: (api: InfiniteTableImperativeApi<T>) => void;
|
|
992
1094
|
rowProps?: React.HTMLProps<HTMLDivElement> | ((rowArgs: InfiniteTableRowStyleFnParams<T>) => React.HTMLProps<HTMLDivElement>);
|
|
993
1095
|
licenseKey?: string;
|
|
1096
|
+
scrollTopId?: string | number;
|
|
994
1097
|
}
|
|
1098
|
+
export type Scrollbars = {
|
|
1099
|
+
vertical: boolean;
|
|
1100
|
+
horizontal: boolean;
|
|
1101
|
+
};
|
|
995
1102
|
}
|
|
996
1103
|
declare module "components/types/Size" {
|
|
997
1104
|
export interface Size {
|
|
@@ -1003,16 +1110,6 @@ declare module "components/types/Size" {
|
|
|
1003
1110
|
height: number;
|
|
1004
1111
|
}) => void;
|
|
1005
1112
|
}
|
|
1006
|
-
declare module "components/types/SubscriptionCallback" {
|
|
1007
|
-
import { VoidFn } from "components/types/VoidFn";
|
|
1008
|
-
export type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
1009
|
-
export interface SubscriptionCallback<T> {
|
|
1010
|
-
(node: T): void;
|
|
1011
|
-
get: () => T | null;
|
|
1012
|
-
destroy: VoidFn;
|
|
1013
|
-
onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
|
|
1014
|
-
}
|
|
1015
|
-
}
|
|
1016
1113
|
declare module "components/VirtualBrain/ScrollListener" {
|
|
1017
1114
|
import { OnScrollFn, ScrollPosition } from "components/types/ScrollPosition";
|
|
1018
1115
|
export class ScrollListener {
|
|
@@ -1035,9 +1132,9 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1035
1132
|
import { NonUndefined } from "components/types/NonUndefined";
|
|
1036
1133
|
import { InfiniteTableColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1037
1134
|
import { ComponentStateActions } from "components/hooks/useComponentState";
|
|
1038
|
-
import {
|
|
1039
|
-
export type
|
|
1040
|
-
groupBy:
|
|
1135
|
+
import { DataSourceGroupBy, DataSourceProps } from "components/DataSource/types";
|
|
1136
|
+
export type GroupByMap<T> = Map<keyof T, {
|
|
1137
|
+
groupBy: DataSourceGroupBy<T>;
|
|
1041
1138
|
groupIndex: number;
|
|
1042
1139
|
}>;
|
|
1043
1140
|
export interface InfiniteTableSetupState<T> {
|
|
@@ -1064,8 +1161,10 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1064
1161
|
export type InfiniteTableColumnGroupsDepthsMap = Map<string, number>;
|
|
1065
1162
|
export type InfiniteTablePropPivotTotalColumnPosition = false | 'start' | 'end';
|
|
1066
1163
|
export interface InfiniteTableMappedState<T> {
|
|
1164
|
+
scrollTopId: InfiniteTableProps<T>['scrollTopId'];
|
|
1067
1165
|
viewportReservedWidth: InfiniteTableProps<T>['viewportReservedWidth'];
|
|
1068
1166
|
groupColumn: InfiniteTableProps<T>['groupColumn'];
|
|
1167
|
+
onScrollbarsChange: InfiniteTableProps<T>['onScrollbarsChange'];
|
|
1069
1168
|
loadingText: InfiniteTableProps<T>['loadingText'];
|
|
1070
1169
|
components: InfiniteTableProps<T>['components'];
|
|
1071
1170
|
columns: InfiniteTablePropColumnsMap<T>;
|
|
@@ -1082,6 +1181,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1082
1181
|
focusedWithinClassName: InfiniteTableProps<T>['focusedWithinClassName'];
|
|
1083
1182
|
focusedStyle: InfiniteTableProps<T>['focusedStyle'];
|
|
1084
1183
|
focusedWithinStyle: InfiniteTableProps<T>['focusedWithinStyle'];
|
|
1184
|
+
showSeparatePivotColumnForSingleAggregation: NonUndefined<InfiniteTableProps<T>['showSeparatePivotColumnForSingleAggregation']>;
|
|
1085
1185
|
domProps: InfiniteTableProps<T>['domProps'];
|
|
1086
1186
|
rowStyle: InfiniteTableProps<T>['rowStyle'];
|
|
1087
1187
|
rowProps: InfiniteTableProps<T>['rowProps'];
|
|
@@ -1110,13 +1210,12 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1110
1210
|
columnPinning: NonUndefined<InfiniteTableProps<T>['columnPinning']>;
|
|
1111
1211
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1112
1212
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1113
|
-
columnAggregations: NonUndefined<InfiniteTableProps<T>['columnAggregations']>;
|
|
1114
1213
|
columnGroups: NonUndefined<InfiniteTableProps<T>['columnGroups']>;
|
|
1115
1214
|
collapsedColumnGroups: NonUndefined<InfiniteTableProps<T>['collapsedColumnGroups']>;
|
|
1116
1215
|
pivotTotalColumnPosition: NonUndefined<InfiniteTableProps<T>['pivotTotalColumnPosition']>;
|
|
1117
1216
|
}
|
|
1118
1217
|
export interface InfiniteTableDerivedState<T> {
|
|
1119
|
-
|
|
1218
|
+
groupBy: DataSourceProps<T>['groupBy'];
|
|
1120
1219
|
computedColumns: Map<string, InfiniteTableColumn<T>>;
|
|
1121
1220
|
virtualizeHeader: boolean;
|
|
1122
1221
|
groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
|
|
@@ -1190,20 +1289,19 @@ declare module "components/InfiniteTable/types/index" {
|
|
|
1190
1289
|
import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1191
1290
|
import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
|
|
1192
1291
|
import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
|
|
1193
|
-
import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy,
|
|
1292
|
+
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";
|
|
1194
1293
|
import type { InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1195
1294
|
import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
|
|
1196
1295
|
import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1197
1296
|
import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
|
|
1198
|
-
export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy,
|
|
1297
|
+
export type { Scrollbars, InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, 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, };
|
|
1199
1298
|
}
|
|
1200
1299
|
declare module "components/InfiniteTable/InfiniteTableContext" {
|
|
1201
1300
|
import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1202
1301
|
export function getInfiniteTableContext<T>(): React.Context<InfiniteTableContextValue<T>>;
|
|
1203
1302
|
}
|
|
1204
|
-
declare module "components/utils/
|
|
1205
|
-
|
|
1206
|
-
export function buildSubscriptionCallback<T>(): SubscriptionCallback<T>;
|
|
1303
|
+
declare module "components/InfiniteTable/utils/toMap" {
|
|
1304
|
+
export function toMap<K extends string, V>(mapOrObject?: Map<K, V> | Record<K, V>): Map<K, V>;
|
|
1207
1305
|
}
|
|
1208
1306
|
declare module "components/InfiniteTable/state/computeColumnGroupsDepths" {
|
|
1209
1307
|
import type { InfiniteTablePropColumnGroups } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
@@ -1224,14 +1322,17 @@ declare module "components/InfiniteTable/state/getInitialState" {
|
|
|
1224
1322
|
export const forwardProps: <T>() => Partial<{
|
|
1225
1323
|
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>>);
|
|
1226
1324
|
header: 1 | ((value: boolean | undefined) => boolean);
|
|
1325
|
+
showSeparatePivotColumnForSingleAggregation: 1 | ((value: boolean | undefined) => boolean);
|
|
1227
1326
|
pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
|
|
1228
1327
|
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);
|
|
1229
1328
|
pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined);
|
|
1230
|
-
pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
|
|
1231
1329
|
sortable: 1 | ((value: boolean | undefined) => boolean);
|
|
1330
|
+
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);
|
|
1232
1331
|
components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
|
|
1332
|
+
scrollTopId: 1 | ((value: string | number | undefined) => string | number | undefined);
|
|
1233
1333
|
viewportReservedWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1234
1334
|
groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
|
|
1335
|
+
onScrollbarsChange: 1 | ((value: ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined) => ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined);
|
|
1235
1336
|
loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
|
|
1236
1337
|
onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
|
|
1237
1338
|
onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
@@ -1251,7 +1352,7 @@ declare module "components/InfiniteTable/state/getInitialState" {
|
|
|
1251
1352
|
rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
|
|
1252
1353
|
pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1253
1354
|
pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1254
|
-
pivotRowLabelsColumn: 1 | ((value:
|
|
1355
|
+
pivotRowLabelsColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined);
|
|
1255
1356
|
activeIndex: 1 | ((value: number | undefined) => number);
|
|
1256
1357
|
columnMinWidth: 1 | ((value: number | undefined) => number);
|
|
1257
1358
|
columnMaxWidth: 1 | ((value: number | undefined) => number);
|
|
@@ -1265,7 +1366,6 @@ declare module "components/InfiniteTable/state/getInitialState" {
|
|
|
1265
1366
|
licenseKey: 1 | ((value: string | undefined) => string);
|
|
1266
1367
|
columnVisibility: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility);
|
|
1267
1368
|
columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnPinning);
|
|
1268
|
-
columnAggregations: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T>);
|
|
1269
1369
|
columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups);
|
|
1270
1370
|
collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
|
|
1271
1371
|
columnSizing: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnSizing | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnSizingMap);
|
|
@@ -1488,13 +1588,6 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
|
1488
1588
|
};
|
|
1489
1589
|
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>;
|
|
1490
1590
|
}
|
|
1491
|
-
declare module "components/DataSource/publicHooks/useDataSourceActions" {
|
|
1492
|
-
import { DataSourceComponentActions } from "components/DataSource/types";
|
|
1493
|
-
export default function useDataSourceActions<T>(): DataSourceComponentActions<T>;
|
|
1494
|
-
}
|
|
1495
|
-
declare module "components/InfiniteTable/hooks/useColumnAggregations" {
|
|
1496
|
-
export function useColumnAggregations<T>(): void;
|
|
1497
|
-
}
|
|
1498
1591
|
declare module "components/InfiniteTable/hooks/useColumnGroups" {
|
|
1499
1592
|
export function useColumnGroups<T>(): void;
|
|
1500
1593
|
}
|
|
@@ -1502,6 +1595,15 @@ declare module "utils/join" {
|
|
|
1502
1595
|
const join: (...args: (string | number | void | null)[]) => string;
|
|
1503
1596
|
export { join };
|
|
1504
1597
|
}
|
|
1598
|
+
declare module "components/InfiniteTable/components/icons/ExpanderIcon.css" {
|
|
1599
|
+
export const ExpanderIconCls: string;
|
|
1600
|
+
export const ExpanderIconClsVariants: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
|
|
1601
|
+
expanded: {
|
|
1602
|
+
true: string;
|
|
1603
|
+
false: {};
|
|
1604
|
+
};
|
|
1605
|
+
}>;
|
|
1606
|
+
}
|
|
1505
1607
|
declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
|
|
1506
1608
|
import * as React from 'react';
|
|
1507
1609
|
type ExpanderIconProps = {
|
|
@@ -1546,7 +1648,7 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
|
|
|
1546
1648
|
export const GroupRowExpanderCls: string;
|
|
1547
1649
|
}
|
|
1548
1650
|
declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
|
|
1549
|
-
import {
|
|
1651
|
+
import { DataSourcePropGroupBy, DataSourcePropPivotBy } from "components/DataSource/index";
|
|
1550
1652
|
import { InfiniteTableProps } from "components/InfiniteTable/types/index";
|
|
1551
1653
|
import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1552
1654
|
export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
|
|
@@ -1555,13 +1657,13 @@ declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSo
|
|
|
1555
1657
|
pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
|
|
1556
1658
|
pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
|
|
1557
1659
|
pivotBy: DataSourcePropPivotBy<T>;
|
|
1558
|
-
|
|
1660
|
+
groupBy: DataSourcePropGroupBy<T>;
|
|
1559
1661
|
}): InfiniteTableProps<T>['pivotColumns'];
|
|
1560
1662
|
}
|
|
1561
1663
|
declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
|
|
1562
1664
|
import * as React from 'react';
|
|
1563
1665
|
import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
|
|
1564
|
-
import {
|
|
1666
|
+
import { DataSourceGroupBy } from "components/DataSource/index";
|
|
1565
1667
|
import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1566
1668
|
import { InfiniteTableGroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1567
1669
|
export function getGroupColumnRender<T>({ groupIndexForColumn, groupRenderStrategy, toggleGroupRow, }: {
|
|
@@ -1571,7 +1673,7 @@ declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
|
|
|
1571
1673
|
}): (renderOptions: InfiniteTableColumnRenderParam<T>) => React.ReactNode;
|
|
1572
1674
|
export function getColumnForGroupBy<T>(options: InfiniteTableGroupColumnGetterOptions<T> & {
|
|
1573
1675
|
groupIndexForColumn: number;
|
|
1574
|
-
groupByForColumn:
|
|
1676
|
+
groupByForColumn: DataSourceGroupBy<T>;
|
|
1575
1677
|
}, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1576
1678
|
export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1577
1679
|
}
|
|
@@ -1581,12 +1683,12 @@ declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
|
|
|
1581
1683
|
}
|
|
1582
1684
|
declare module "components/InfiniteTable/hooks/useColumnsWhen" {
|
|
1583
1685
|
import type { InfiniteTableColumn } from "components/InfiniteTable/index";
|
|
1584
|
-
import type {
|
|
1686
|
+
import type { DataSourceGroupBy } from "components/DataSource/index";
|
|
1585
1687
|
import type { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1586
1688
|
export function useColumnsWhen<T>(): void;
|
|
1587
1689
|
export function getColumnsWhenGrouping<T>(params: {
|
|
1588
1690
|
columns: Map<string, InfiniteTableColumn<T>>;
|
|
1589
|
-
|
|
1691
|
+
groupBy: DataSourceGroupBy<T>[];
|
|
1590
1692
|
toggleGroupRow: (groupKeys: any[]) => void;
|
|
1591
1693
|
groupColumn: InfiniteTableProps<T>['groupColumn'];
|
|
1592
1694
|
groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
|
|
@@ -2193,13 +2295,11 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
|
|
|
2193
2295
|
export const InfiniteTableHeaderUnvirtualized: typeof InfiniteTableHeaderUnvirtualizedFn;
|
|
2194
2296
|
}
|
|
2195
2297
|
declare module "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderWrapper" {
|
|
2298
|
+
import type { Scrollbars } from "components/InfiniteTable/index";
|
|
2196
2299
|
import { VirtualBrain } from "components/VirtualBrain/index";
|
|
2197
2300
|
export type TableHeaderWrapperProps = {
|
|
2198
2301
|
brain: VirtualBrain;
|
|
2199
|
-
scrollbars:
|
|
2200
|
-
vertical: boolean;
|
|
2201
|
-
horizontal: boolean;
|
|
2202
|
-
};
|
|
2302
|
+
scrollbars: Scrollbars;
|
|
2203
2303
|
repaintId?: number | string;
|
|
2204
2304
|
};
|
|
2205
2305
|
export function TableHeaderWrapper<T>(props: TableHeaderWrapperProps): JSX.Element;
|
|
@@ -2478,7 +2578,7 @@ declare module "components/VirtualList/RowListWithExternalScrolling" {
|
|
|
2478
2578
|
}
|
|
2479
2579
|
declare module "components/InfiniteTable/hooks/usePinnedRendering" {
|
|
2480
2580
|
import { VirtualBrain } from "components/VirtualBrain/index";
|
|
2481
|
-
import { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
2581
|
+
import type { InfiniteTableComputedColumn, InfiniteTableRowInfo, Scrollbars } from "components/InfiniteTable/types/index";
|
|
2482
2582
|
import type { Size } from "components/types/Size";
|
|
2483
2583
|
import type { RenderRow } from "components/VirtualList/types";
|
|
2484
2584
|
import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
@@ -2498,10 +2598,7 @@ declare module "components/InfiniteTable/hooks/usePinnedRendering" {
|
|
|
2498
2598
|
computedPinnedEndColumnsWidth: number;
|
|
2499
2599
|
computedPinnedEndColumns: InfiniteTableComputedColumn<T>[];
|
|
2500
2600
|
verticalVirtualBrain: VirtualBrain;
|
|
2501
|
-
scrollbars:
|
|
2502
|
-
vertical: boolean;
|
|
2503
|
-
horizontal: boolean;
|
|
2504
|
-
};
|
|
2601
|
+
scrollbars: Scrollbars;
|
|
2505
2602
|
rowHeight: number;
|
|
2506
2603
|
toggleGroupRow: InfiniteTableToggleGroupRowFn;
|
|
2507
2604
|
computedPinnedStartColumnsWidth: number;
|
|
@@ -2548,13 +2645,11 @@ declare module "components/InfiniteTable/hooks/useYourBrain" {
|
|
|
2548
2645
|
verticalVirtualBrain: VirtualBrain;
|
|
2549
2646
|
};
|
|
2550
2647
|
}
|
|
2551
|
-
declare module "utils/shallowEqualObjects" {
|
|
2552
|
-
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T): boolean;
|
|
2553
|
-
}
|
|
2554
2648
|
declare module "components/InfiniteTable/hooks/useListRendering" {
|
|
2555
2649
|
import type { Ref } from 'react';
|
|
2556
2650
|
import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/index";
|
|
2557
2651
|
import type { Size } from "components/types/Size";
|
|
2652
|
+
import type { Scrollbars } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
2558
2653
|
type ListRenderingParam<T> = {
|
|
2559
2654
|
computed: InfiniteTableComputedValues<T>;
|
|
2560
2655
|
domRef: Ref<HTMLElement>;
|
|
@@ -2564,10 +2659,7 @@ declare module "components/InfiniteTable/hooks/useListRendering" {
|
|
|
2564
2659
|
};
|
|
2565
2660
|
import type { VirtualBrain } from "components/VirtualBrain/index";
|
|
2566
2661
|
type ListRenderingResult = {
|
|
2567
|
-
scrollbars:
|
|
2568
|
-
vertical: boolean;
|
|
2569
|
-
horizontal: boolean;
|
|
2570
|
-
};
|
|
2662
|
+
scrollbars: Scrollbars;
|
|
2571
2663
|
horizontalVirtualBrain: VirtualBrain;
|
|
2572
2664
|
verticalVirtualBrain: VirtualBrain;
|
|
2573
2665
|
applyScrollHorizontal: ({ scrollLeft }: {
|
|
@@ -2587,9 +2679,9 @@ declare module "components/InfiniteTable/hooks/useListRendering" {
|
|
|
2587
2679
|
export function useListRendering<T>(param: ListRenderingParam<T>): ListRenderingResult;
|
|
2588
2680
|
}
|
|
2589
2681
|
declare module "components/utils/decamelize" {
|
|
2590
|
-
export
|
|
2682
|
+
export function decamelize(str: string, options?: {
|
|
2591
2683
|
separator: string;
|
|
2592
|
-
}
|
|
2684
|
+
}): string;
|
|
2593
2685
|
}
|
|
2594
2686
|
declare module "components/InfiniteTable/components/InfiniteTableLicenseFooter/index" {
|
|
2595
2687
|
import * as React from 'react';
|