comins-table 0.1.11 → 0.2.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/CHANGELOG.md +37 -1
- package/README.md +42 -338
- package/dist/browser/clipboard.d.ts +4 -0
- package/dist/browser/clipboard.d.ts.map +1 -0
- package/dist/browser/measurements.d.ts +28 -0
- package/dist/browser/measurements.d.ts.map +1 -0
- package/dist/browser/pointer.d.ts +25 -0
- package/dist/browser/pointer.d.ts.map +1 -0
- package/dist/browser/scroll.d.ts +9 -0
- package/dist/browser/scroll.d.ts.map +1 -0
- package/dist/browser/table-transfer.d.ts +38 -0
- package/dist/browser/table-transfer.d.ts.map +1 -0
- package/dist/browser/viewport-requests.d.ts +27 -0
- package/dist/browser/viewport-requests.d.ts.map +1 -0
- package/dist/cell-fill.d.ts +1 -1
- package/dist/cell-fill.d.ts.map +1 -1
- package/dist/clipboard-CNrbmDue.js +959 -0
- package/dist/clipboard-CNrbmDue.js.map +1 -0
- package/dist/clipboard.d.ts +2 -2
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +3 -2
- package/dist/column-layout.d.ts +24 -0
- package/dist/column-layout.d.ts.map +1 -0
- package/dist/component-renderer.d.ts +1 -1
- package/dist/component-renderer.d.ts.map +1 -1
- package/dist/core/editing/cells.d.ts +9 -0
- package/dist/core/editing/cells.d.ts.map +1 -0
- package/dist/core/editing/clipboard.d.ts +8 -0
- package/dist/core/editing/clipboard.d.ts.map +1 -0
- package/dist/core/editing/export-structure.d.ts +6 -0
- package/dist/core/editing/export-structure.d.ts.map +1 -0
- package/dist/core/editing/export.d.ts +4 -0
- package/dist/core/editing/export.d.ts.map +1 -0
- package/dist/core/editing/import.d.ts +4 -0
- package/dist/core/editing/import.d.ts.map +1 -0
- package/dist/core/layout/columns.d.ts +69 -0
- package/dist/core/layout/columns.d.ts.map +1 -0
- package/dist/core/layout/row-height.d.ts +25 -0
- package/dist/core/layout/row-height.d.ts.map +1 -0
- package/dist/core/layout/viewport.d.ts +21 -0
- package/dist/core/layout/viewport.d.ts.map +1 -0
- package/dist/core/layout/virtual.d.ts +119 -0
- package/dist/core/layout/virtual.d.ts.map +1 -0
- package/dist/core/model.d.ts +128 -0
- package/dist/core/model.d.ts.map +1 -0
- package/dist/core/rows/filtering.d.ts +45 -0
- package/dist/core/rows/filtering.d.ts.map +1 -0
- package/dist/core/rows/grouping.d.ts +97 -0
- package/dist/core/rows/grouping.d.ts.map +1 -0
- package/dist/core/rows/projection.d.ts +73 -0
- package/dist/core/rows/projection.d.ts.map +1 -0
- package/dist/core/rows/summary.d.ts +3 -0
- package/dist/core/rows/summary.d.ts.map +1 -0
- package/dist/core/selection/navigation.d.ts +49 -0
- package/dist/core/selection/navigation.d.ts.map +1 -0
- package/dist/core/selection/state.d.ts +131 -0
- package/dist/core/selection/state.d.ts.map +1 -0
- package/dist/core/state/access.d.ts +11 -0
- package/dist/core/state/access.d.ts.map +1 -0
- package/dist/core/state/changes.d.ts +14 -0
- package/dist/core/state/changes.d.ts.map +1 -0
- package/dist/core/state/reconcile.d.ts +18 -0
- package/dist/core/state/reconcile.d.ts.map +1 -0
- package/dist/core/state/table.d.ts +77 -0
- package/dist/core/state/table.d.ts.map +1 -0
- package/dist/core/transfer/policy.d.ts +116 -0
- package/dist/core/transfer/policy.d.ts.map +1 -0
- package/dist/core/viewport/data.d.ts +70 -0
- package/dist/core/viewport/data.d.ts.map +1 -0
- package/dist/core/viewport/requests.d.ts +19 -0
- package/dist/core/viewport/requests.d.ts.map +1 -0
- package/dist/core-compat-B4I2OHGY.js +391 -0
- package/dist/core-compat-B4I2OHGY.js.map +1 -0
- package/dist/core.d.ts +11 -714
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +3 -2
- package/dist/export-structure-Dy2zOqbj.js +166 -0
- package/dist/export-structure-Dy2zOqbj.js.map +1 -0
- package/dist/filtering.d.ts +8 -9
- package/dist/filtering.d.ts.map +1 -1
- package/dist/grouping.d.ts +11 -21
- package/dist/grouping.d.ts.map +1 -1
- package/dist/index.d.ts +26 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3162 -2624
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +170 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/react/core-compat.d.ts +141 -0
- package/dist/react/core-compat.d.ts.map +1 -0
- package/dist/react/edit-policy.d.ts +9 -0
- package/dist/react/edit-policy.d.ts.map +1 -0
- package/dist/react/model.d.ts +14 -0
- package/dist/react/model.d.ts.map +1 -0
- package/dist/react/rows.d.ts +6 -0
- package/dist/react/rows.d.ts.map +1 -0
- package/dist/react/state.d.ts +43 -0
- package/dist/react/state.d.ts.map +1 -0
- package/dist/react/table-transfer.d.ts +55 -0
- package/dist/react/table-transfer.d.ts.map +1 -0
- package/dist/react/viewport.d.ts +10 -0
- package/dist/react/viewport.d.ts.map +1 -0
- package/dist/react-types.d.ts +292 -0
- package/dist/react-types.d.ts.map +1 -0
- package/dist/row-detail.d.ts +2 -0
- package/dist/row-detail.d.ts.map +1 -1
- package/dist/row-height.d.ts +1 -24
- package/dist/row-height.d.ts.map +1 -1
- package/dist/row-value.d.ts +2 -0
- package/dist/row-value.d.ts.map +1 -0
- package/dist/selection-data.d.ts +2 -1
- package/dist/selection-data.d.ts.map +1 -1
- package/dist/selection.d.ts +2 -2
- package/dist/selection.d.ts.map +1 -1
- package/dist/selection.js +2 -2
- package/dist/summary.d.ts +1 -1
- package/dist/summary.d.ts.map +1 -1
- package/dist/table-state.d.ts +24 -0
- package/dist/table-state.d.ts.map +1 -0
- package/dist/table-transfer.d.ts +1 -152
- package/dist/table-transfer.d.ts.map +1 -1
- package/dist/tree-drag.d.ts.map +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/use-viewport.d.ts.map +1 -1
- package/dist/viewport-data.d.ts +8 -71
- package/dist/viewport-data.d.ts.map +1 -1
- package/dist/viewport-layout.d.ts +1 -20
- package/dist/viewport-layout.d.ts.map +1 -1
- package/dist/viewport-requests.d.ts +1 -8
- package/dist/viewport-requests.d.ts.map +1 -1
- package/dist/virtual-layout.d.ts +1 -118
- package/dist/virtual-layout.d.ts.map +1 -1
- package/package.json +5 -2
- package/styles.css +31 -0
- package/dist/core-C1tlvY8Q.js +0 -963
- package/dist/core-C1tlvY8Q.js.map +0 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { CominsRowId, CominsSelectionState, CominsCellAddress, CominsCellRange, CominsRowSelectionOptions, CominsCellSelectionOptions, CominsTableState } from "../model";
|
|
2
|
+
export declare function createEmptySelection(): CominsSelectionState;
|
|
3
|
+
export declare function getCellRangeBounds<TData>(state: CominsTableState<TData>, range: CominsCellRange, rowIds?: readonly CominsRowId[]): {
|
|
4
|
+
columnEnd: number;
|
|
5
|
+
columnStart: number;
|
|
6
|
+
rowEnd: number;
|
|
7
|
+
rowIds: readonly CominsRowId[];
|
|
8
|
+
rowStart: number;
|
|
9
|
+
visibleColumns: import("../model").CominsTableRuntimeColumn<TData>[];
|
|
10
|
+
} | null;
|
|
11
|
+
export declare function selectRow<TData>(state: CominsTableState<TData>, rowId: CominsRowId, options?: CominsRowSelectionOptions): {
|
|
12
|
+
columnOrder: string[];
|
|
13
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
14
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
15
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
16
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
17
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
18
|
+
pagination: import("../model").CominsPaginationState;
|
|
19
|
+
rowIds: CominsRowId[];
|
|
20
|
+
rows: TData[];
|
|
21
|
+
showHeader: boolean;
|
|
22
|
+
sort: import("../model").CominsSortState | null;
|
|
23
|
+
sortModel: import("../model").CominsSortModel;
|
|
24
|
+
selection: {
|
|
25
|
+
cell: CominsCellAddress | null;
|
|
26
|
+
cells?: CominsCellAddress[];
|
|
27
|
+
range: CominsCellRange | null;
|
|
28
|
+
rowIds: CominsRowId[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export declare function selectRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]): {
|
|
32
|
+
columnOrder: string[];
|
|
33
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
34
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
35
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
36
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
37
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
38
|
+
pagination: import("../model").CominsPaginationState;
|
|
39
|
+
rowIds: CominsRowId[];
|
|
40
|
+
rows: TData[];
|
|
41
|
+
showHeader: boolean;
|
|
42
|
+
sort: import("../model").CominsSortState | null;
|
|
43
|
+
sortModel: import("../model").CominsSortModel;
|
|
44
|
+
selection: {
|
|
45
|
+
cell: CominsCellAddress | null;
|
|
46
|
+
cells?: CominsCellAddress[];
|
|
47
|
+
range: CominsCellRange | null;
|
|
48
|
+
rowIds: CominsRowId[];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export declare function areCellAddressesEqual(left: CominsCellAddress, right: CominsCellAddress): boolean;
|
|
52
|
+
export declare function selectCell<TData>(state: CominsTableState<TData>, cell: CominsCellAddress, options?: CominsCellSelectionOptions): {
|
|
53
|
+
columnOrder: string[];
|
|
54
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
55
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
56
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
57
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
58
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
59
|
+
pagination: import("../model").CominsPaginationState;
|
|
60
|
+
rowIds: CominsRowId[];
|
|
61
|
+
rows: TData[];
|
|
62
|
+
showHeader: boolean;
|
|
63
|
+
sort: import("../model").CominsSortState | null;
|
|
64
|
+
sortModel: import("../model").CominsSortModel;
|
|
65
|
+
selection: {
|
|
66
|
+
rowIds: CominsRowId[];
|
|
67
|
+
cell: CominsCellAddress | null;
|
|
68
|
+
cells: CominsCellAddress[];
|
|
69
|
+
range: null;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export declare function selectCellRange<TData>(state: CominsTableState<TData>, range: CominsCellRange): {
|
|
73
|
+
columnOrder: string[];
|
|
74
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
75
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
76
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
77
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
78
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
79
|
+
pagination: import("../model").CominsPaginationState;
|
|
80
|
+
rowIds: CominsRowId[];
|
|
81
|
+
rows: TData[];
|
|
82
|
+
showHeader: boolean;
|
|
83
|
+
sort: import("../model").CominsSortState | null;
|
|
84
|
+
sortModel: import("../model").CominsSortModel;
|
|
85
|
+
selection: {
|
|
86
|
+
rowIds: CominsRowId[];
|
|
87
|
+
cell: CominsCellAddress;
|
|
88
|
+
cells: never[];
|
|
89
|
+
range: CominsCellRange;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export declare function clearCominsCellRange<TData>(state: CominsTableState<TData>): {
|
|
93
|
+
columnOrder: string[];
|
|
94
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
95
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
96
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
97
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
98
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
99
|
+
pagination: import("../model").CominsPaginationState;
|
|
100
|
+
rowIds: CominsRowId[];
|
|
101
|
+
rows: TData[];
|
|
102
|
+
showHeader: boolean;
|
|
103
|
+
sort: import("../model").CominsSortState | null;
|
|
104
|
+
sortModel: import("../model").CominsSortModel;
|
|
105
|
+
selection: {
|
|
106
|
+
cell: CominsCellAddress | null;
|
|
107
|
+
cells?: CominsCellAddress[];
|
|
108
|
+
rowIds: CominsRowId[];
|
|
109
|
+
range: null;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
export declare function clearCominsSelection<TData>(state: CominsTableState<TData>): {
|
|
113
|
+
columnOrder: string[];
|
|
114
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
115
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
116
|
+
columns: import("../model").CominsTableRuntimeColumn<TData, unknown>[];
|
|
117
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
118
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
119
|
+
pagination: import("../model").CominsPaginationState;
|
|
120
|
+
rowIds: CominsRowId[];
|
|
121
|
+
rows: TData[];
|
|
122
|
+
showHeader: boolean;
|
|
123
|
+
sort: import("../model").CominsSortState | null;
|
|
124
|
+
sortModel: import("../model").CominsSortModel;
|
|
125
|
+
selection: CominsSelectionState;
|
|
126
|
+
};
|
|
127
|
+
export declare function isCominsRowSelected<TData>(state: Pick<CominsTableState<TData>, "selection">, rowId: CominsRowId): boolean;
|
|
128
|
+
export declare function isCominsCellSelected<TData>(state: Pick<CominsTableState<TData>, "selection">, cell: CominsCellAddress): boolean;
|
|
129
|
+
export declare function getCominsSelectedCellRange<TData>(state: CominsTableState<TData>, range?: CominsCellRange | null, rowIds?: readonly CominsRowId[]): CominsCellAddress[];
|
|
130
|
+
export declare function isCominsCellInSelectedRange<TData>(state: CominsTableState<TData>, cell: CominsCellAddress, rowIds?: readonly CominsRowId[]): boolean;
|
|
131
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/core/selection/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAKlB,wBAAgB,oBAAoB,IAAI,oBAAoB,CAO3D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EACtC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,KAAK,EAAE,eAAe,EACtB,MAAM,GAAE,SAAS,WAAW,EAAiB;;;;;;;SAoB9C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAC7B,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;EAqBxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE;;;;;;;;;;;;;;;;;;;EAQ/F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,WAEtF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAC9B,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;EA0BzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe;;;;;;;;;;;;;;;;;;;EAU5F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;EAQzE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;;;;;;;;;;;;;;EAKzE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,WAE/G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,WAQrH;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAC9C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,KAAK,GAAE,eAAe,GAAG,IAA4B,EACrD,MAAM,GAAE,SAAS,WAAW,EAAiB,uBAgC9C;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAC/C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,IAAI,EAAE,iBAAiB,EACvB,MAAM,GAAE,SAAS,WAAW,EAAiB,WAK9C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CominsRowId } from "../model";
|
|
2
|
+
export declare function findRowIndex(state: {
|
|
3
|
+
rowIds: readonly CominsRowId[];
|
|
4
|
+
}, rowId: CominsRowId): number;
|
|
5
|
+
export declare function findColumn<TColumn extends {
|
|
6
|
+
id: string;
|
|
7
|
+
}>(state: {
|
|
8
|
+
columns: readonly TColumn[];
|
|
9
|
+
}, columnId: string): TColumn | undefined;
|
|
10
|
+
export declare function getNestedFieldValue(row: unknown, field: string): unknown;
|
|
11
|
+
//# sourceMappingURL=access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/core/state/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,EAAE,KAAK,EAAE,WAAW,UAEzF;AAED,wBAAgB,UAAU,CAAC,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE;IAAE,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,uBAElH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQxE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CominsTableState } from "../model";
|
|
2
|
+
type ChangeSnapshot<TData> = Pick<CominsTableState<TData>, "rows" | "selection" | "sort" | "sortModel">;
|
|
3
|
+
/** Read only the shared data fields, preserving adapter reference identities. */
|
|
4
|
+
export declare function getCoreStateChanges<TData>(current: ChangeSnapshot<TData>, next: ChangeSnapshot<TData>, options?: {
|
|
5
|
+
columnLayoutChanged?: boolean;
|
|
6
|
+
}): {
|
|
7
|
+
data: boolean;
|
|
8
|
+
selection: boolean;
|
|
9
|
+
columnLayout: boolean;
|
|
10
|
+
sort: boolean;
|
|
11
|
+
sortModel: boolean;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/core/state/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,KAAK,cAAc,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC;AAExG,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO;IAEnJ,IAAI;IACJ,SAAS;IACT,YAAY;IACZ,IAAI;IACJ,SAAS;EAEZ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CominsRowId, CominsSelectionState, CominsTableState, CominsTableStateInput } from "../model";
|
|
2
|
+
export type CoreReconciliationInput<TData> = Pick<CominsTableStateInput<TData>, "columnGroups" | "columns" | "rows" | "getRowId" | "pagination" | "showHeader">;
|
|
3
|
+
export type CoreReconciliationOptions<TData> = {
|
|
4
|
+
current: CominsTableState<TData>;
|
|
5
|
+
nextInput: CoreReconciliationInput<TData>;
|
|
6
|
+
columnOrderHistory: readonly string[];
|
|
7
|
+
dataChanged: boolean;
|
|
8
|
+
getRowIdChanged: boolean;
|
|
9
|
+
viewportIndices?: readonly number[];
|
|
10
|
+
};
|
|
11
|
+
/** Reconcile inputs without applying state, clearing caches, or notifying consumers. */
|
|
12
|
+
export declare function reconcileCoreState<TData>({ current, nextInput, columnOrderHistory, dataChanged, getRowIdChanged, viewportIndices }: CoreReconciliationOptions<TData>): {
|
|
13
|
+
state: CominsTableState<TData>;
|
|
14
|
+
columnOrderHistory: string[];
|
|
15
|
+
invalidatedDetailRowIds: CominsRowId[];
|
|
16
|
+
};
|
|
17
|
+
export declare function reconcileCoreViewportSelection(selection: CominsSelectionState, rowIds: readonly CominsRowId[], indices: readonly number[], columnIds: readonly string[]): CominsSelectionState;
|
|
18
|
+
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../src/core/state/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAK3G,MAAM,MAAM,uBAAuB,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAC5E,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;AAElF,MAAM,MAAM,yBAAyB,CAAC,KAAK,IAAI;IAC7C,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAG;IACtK,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,uBAAuB,EAAE,WAAW,EAAE,CAAC;CACxC,CAkCA;AAGD,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAgB9L"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { CominsRowId, CominsSortState, CominsSortModel, CominsPaginationState, CominsRowUpdate, CominsVirtualRowsOptions, CominsVirtualRows, CominsTableRuntimeColumn, CominsTableState, CominsTableStateInput } from "../model";
|
|
2
|
+
export type CominsRowGroupMoveOptions<TData> = {
|
|
3
|
+
getRowGroupId: (row: TData, dataIndex: number) => CominsRowId;
|
|
4
|
+
setRowGroupId?: (params: {
|
|
5
|
+
fromGroupId: CominsRowId;
|
|
6
|
+
row: TData;
|
|
7
|
+
rowId: CominsRowId;
|
|
8
|
+
toGroupId: CominsRowId;
|
|
9
|
+
}) => TData;
|
|
10
|
+
sourceRowId: CominsRowId;
|
|
11
|
+
targetGroupId: CominsRowId;
|
|
12
|
+
targetRowId?: CominsRowId;
|
|
13
|
+
};
|
|
14
|
+
export declare function defaultGetRowId<TData>(_row: TData, index: number): number;
|
|
15
|
+
export declare function useRowsReference<TData>(rows: readonly TData[]): TData[];
|
|
16
|
+
export declare function areRowIdsEqual(left: readonly CominsRowId[], right: readonly CominsRowId[]): boolean;
|
|
17
|
+
export declare function withRows<TData>(state: CominsTableState<TData>, rows: TData[], options?: {
|
|
18
|
+
resetSelection?: boolean;
|
|
19
|
+
}): CominsTableState<TData>;
|
|
20
|
+
export declare function areSortModelsEqual(left: CominsSortModel, right: CominsSortModel): boolean;
|
|
21
|
+
export declare function normalizeSortModel<TData>(columns: ReadonlyArray<CominsTableRuntimeColumn<TData>>, sortModel: CominsSortModel): CominsSortState[];
|
|
22
|
+
export declare function defaultCompare(left: unknown, right: unknown): number;
|
|
23
|
+
export declare function createCominsTableState<TData>({ columnLayout, columnGroups, columns, getRowId, pagination, rows, showHeader, sort, sortModel, }: CominsTableStateInput<TData>): CominsTableState<TData>;
|
|
24
|
+
export declare function queryCominsRows<TData>(state: Pick<CominsTableState<TData>, "rows">, predicate?: (row: TData, index: number) => boolean): TData[];
|
|
25
|
+
export declare function replaceCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;
|
|
26
|
+
export declare function addCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;
|
|
27
|
+
export declare function updateCominsRows<TData>(state: CominsTableState<TData>, updates: ReadonlyArray<CominsRowUpdate<TData>>): CominsTableState<TData>;
|
|
28
|
+
export declare function deleteCominsRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]): CominsTableState<TData>;
|
|
29
|
+
export declare function setCominsHeaderVisible<TData>(state: CominsTableState<TData>, showHeader: boolean): {
|
|
30
|
+
columnOrder: string[];
|
|
31
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
32
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
33
|
+
columns: CominsTableRuntimeColumn<TData, unknown>[];
|
|
34
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
35
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
36
|
+
pagination: CominsPaginationState;
|
|
37
|
+
rowIds: CominsRowId[];
|
|
38
|
+
rows: TData[];
|
|
39
|
+
selection: import("../model").CominsSelectionState;
|
|
40
|
+
sort: CominsSortState | null;
|
|
41
|
+
sortModel: CominsSortModel;
|
|
42
|
+
showHeader: boolean;
|
|
43
|
+
};
|
|
44
|
+
export declare function setCominsPagination<TData>(state: CominsTableState<TData>, pagination: Partial<CominsPaginationState>): {
|
|
45
|
+
columnOrder: string[];
|
|
46
|
+
columnGroups: import("../model").CominsTableRuntimeColumnGroup[];
|
|
47
|
+
columnGroupState: Record<string, import("../model").CominsColumnGroupRuntimeState>;
|
|
48
|
+
columns: CominsTableRuntimeColumn<TData, unknown>[];
|
|
49
|
+
columnState: Record<string, import("../model").CominsColumnRuntimeState>;
|
|
50
|
+
getRowId: (row: TData, index: number) => CominsRowId;
|
|
51
|
+
rowIds: CominsRowId[];
|
|
52
|
+
rows: TData[];
|
|
53
|
+
selection: import("../model").CominsSelectionState;
|
|
54
|
+
showHeader: boolean;
|
|
55
|
+
sort: CominsSortState | null;
|
|
56
|
+
sortModel: CominsSortModel;
|
|
57
|
+
pagination: {
|
|
58
|
+
pageIndex: number;
|
|
59
|
+
pageSize: number;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare function setCominsSortState<TData>(state: CominsTableState<TData>, sort: CominsSortState | null): CominsTableState<TData>;
|
|
63
|
+
export declare function setCominsSortModel<TData>(state: CominsTableState<TData>, sortModel: CominsSortModel): CominsTableState<TData>;
|
|
64
|
+
export declare function clearCominsSortState<TData>(state: CominsTableState<TData>): CominsTableState<TData>;
|
|
65
|
+
export declare function getCominsSortedRowIndexes<TData>(state: CominsTableState<TData>, sourceIndexes?: readonly number[]): number[];
|
|
66
|
+
export declare function sortCominsRows<TData>(state: CominsTableState<TData>, sort: CominsSortState | null): CominsTableState<TData>;
|
|
67
|
+
export declare function getCominsPageRows<TData>(state: CominsTableState<TData>, pagination?: Partial<CominsPaginationState>): NonNullable<TData>[];
|
|
68
|
+
export declare function getCominsVirtualRows<TData>(state: CominsTableState<TData>, { overscan, rowHeight, scrollTop, viewportHeight }: CominsVirtualRowsOptions): CominsVirtualRows<TData>;
|
|
69
|
+
export declare function moveCominsRow<TData>(state: CominsTableState<TData>, rowId: CominsRowId, targetIndex: number): CominsTableState<TData>;
|
|
70
|
+
export declare function moveCominsRowToGroup<TData>(state: CominsTableState<TData>, options: CominsRowGroupMoveOptions<TData>): CominsTableState<TData>;
|
|
71
|
+
export declare function getCominsCellValue<TData>(state: {
|
|
72
|
+
columns: readonly {
|
|
73
|
+
id: string;
|
|
74
|
+
field: string;
|
|
75
|
+
}[];
|
|
76
|
+
}, row: TData, columnId: string): unknown;
|
|
77
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/core/state/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { CominsRowId } from "../model";
|
|
2
|
+
export type CominsTableTransferConflictPolicy = "overwrite" | "reject";
|
|
3
|
+
export type CominsTableTransferDropPosition = "after" | "append" | "before";
|
|
4
|
+
export type CominsTableTransferRowEndpoint<TData> = {
|
|
5
|
+
dataIndex: number;
|
|
6
|
+
row: TData;
|
|
7
|
+
rowId: CominsRowId;
|
|
8
|
+
tableId: string;
|
|
9
|
+
};
|
|
10
|
+
export type CominsTableTransferGroupEndpoint<TData, TGroup> = {
|
|
11
|
+
group: TGroup;
|
|
12
|
+
groupId: CominsRowId;
|
|
13
|
+
groupIndex: number;
|
|
14
|
+
rows: readonly CominsTableTransferRowEndpoint<TData>[];
|
|
15
|
+
tableId: string;
|
|
16
|
+
};
|
|
17
|
+
export type CominsTableTransferConflict<TData, TGroup> = {
|
|
18
|
+
kind: "row";
|
|
19
|
+
rowId: CominsRowId;
|
|
20
|
+
source: CominsTableTransferRowEndpoint<TData>;
|
|
21
|
+
target: CominsTableTransferRowEndpoint<TData>;
|
|
22
|
+
} | {
|
|
23
|
+
groupId: CominsRowId;
|
|
24
|
+
kind: "group";
|
|
25
|
+
source: CominsTableTransferGroupEndpoint<TData, TGroup>;
|
|
26
|
+
target: CominsTableTransferGroupEndpoint<TData, TGroup>;
|
|
27
|
+
};
|
|
28
|
+
export type CominsTableTransferResolvedConflict<TData, TGroup> = {
|
|
29
|
+
conflict: CominsTableTransferConflict<TData, TGroup>;
|
|
30
|
+
policy: CominsTableTransferConflictPolicy;
|
|
31
|
+
};
|
|
32
|
+
export type CominsTableTransferConflictResolver<TData, TGroup> = (conflict: CominsTableTransferConflict<TData, TGroup>) => CominsTableTransferConflictPolicy | undefined;
|
|
33
|
+
export type CominsTableTransferIntent<TData, TGroup> = {
|
|
34
|
+
kind: "row";
|
|
35
|
+
row: TData;
|
|
36
|
+
sourceRowId: CominsRowId;
|
|
37
|
+
sourceTableId: string;
|
|
38
|
+
targetGroupId?: CominsRowId;
|
|
39
|
+
targetRowId?: CominsRowId;
|
|
40
|
+
targetTableId: string;
|
|
41
|
+
} | {
|
|
42
|
+
group: TGroup;
|
|
43
|
+
kind: "group";
|
|
44
|
+
rows: readonly TData[];
|
|
45
|
+
sourceGroupId: CominsRowId;
|
|
46
|
+
sourceTableId: string;
|
|
47
|
+
targetGroupId?: CominsRowId;
|
|
48
|
+
targetTableId: string;
|
|
49
|
+
};
|
|
50
|
+
export type CominsTableTransferRejection<TData, TGroup = never> = {
|
|
51
|
+
conflict: CominsTableTransferConflict<TData, TGroup>;
|
|
52
|
+
kind: "group" | "row";
|
|
53
|
+
reason: "duplicate-id";
|
|
54
|
+
sourceTableId: string;
|
|
55
|
+
targetTableId: string;
|
|
56
|
+
};
|
|
57
|
+
export type CominsTableTransferEndpoint<TData, TGroup = never> = {
|
|
58
|
+
data: readonly TData[];
|
|
59
|
+
getGroupId?: (group: TGroup) => CominsRowId;
|
|
60
|
+
getRowGroupId?: (row: TData, dataIndex: number) => CominsRowId;
|
|
61
|
+
getRowId: (row: TData, dataIndex: number) => CominsRowId;
|
|
62
|
+
groups?: readonly TGroup[];
|
|
63
|
+
setRowGroupId?: (params: {
|
|
64
|
+
fromGroupId: CominsRowId;
|
|
65
|
+
row: TData;
|
|
66
|
+
rowId: CominsRowId;
|
|
67
|
+
toGroupId: CominsRowId;
|
|
68
|
+
}) => TData;
|
|
69
|
+
tableId: string;
|
|
70
|
+
};
|
|
71
|
+
type CominsTableTransferNextEndpoint<TData, TGroup> = {
|
|
72
|
+
data: TData[];
|
|
73
|
+
groups?: TGroup[];
|
|
74
|
+
tableId: string;
|
|
75
|
+
};
|
|
76
|
+
export type CominsTableRowTransferDetails<TData, TGroup> = {
|
|
77
|
+
conflicts: readonly CominsTableTransferResolvedConflict<TData, TGroup>[];
|
|
78
|
+
kind: "row";
|
|
79
|
+
sourceRowId: CominsRowId;
|
|
80
|
+
targetGroupId?: CominsRowId;
|
|
81
|
+
targetRowId?: CominsRowId;
|
|
82
|
+
};
|
|
83
|
+
export type CominsTableGroupTransferDetails<TData, TGroup> = {
|
|
84
|
+
conflicts: readonly CominsTableTransferResolvedConflict<TData, TGroup>[];
|
|
85
|
+
kind: "group";
|
|
86
|
+
position: CominsTableTransferDropPosition;
|
|
87
|
+
sourceGroupId: CominsRowId;
|
|
88
|
+
targetGroupId?: CominsRowId;
|
|
89
|
+
};
|
|
90
|
+
export type CominsTableTransferDetails<TData, TGroup> = CominsTableGroupTransferDetails<TData, TGroup> | CominsTableRowTransferDetails<TData, TGroup>;
|
|
91
|
+
export type CominsTableTransferResult<TData, TGroup = never> = {
|
|
92
|
+
details: CominsTableTransferDetails<TData, TGroup>;
|
|
93
|
+
kind: "group" | "row";
|
|
94
|
+
source: CominsTableTransferNextEndpoint<TData, TGroup>;
|
|
95
|
+
target: CominsTableTransferNextEndpoint<TData, TGroup>;
|
|
96
|
+
};
|
|
97
|
+
export type CominsRowBetweenTablesInput<TData, TGroup = never> = {
|
|
98
|
+
resolveConflict?: CominsTableTransferConflictResolver<TData, TGroup>;
|
|
99
|
+
source: CominsTableTransferEndpoint<TData, TGroup>;
|
|
100
|
+
sourceRowId: CominsRowId;
|
|
101
|
+
target: CominsTableTransferEndpoint<TData, TGroup>;
|
|
102
|
+
targetGroupId?: CominsRowId;
|
|
103
|
+
targetRowId?: CominsRowId;
|
|
104
|
+
};
|
|
105
|
+
export type CominsGroupBetweenTablesInput<TData, TGroup> = {
|
|
106
|
+
position?: CominsTableTransferDropPosition;
|
|
107
|
+
resolveConflict?: CominsTableTransferConflictResolver<TData, TGroup>;
|
|
108
|
+
source: CominsTableTransferEndpoint<TData, TGroup>;
|
|
109
|
+
sourceGroupId: CominsRowId;
|
|
110
|
+
target: CominsTableTransferEndpoint<TData, TGroup>;
|
|
111
|
+
targetGroupId?: CominsRowId;
|
|
112
|
+
};
|
|
113
|
+
export declare function transferCominsRowBetweenTables<TData, TGroup = never>(input: CominsRowBetweenTablesInput<TData, TGroup>): CominsTableTransferResult<TData, TGroup> | null;
|
|
114
|
+
export declare function transferCominsGroupBetweenTables<TData, TGroup>(input: CominsGroupBetweenTablesInput<TData, TGroup>): CominsTableTransferResult<TData, TGroup> | null;
|
|
115
|
+
export {};
|
|
116
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/transfer/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export type CominsViewportRevision = string | number;
|
|
2
|
+
export type CominsViewportRange = {
|
|
3
|
+
startIndex: number;
|
|
4
|
+
endIndex: number;
|
|
5
|
+
};
|
|
6
|
+
export type CoreViewportRequest = CominsViewportRange & {
|
|
7
|
+
revision: CominsViewportRevision;
|
|
8
|
+
requestId: string;
|
|
9
|
+
retainRange: CominsViewportRange;
|
|
10
|
+
};
|
|
11
|
+
export type CominsViewportBlock<T> = {
|
|
12
|
+
startIndex: number;
|
|
13
|
+
rows: readonly T[];
|
|
14
|
+
version: number;
|
|
15
|
+
touched: number;
|
|
16
|
+
};
|
|
17
|
+
export type CominsViewportRequestState = CominsViewportRange & {
|
|
18
|
+
requestId: string;
|
|
19
|
+
status: "loading" | "error";
|
|
20
|
+
version: number;
|
|
21
|
+
};
|
|
22
|
+
export type CominsViewportPatch<T> = {
|
|
23
|
+
index: number;
|
|
24
|
+
row: T;
|
|
25
|
+
};
|
|
26
|
+
export type CominsViewportData<T> = {
|
|
27
|
+
revision: CominsViewportRevision;
|
|
28
|
+
rowCount: number;
|
|
29
|
+
blockSize: number;
|
|
30
|
+
cacheSize: number;
|
|
31
|
+
blocks: readonly CominsViewportBlock<T>[];
|
|
32
|
+
requests: readonly CominsViewportRequestState[];
|
|
33
|
+
retainRange: CominsViewportRange;
|
|
34
|
+
version: number;
|
|
35
|
+
clock: number;
|
|
36
|
+
changes: readonly CominsViewportPatch<T>[];
|
|
37
|
+
};
|
|
38
|
+
export type CominsViewportDataOptions = {
|
|
39
|
+
revision: CominsViewportRevision;
|
|
40
|
+
rowCount: number;
|
|
41
|
+
blockSize?: number;
|
|
42
|
+
cacheSize?: number;
|
|
43
|
+
};
|
|
44
|
+
export type CominsViewportDataEvent<T> = {
|
|
45
|
+
type: "request";
|
|
46
|
+
request: CoreViewportRequest;
|
|
47
|
+
} | {
|
|
48
|
+
type: "cancel";
|
|
49
|
+
request: CoreViewportRequest;
|
|
50
|
+
} | {
|
|
51
|
+
type: "error";
|
|
52
|
+
request: CoreViewportRequest;
|
|
53
|
+
} | {
|
|
54
|
+
type: "success";
|
|
55
|
+
request: CoreViewportRequest;
|
|
56
|
+
rows: readonly T[];
|
|
57
|
+
} | {
|
|
58
|
+
type: "retain";
|
|
59
|
+
range: CominsViewportRange;
|
|
60
|
+
} | {
|
|
61
|
+
type: "patch";
|
|
62
|
+
changes: readonly CominsViewportPatch<T>[];
|
|
63
|
+
} | {
|
|
64
|
+
type: "reset";
|
|
65
|
+
options: CominsViewportDataOptions;
|
|
66
|
+
};
|
|
67
|
+
export declare function normalizeCominsViewportInteger(value: number | undefined, fallback: number): number;
|
|
68
|
+
export declare function createCominsViewportData<T>(options: CominsViewportDataOptions): CominsViewportData<T>;
|
|
69
|
+
export declare function reduceCominsViewportData<T>(data: CominsViewportData<T>, event: CominsViewportDataEvent<T>): CominsViewportData<T>;
|
|
70
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/core/viewport/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type CominsViewportData, type CominsViewportRange, type CoreViewportRequest } from "./data";
|
|
2
|
+
export type CoreActiveViewportRequest = {
|
|
3
|
+
request: CoreViewportRequest;
|
|
4
|
+
done: boolean;
|
|
5
|
+
};
|
|
6
|
+
/** Pure scheduling policy. Completion alone is not controlled snapshot acknowledgement. */
|
|
7
|
+
export declare function planViewportRequests<T>(input: {
|
|
8
|
+
data: CominsViewportData<T>;
|
|
9
|
+
range: CominsViewportRange;
|
|
10
|
+
active: readonly CoreActiveViewportRequest[];
|
|
11
|
+
retryStarts: readonly number[];
|
|
12
|
+
maxConcurrent?: number;
|
|
13
|
+
}): {
|
|
14
|
+
startRanges: CominsViewportRange[];
|
|
15
|
+
cancelRequestIds: string[];
|
|
16
|
+
releaseRequestIds: string[];
|
|
17
|
+
consumedRetryStarts: number[];
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../src/core/viewport/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAErI,MAAM,MAAM,yBAAyB,GAAG;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAExF,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE;IAC7C,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC7C,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;;;;;EA2BA"}
|