@infinite-table/infinite-react 0.3.9 → 0.3.12
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.d.ts +8 -2
- package/index.esm.js +126 -35
- package/index.js +126 -35
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as _vanilla_extract_private from '@vanilla-extract/private';
|
|
2
1
|
import * as React$1 from 'react';
|
|
3
2
|
import { RefCallback, MutableRefObject, CSSProperties, HTMLProps } from 'react';
|
|
4
3
|
|
|
@@ -506,6 +505,7 @@ declare type InfiniteTablePropPivotGrandTotalColumnPosition = InfiniteTablePropP
|
|
|
506
505
|
interface InfiniteTableMappedState<T> {
|
|
507
506
|
scrollTopKey: InfiniteTableProps<T>['scrollTopKey'];
|
|
508
507
|
viewportReservedWidth: InfiniteTableProps<T>['viewportReservedWidth'];
|
|
508
|
+
resizableColumns: InfiniteTableProps<T>['resizableColumns'];
|
|
509
509
|
groupColumn: InfiniteTableProps<T>['groupColumn'];
|
|
510
510
|
headerOptions: NonUndefined<InfiniteTableProps<T>['headerOptions']>;
|
|
511
511
|
keyboardNavigation: NonUndefined<InfiniteTableProps<T>['keyboardNavigation']>;
|
|
@@ -621,6 +621,7 @@ declare type InfiniteTableColumnType<T> = {
|
|
|
621
621
|
resizable?: InfiniteTableColumn<T>['resizable'];
|
|
622
622
|
align?: InfiniteTableColumn<T>['align'];
|
|
623
623
|
verticalAlign?: InfiniteTableColumn<T>['verticalAlign'];
|
|
624
|
+
columnGroup?: string;
|
|
624
625
|
cssEllipsis?: boolean;
|
|
625
626
|
headerCssEllipsis?: boolean;
|
|
626
627
|
field?: keyof T;
|
|
@@ -1032,6 +1033,9 @@ declare type InfiniteTableComputedColumnBase<T> = {
|
|
|
1032
1033
|
computedSortType: string;
|
|
1033
1034
|
computedDataType: string;
|
|
1034
1035
|
computedWidth: number;
|
|
1036
|
+
computedFlex: number | null;
|
|
1037
|
+
computedMinWidth: number | null;
|
|
1038
|
+
computedMaxWidth: number | null;
|
|
1035
1039
|
computedOffset: number;
|
|
1036
1040
|
computedPinningOffset: number;
|
|
1037
1041
|
computedAbsoluteOffset: number;
|
|
@@ -1048,6 +1052,7 @@ declare type InfiniteTableComputedColumnBase<T> = {
|
|
|
1048
1052
|
computedFilterValue: DataSourceFilterValueItem<T> | null;
|
|
1049
1053
|
computedPinned: InfiniteTableColumnPinnedValues;
|
|
1050
1054
|
computedDraggable: boolean;
|
|
1055
|
+
computedResizable: boolean;
|
|
1051
1056
|
computedFirstInCategory: boolean;
|
|
1052
1057
|
computedLastInCategory: boolean;
|
|
1053
1058
|
computedFirst: boolean;
|
|
@@ -1605,7 +1610,7 @@ declare function InfiniteTable<T>(props: InfiniteTableProps<T>): JSX.Element;
|
|
|
1605
1610
|
declare namespace InfiniteTable {
|
|
1606
1611
|
var defaultProps: {
|
|
1607
1612
|
rowHeight: number;
|
|
1608
|
-
columnHeaderHeight:
|
|
1613
|
+
columnHeaderHeight: string;
|
|
1609
1614
|
};
|
|
1610
1615
|
}
|
|
1611
1616
|
|
|
@@ -1643,6 +1648,7 @@ declare type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT
|
|
|
1643
1648
|
}) => COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
|
|
1644
1649
|
getReducerActions?: (dispatch: React$1.Dispatch<any>) => T_ACTIONS;
|
|
1645
1650
|
getParentState?: () => T_PARENT_STATE;
|
|
1651
|
+
cleanup?: (state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE) => void;
|
|
1646
1652
|
onControlledPropertyChange?: (name: string, newValue: any, oldValue: any) => void | ((value: any, oldValue: any) => any);
|
|
1647
1653
|
};
|
|
1648
1654
|
declare function getComponentStateRoot<T_PROPS, COMPONENT_MAPPED_STATE extends object, COMPONENT_SETUP_STATE extends object = {}, COMPONENT_DERIVED_STATE extends object = {}, T_ACTIONS = {}, T_PARENT_STATE = {}>(config: ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE, COMPONENT_DERIVED_STATE, T_ACTIONS, T_PARENT_STATE>): React$1.NamedExoticComponent<T_PROPS & {
|
package/index.esm.js
CHANGED
|
@@ -672,7 +672,7 @@ var Logger = class {
|
|
|
672
672
|
constructor(channelName) {
|
|
673
673
|
this.debug = emptyLogFn;
|
|
674
674
|
this.error = emptyLogFn;
|
|
675
|
-
if (
|
|
675
|
+
if (false) {
|
|
676
676
|
this.debug = dbg(channelName);
|
|
677
677
|
this.error = err(channelName);
|
|
678
678
|
}
|
|
@@ -892,8 +892,8 @@ function SpacePlaceholderFn(props) {
|
|
|
892
892
|
};
|
|
893
893
|
return /* @__PURE__ */ createElement3("div", {
|
|
894
894
|
"data-count": count,
|
|
895
|
-
"data-placeholder-width":
|
|
896
|
-
"data-placeholder-height":
|
|
895
|
+
"data-placeholder-width": false ? width : void 0,
|
|
896
|
+
"data-placeholder-height": false ? height : void 0,
|
|
897
897
|
"data-name": "SpacePlaceholder",
|
|
898
898
|
style
|
|
899
899
|
});
|
|
@@ -1174,7 +1174,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1174
1174
|
if (colWidthDefined) {
|
|
1175
1175
|
this.colWidth = colWidth;
|
|
1176
1176
|
}
|
|
1177
|
-
if (
|
|
1177
|
+
if (false) {
|
|
1178
1178
|
if (widthChanged) {
|
|
1179
1179
|
this.debug("New available width %d (size is %d,%d)", this.width, this.width, this.height);
|
|
1180
1180
|
}
|
|
@@ -1254,12 +1254,18 @@ var MatrixBrain = class extends Logger {
|
|
|
1254
1254
|
}
|
|
1255
1255
|
};
|
|
1256
1256
|
this.notifyScrollStart = () => {
|
|
1257
|
+
if (this.destroyed) {
|
|
1258
|
+
return;
|
|
1259
|
+
}
|
|
1257
1260
|
const fns = this.onScrollStartFns;
|
|
1258
1261
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1259
1262
|
fns[i]();
|
|
1260
1263
|
}
|
|
1261
1264
|
};
|
|
1262
1265
|
this.notifyScrollStop = () => {
|
|
1266
|
+
if (this.destroyed) {
|
|
1267
|
+
return;
|
|
1268
|
+
}
|
|
1263
1269
|
const fns = this.onScrollStopFns;
|
|
1264
1270
|
const scrollPos = this.scrollPosition;
|
|
1265
1271
|
const range = this.getRenderRange();
|
|
@@ -1282,37 +1288,61 @@ var MatrixBrain = class extends Logger {
|
|
|
1282
1288
|
}
|
|
1283
1289
|
};
|
|
1284
1290
|
this.notifyAvailableSizeChange = () => {
|
|
1291
|
+
if (this.destroyed) {
|
|
1292
|
+
return;
|
|
1293
|
+
}
|
|
1285
1294
|
const fns = this.onAvailableSizeChangeFns;
|
|
1286
1295
|
const range = this.getAvailableSize();
|
|
1287
1296
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1288
1297
|
raf2(() => {
|
|
1298
|
+
if (this.destroyed) {
|
|
1299
|
+
return;
|
|
1300
|
+
}
|
|
1289
1301
|
fns[i](range);
|
|
1290
1302
|
});
|
|
1291
1303
|
}
|
|
1292
1304
|
};
|
|
1293
1305
|
this.notifyRenderRangeChange = () => {
|
|
1306
|
+
if (this.destroyed) {
|
|
1307
|
+
return;
|
|
1308
|
+
}
|
|
1294
1309
|
const fns = this.onRenderRangeChangeFns;
|
|
1295
1310
|
const range = this.getRenderRange();
|
|
1296
1311
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1297
1312
|
raf2(() => {
|
|
1313
|
+
if (this.destroyed) {
|
|
1314
|
+
return;
|
|
1315
|
+
}
|
|
1298
1316
|
fns[i](range);
|
|
1299
1317
|
});
|
|
1300
1318
|
}
|
|
1301
1319
|
};
|
|
1302
1320
|
this.notifyVerticalRenderRangeChange = () => {
|
|
1321
|
+
if (this.destroyed) {
|
|
1322
|
+
return;
|
|
1323
|
+
}
|
|
1303
1324
|
const fns = this.onVerticalRenderRangeChangeFns;
|
|
1304
1325
|
const range = this.verticalRenderRange;
|
|
1305
1326
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1306
1327
|
raf2(() => {
|
|
1328
|
+
if (this.destroyed) {
|
|
1329
|
+
return;
|
|
1330
|
+
}
|
|
1307
1331
|
fns[i]([range.startIndex, range.endIndex]);
|
|
1308
1332
|
});
|
|
1309
1333
|
}
|
|
1310
1334
|
};
|
|
1311
1335
|
this.notifyHorizontalRenderRangeChange = () => {
|
|
1336
|
+
if (this.destroyed) {
|
|
1337
|
+
return;
|
|
1338
|
+
}
|
|
1312
1339
|
const fns = this.onHorizontalRenderRangeChangeFns;
|
|
1313
1340
|
const range = this.horizontalRenderRange;
|
|
1314
1341
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1315
1342
|
raf2(() => {
|
|
1343
|
+
if (this.destroyed) {
|
|
1344
|
+
return;
|
|
1345
|
+
}
|
|
1316
1346
|
fns[i]([range.startIndex, range.endIndex]);
|
|
1317
1347
|
});
|
|
1318
1348
|
}
|
|
@@ -1668,7 +1698,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1668
1698
|
if (cache[i] === void 0) {
|
|
1669
1699
|
cell[direction === "horizontal" ? "colIndex" : "rowIndex"] = i;
|
|
1670
1700
|
let spanValue = itemSpan(cell);
|
|
1671
|
-
if (
|
|
1701
|
+
if (false) {
|
|
1672
1702
|
this.debug(`${direction === "horizontal" ? "colspan" : "rowspan"} cannot be less than 1 - got %d for index %d`, spanValue, i);
|
|
1673
1703
|
}
|
|
1674
1704
|
cache[i] = i;
|
|
@@ -1971,7 +2001,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1971
2001
|
}
|
|
1972
2002
|
this.width = width;
|
|
1973
2003
|
this.height = height;
|
|
1974
|
-
if (
|
|
2004
|
+
if (false) {
|
|
1975
2005
|
this.debug("New available size: width %d, height %d", this.width, this.height);
|
|
1976
2006
|
}
|
|
1977
2007
|
this.notifyAvailableSizeChange();
|
|
@@ -1989,6 +2019,9 @@ var MatrixBrain = class extends Logger {
|
|
|
1989
2019
|
return totalSize.width - this.width;
|
|
1990
2020
|
}
|
|
1991
2021
|
notifyScrollChange() {
|
|
2022
|
+
if (this.destroyed) {
|
|
2023
|
+
return;
|
|
2024
|
+
}
|
|
1992
2025
|
const { scrollPosition } = this;
|
|
1993
2026
|
const fns = this.onScrollFns;
|
|
1994
2027
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
@@ -2005,6 +2038,9 @@ var MatrixBrain = class extends Logger {
|
|
|
2005
2038
|
return direction === "horizontal" ? this.getFixedEndColsWidth() : this.getFixedEndRowsHeight();
|
|
2006
2039
|
}
|
|
2007
2040
|
notifyRenderCountChange() {
|
|
2041
|
+
if (this.destroyed) {
|
|
2042
|
+
return;
|
|
2043
|
+
}
|
|
2008
2044
|
const { horizontalRenderCount, verticalRenderCount } = this;
|
|
2009
2045
|
const renderCount = {
|
|
2010
2046
|
horizontal: horizontalRenderCount,
|
|
@@ -2013,6 +2049,9 @@ var MatrixBrain = class extends Logger {
|
|
|
2013
2049
|
const fns = this.onRenderCountChangeFns;
|
|
2014
2050
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
2015
2051
|
raf2(() => {
|
|
2052
|
+
if (this.destroyed) {
|
|
2053
|
+
return;
|
|
2054
|
+
}
|
|
2016
2055
|
fns[i](renderCount);
|
|
2017
2056
|
});
|
|
2018
2057
|
}
|
|
@@ -2438,7 +2477,7 @@ var MappedCells = class extends Logger {
|
|
|
2438
2477
|
return elementIndex != null ? elementIndex : null;
|
|
2439
2478
|
};
|
|
2440
2479
|
this.renderCellAtElement = (rowIndex, colIndex, elementIndex, renderNode) => {
|
|
2441
|
-
if (
|
|
2480
|
+
if (false) {
|
|
2442
2481
|
this.debug(`Render cell ${rowIndex},${colIndex} at element ${elementIndex}`);
|
|
2443
2482
|
}
|
|
2444
2483
|
const key = [rowIndex, colIndex];
|
|
@@ -2704,7 +2743,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2704
2743
|
return [];
|
|
2705
2744
|
}
|
|
2706
2745
|
const { start, end } = range;
|
|
2707
|
-
if (
|
|
2746
|
+
if (false) {
|
|
2708
2747
|
this.debug(`Render range ${start}-${end}. Force ${force}`);
|
|
2709
2748
|
}
|
|
2710
2749
|
const { mappedCells } = this;
|
|
@@ -2723,7 +2762,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2723
2762
|
if (this.updaters[elementIndex]) {
|
|
2724
2763
|
this.updaters[elementIndex].destroy();
|
|
2725
2764
|
}
|
|
2726
|
-
if (
|
|
2765
|
+
if (false) {
|
|
2727
2766
|
this.debug(`Discard element ${elementIndex}`);
|
|
2728
2767
|
}
|
|
2729
2768
|
});
|
|
@@ -2775,7 +2814,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2775
2814
|
}
|
|
2776
2815
|
const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : mappedCells.getElementFromListForColumn(elementsOutsideItemRange, col);
|
|
2777
2816
|
if (elementIndex == null) {
|
|
2778
|
-
if (
|
|
2817
|
+
if (false) {
|
|
2779
2818
|
this.error(`Cannot find element to render cell ${row}:${col}`);
|
|
2780
2819
|
}
|
|
2781
2820
|
continue;
|
|
@@ -2794,7 +2833,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2794
2833
|
}
|
|
2795
2834
|
const elementIndex = elementsOutsideItemRange.pop();
|
|
2796
2835
|
if (elementIndex == null) {
|
|
2797
|
-
if (
|
|
2836
|
+
if (false) {
|
|
2798
2837
|
this.error(`Cannot find element to render cell ${rowIndex}-${colIndex}`);
|
|
2799
2838
|
}
|
|
2800
2839
|
return;
|
|
@@ -2993,7 +3032,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2993
3032
|
const itemElement = this.itemDOMElements[elementIndex];
|
|
2994
3033
|
const cell = this.mappedCells.getRenderedCellAtElement(elementIndex);
|
|
2995
3034
|
if (cell == null) {
|
|
2996
|
-
if (
|
|
3035
|
+
if (false) {
|
|
2997
3036
|
this.error(`Cannot find item for element ${elementIndex}`);
|
|
2998
3037
|
}
|
|
2999
3038
|
return;
|
|
@@ -3006,7 +3045,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3006
3045
|
const { x, y } = itemPosition;
|
|
3007
3046
|
if (itemElement) {
|
|
3008
3047
|
this.updateHoverClassNamesForRow(rowIndex);
|
|
3009
|
-
if (
|
|
3048
|
+
if (false) {
|
|
3010
3049
|
itemElement.dataset.rowIndex = rowIndex;
|
|
3011
3050
|
itemElement.dataset.colIndex = colIndex;
|
|
3012
3051
|
}
|
|
@@ -3015,7 +3054,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3015
3054
|
itemElement.style.willChange = "transform";
|
|
3016
3055
|
itemElement.style.backfaceVisibility = "hidden";
|
|
3017
3056
|
const hidden = options ? options.hidden : !!this.isCellCovered(rowIndex, colIndex);
|
|
3018
|
-
itemElement.style.zIndex = hidden ? "-1" : "auto";
|
|
3057
|
+
itemElement.style.zIndex = hidden ? "-1" : itemElement.dataset.zIndex || "auto";
|
|
3019
3058
|
} else {
|
|
3020
3059
|
itemElement.style.display = "";
|
|
3021
3060
|
itemElement.style.left = `${x}px`;
|
|
@@ -3074,19 +3113,19 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3074
3113
|
node.style.transform = `translate3d(${coords.x}px, ${fixedEndRowsOffsets[rowIndex]}px, 0)`;
|
|
3075
3114
|
}
|
|
3076
3115
|
function adjustColStartRowStart(_rowIndex, _colIndex, node, { x, y }, scrollPosition2) {
|
|
3077
|
-
node.style.zIndex = `
|
|
3116
|
+
node.style.zIndex = `1000000`;
|
|
3078
3117
|
node.style.transform = `translate3d(${x + scrollPosition2.scrollLeft}px, ${y + scrollPosition2.scrollTop}px, 0)`;
|
|
3079
3118
|
}
|
|
3080
3119
|
function adjustColStartRowEnd(_rowIndex, _colIndex, node, { x }, scrollPosition2) {
|
|
3081
|
-
node.style.zIndex = `
|
|
3120
|
+
node.style.zIndex = `2000000`;
|
|
3082
3121
|
node.style.transform = `translate3d(${x + scrollPosition2.scrollLeft}px, ${fixedEndRowsOffsets[_rowIndex]}px, 0)`;
|
|
3083
3122
|
}
|
|
3084
3123
|
function adjustColEndRowStart(_rowIndex, colIndex, node, coords) {
|
|
3085
|
-
node.style.zIndex = `
|
|
3124
|
+
node.style.zIndex = `3000000`;
|
|
3086
3125
|
node.style.transform = `translate3d(${fixedEndColsOffsets[colIndex]}px, ${coords.y + scrollPosition.scrollTop}px, 0)`;
|
|
3087
3126
|
}
|
|
3088
3127
|
function adjustColEndRowEnd(rowIndex, colIndex, node) {
|
|
3089
|
-
node.style.zIndex = `
|
|
3128
|
+
node.style.zIndex = `4000000`;
|
|
3090
3129
|
node.style.transform = `translate3d(${fixedEndColsOffsets[colIndex]}px, ${fixedEndRowsOffsets[rowIndex]}px, 0)`;
|
|
3091
3130
|
}
|
|
3092
3131
|
if (fixedColsStart || fixedColsEnd) {
|
|
@@ -3149,6 +3188,9 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3149
3188
|
}
|
|
3150
3189
|
};
|
|
3151
3190
|
this.destroy = () => {
|
|
3191
|
+
if (this.destroyed) {
|
|
3192
|
+
return;
|
|
3193
|
+
}
|
|
3152
3194
|
this.destroyed = true;
|
|
3153
3195
|
this.reset();
|
|
3154
3196
|
this.onDestroy();
|
|
@@ -3230,7 +3272,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3230
3272
|
return;
|
|
3231
3273
|
}
|
|
3232
3274
|
this.mappedCells.renderCellAtElement(rowIndex, colIndex, elementIndex, renderedNode);
|
|
3233
|
-
if (
|
|
3275
|
+
if (false) {
|
|
3234
3276
|
this.debug(`Render cell ${rowIndex},${colIndex} at element ${elementIndex}`);
|
|
3235
3277
|
}
|
|
3236
3278
|
itemUpdater(renderedNode);
|
|
@@ -3848,6 +3890,12 @@ function getComponentStateRoot(config) {
|
|
|
3848
3890
|
}
|
|
3849
3891
|
}
|
|
3850
3892
|
});
|
|
3893
|
+
useEffect8(() => {
|
|
3894
|
+
return () => {
|
|
3895
|
+
var _a2;
|
|
3896
|
+
(_a2 = config.cleanup) == null ? void 0 : _a2.call(config, getComponentState());
|
|
3897
|
+
};
|
|
3898
|
+
}, []);
|
|
3851
3899
|
return /* @__PURE__ */ createElement9(Context.Provider, {
|
|
3852
3900
|
value: contextValue
|
|
3853
3901
|
}, props.children);
|
|
@@ -4524,7 +4572,11 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4524
4572
|
};
|
|
4525
4573
|
const domRef = useRef12(null);
|
|
4526
4574
|
const {
|
|
4527
|
-
computed: {
|
|
4575
|
+
computed: {
|
|
4576
|
+
computedRemainingSpace,
|
|
4577
|
+
showColumnFilters,
|
|
4578
|
+
computedVisibleColumns
|
|
4579
|
+
},
|
|
4528
4580
|
componentState: { portalDOMRef, columnHeaderHeight, filterEditors }
|
|
4529
4581
|
} = useInfiniteTable();
|
|
4530
4582
|
const {
|
|
@@ -4631,6 +4683,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4631
4683
|
]);
|
|
4632
4684
|
const filterType = column.computedFilterType;
|
|
4633
4685
|
const FilterEditor = filterEditors[filterType] || defaultFilterEditors[filterType] || StringFilterEditor;
|
|
4686
|
+
const resizeHandle = null;
|
|
4634
4687
|
return /* @__PURE__ */ createElement15(ContextProvider, {
|
|
4635
4688
|
value: renderParam
|
|
4636
4689
|
}, /* @__PURE__ */ createElement15(InfiniteTableCell, {
|
|
@@ -4639,6 +4692,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4639
4692
|
column,
|
|
4640
4693
|
"data-name": `HeaderCell`,
|
|
4641
4694
|
"data-column-id": column.id,
|
|
4695
|
+
"data-z-index": computedVisibleColumns.length * 10 - column.computedVisibleIndex * 10,
|
|
4642
4696
|
style,
|
|
4643
4697
|
width,
|
|
4644
4698
|
onPointerDown,
|
|
@@ -4647,7 +4701,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4647
4701
|
contentStyle: showColumnFilters ? { height: height / 2 } : void 0,
|
|
4648
4702
|
className: join(InfiniteTableHeaderCellClassName, userSelect.none, column.computedSortable ? cursor.pointer : "", useCellClassName(column, [InfiniteTableHeaderCellClassName, InfiniteTableCellClassName], HeaderCellRecipe, { dragging, zebra: false, rowActive: false }), CellCls),
|
|
4649
4703
|
cssEllipsis: (_e = (_d = column.headerCssEllipsis) != null ? _d : column.cssEllipsis) != null ? _e : true,
|
|
4650
|
-
afterChildren: showColumnFilters ? column.computedFilterable ? /* @__PURE__ */ createElement15(InfiniteTableColumnHeaderFilter, {
|
|
4704
|
+
afterChildren: /* @__PURE__ */ createElement15(Fragment2, null, showColumnFilters ? column.computedFilterable ? /* @__PURE__ */ createElement15(InfiniteTableColumnHeaderFilter, {
|
|
4651
4705
|
filterEditor: FilterEditor,
|
|
4652
4706
|
filterTypes,
|
|
4653
4707
|
onChange: debouncedOnFilterValueChange,
|
|
@@ -4655,7 +4709,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4655
4709
|
columnLabel: column.field || column.name || column.id,
|
|
4656
4710
|
columnFilterValue: column.computedFilterValue,
|
|
4657
4711
|
columnHeaderHeight
|
|
4658
|
-
}) : /* @__PURE__ */ createElement15(InfiniteTableColumnHeaderFilterEmpty, null) : null,
|
|
4712
|
+
}) : /* @__PURE__ */ createElement15(InfiniteTableColumnHeaderFilterEmpty, null) : null, resizeHandle),
|
|
4659
4713
|
renderChildren
|
|
4660
4714
|
}), draggingProxy);
|
|
4661
4715
|
}
|
|
@@ -5030,6 +5084,7 @@ function decamelize(str, options) {
|
|
|
5030
5084
|
|
|
5031
5085
|
// src/components/InfiniteTable/theme.css.ts
|
|
5032
5086
|
var ThemeVars = { color: { accent: "var(--infinite-accent-color)", color: "var(--infinite-color)" }, spacing: { "0": "var(--infinite-space-0)", "1": "var(--infinite-space-1)", "2": "var(--infinite-space-2)", "3": "var(--infinite-space-3)", "4": "var(--infinite-space-4)", "5": "var(--infinite-space-5)", "6": "var(--infinite-space-6)", "7": "var(--infinite-space-7)", "8": "var(--infinite-space-8)", "9": "var(--infinite-space-9)", "10": "var(--infinite-space-10)" }, fontSize: { "0": "var(--infinite-font-size-0)", "1": "var(--infinite-font-size-1)", "2": "var(--infinite-font-size-2)", "3": "var(--infinite-font-size-3)", "4": "var(--infinite-font-size-4)", "5": "var(--infinite-font-size-5)", "6": "var(--infinite-font-size-6)", "7": "var(--infinite-font-size-7)" }, fontFamily: "var(--infinite-font-family)", minHeight: "var(--infinite-min-height)", borderRadius: "var(--infinite-border-radius)", background: "var(--infinite-background)", components: { LoadMask: { padding: "var(--infinite-load-mask-padding)", color: "var(--infinite-load-mask-color)", textBackground: "var(--infinite-load-mask-text-background)", overlayBackground: "var(--infinite-load-mask-overlay-background)", overlayOpacity: "var(--infinite-load-mask-overlay-opacity)", borderRadius: "var(--infinite-load-mask-border-radius)" }, Header: { background: "var(--infinite-header-background)", color: "var(--infinite-header-color)", columnHeaderHeight: "var(--infinite-column-header-height)" }, HeaderCell: { draggingBackground: "var(--infinite-header-cell-dragging-background)", background: "var(--infinite-header-cell-background)", padding: "var(--infinite-header-cell-padding)", paddingX: "var(--infinite-header-cell-padding-x)", paddingY: "var(--infinite-header-cell-padding-y)", iconSize: "var(--infinite-header-cell-icon-size)", sortIconMargin: "var(--infinite-header-cell-sort-icon-margin)" }, Cell: { padding: "var(--infinite-cell-padding)", borderWidth: "var(--infinite-cell-border-width)", border: "var(--infinite-cell-border)", borderInvisible: "var(--infinite-cell-border-invisible)", borderRadius: "var(--infinite-cell-border-radius)", color: "var(--infinite-cell-color)", activeBorderColor_R: "var(--infinite-active-cell-border-color--r)", activeBorderColor_G: "var(--infinite-active-cell-border-color--g)", activeBorderColor_B: "var(--infinite-active-cell-border-color--b)", activeBackgroundAlpha: "var(--infinite-active-cell-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-cell-background-alpha--table-unfocused)", activeBackground: "var(--infinite-active-cell-background)", activeBorderColor: "var(--infinite-active-cell-border-color)", activeBorderWidth: "var(--infinite-active-cell-border-width)", activeBorderStyle: "var(--infinite-active-cell-border-style)", activeBorder: "var(--infinite-active-cell-border)" }, Row: { background: "var(--infinite-row-background)", oddBackground: "var(--infinite-row-odd-background)", activeBackground: "var(--infinite-active-row-background)", activeBorderColor: "var(--infinite-active-row-border-color)", activeBorderWidth: "var(--infinite-active-row-border-width)", activeBorderStyle: "var(--infinite-active-row-border-style)", activeBorder: "var(--infinite-active-row-border)", activeBackgroundAlpha: "var(--infinite-active-row-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-row-background-alpha--table-unfocused)", hoverBackground: "var(--infinite-row-hover-background)", groupRowBackground: "var(--infinite-group-row-background)", groupRowColumnNesting: "var(--infinite-group-row-column-nesting)", groupNesting: "var(--infinite-dont-override-group-row-nesting-length)", pointerEventsWhileScrolling: "var(--infinite-row-pointer-events-while-scrolling)" }, ColumnCell: { background: "var(--infinite-column-cell-bg-dont-override)" } } };
|
|
5087
|
+
var columnHeaderHeightName = "column-header-height";
|
|
5033
5088
|
|
|
5034
5089
|
// src/components/InfiniteTable/InfiniteCls.css.ts
|
|
5035
5090
|
var import_createRuntimeFn3 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
|
|
@@ -5715,7 +5770,7 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
5715
5770
|
while (parentGroupId) {
|
|
5716
5771
|
const parent = columnGroups.get(parentGroupId);
|
|
5717
5772
|
if (!parent) {
|
|
5718
|
-
if (
|
|
5773
|
+
if (false) {
|
|
5719
5774
|
console.warn(`Cannot find column group ${parentGroupId}`);
|
|
5720
5775
|
}
|
|
5721
5776
|
break;
|
|
@@ -5832,7 +5887,7 @@ var debug4 = dbg("useColumnSizeFn");
|
|
|
5832
5887
|
function useColumnSizeFn(columns) {
|
|
5833
5888
|
const columnSize = useCallback13((index) => {
|
|
5834
5889
|
const column = columns[index];
|
|
5835
|
-
if (
|
|
5890
|
+
if (false) {
|
|
5836
5891
|
debug4("cannot find column at index", index, columns);
|
|
5837
5892
|
}
|
|
5838
5893
|
return column ? column.computedWidth : 0;
|
|
@@ -7949,7 +8004,7 @@ function concludeReducer(params) {
|
|
|
7949
8004
|
}
|
|
7950
8005
|
state.dataArray = rowInfoDataArray;
|
|
7951
8006
|
state.reducedAt = now;
|
|
7952
|
-
if (
|
|
8007
|
+
if (false) {
|
|
7953
8008
|
globalThis.state = state;
|
|
7954
8009
|
}
|
|
7955
8010
|
return state;
|
|
@@ -7987,7 +8042,7 @@ function DataSourceCmp({ children }) {
|
|
|
7987
8042
|
componentActions,
|
|
7988
8043
|
getState
|
|
7989
8044
|
};
|
|
7990
|
-
if (
|
|
8045
|
+
if (false) {
|
|
7991
8046
|
globalThis.getDataSourceState = getState;
|
|
7992
8047
|
}
|
|
7993
8048
|
useLoadData();
|
|
@@ -8438,10 +8493,14 @@ var computeFlex = (params) => {
|
|
|
8438
8493
|
let totalFixedSize = 0;
|
|
8439
8494
|
let totalFlex = 0;
|
|
8440
8495
|
let totalFlexCount = 0;
|
|
8496
|
+
const minSizes = [];
|
|
8497
|
+
const maxSizes = [];
|
|
8441
8498
|
items.forEach((item, i) => {
|
|
8442
8499
|
var _a, _b, _c, _d, _e, _f;
|
|
8443
8500
|
let maxSize = (_b = (_a = item.maxSize) != null ? _a : defaultMaxSize) != null ? _b : void 0;
|
|
8444
8501
|
let minSize = (_d = (_c = item.minSize) != null ? _c : defaultMinSize) != null ? _d : void 0;
|
|
8502
|
+
minSizes.push(minSize);
|
|
8503
|
+
maxSizes.push(maxSize);
|
|
8445
8504
|
if (item.size != null) {
|
|
8446
8505
|
if (maxSize != null && item.size > maxSize) {
|
|
8447
8506
|
item.size = maxSize;
|
|
@@ -8551,6 +8610,8 @@ var computeFlex = (params) => {
|
|
|
8551
8610
|
return {
|
|
8552
8611
|
items: resultItems,
|
|
8553
8612
|
flexSizes,
|
|
8613
|
+
minSizes,
|
|
8614
|
+
maxSizes,
|
|
8554
8615
|
computedSizes,
|
|
8555
8616
|
remainingSize: Math.round(availableSize - totalTakenSize)
|
|
8556
8617
|
};
|
|
@@ -8623,6 +8684,7 @@ var getComputedVisibleColumns = ({
|
|
|
8623
8684
|
setSortInfo,
|
|
8624
8685
|
multiSort,
|
|
8625
8686
|
viewportReservedWidth,
|
|
8687
|
+
resizableColumns,
|
|
8626
8688
|
draggableColumns,
|
|
8627
8689
|
columnOrder,
|
|
8628
8690
|
columnPinning,
|
|
@@ -8707,7 +8769,7 @@ var getComputedVisibleColumns = ({
|
|
|
8707
8769
|
};
|
|
8708
8770
|
})
|
|
8709
8771
|
});
|
|
8710
|
-
const { computedSizes } = flexResult;
|
|
8772
|
+
const { computedSizes, flexSizes, minSizes, maxSizes } = flexResult;
|
|
8711
8773
|
const computedPinnedStartColumns = [];
|
|
8712
8774
|
const computedPinnedEndColumns = [];
|
|
8713
8775
|
const computedUnpinnedColumns = [];
|
|
@@ -8735,7 +8797,7 @@ var getComputedVisibleColumns = ({
|
|
|
8735
8797
|
});
|
|
8736
8798
|
const firstPinnedEndAbsoluteOffset = bodySize.width - totalPinnedEndWidth;
|
|
8737
8799
|
columnsArray.forEach((c, i) => {
|
|
8738
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
8800
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
8739
8801
|
const id = visibleColumnOrder[i];
|
|
8740
8802
|
const nextColumnId = visibleColumnOrder[i + 1];
|
|
8741
8803
|
const colType = getColumnComputedType(c, columnTypes);
|
|
@@ -8746,6 +8808,9 @@ var getComputedVisibleColumns = ({
|
|
|
8746
8808
|
const computedSortedDesc = computedSorted && !computedSortedAsc;
|
|
8747
8809
|
const computedSortIndex = (_c = sortingInfo == null ? void 0 : sortingInfo.index) != null ? _c : -1;
|
|
8748
8810
|
const computedWidth = computedSizes[i];
|
|
8811
|
+
const computedFlex = flexSizes[i] || null;
|
|
8812
|
+
const computedMinWidth = minSizes[i] || null;
|
|
8813
|
+
const computedMaxWidth = maxSizes[i] || null;
|
|
8749
8814
|
const computedPinned = getComputedPinned(id, columnPinning);
|
|
8750
8815
|
const computedLast = i === visibleColumnOrder.length - 1;
|
|
8751
8816
|
const computedPinningOffset = computedPinned === "start" ? computedPinnedStartColumnsWidth : computedPinned === "end" ? computedPinnedEndColumnsWidth : computedOffset - computedPinnedStartColumnsWidth;
|
|
@@ -8779,8 +8844,13 @@ var getComputedVisibleColumns = ({
|
|
|
8779
8844
|
render: colType.render,
|
|
8780
8845
|
style: colType.style,
|
|
8781
8846
|
components: colType.components,
|
|
8847
|
+
columnGroup: colType.columnGroup,
|
|
8782
8848
|
field
|
|
8783
8849
|
}, c), {
|
|
8850
|
+
computedResizable: (_s = (_r = (_q = c.resizable) != null ? _q : colType.resizable) != null ? _r : resizableColumns) != null ? _s : true,
|
|
8851
|
+
computedMinWidth,
|
|
8852
|
+
computedMaxWidth,
|
|
8853
|
+
computedFlex,
|
|
8784
8854
|
computedDataType,
|
|
8785
8855
|
computedSortType,
|
|
8786
8856
|
computedFilterType,
|
|
@@ -8802,7 +8872,7 @@ var getComputedVisibleColumns = ({
|
|
|
8802
8872
|
computedSortedDesc,
|
|
8803
8873
|
computedVisibleIndex: i,
|
|
8804
8874
|
computedPinned,
|
|
8805
|
-
computedDraggable: (
|
|
8875
|
+
computedDraggable: (_u = (_t = c.draggable) != null ? _t : draggableColumns) != null ? _u : true,
|
|
8806
8876
|
computedFirstInCategory,
|
|
8807
8877
|
computedLastInCategory,
|
|
8808
8878
|
computedFirst: i === 0,
|
|
@@ -8852,7 +8922,7 @@ var getComputedVisibleColumns = ({
|
|
|
8852
8922
|
setSortInfo(finalSortInfo);
|
|
8853
8923
|
},
|
|
8854
8924
|
id,
|
|
8855
|
-
header: (
|
|
8925
|
+
header: (_x = (_w = (_v = c.header) != null ? _v : colType.header) != null ? _w : c.name) != null ? _x : c.field
|
|
8856
8926
|
});
|
|
8857
8927
|
computedOffset += computedWidth;
|
|
8858
8928
|
computedVisibleColumnsMap.set(result2.id, result2);
|
|
@@ -8928,6 +8998,7 @@ var useComputedVisibleColumns = ({
|
|
|
8928
8998
|
pinnedEndMaxWidth,
|
|
8929
8999
|
pinnedStartMaxWidth,
|
|
8930
9000
|
viewportReservedWidth,
|
|
9001
|
+
resizableColumns,
|
|
8931
9002
|
columnVisibility,
|
|
8932
9003
|
columnVisibilityAssumeVisible,
|
|
8933
9004
|
columnSizing
|
|
@@ -8959,6 +9030,7 @@ var useComputedVisibleColumns = ({
|
|
|
8959
9030
|
columnCssEllipsis,
|
|
8960
9031
|
columnHeaderCssEllipsis,
|
|
8961
9032
|
viewportReservedWidth,
|
|
9033
|
+
resizableColumns,
|
|
8962
9034
|
filterValue,
|
|
8963
9035
|
sortable,
|
|
8964
9036
|
sortInfo,
|
|
@@ -9116,6 +9188,7 @@ function useComputed() {
|
|
|
9116
9188
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
9117
9189
|
bodySize,
|
|
9118
9190
|
viewportReservedWidth: componentState.viewportReservedWidth,
|
|
9191
|
+
resizableColumns: componentState.resizableColumns,
|
|
9119
9192
|
sortable: componentState.sortable,
|
|
9120
9193
|
draggableColumns: componentState.draggableColumns,
|
|
9121
9194
|
sortInfo: (_a = dataSourceState.sortInfo) != null ? _a : void 0,
|
|
@@ -9404,7 +9477,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
9404
9477
|
const valid = useMemo12(() => {
|
|
9405
9478
|
let valid2 = isValidLicense(licenseKey, {
|
|
9406
9479
|
publishedAt: 1624970570587,
|
|
9407
|
-
version: "0.3.
|
|
9480
|
+
version: "0.3.12"
|
|
9408
9481
|
});
|
|
9409
9482
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
9410
9483
|
return true;
|
|
@@ -9627,14 +9700,14 @@ function initSetupState2() {
|
|
|
9627
9700
|
scrollTop: 0
|
|
9628
9701
|
});
|
|
9629
9702
|
});
|
|
9630
|
-
if (
|
|
9703
|
+
if (false) {
|
|
9631
9704
|
globalThis.brain = brain;
|
|
9632
9705
|
}
|
|
9633
9706
|
const { renderer, onRenderUpdater } = createRenderer2(brain);
|
|
9634
9707
|
brain.onAvailableSizeChange((size) => {
|
|
9635
9708
|
headerBrain.setAvailableSize({ width: size.width });
|
|
9636
9709
|
});
|
|
9637
|
-
if (
|
|
9710
|
+
if (false) {
|
|
9638
9711
|
globalThis.renderer = renderer;
|
|
9639
9712
|
}
|
|
9640
9713
|
return {
|
|
@@ -9700,6 +9773,7 @@ var forwardProps3 = (setupState) => {
|
|
|
9700
9773
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
9701
9774
|
filterEditors: (filterEditors) => __spreadValues(__spreadValues({}, defaultFilterEditors), filterEditors),
|
|
9702
9775
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
9776
|
+
resizableColumns: (resizableColumns) => resizableColumns != null ? resizableColumns : true,
|
|
9703
9777
|
columnMinWidth: (columnMinWidth) => columnMinWidth != null ? columnMinWidth : 30,
|
|
9704
9778
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 2e3,
|
|
9705
9779
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
@@ -9747,6 +9821,19 @@ function getGroupRenderStrategy(options) {
|
|
|
9747
9821
|
}
|
|
9748
9822
|
return "multi-column";
|
|
9749
9823
|
}
|
|
9824
|
+
var cleanupState = (state) => {
|
|
9825
|
+
state.brain.destroy();
|
|
9826
|
+
state.headerBrain.destroy();
|
|
9827
|
+
state.renderer.destroy();
|
|
9828
|
+
state.onRenderUpdater.destroy();
|
|
9829
|
+
state.domRef.current = null;
|
|
9830
|
+
state.scrollerDOMRef.current = null;
|
|
9831
|
+
state.portalDOMRef.current = null;
|
|
9832
|
+
state.onRowHeightCSSVarChange.destroy();
|
|
9833
|
+
state.onColumnHeaderHeightCSSVarChange.destroy();
|
|
9834
|
+
state.pinnedEndScrollListener.destroy();
|
|
9835
|
+
state.pinnedStartScrollListener.destroy();
|
|
9836
|
+
};
|
|
9750
9837
|
var mapPropsToState2 = (params) => {
|
|
9751
9838
|
var _a, _b;
|
|
9752
9839
|
const { props, state, oldState, parentState } = params;
|
|
@@ -9773,6 +9860,9 @@ var mapPropsToState2 = (params) => {
|
|
|
9773
9860
|
};
|
|
9774
9861
|
};
|
|
9775
9862
|
|
|
9863
|
+
// src/components/InfiniteTable/utils/toCSSVarName.ts
|
|
9864
|
+
var toCSSVarName = (value) => `--infinite-${value}`;
|
|
9865
|
+
|
|
9776
9866
|
// src/components/InfiniteTable/index.tsx
|
|
9777
9867
|
var InfiniteTableClassName = internalProps.rootClassName;
|
|
9778
9868
|
var HOVERED_CLASS_NAMES = [RowHoverCls, "InfiniteColumnCell--hovered"];
|
|
@@ -9780,6 +9870,7 @@ var InfiniteTableRoot = getComponentStateRoot({
|
|
|
9780
9870
|
initSetupState: initSetupState2,
|
|
9781
9871
|
forwardProps: forwardProps3,
|
|
9782
9872
|
mapPropsToState: mapPropsToState2,
|
|
9873
|
+
cleanup: cleanupState,
|
|
9783
9874
|
allowedControlledPropOverrides: {
|
|
9784
9875
|
rowHeight: true,
|
|
9785
9876
|
columnHeaderHeight: true
|
|
@@ -9915,7 +10006,7 @@ function InfiniteTableContextProvider() {
|
|
|
9915
10006
|
const computed = useComputed();
|
|
9916
10007
|
const getComputed = useLatest(computed);
|
|
9917
10008
|
const getState = useLatest(componentState);
|
|
9918
|
-
if (
|
|
10009
|
+
if (false) {
|
|
9919
10010
|
globalThis.getState = getState;
|
|
9920
10011
|
globalThis.getComputed = getComputed;
|
|
9921
10012
|
}
|
|
@@ -9957,7 +10048,7 @@ function InfiniteTable(props) {
|
|
|
9957
10048
|
}
|
|
9958
10049
|
InfiniteTable.defaultProps = {
|
|
9959
10050
|
rowHeight: 40,
|
|
9960
|
-
columnHeaderHeight:
|
|
10051
|
+
columnHeaderHeight: toCSSVarName(columnHeaderHeightName)
|
|
9961
10052
|
};
|
|
9962
10053
|
export {
|
|
9963
10054
|
DataSource,
|
package/index.js
CHANGED
|
@@ -694,7 +694,7 @@ var Logger = class {
|
|
|
694
694
|
constructor(channelName) {
|
|
695
695
|
this.debug = emptyLogFn;
|
|
696
696
|
this.error = emptyLogFn;
|
|
697
|
-
if (
|
|
697
|
+
if (false) {
|
|
698
698
|
this.debug = dbg(channelName);
|
|
699
699
|
this.error = err(channelName);
|
|
700
700
|
}
|
|
@@ -892,8 +892,8 @@ function SpacePlaceholderFn(props) {
|
|
|
892
892
|
};
|
|
893
893
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
894
894
|
"data-count": count,
|
|
895
|
-
"data-placeholder-width":
|
|
896
|
-
"data-placeholder-height":
|
|
895
|
+
"data-placeholder-width": false ? width : void 0,
|
|
896
|
+
"data-placeholder-height": false ? height : void 0,
|
|
897
897
|
"data-name": "SpacePlaceholder",
|
|
898
898
|
style
|
|
899
899
|
});
|
|
@@ -1166,7 +1166,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1166
1166
|
if (colWidthDefined) {
|
|
1167
1167
|
this.colWidth = colWidth;
|
|
1168
1168
|
}
|
|
1169
|
-
if (
|
|
1169
|
+
if (false) {
|
|
1170
1170
|
if (widthChanged) {
|
|
1171
1171
|
this.debug("New available width %d (size is %d,%d)", this.width, this.width, this.height);
|
|
1172
1172
|
}
|
|
@@ -1246,12 +1246,18 @@ var MatrixBrain = class extends Logger {
|
|
|
1246
1246
|
}
|
|
1247
1247
|
};
|
|
1248
1248
|
this.notifyScrollStart = () => {
|
|
1249
|
+
if (this.destroyed) {
|
|
1250
|
+
return;
|
|
1251
|
+
}
|
|
1249
1252
|
const fns = this.onScrollStartFns;
|
|
1250
1253
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1251
1254
|
fns[i]();
|
|
1252
1255
|
}
|
|
1253
1256
|
};
|
|
1254
1257
|
this.notifyScrollStop = () => {
|
|
1258
|
+
if (this.destroyed) {
|
|
1259
|
+
return;
|
|
1260
|
+
}
|
|
1255
1261
|
const fns = this.onScrollStopFns;
|
|
1256
1262
|
const scrollPos = this.scrollPosition;
|
|
1257
1263
|
const range = this.getRenderRange();
|
|
@@ -1274,37 +1280,61 @@ var MatrixBrain = class extends Logger {
|
|
|
1274
1280
|
}
|
|
1275
1281
|
};
|
|
1276
1282
|
this.notifyAvailableSizeChange = () => {
|
|
1283
|
+
if (this.destroyed) {
|
|
1284
|
+
return;
|
|
1285
|
+
}
|
|
1277
1286
|
const fns = this.onAvailableSizeChangeFns;
|
|
1278
1287
|
const range = this.getAvailableSize();
|
|
1279
1288
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1280
1289
|
raf2(() => {
|
|
1290
|
+
if (this.destroyed) {
|
|
1291
|
+
return;
|
|
1292
|
+
}
|
|
1281
1293
|
fns[i](range);
|
|
1282
1294
|
});
|
|
1283
1295
|
}
|
|
1284
1296
|
};
|
|
1285
1297
|
this.notifyRenderRangeChange = () => {
|
|
1298
|
+
if (this.destroyed) {
|
|
1299
|
+
return;
|
|
1300
|
+
}
|
|
1286
1301
|
const fns = this.onRenderRangeChangeFns;
|
|
1287
1302
|
const range = this.getRenderRange();
|
|
1288
1303
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1289
1304
|
raf2(() => {
|
|
1305
|
+
if (this.destroyed) {
|
|
1306
|
+
return;
|
|
1307
|
+
}
|
|
1290
1308
|
fns[i](range);
|
|
1291
1309
|
});
|
|
1292
1310
|
}
|
|
1293
1311
|
};
|
|
1294
1312
|
this.notifyVerticalRenderRangeChange = () => {
|
|
1313
|
+
if (this.destroyed) {
|
|
1314
|
+
return;
|
|
1315
|
+
}
|
|
1295
1316
|
const fns = this.onVerticalRenderRangeChangeFns;
|
|
1296
1317
|
const range = this.verticalRenderRange;
|
|
1297
1318
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1298
1319
|
raf2(() => {
|
|
1320
|
+
if (this.destroyed) {
|
|
1321
|
+
return;
|
|
1322
|
+
}
|
|
1299
1323
|
fns[i]([range.startIndex, range.endIndex]);
|
|
1300
1324
|
});
|
|
1301
1325
|
}
|
|
1302
1326
|
};
|
|
1303
1327
|
this.notifyHorizontalRenderRangeChange = () => {
|
|
1328
|
+
if (this.destroyed) {
|
|
1329
|
+
return;
|
|
1330
|
+
}
|
|
1304
1331
|
const fns = this.onHorizontalRenderRangeChangeFns;
|
|
1305
1332
|
const range = this.horizontalRenderRange;
|
|
1306
1333
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
1307
1334
|
raf2(() => {
|
|
1335
|
+
if (this.destroyed) {
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1308
1338
|
fns[i]([range.startIndex, range.endIndex]);
|
|
1309
1339
|
});
|
|
1310
1340
|
}
|
|
@@ -1660,7 +1690,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1660
1690
|
if (cache[i] === void 0) {
|
|
1661
1691
|
cell[direction === "horizontal" ? "colIndex" : "rowIndex"] = i;
|
|
1662
1692
|
let spanValue = itemSpan(cell);
|
|
1663
|
-
if (
|
|
1693
|
+
if (false) {
|
|
1664
1694
|
this.debug(`${direction === "horizontal" ? "colspan" : "rowspan"} cannot be less than 1 - got %d for index %d`, spanValue, i);
|
|
1665
1695
|
}
|
|
1666
1696
|
cache[i] = i;
|
|
@@ -1963,7 +1993,7 @@ var MatrixBrain = class extends Logger {
|
|
|
1963
1993
|
}
|
|
1964
1994
|
this.width = width;
|
|
1965
1995
|
this.height = height;
|
|
1966
|
-
if (
|
|
1996
|
+
if (false) {
|
|
1967
1997
|
this.debug("New available size: width %d, height %d", this.width, this.height);
|
|
1968
1998
|
}
|
|
1969
1999
|
this.notifyAvailableSizeChange();
|
|
@@ -1981,6 +2011,9 @@ var MatrixBrain = class extends Logger {
|
|
|
1981
2011
|
return totalSize.width - this.width;
|
|
1982
2012
|
}
|
|
1983
2013
|
notifyScrollChange() {
|
|
2014
|
+
if (this.destroyed) {
|
|
2015
|
+
return;
|
|
2016
|
+
}
|
|
1984
2017
|
const { scrollPosition } = this;
|
|
1985
2018
|
const fns = this.onScrollFns;
|
|
1986
2019
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
@@ -1997,6 +2030,9 @@ var MatrixBrain = class extends Logger {
|
|
|
1997
2030
|
return direction === "horizontal" ? this.getFixedEndColsWidth() : this.getFixedEndRowsHeight();
|
|
1998
2031
|
}
|
|
1999
2032
|
notifyRenderCountChange() {
|
|
2033
|
+
if (this.destroyed) {
|
|
2034
|
+
return;
|
|
2035
|
+
}
|
|
2000
2036
|
const { horizontalRenderCount, verticalRenderCount } = this;
|
|
2001
2037
|
const renderCount = {
|
|
2002
2038
|
horizontal: horizontalRenderCount,
|
|
@@ -2005,6 +2041,9 @@ var MatrixBrain = class extends Logger {
|
|
|
2005
2041
|
const fns = this.onRenderCountChangeFns;
|
|
2006
2042
|
for (let i = 0, len = fns.length; i < len; i++) {
|
|
2007
2043
|
raf2(() => {
|
|
2044
|
+
if (this.destroyed) {
|
|
2045
|
+
return;
|
|
2046
|
+
}
|
|
2008
2047
|
fns[i](renderCount);
|
|
2009
2048
|
});
|
|
2010
2049
|
}
|
|
@@ -2430,7 +2469,7 @@ var MappedCells = class extends Logger {
|
|
|
2430
2469
|
return elementIndex != null ? elementIndex : null;
|
|
2431
2470
|
};
|
|
2432
2471
|
this.renderCellAtElement = (rowIndex, colIndex, elementIndex, renderNode) => {
|
|
2433
|
-
if (
|
|
2472
|
+
if (false) {
|
|
2434
2473
|
this.debug(`Render cell ${rowIndex},${colIndex} at element ${elementIndex}`);
|
|
2435
2474
|
}
|
|
2436
2475
|
const key = [rowIndex, colIndex];
|
|
@@ -2696,7 +2735,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2696
2735
|
return [];
|
|
2697
2736
|
}
|
|
2698
2737
|
const { start, end } = range;
|
|
2699
|
-
if (
|
|
2738
|
+
if (false) {
|
|
2700
2739
|
this.debug(`Render range ${start}-${end}. Force ${force}`);
|
|
2701
2740
|
}
|
|
2702
2741
|
const { mappedCells } = this;
|
|
@@ -2715,7 +2754,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2715
2754
|
if (this.updaters[elementIndex]) {
|
|
2716
2755
|
this.updaters[elementIndex].destroy();
|
|
2717
2756
|
}
|
|
2718
|
-
if (
|
|
2757
|
+
if (false) {
|
|
2719
2758
|
this.debug(`Discard element ${elementIndex}`);
|
|
2720
2759
|
}
|
|
2721
2760
|
});
|
|
@@ -2767,7 +2806,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2767
2806
|
}
|
|
2768
2807
|
const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : mappedCells.getElementFromListForColumn(elementsOutsideItemRange, col);
|
|
2769
2808
|
if (elementIndex == null) {
|
|
2770
|
-
if (
|
|
2809
|
+
if (false) {
|
|
2771
2810
|
this.error(`Cannot find element to render cell ${row}:${col}`);
|
|
2772
2811
|
}
|
|
2773
2812
|
continue;
|
|
@@ -2786,7 +2825,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2786
2825
|
}
|
|
2787
2826
|
const elementIndex = elementsOutsideItemRange.pop();
|
|
2788
2827
|
if (elementIndex == null) {
|
|
2789
|
-
if (
|
|
2828
|
+
if (false) {
|
|
2790
2829
|
this.error(`Cannot find element to render cell ${rowIndex}-${colIndex}`);
|
|
2791
2830
|
}
|
|
2792
2831
|
return;
|
|
@@ -2985,7 +3024,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2985
3024
|
const itemElement = this.itemDOMElements[elementIndex];
|
|
2986
3025
|
const cell = this.mappedCells.getRenderedCellAtElement(elementIndex);
|
|
2987
3026
|
if (cell == null) {
|
|
2988
|
-
if (
|
|
3027
|
+
if (false) {
|
|
2989
3028
|
this.error(`Cannot find item for element ${elementIndex}`);
|
|
2990
3029
|
}
|
|
2991
3030
|
return;
|
|
@@ -2998,7 +3037,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
2998
3037
|
const { x, y } = itemPosition;
|
|
2999
3038
|
if (itemElement) {
|
|
3000
3039
|
this.updateHoverClassNamesForRow(rowIndex);
|
|
3001
|
-
if (
|
|
3040
|
+
if (false) {
|
|
3002
3041
|
itemElement.dataset.rowIndex = rowIndex;
|
|
3003
3042
|
itemElement.dataset.colIndex = colIndex;
|
|
3004
3043
|
}
|
|
@@ -3007,7 +3046,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3007
3046
|
itemElement.style.willChange = "transform";
|
|
3008
3047
|
itemElement.style.backfaceVisibility = "hidden";
|
|
3009
3048
|
const hidden = options ? options.hidden : !!this.isCellCovered(rowIndex, colIndex);
|
|
3010
|
-
itemElement.style.zIndex = hidden ? "-1" : "auto";
|
|
3049
|
+
itemElement.style.zIndex = hidden ? "-1" : itemElement.dataset.zIndex || "auto";
|
|
3011
3050
|
} else {
|
|
3012
3051
|
itemElement.style.display = "";
|
|
3013
3052
|
itemElement.style.left = `${x}px`;
|
|
@@ -3066,19 +3105,19 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3066
3105
|
node.style.transform = `translate3d(${coords.x}px, ${fixedEndRowsOffsets[rowIndex]}px, 0)`;
|
|
3067
3106
|
}
|
|
3068
3107
|
function adjustColStartRowStart(_rowIndex, _colIndex, node, { x, y }, scrollPosition2) {
|
|
3069
|
-
node.style.zIndex = `
|
|
3108
|
+
node.style.zIndex = `1000000`;
|
|
3070
3109
|
node.style.transform = `translate3d(${x + scrollPosition2.scrollLeft}px, ${y + scrollPosition2.scrollTop}px, 0)`;
|
|
3071
3110
|
}
|
|
3072
3111
|
function adjustColStartRowEnd(_rowIndex, _colIndex, node, { x }, scrollPosition2) {
|
|
3073
|
-
node.style.zIndex = `
|
|
3112
|
+
node.style.zIndex = `2000000`;
|
|
3074
3113
|
node.style.transform = `translate3d(${x + scrollPosition2.scrollLeft}px, ${fixedEndRowsOffsets[_rowIndex]}px, 0)`;
|
|
3075
3114
|
}
|
|
3076
3115
|
function adjustColEndRowStart(_rowIndex, colIndex, node, coords) {
|
|
3077
|
-
node.style.zIndex = `
|
|
3116
|
+
node.style.zIndex = `3000000`;
|
|
3078
3117
|
node.style.transform = `translate3d(${fixedEndColsOffsets[colIndex]}px, ${coords.y + scrollPosition.scrollTop}px, 0)`;
|
|
3079
3118
|
}
|
|
3080
3119
|
function adjustColEndRowEnd(rowIndex, colIndex, node) {
|
|
3081
|
-
node.style.zIndex = `
|
|
3120
|
+
node.style.zIndex = `4000000`;
|
|
3082
3121
|
node.style.transform = `translate3d(${fixedEndColsOffsets[colIndex]}px, ${fixedEndRowsOffsets[rowIndex]}px, 0)`;
|
|
3083
3122
|
}
|
|
3084
3123
|
if (fixedColsStart || fixedColsEnd) {
|
|
@@ -3141,6 +3180,9 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3141
3180
|
}
|
|
3142
3181
|
};
|
|
3143
3182
|
this.destroy = () => {
|
|
3183
|
+
if (this.destroyed) {
|
|
3184
|
+
return;
|
|
3185
|
+
}
|
|
3144
3186
|
this.destroyed = true;
|
|
3145
3187
|
this.reset();
|
|
3146
3188
|
this.onDestroy();
|
|
@@ -3222,7 +3264,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3222
3264
|
return;
|
|
3223
3265
|
}
|
|
3224
3266
|
this.mappedCells.renderCellAtElement(rowIndex, colIndex, elementIndex, renderedNode);
|
|
3225
|
-
if (
|
|
3267
|
+
if (false) {
|
|
3226
3268
|
this.debug(`Render cell ${rowIndex},${colIndex} at element ${elementIndex}`);
|
|
3227
3269
|
}
|
|
3228
3270
|
itemUpdater(renderedNode);
|
|
@@ -3823,6 +3865,12 @@ function getComponentStateRoot(config) {
|
|
|
3823
3865
|
}
|
|
3824
3866
|
}
|
|
3825
3867
|
});
|
|
3868
|
+
(0, import_react14.useEffect)(() => {
|
|
3869
|
+
return () => {
|
|
3870
|
+
var _a2;
|
|
3871
|
+
(_a2 = config.cleanup) == null ? void 0 : _a2.call(config, getComponentState());
|
|
3872
|
+
};
|
|
3873
|
+
}, []);
|
|
3826
3874
|
return /* @__PURE__ */ React13.createElement(Context.Provider, {
|
|
3827
3875
|
value: contextValue
|
|
3828
3876
|
}, props.children);
|
|
@@ -4475,7 +4523,11 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4475
4523
|
};
|
|
4476
4524
|
const domRef = (0, import_react22.useRef)(null);
|
|
4477
4525
|
const {
|
|
4478
|
-
computed: {
|
|
4526
|
+
computed: {
|
|
4527
|
+
computedRemainingSpace,
|
|
4528
|
+
showColumnFilters,
|
|
4529
|
+
computedVisibleColumns
|
|
4530
|
+
},
|
|
4479
4531
|
componentState: { portalDOMRef, columnHeaderHeight, filterEditors }
|
|
4480
4532
|
} = useInfiniteTable();
|
|
4481
4533
|
const {
|
|
@@ -4582,6 +4634,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4582
4634
|
]);
|
|
4583
4635
|
const filterType = column.computedFilterType;
|
|
4584
4636
|
const FilterEditor = filterEditors[filterType] || defaultFilterEditors[filterType] || StringFilterEditor;
|
|
4637
|
+
const resizeHandle = null;
|
|
4585
4638
|
return /* @__PURE__ */ React20.createElement(ContextProvider, {
|
|
4586
4639
|
value: renderParam
|
|
4587
4640
|
}, /* @__PURE__ */ React20.createElement(InfiniteTableCell, {
|
|
@@ -4590,6 +4643,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4590
4643
|
column,
|
|
4591
4644
|
"data-name": `HeaderCell`,
|
|
4592
4645
|
"data-column-id": column.id,
|
|
4646
|
+
"data-z-index": computedVisibleColumns.length * 10 - column.computedVisibleIndex * 10,
|
|
4593
4647
|
style,
|
|
4594
4648
|
width,
|
|
4595
4649
|
onPointerDown,
|
|
@@ -4598,7 +4652,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4598
4652
|
contentStyle: showColumnFilters ? { height: height / 2 } : void 0,
|
|
4599
4653
|
className: join(InfiniteTableHeaderCellClassName, userSelect.none, column.computedSortable ? cursor.pointer : "", useCellClassName(column, [InfiniteTableHeaderCellClassName, InfiniteTableCellClassName], HeaderCellRecipe, { dragging, zebra: false, rowActive: false }), CellCls),
|
|
4600
4654
|
cssEllipsis: (_e = (_d = column.headerCssEllipsis) != null ? _d : column.cssEllipsis) != null ? _e : true,
|
|
4601
|
-
afterChildren: showColumnFilters ? column.computedFilterable ? /* @__PURE__ */ React20.createElement(InfiniteTableColumnHeaderFilter, {
|
|
4655
|
+
afterChildren: /* @__PURE__ */ React20.createElement(React20.Fragment, null, showColumnFilters ? column.computedFilterable ? /* @__PURE__ */ React20.createElement(InfiniteTableColumnHeaderFilter, {
|
|
4602
4656
|
filterEditor: FilterEditor,
|
|
4603
4657
|
filterTypes,
|
|
4604
4658
|
onChange: debouncedOnFilterValueChange,
|
|
@@ -4606,7 +4660,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
4606
4660
|
columnLabel: column.field || column.name || column.id,
|
|
4607
4661
|
columnFilterValue: column.computedFilterValue,
|
|
4608
4662
|
columnHeaderHeight
|
|
4609
|
-
}) : /* @__PURE__ */ React20.createElement(InfiniteTableColumnHeaderFilterEmpty, null) : null,
|
|
4663
|
+
}) : /* @__PURE__ */ React20.createElement(InfiniteTableColumnHeaderFilterEmpty, null) : null, resizeHandle),
|
|
4610
4664
|
renderChildren
|
|
4611
4665
|
}), draggingProxy);
|
|
4612
4666
|
}
|
|
@@ -4967,6 +5021,7 @@ function decamelize(str, options) {
|
|
|
4967
5021
|
|
|
4968
5022
|
// src/components/InfiniteTable/theme.css.ts
|
|
4969
5023
|
var ThemeVars = { color: { accent: "var(--infinite-accent-color)", color: "var(--infinite-color)" }, spacing: { "0": "var(--infinite-space-0)", "1": "var(--infinite-space-1)", "2": "var(--infinite-space-2)", "3": "var(--infinite-space-3)", "4": "var(--infinite-space-4)", "5": "var(--infinite-space-5)", "6": "var(--infinite-space-6)", "7": "var(--infinite-space-7)", "8": "var(--infinite-space-8)", "9": "var(--infinite-space-9)", "10": "var(--infinite-space-10)" }, fontSize: { "0": "var(--infinite-font-size-0)", "1": "var(--infinite-font-size-1)", "2": "var(--infinite-font-size-2)", "3": "var(--infinite-font-size-3)", "4": "var(--infinite-font-size-4)", "5": "var(--infinite-font-size-5)", "6": "var(--infinite-font-size-6)", "7": "var(--infinite-font-size-7)" }, fontFamily: "var(--infinite-font-family)", minHeight: "var(--infinite-min-height)", borderRadius: "var(--infinite-border-radius)", background: "var(--infinite-background)", components: { LoadMask: { padding: "var(--infinite-load-mask-padding)", color: "var(--infinite-load-mask-color)", textBackground: "var(--infinite-load-mask-text-background)", overlayBackground: "var(--infinite-load-mask-overlay-background)", overlayOpacity: "var(--infinite-load-mask-overlay-opacity)", borderRadius: "var(--infinite-load-mask-border-radius)" }, Header: { background: "var(--infinite-header-background)", color: "var(--infinite-header-color)", columnHeaderHeight: "var(--infinite-column-header-height)" }, HeaderCell: { draggingBackground: "var(--infinite-header-cell-dragging-background)", background: "var(--infinite-header-cell-background)", padding: "var(--infinite-header-cell-padding)", paddingX: "var(--infinite-header-cell-padding-x)", paddingY: "var(--infinite-header-cell-padding-y)", iconSize: "var(--infinite-header-cell-icon-size)", sortIconMargin: "var(--infinite-header-cell-sort-icon-margin)" }, Cell: { padding: "var(--infinite-cell-padding)", borderWidth: "var(--infinite-cell-border-width)", border: "var(--infinite-cell-border)", borderInvisible: "var(--infinite-cell-border-invisible)", borderRadius: "var(--infinite-cell-border-radius)", color: "var(--infinite-cell-color)", activeBorderColor_R: "var(--infinite-active-cell-border-color--r)", activeBorderColor_G: "var(--infinite-active-cell-border-color--g)", activeBorderColor_B: "var(--infinite-active-cell-border-color--b)", activeBackgroundAlpha: "var(--infinite-active-cell-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-cell-background-alpha--table-unfocused)", activeBackground: "var(--infinite-active-cell-background)", activeBorderColor: "var(--infinite-active-cell-border-color)", activeBorderWidth: "var(--infinite-active-cell-border-width)", activeBorderStyle: "var(--infinite-active-cell-border-style)", activeBorder: "var(--infinite-active-cell-border)" }, Row: { background: "var(--infinite-row-background)", oddBackground: "var(--infinite-row-odd-background)", activeBackground: "var(--infinite-active-row-background)", activeBorderColor: "var(--infinite-active-row-border-color)", activeBorderWidth: "var(--infinite-active-row-border-width)", activeBorderStyle: "var(--infinite-active-row-border-style)", activeBorder: "var(--infinite-active-row-border)", activeBackgroundAlpha: "var(--infinite-active-row-background-alpha)", activeBackgroundAlphaWhenTableUnfocused: "var(--infinite-active-row-background-alpha--table-unfocused)", hoverBackground: "var(--infinite-row-hover-background)", groupRowBackground: "var(--infinite-group-row-background)", groupRowColumnNesting: "var(--infinite-group-row-column-nesting)", groupNesting: "var(--infinite-dont-override-group-row-nesting-length)", pointerEventsWhileScrolling: "var(--infinite-row-pointer-events-while-scrolling)" }, ColumnCell: { background: "var(--infinite-column-cell-bg-dont-override)" } } };
|
|
5024
|
+
var columnHeaderHeightName = "column-header-height";
|
|
4970
5025
|
|
|
4971
5026
|
// src/components/InfiniteTable/InfiniteCls.css.ts
|
|
4972
5027
|
var import_createRuntimeFn3 = __toModule(require_vanilla_extract_recipes_createRuntimeFn_cjs());
|
|
@@ -5641,7 +5696,7 @@ function computeColumnGroupsDepths(columnGroups) {
|
|
|
5641
5696
|
while (parentGroupId) {
|
|
5642
5697
|
const parent = columnGroups.get(parentGroupId);
|
|
5643
5698
|
if (!parent) {
|
|
5644
|
-
if (
|
|
5699
|
+
if (false) {
|
|
5645
5700
|
console.warn(`Cannot find column group ${parentGroupId}`);
|
|
5646
5701
|
}
|
|
5647
5702
|
break;
|
|
@@ -5758,7 +5813,7 @@ var debug4 = dbg("useColumnSizeFn");
|
|
|
5758
5813
|
function useColumnSizeFn(columns) {
|
|
5759
5814
|
const columnSize = (0, import_react32.useCallback)((index) => {
|
|
5760
5815
|
const column = columns[index];
|
|
5761
|
-
if (
|
|
5816
|
+
if (false) {
|
|
5762
5817
|
debug4("cannot find column at index", index, columns);
|
|
5763
5818
|
}
|
|
5764
5819
|
return column ? column.computedWidth : 0;
|
|
@@ -7865,7 +7920,7 @@ function concludeReducer(params) {
|
|
|
7865
7920
|
}
|
|
7866
7921
|
state.dataArray = rowInfoDataArray;
|
|
7867
7922
|
state.reducedAt = now;
|
|
7868
|
-
if (
|
|
7923
|
+
if (false) {
|
|
7869
7924
|
globalThis.state = state;
|
|
7870
7925
|
}
|
|
7871
7926
|
return state;
|
|
@@ -7903,7 +7958,7 @@ function DataSourceCmp({ children }) {
|
|
|
7903
7958
|
componentActions,
|
|
7904
7959
|
getState
|
|
7905
7960
|
};
|
|
7906
|
-
if (
|
|
7961
|
+
if (false) {
|
|
7907
7962
|
globalThis.getDataSourceState = getState;
|
|
7908
7963
|
}
|
|
7909
7964
|
useLoadData();
|
|
@@ -8354,10 +8409,14 @@ var computeFlex = (params) => {
|
|
|
8354
8409
|
let totalFixedSize = 0;
|
|
8355
8410
|
let totalFlex = 0;
|
|
8356
8411
|
let totalFlexCount = 0;
|
|
8412
|
+
const minSizes = [];
|
|
8413
|
+
const maxSizes = [];
|
|
8357
8414
|
items.forEach((item, i) => {
|
|
8358
8415
|
var _a, _b, _c, _d, _e, _f;
|
|
8359
8416
|
let maxSize = (_b = (_a = item.maxSize) != null ? _a : defaultMaxSize) != null ? _b : void 0;
|
|
8360
8417
|
let minSize = (_d = (_c = item.minSize) != null ? _c : defaultMinSize) != null ? _d : void 0;
|
|
8418
|
+
minSizes.push(minSize);
|
|
8419
|
+
maxSizes.push(maxSize);
|
|
8361
8420
|
if (item.size != null) {
|
|
8362
8421
|
if (maxSize != null && item.size > maxSize) {
|
|
8363
8422
|
item.size = maxSize;
|
|
@@ -8467,6 +8526,8 @@ var computeFlex = (params) => {
|
|
|
8467
8526
|
return {
|
|
8468
8527
|
items: resultItems,
|
|
8469
8528
|
flexSizes,
|
|
8529
|
+
minSizes,
|
|
8530
|
+
maxSizes,
|
|
8470
8531
|
computedSizes,
|
|
8471
8532
|
remainingSize: Math.round(availableSize - totalTakenSize)
|
|
8472
8533
|
};
|
|
@@ -8539,6 +8600,7 @@ var getComputedVisibleColumns = ({
|
|
|
8539
8600
|
setSortInfo,
|
|
8540
8601
|
multiSort,
|
|
8541
8602
|
viewportReservedWidth,
|
|
8603
|
+
resizableColumns,
|
|
8542
8604
|
draggableColumns,
|
|
8543
8605
|
columnOrder,
|
|
8544
8606
|
columnPinning,
|
|
@@ -8623,7 +8685,7 @@ var getComputedVisibleColumns = ({
|
|
|
8623
8685
|
};
|
|
8624
8686
|
})
|
|
8625
8687
|
});
|
|
8626
|
-
const { computedSizes } = flexResult;
|
|
8688
|
+
const { computedSizes, flexSizes, minSizes, maxSizes } = flexResult;
|
|
8627
8689
|
const computedPinnedStartColumns = [];
|
|
8628
8690
|
const computedPinnedEndColumns = [];
|
|
8629
8691
|
const computedUnpinnedColumns = [];
|
|
@@ -8651,7 +8713,7 @@ var getComputedVisibleColumns = ({
|
|
|
8651
8713
|
});
|
|
8652
8714
|
const firstPinnedEndAbsoluteOffset = bodySize.width - totalPinnedEndWidth;
|
|
8653
8715
|
columnsArray.forEach((c, i) => {
|
|
8654
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
8716
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
8655
8717
|
const id = visibleColumnOrder[i];
|
|
8656
8718
|
const nextColumnId = visibleColumnOrder[i + 1];
|
|
8657
8719
|
const colType = getColumnComputedType(c, columnTypes);
|
|
@@ -8662,6 +8724,9 @@ var getComputedVisibleColumns = ({
|
|
|
8662
8724
|
const computedSortedDesc = computedSorted && !computedSortedAsc;
|
|
8663
8725
|
const computedSortIndex = (_c = sortingInfo == null ? void 0 : sortingInfo.index) != null ? _c : -1;
|
|
8664
8726
|
const computedWidth = computedSizes[i];
|
|
8727
|
+
const computedFlex = flexSizes[i] || null;
|
|
8728
|
+
const computedMinWidth = minSizes[i] || null;
|
|
8729
|
+
const computedMaxWidth = maxSizes[i] || null;
|
|
8665
8730
|
const computedPinned = getComputedPinned(id, columnPinning);
|
|
8666
8731
|
const computedLast = i === visibleColumnOrder.length - 1;
|
|
8667
8732
|
const computedPinningOffset = computedPinned === "start" ? computedPinnedStartColumnsWidth : computedPinned === "end" ? computedPinnedEndColumnsWidth : computedOffset - computedPinnedStartColumnsWidth;
|
|
@@ -8695,8 +8760,13 @@ var getComputedVisibleColumns = ({
|
|
|
8695
8760
|
render: colType.render,
|
|
8696
8761
|
style: colType.style,
|
|
8697
8762
|
components: colType.components,
|
|
8763
|
+
columnGroup: colType.columnGroup,
|
|
8698
8764
|
field
|
|
8699
8765
|
}, c), {
|
|
8766
|
+
computedResizable: (_s = (_r = (_q = c.resizable) != null ? _q : colType.resizable) != null ? _r : resizableColumns) != null ? _s : true,
|
|
8767
|
+
computedMinWidth,
|
|
8768
|
+
computedMaxWidth,
|
|
8769
|
+
computedFlex,
|
|
8700
8770
|
computedDataType,
|
|
8701
8771
|
computedSortType,
|
|
8702
8772
|
computedFilterType,
|
|
@@ -8718,7 +8788,7 @@ var getComputedVisibleColumns = ({
|
|
|
8718
8788
|
computedSortedDesc,
|
|
8719
8789
|
computedVisibleIndex: i,
|
|
8720
8790
|
computedPinned,
|
|
8721
|
-
computedDraggable: (
|
|
8791
|
+
computedDraggable: (_u = (_t = c.draggable) != null ? _t : draggableColumns) != null ? _u : true,
|
|
8722
8792
|
computedFirstInCategory,
|
|
8723
8793
|
computedLastInCategory,
|
|
8724
8794
|
computedFirst: i === 0,
|
|
@@ -8768,7 +8838,7 @@ var getComputedVisibleColumns = ({
|
|
|
8768
8838
|
setSortInfo(finalSortInfo);
|
|
8769
8839
|
},
|
|
8770
8840
|
id,
|
|
8771
|
-
header: (
|
|
8841
|
+
header: (_x = (_w = (_v = c.header) != null ? _v : colType.header) != null ? _w : c.name) != null ? _x : c.field
|
|
8772
8842
|
});
|
|
8773
8843
|
computedOffset += computedWidth;
|
|
8774
8844
|
computedVisibleColumnsMap.set(result2.id, result2);
|
|
@@ -8844,6 +8914,7 @@ var useComputedVisibleColumns = ({
|
|
|
8844
8914
|
pinnedEndMaxWidth,
|
|
8845
8915
|
pinnedStartMaxWidth,
|
|
8846
8916
|
viewportReservedWidth,
|
|
8917
|
+
resizableColumns,
|
|
8847
8918
|
columnVisibility,
|
|
8848
8919
|
columnVisibilityAssumeVisible,
|
|
8849
8920
|
columnSizing
|
|
@@ -8875,6 +8946,7 @@ var useComputedVisibleColumns = ({
|
|
|
8875
8946
|
columnCssEllipsis,
|
|
8876
8947
|
columnHeaderCssEllipsis,
|
|
8877
8948
|
viewportReservedWidth,
|
|
8949
|
+
resizableColumns,
|
|
8878
8950
|
filterValue,
|
|
8879
8951
|
sortable,
|
|
8880
8952
|
sortInfo,
|
|
@@ -9032,6 +9104,7 @@ function useComputed() {
|
|
|
9032
9104
|
pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
|
|
9033
9105
|
bodySize,
|
|
9034
9106
|
viewportReservedWidth: componentState.viewportReservedWidth,
|
|
9107
|
+
resizableColumns: componentState.resizableColumns,
|
|
9035
9108
|
sortable: componentState.sortable,
|
|
9036
9109
|
draggableColumns: componentState.draggableColumns,
|
|
9037
9110
|
sortInfo: (_a = dataSourceState.sortInfo) != null ? _a : void 0,
|
|
@@ -9320,7 +9393,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
9320
9393
|
const valid = (0, import_react43.useMemo)(() => {
|
|
9321
9394
|
let valid2 = isValidLicense(licenseKey, {
|
|
9322
9395
|
publishedAt: 1624970570587,
|
|
9323
|
-
version: "0.3.
|
|
9396
|
+
version: "0.3.12"
|
|
9324
9397
|
});
|
|
9325
9398
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
9326
9399
|
return true;
|
|
@@ -9543,14 +9616,14 @@ function initSetupState2() {
|
|
|
9543
9616
|
scrollTop: 0
|
|
9544
9617
|
});
|
|
9545
9618
|
});
|
|
9546
|
-
if (
|
|
9619
|
+
if (false) {
|
|
9547
9620
|
globalThis.brain = brain;
|
|
9548
9621
|
}
|
|
9549
9622
|
const { renderer, onRenderUpdater } = createRenderer2(brain);
|
|
9550
9623
|
brain.onAvailableSizeChange((size) => {
|
|
9551
9624
|
headerBrain.setAvailableSize({ width: size.width });
|
|
9552
9625
|
});
|
|
9553
|
-
if (
|
|
9626
|
+
if (false) {
|
|
9554
9627
|
globalThis.renderer = renderer;
|
|
9555
9628
|
}
|
|
9556
9629
|
return {
|
|
@@ -9616,6 +9689,7 @@ var forwardProps3 = (setupState) => {
|
|
|
9616
9689
|
scrollStopDelay: (scrollStopDelay) => scrollStopDelay != null ? scrollStopDelay : 250,
|
|
9617
9690
|
filterEditors: (filterEditors) => __spreadValues(__spreadValues({}, defaultFilterEditors), filterEditors),
|
|
9618
9691
|
viewportReservedWidth: (viewportReservedWidth) => viewportReservedWidth != null ? viewportReservedWidth : 0,
|
|
9692
|
+
resizableColumns: (resizableColumns) => resizableColumns != null ? resizableColumns : true,
|
|
9619
9693
|
columnMinWidth: (columnMinWidth) => columnMinWidth != null ? columnMinWidth : 30,
|
|
9620
9694
|
columnMaxWidth: (columnMaxWidth) => columnMaxWidth != null ? columnMaxWidth : 2e3,
|
|
9621
9695
|
columnDefaultWidth: (columnDefaultWidth) => columnDefaultWidth != null ? columnDefaultWidth : 200,
|
|
@@ -9663,6 +9737,19 @@ function getGroupRenderStrategy(options) {
|
|
|
9663
9737
|
}
|
|
9664
9738
|
return "multi-column";
|
|
9665
9739
|
}
|
|
9740
|
+
var cleanupState = (state) => {
|
|
9741
|
+
state.brain.destroy();
|
|
9742
|
+
state.headerBrain.destroy();
|
|
9743
|
+
state.renderer.destroy();
|
|
9744
|
+
state.onRenderUpdater.destroy();
|
|
9745
|
+
state.domRef.current = null;
|
|
9746
|
+
state.scrollerDOMRef.current = null;
|
|
9747
|
+
state.portalDOMRef.current = null;
|
|
9748
|
+
state.onRowHeightCSSVarChange.destroy();
|
|
9749
|
+
state.onColumnHeaderHeightCSSVarChange.destroy();
|
|
9750
|
+
state.pinnedEndScrollListener.destroy();
|
|
9751
|
+
state.pinnedStartScrollListener.destroy();
|
|
9752
|
+
};
|
|
9666
9753
|
var mapPropsToState2 = (params) => {
|
|
9667
9754
|
var _a, _b;
|
|
9668
9755
|
const { props, state, oldState, parentState } = params;
|
|
@@ -9689,6 +9776,9 @@ var mapPropsToState2 = (params) => {
|
|
|
9689
9776
|
};
|
|
9690
9777
|
};
|
|
9691
9778
|
|
|
9779
|
+
// src/components/InfiniteTable/utils/toCSSVarName.ts
|
|
9780
|
+
var toCSSVarName = (value) => `--infinite-${value}`;
|
|
9781
|
+
|
|
9692
9782
|
// src/components/InfiniteTable/index.tsx
|
|
9693
9783
|
var InfiniteTableClassName = internalProps.rootClassName;
|
|
9694
9784
|
var HOVERED_CLASS_NAMES = [RowHoverCls, "InfiniteColumnCell--hovered"];
|
|
@@ -9696,6 +9786,7 @@ var InfiniteTableRoot = getComponentStateRoot({
|
|
|
9696
9786
|
initSetupState: initSetupState2,
|
|
9697
9787
|
forwardProps: forwardProps3,
|
|
9698
9788
|
mapPropsToState: mapPropsToState2,
|
|
9789
|
+
cleanup: cleanupState,
|
|
9699
9790
|
allowedControlledPropOverrides: {
|
|
9700
9791
|
rowHeight: true,
|
|
9701
9792
|
columnHeaderHeight: true
|
|
@@ -9831,7 +9922,7 @@ function InfiniteTableContextProvider() {
|
|
|
9831
9922
|
const computed = useComputed();
|
|
9832
9923
|
const getComputed = useLatest(computed);
|
|
9833
9924
|
const getState = useLatest(componentState);
|
|
9834
|
-
if (
|
|
9925
|
+
if (false) {
|
|
9835
9926
|
globalThis.getState = getState;
|
|
9836
9927
|
globalThis.getComputed = getComputed;
|
|
9837
9928
|
}
|
|
@@ -9873,5 +9964,5 @@ function InfiniteTable(props) {
|
|
|
9873
9964
|
}
|
|
9874
9965
|
InfiniteTable.defaultProps = {
|
|
9875
9966
|
rowHeight: 40,
|
|
9876
|
-
columnHeaderHeight:
|
|
9967
|
+
columnHeaderHeight: toCSSVarName(columnHeaderHeightName)
|
|
9877
9968
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infinite-table/infinite-react",
|
|
3
3
|
"description": "Infinite Table for React",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.12",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.esm.js",
|
|
7
7
|
"typings": "index.d.ts",
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "Commercial & Open Source",
|
|
16
16
|
"//": "will be updated at build time",
|
|
17
|
-
"publishedAt":
|
|
17
|
+
"publishedAt": 1654765155370
|
|
18
18
|
}
|