@infinite-table/infinite-react 6.0.19 → 6.1.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.css +11 -9
- package/index.d.ts +143 -97
- package/index.dev.js +1303 -887
- package/index.dev.mjs +1308 -892
- package/index.js +1303 -887
- package/index.mjs +1308 -892
- package/package.json +2 -2
package/index.dev.js
CHANGED
|
@@ -143,7 +143,7 @@ function debounce(fn, { wait }) {
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
// src/components/InfiniteTable/index.tsx
|
|
146
|
-
var
|
|
146
|
+
var React70 = __toESM(require("react"));
|
|
147
147
|
|
|
148
148
|
// src/utils/join.ts
|
|
149
149
|
var join = (...args) => args.filter((x) => !!`${x}`).join(" ");
|
|
@@ -179,12 +179,15 @@ var DeepMap = class {
|
|
|
179
179
|
this.revision = 0;
|
|
180
180
|
this.emptyKey = Symbol("emptyKey");
|
|
181
181
|
this.visit = (fn) => {
|
|
182
|
-
this.map.forEach((_, k) => this.visitKey(k, this.map, [], fn));
|
|
182
|
+
this.map.forEach((_, k) => this.visitKey(k, this.map, [], fn, false));
|
|
183
|
+
};
|
|
184
|
+
this.visitSome = (fn) => {
|
|
185
|
+
this.visitWithNext([], fn, true);
|
|
183
186
|
};
|
|
184
187
|
this.visitDepthFirst = (fn) => {
|
|
185
|
-
this.visitWithNext([], fn);
|
|
188
|
+
this.visitWithNext([], fn, false);
|
|
186
189
|
};
|
|
187
|
-
this.visitWithNext = (parentKeys, fn, currentMap = this.map, depthLimit, skipSelfValue) => {
|
|
190
|
+
this.visitWithNext = (parentKeys, fn, earlyReturn, currentMap = this.map, depthLimit, skipSelfValue) => {
|
|
188
191
|
if (!currentMap) {
|
|
189
192
|
return;
|
|
190
193
|
}
|
|
@@ -211,22 +214,33 @@ var DeepMap = class {
|
|
|
211
214
|
let next = map2 ? () => this.visitWithNext(
|
|
212
215
|
keys,
|
|
213
216
|
fn,
|
|
217
|
+
earlyReturn,
|
|
214
218
|
map2,
|
|
215
219
|
depthLimit !== void 0 ? depthLimit - 1 : void 0
|
|
216
220
|
) : void 0;
|
|
217
221
|
if (pair.hasOwnProperty("value")) {
|
|
218
|
-
fn(pair.value, keys, i, next, pair);
|
|
222
|
+
const res = fn(pair.value, keys, i, next, pair);
|
|
223
|
+
if (earlyReturn && res === true) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
219
226
|
i++;
|
|
220
227
|
} else {
|
|
221
228
|
next?.();
|
|
222
229
|
}
|
|
230
|
+
return;
|
|
223
231
|
};
|
|
224
232
|
if (hasEmptyKey) {
|
|
225
233
|
iterator(void 0, this.emptyKey);
|
|
226
234
|
allowEmptyKey = false;
|
|
227
235
|
i = 0;
|
|
228
236
|
}
|
|
229
|
-
currentMap
|
|
237
|
+
for (const [key, pair] of currentMap) {
|
|
238
|
+
const res = iterator(pair, key);
|
|
239
|
+
if (earlyReturn && res === true) {
|
|
240
|
+
return res;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return;
|
|
230
244
|
};
|
|
231
245
|
this.fill(initial);
|
|
232
246
|
}
|
|
@@ -314,6 +328,7 @@ var DeepMap = class {
|
|
|
314
328
|
(_value, keys2, _i, _next, pair2) => {
|
|
315
329
|
fn({ ...pair2, keys: keys2 });
|
|
316
330
|
},
|
|
331
|
+
false,
|
|
317
332
|
currentMap,
|
|
318
333
|
depthLimit,
|
|
319
334
|
excludeSelf
|
|
@@ -366,6 +381,7 @@ var DeepMap = class {
|
|
|
366
381
|
fn(keys2, value);
|
|
367
382
|
next?.();
|
|
368
383
|
},
|
|
384
|
+
false,
|
|
369
385
|
currentMap,
|
|
370
386
|
depthLimit,
|
|
371
387
|
excludeSelf
|
|
@@ -567,7 +583,7 @@ var DeepMap = class {
|
|
|
567
583
|
}
|
|
568
584
|
return false;
|
|
569
585
|
}
|
|
570
|
-
visitKey(key, currentMap, parentKeys, fn) {
|
|
586
|
+
visitKey(key, currentMap, parentKeys, fn, earlyReturn) {
|
|
571
587
|
const pair = currentMap.get(key);
|
|
572
588
|
if (!pair) {
|
|
573
589
|
return;
|
|
@@ -576,15 +592,23 @@ var DeepMap = class {
|
|
|
576
592
|
const keys = key === this.emptyKey ? [] : [...parentKeys, key];
|
|
577
593
|
const next = once(() => {
|
|
578
594
|
if (map2) {
|
|
579
|
-
|
|
580
|
-
this.visitKey(k, map2, keys, fn);
|
|
581
|
-
|
|
595
|
+
for (const [k] of map2) {
|
|
596
|
+
const res = this.visitKey(k, map2, keys, fn, earlyReturn);
|
|
597
|
+
if (earlyReturn && res === true) {
|
|
598
|
+
return true;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
582
601
|
}
|
|
602
|
+
return false;
|
|
583
603
|
});
|
|
584
604
|
if (pair.hasOwnProperty("value")) {
|
|
585
|
-
fn(pair, keys, next);
|
|
605
|
+
const res = fn(pair, keys, next);
|
|
606
|
+
if (earlyReturn && res === true) {
|
|
607
|
+
return true;
|
|
608
|
+
}
|
|
586
609
|
}
|
|
587
610
|
next();
|
|
611
|
+
return;
|
|
588
612
|
}
|
|
589
613
|
getArray(fn) {
|
|
590
614
|
const result = [];
|
|
@@ -598,6 +622,13 @@ var DeepMap = class {
|
|
|
598
622
|
});
|
|
599
623
|
return result;
|
|
600
624
|
}
|
|
625
|
+
rawKeysAt(keys) {
|
|
626
|
+
const map2 = this.getMapAt(keys);
|
|
627
|
+
if (!map2) {
|
|
628
|
+
return [];
|
|
629
|
+
}
|
|
630
|
+
return [...map2.keys()];
|
|
631
|
+
}
|
|
601
632
|
valuesAt(keys) {
|
|
602
633
|
const map2 = this.getMapAt(keys);
|
|
603
634
|
if (!map2) {
|
|
@@ -1185,7 +1216,7 @@ function useMasterDetailContext() {
|
|
|
1185
1216
|
}
|
|
1186
1217
|
|
|
1187
1218
|
// src/components/HeadlessTable/index.tsx
|
|
1188
|
-
var
|
|
1219
|
+
var React14 = __toESM(require("react"));
|
|
1189
1220
|
var import_react10 = require("react");
|
|
1190
1221
|
|
|
1191
1222
|
// src/components/VirtualList/SpacePlaceholder.tsx
|
|
@@ -1298,7 +1329,7 @@ var VirtualScrollContainer = React7.forwardRef(
|
|
|
1298
1329
|
);
|
|
1299
1330
|
|
|
1300
1331
|
// src/components/HeadlessTable/RawTable.tsx
|
|
1301
|
-
var
|
|
1332
|
+
var React11 = __toESM(require("react"));
|
|
1302
1333
|
var import_react6 = require("react");
|
|
1303
1334
|
|
|
1304
1335
|
// src/components/RawList/AvoidReactDiff.tsx
|
|
@@ -1547,29 +1578,6 @@ function setInfiniteScrollPosition(scrollPosition, node) {
|
|
|
1547
1578
|
);
|
|
1548
1579
|
}
|
|
1549
1580
|
|
|
1550
|
-
// src/components/HeadlessTable/ReactHeadlessTableRenderer.tsx
|
|
1551
|
-
var React9 = __toESM(require("react"));
|
|
1552
|
-
|
|
1553
|
-
// src/utils/mathIntersection.ts
|
|
1554
|
-
function arrayIntersection(...arrays) {
|
|
1555
|
-
if (!arrays.length) {
|
|
1556
|
-
return [];
|
|
1557
|
-
}
|
|
1558
|
-
const map2 = /* @__PURE__ */ new Map();
|
|
1559
|
-
arrays.forEach((arr) => {
|
|
1560
|
-
for (let i = 0, len2 = arr.length; i < len2; i++) {
|
|
1561
|
-
const item = arr[i];
|
|
1562
|
-
const count = map2.get(item) ?? 0;
|
|
1563
|
-
map2.set(item, count + 1);
|
|
1564
|
-
}
|
|
1565
|
-
return map2;
|
|
1566
|
-
});
|
|
1567
|
-
const len = arrays.length;
|
|
1568
|
-
return arrays[0].filter((x) => {
|
|
1569
|
-
return map2.get(x) === len;
|
|
1570
|
-
});
|
|
1571
|
-
}
|
|
1572
|
-
|
|
1573
1581
|
// src/utils/raf.ts
|
|
1574
1582
|
var raf = getGlobal().requestAnimationFrame || ((fn) => {
|
|
1575
1583
|
return setTimeout(fn, 16);
|
|
@@ -2837,300 +2845,861 @@ var MatrixBrain = class extends Logger {
|
|
|
2837
2845
|
}
|
|
2838
2846
|
};
|
|
2839
2847
|
|
|
2840
|
-
// src/components/HeadlessTable/
|
|
2841
|
-
var
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2848
|
+
// src/components/HeadlessTable/GridCellManager.ts
|
|
2849
|
+
var import_binary_search2 = __toESM(require_binary_search());
|
|
2850
|
+
|
|
2851
|
+
// src/utils/setUtils.ts
|
|
2852
|
+
function setIntersection(...sets) {
|
|
2853
|
+
if (!sets.length) {
|
|
2854
|
+
return /* @__PURE__ */ new Set();
|
|
2855
|
+
}
|
|
2856
|
+
const [first, ...rest] = sets;
|
|
2857
|
+
return new Set([...first].filter((x) => rest.every((set) => set.has(x))));
|
|
2858
|
+
}
|
|
2859
|
+
function setFilter(set, filter) {
|
|
2860
|
+
const result = /* @__PURE__ */ new Set();
|
|
2861
|
+
for (const x of set) {
|
|
2862
|
+
if (filter(x)) {
|
|
2863
|
+
result.add(x);
|
|
2864
|
+
}
|
|
2865
|
+
}
|
|
2866
|
+
return result;
|
|
2867
|
+
}
|
|
2868
|
+
function setFind(set, find) {
|
|
2869
|
+
for (const x of set) {
|
|
2870
|
+
if (find(x)) {
|
|
2871
|
+
return x;
|
|
2872
|
+
}
|
|
2873
|
+
}
|
|
2874
|
+
return void 0;
|
|
2875
|
+
}
|
|
2876
|
+
|
|
2877
|
+
// src/components/HeadlessTable/GridCellPoolForReact.tsx
|
|
2878
|
+
var React9 = __toESM(require("react"));
|
|
2879
|
+
var CELL_COUNT_BY_DEBUG_ID = /* @__PURE__ */ new Map();
|
|
2880
|
+
var emptyFn = () => {
|
|
2881
|
+
};
|
|
2882
|
+
var GridCellForReact = class {
|
|
2883
|
+
constructor(debugId, cellInfo) {
|
|
2884
|
+
this.element = null;
|
|
2885
|
+
this.mountSubscription = buildSubscriptionCallback();
|
|
2886
|
+
const count = CELL_COUNT_BY_DEBUG_ID.get(debugId) ?? 0;
|
|
2887
|
+
const key = `${debugId}:GridCellReact:${count}`;
|
|
2888
|
+
CELL_COUNT_BY_DEBUG_ID.set(debugId, count + 1);
|
|
2889
|
+
this.debugId = key;
|
|
2890
|
+
this.cellInfo = cellInfo;
|
|
2891
|
+
this.updater = buildSubscriptionCallback();
|
|
2892
|
+
this.node = /* @__PURE__ */ React9.createElement(AvoidReactDiff, { key, name: key, updater: this.updater });
|
|
2893
|
+
this.ref = (htmlElement) => {
|
|
2894
|
+
this.element = htmlElement;
|
|
2895
|
+
if (htmlElement) {
|
|
2896
|
+
this.mountSubscription(this);
|
|
2897
|
+
}
|
|
2898
|
+
};
|
|
2899
|
+
}
|
|
2900
|
+
onMount(callback) {
|
|
2901
|
+
const off = this.mountSubscription.onChange((cell) => {
|
|
2902
|
+
if (cell != null) {
|
|
2903
|
+
callback(cell);
|
|
2858
2904
|
}
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
this.
|
|
2905
|
+
});
|
|
2906
|
+
return off;
|
|
2907
|
+
}
|
|
2908
|
+
destroy() {
|
|
2909
|
+
this.mountSubscription.destroy();
|
|
2910
|
+
this.updater.destroy();
|
|
2911
|
+
this.ref = emptyFn;
|
|
2912
|
+
this.element = null;
|
|
2913
|
+
this.node = null;
|
|
2914
|
+
}
|
|
2915
|
+
getNode() {
|
|
2916
|
+
return this.node;
|
|
2917
|
+
}
|
|
2918
|
+
update(content, additionalInfo) {
|
|
2919
|
+
this.updater(content);
|
|
2920
|
+
this.cellInfo = additionalInfo;
|
|
2921
|
+
}
|
|
2922
|
+
getAdditionalInfo() {
|
|
2923
|
+
return this.cellInfo;
|
|
2924
|
+
}
|
|
2925
|
+
getElement() {
|
|
2926
|
+
return this.element;
|
|
2927
|
+
}
|
|
2928
|
+
};
|
|
2929
|
+
var _GridCellPoolForReact = class extends Logger {
|
|
2930
|
+
constructor(debugId) {
|
|
2931
|
+
super(`${debugId}:GridCellPoolForReact`);
|
|
2932
|
+
this.debugId = debugId;
|
|
2933
|
+
this.cellRemoveSubscription = buildSubscriptionCallback();
|
|
2934
|
+
this.attachedCells = /* @__PURE__ */ new Set();
|
|
2935
|
+
this.detachedCells = /* @__PURE__ */ new Set();
|
|
2936
|
+
this.allCellsOrdered = /* @__PURE__ */ new Set();
|
|
2937
|
+
}
|
|
2938
|
+
destroy() {
|
|
2939
|
+
this.reset();
|
|
2940
|
+
}
|
|
2941
|
+
onRemoveCell(callback) {
|
|
2942
|
+
const off = this.cellRemoveSubscription.onChange((cell) => {
|
|
2943
|
+
if (cell != null) {
|
|
2944
|
+
callback(cell);
|
|
2945
|
+
}
|
|
2946
|
+
});
|
|
2947
|
+
return off;
|
|
2948
|
+
}
|
|
2949
|
+
reset() {
|
|
2950
|
+
this.attachedCells.clear();
|
|
2951
|
+
this.detachedCells.clear();
|
|
2952
|
+
this.allCellsOrdered.clear();
|
|
2953
|
+
this.cellRemoveSubscription.destroy();
|
|
2954
|
+
}
|
|
2955
|
+
getAttachedCells() {
|
|
2956
|
+
return this.attachedCells;
|
|
2957
|
+
}
|
|
2958
|
+
getDetachedCells() {
|
|
2959
|
+
return this.detachedCells;
|
|
2960
|
+
}
|
|
2961
|
+
getAllCells() {
|
|
2962
|
+
return this.allCellsOrdered;
|
|
2963
|
+
}
|
|
2964
|
+
/**
|
|
2965
|
+
* This should be the only place where we create a new cell.
|
|
2966
|
+
*/
|
|
2967
|
+
createCell() {
|
|
2968
|
+
const cell = new GridCellForReact(this.debugId);
|
|
2969
|
+
this.detachedCells.add(cell);
|
|
2970
|
+
this.allCellsOrdered.add(cell);
|
|
2971
|
+
return cell;
|
|
2972
|
+
}
|
|
2973
|
+
/**
|
|
2974
|
+
* This really removes the cell, not only makes it detached,
|
|
2975
|
+
* but removes it from the render tree and from the pool.
|
|
2976
|
+
*/
|
|
2977
|
+
removeCell(cell) {
|
|
2978
|
+
if (false) {
|
|
2979
|
+
if (!this.detachedCells.has(cell)) {
|
|
2980
|
+
this.error(
|
|
2981
|
+
`You want to remove the cell, but it's not in the detached cells set!`
|
|
2982
|
+
);
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2985
|
+
this.detachedCells.delete(cell);
|
|
2986
|
+
this.attachedCells.delete(cell);
|
|
2987
|
+
this.allCellsOrdered.delete(cell);
|
|
2988
|
+
cell.destroy();
|
|
2989
|
+
this.cellRemoveSubscription(cell);
|
|
2990
|
+
}
|
|
2991
|
+
/**
|
|
2992
|
+
* This attaches a cell to the table.
|
|
2993
|
+
* If no cell is provided, it will get a detached one from the pool
|
|
2994
|
+
* and move that cell to the attached set.
|
|
2995
|
+
* If a cell is provided, it's moved to the attached set as well.
|
|
2996
|
+
*/
|
|
2997
|
+
attachCell(cell) {
|
|
2998
|
+
if (!cell) {
|
|
2999
|
+
cell = this.getDetachedCell();
|
|
3000
|
+
}
|
|
3001
|
+
this.detachedCells.delete(cell);
|
|
3002
|
+
this.attachedCells.add(cell);
|
|
3003
|
+
return cell;
|
|
3004
|
+
}
|
|
3005
|
+
detachCell(cell) {
|
|
3006
|
+
this.attachedCells.delete(cell);
|
|
3007
|
+
this.detachedCells.add(cell);
|
|
3008
|
+
}
|
|
3009
|
+
/**
|
|
3010
|
+
* This gets a detached cell from the pool.
|
|
3011
|
+
* If no detached cell is available, it will create a new one and return that.
|
|
3012
|
+
*/
|
|
3013
|
+
getDetachedCell() {
|
|
3014
|
+
const { detachedCells } = this;
|
|
3015
|
+
let cell = detachedCells.values().next().value;
|
|
3016
|
+
if (!cell) {
|
|
3017
|
+
this.poolSize += _GridCellPoolForReact.POOL_SIZE_INCREMENT;
|
|
3018
|
+
}
|
|
3019
|
+
cell = detachedCells.values().next().value;
|
|
3020
|
+
if (!cell) {
|
|
3021
|
+
this.error("No cells available in the pool!");
|
|
3022
|
+
}
|
|
3023
|
+
return cell;
|
|
3024
|
+
}
|
|
3025
|
+
get attachedSize() {
|
|
3026
|
+
return this.attachedCells.size;
|
|
3027
|
+
}
|
|
3028
|
+
get detachedSize() {
|
|
3029
|
+
return this.detachedCells.size;
|
|
3030
|
+
}
|
|
3031
|
+
get poolSize() {
|
|
3032
|
+
return this.allCellsOrdered.size;
|
|
3033
|
+
}
|
|
3034
|
+
set poolSize(value) {
|
|
3035
|
+
value = Math.ceil(value / _GridCellPoolForReact.POOL_SIZE_INCREMENT) * _GridCellPoolForReact.POOL_SIZE_INCREMENT;
|
|
3036
|
+
const currentSize = this.poolSize;
|
|
3037
|
+
if (value === currentSize) {
|
|
3038
|
+
return;
|
|
3039
|
+
}
|
|
3040
|
+
const { detachedCells } = this;
|
|
3041
|
+
let diff = currentSize - value;
|
|
3042
|
+
if (diff > 0) {
|
|
3043
|
+
if (diff > detachedCells.size) {
|
|
3044
|
+
diff = detachedCells.size;
|
|
3045
|
+
this.debug("Trying to destroy more cells than are currently detached!");
|
|
3046
|
+
}
|
|
3047
|
+
const iterator = detachedCells.values();
|
|
3048
|
+
while (diff > 0) {
|
|
3049
|
+
const cell = iterator.next().value;
|
|
3050
|
+
this.removeCell(cell);
|
|
3051
|
+
diff--;
|
|
3052
|
+
}
|
|
3053
|
+
} else {
|
|
3054
|
+
diff = -diff;
|
|
3055
|
+
while (diff > 0) {
|
|
3056
|
+
this.createCell();
|
|
3057
|
+
diff--;
|
|
3058
|
+
}
|
|
3059
|
+
}
|
|
3060
|
+
}
|
|
3061
|
+
};
|
|
3062
|
+
var GridCellPoolForReact = _GridCellPoolForReact;
|
|
3063
|
+
// we'll grow the pool by this amount at a time
|
|
3064
|
+
GridCellPoolForReact.POOL_SIZE_INCREMENT = 5;
|
|
3065
|
+
|
|
3066
|
+
// src/components/HeadlessTable/GridCellManager.ts
|
|
3067
|
+
var GridCellManager = class extends Logger {
|
|
3068
|
+
constructor(debugId) {
|
|
3069
|
+
super(`${debugId}:GridCellManager`);
|
|
3070
|
+
this.matrix = new DeepMap();
|
|
3071
|
+
this.matrixWithHistory = new DeepMap();
|
|
3072
|
+
this.cellToMatrixPosition = /* @__PURE__ */ new WeakMap();
|
|
3073
|
+
this.getCellsOutsideRenderRange = (range) => {
|
|
2875
3074
|
const { start, end } = range;
|
|
2876
3075
|
const [startRow, startCol] = start;
|
|
2877
3076
|
const [endRow, endCol] = end;
|
|
2878
|
-
const
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
continue;
|
|
3077
|
+
const cells = /* @__PURE__ */ new Set();
|
|
3078
|
+
this.matrix.visit(({ value: cell }, cellPos) => {
|
|
3079
|
+
if (!cell) {
|
|
3080
|
+
return;
|
|
2883
3081
|
}
|
|
2884
|
-
const [rowIndex, colIndex] =
|
|
3082
|
+
const [rowIndex, colIndex] = cellPos;
|
|
2885
3083
|
const rowBefore = rowIndex < startRow;
|
|
2886
3084
|
const rowAfter = rowIndex >= endRow;
|
|
2887
3085
|
const colBefore = colIndex < startCol;
|
|
2888
3086
|
const colAfter = colIndex >= endCol;
|
|
2889
3087
|
const outsideRenderRange = rowBefore || rowAfter || colBefore || colAfter;
|
|
2890
3088
|
if (outsideRenderRange) {
|
|
2891
|
-
|
|
3089
|
+
cells.add(cell);
|
|
2892
3090
|
}
|
|
2893
|
-
}
|
|
2894
|
-
return
|
|
2895
|
-
};
|
|
2896
|
-
this.isCellRendered = (rowIndex, columnIndex) => {
|
|
2897
|
-
return this.cellToElementIndex.has([rowIndex, columnIndex]);
|
|
2898
|
-
};
|
|
2899
|
-
this.getCellAdditionalInfo = (rowIndex, columnIndex) => {
|
|
2900
|
-
return this.cellAdditionalInfo.get([rowIndex, columnIndex]);
|
|
2901
|
-
};
|
|
2902
|
-
this.isElementRendered = (elementIndex) => {
|
|
2903
|
-
return !!this.elementIndexToCell[elementIndex];
|
|
2904
|
-
};
|
|
2905
|
-
this.getElementsForRowIndex = (rowIndex) => {
|
|
2906
|
-
return this.cellToElementIndex.getValuesStartingWith([rowIndex]);
|
|
2907
|
-
};
|
|
2908
|
-
this.getAdditionalInfoForRowIndex = (rowIndex) => {
|
|
2909
|
-
return this.cellAdditionalInfo.getValuesStartingWith([rowIndex]);
|
|
2910
|
-
};
|
|
2911
|
-
this.getRenderedNodeAtElement = (elementIndex) => {
|
|
2912
|
-
return this.renderedElements[elementIndex] || null;
|
|
2913
|
-
};
|
|
2914
|
-
this.getRenderedCellAtElement = (elementIndex) => {
|
|
2915
|
-
const cell = this.elementIndexToCell[elementIndex];
|
|
2916
|
-
return cell || null;
|
|
2917
|
-
};
|
|
2918
|
-
this.getRenderedNodeForCell = (rowIndex, columnIndex) => {
|
|
2919
|
-
const elementIndex = this.cellToElementIndex.get([rowIndex, columnIndex]);
|
|
2920
|
-
return elementIndex != null ? this.renderedElements[elementIndex] || null : null;
|
|
2921
|
-
};
|
|
2922
|
-
this.getElementIndexForCell = (rowIndex, columnIndex) => {
|
|
2923
|
-
const elementIndex = this.cellToElementIndex.get([rowIndex, columnIndex]);
|
|
2924
|
-
return elementIndex ?? null;
|
|
3091
|
+
});
|
|
3092
|
+
return cells;
|
|
2925
3093
|
};
|
|
2926
|
-
this.
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
3094
|
+
this.debugId = debugId;
|
|
3095
|
+
this.pool = new GridCellPoolForReact(debugId);
|
|
3096
|
+
this.offRemoveCell = this.pool.onRemoveCell(
|
|
3097
|
+
(cell) => this.onRemoveCell(cell)
|
|
3098
|
+
);
|
|
3099
|
+
}
|
|
3100
|
+
onRemoveCell(cell) {
|
|
3101
|
+
const cellPos = this.cellToMatrixPosition.get(cell);
|
|
3102
|
+
this.cellToMatrixPosition.delete(cell);
|
|
3103
|
+
if (!cellPos) {
|
|
3104
|
+
return;
|
|
3105
|
+
}
|
|
3106
|
+
this.matrix.delete(cellPos);
|
|
3107
|
+
let cellsAtPos = this.matrixWithHistory.get(cellPos);
|
|
3108
|
+
if (cellsAtPos) {
|
|
3109
|
+
cellsAtPos.delete(cell);
|
|
3110
|
+
}
|
|
3111
|
+
}
|
|
3112
|
+
set poolSize(cellCount) {
|
|
3113
|
+
this.pool.poolSize = cellCount;
|
|
3114
|
+
}
|
|
3115
|
+
get poolSize() {
|
|
3116
|
+
return this.pool.poolSize;
|
|
3117
|
+
}
|
|
3118
|
+
getDetachedCell() {
|
|
3119
|
+
console.warn("getting detached cell");
|
|
3120
|
+
return this.pool.getDetachedCell();
|
|
3121
|
+
}
|
|
3122
|
+
setCellPositionInMatrix(cell, cellPos) {
|
|
3123
|
+
if (cellPos == null) {
|
|
3124
|
+
const currentCellPos = this.cellToMatrixPosition.get(cell);
|
|
3125
|
+
if (currentCellPos) {
|
|
3126
|
+
this.matrix.delete(currentCellPos);
|
|
2943
3127
|
}
|
|
2944
|
-
|
|
2945
|
-
this.
|
|
2946
|
-
|
|
2947
|
-
|
|
3128
|
+
} else {
|
|
3129
|
+
let prevCellPos = this.cellToMatrixPosition.get(cell);
|
|
3130
|
+
const samePos = prevCellPos && prevCellPos[0] === cellPos[0] && prevCellPos[1] === cellPos[1];
|
|
3131
|
+
this.matrix.set(cellPos, cell);
|
|
3132
|
+
this.cellToMatrixPosition.set(cell, cellPos);
|
|
3133
|
+
let cellsAtPos = this.matrixWithHistory.get(cellPos);
|
|
3134
|
+
if (!cellsAtPos) {
|
|
3135
|
+
cellsAtPos = /* @__PURE__ */ new Set();
|
|
3136
|
+
cellsAtPos.add(cell);
|
|
3137
|
+
this.matrixWithHistory.set(cellPos, cellsAtPos);
|
|
3138
|
+
} else {
|
|
3139
|
+
cellsAtPos.add(cell);
|
|
2948
3140
|
}
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
this.renderedElements[elementIndex] = null;
|
|
2955
|
-
this.elementIndexToCell[elementIndex] = null;
|
|
2956
|
-
this.cellToElementIndex.delete(key);
|
|
2957
|
-
if (this.withCellAdditionalInfo) {
|
|
2958
|
-
this.cellAdditionalInfo.delete(key);
|
|
3141
|
+
if (prevCellPos && !samePos) {
|
|
3142
|
+
this.matrix.delete(prevCellPos);
|
|
3143
|
+
let cellsAtPrevPos = this.matrixWithHistory.get(prevCellPos);
|
|
3144
|
+
if (cellsAtPrevPos) {
|
|
3145
|
+
cellsAtPrevPos.delete(cell);
|
|
2959
3146
|
}
|
|
2960
3147
|
}
|
|
2961
|
-
}
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
this.
|
|
2968
|
-
this.
|
|
2969
|
-
|
|
2970
|
-
this.cellAdditionalInfo.delete(key);
|
|
2971
|
-
}
|
|
2972
|
-
return cell;
|
|
3148
|
+
}
|
|
3149
|
+
}
|
|
3150
|
+
renderNodeAtCell(node, cell, cellPos, additionalInfo) {
|
|
3151
|
+
const currentCellAtPos = this.getCellAt(cellPos);
|
|
3152
|
+
if (currentCellAtPos) {
|
|
3153
|
+
if (currentCellAtPos !== cell) {
|
|
3154
|
+
this.detachCellAt(cellPos);
|
|
3155
|
+
this.detachCell(cell);
|
|
3156
|
+
} else {
|
|
2973
3157
|
}
|
|
3158
|
+
} else {
|
|
3159
|
+
this.detachCell(cell);
|
|
3160
|
+
}
|
|
3161
|
+
this.pool.attachCell(cell);
|
|
3162
|
+
this.setCellPositionInMatrix(cell, cellPos);
|
|
3163
|
+
cell.update(node, additionalInfo);
|
|
3164
|
+
return cell;
|
|
3165
|
+
}
|
|
3166
|
+
getCellPosition(cell) {
|
|
3167
|
+
const cellPos = this.cellToMatrixPosition.get(cell);
|
|
3168
|
+
if (!cellPos) {
|
|
2974
3169
|
return null;
|
|
2975
|
-
}
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
3170
|
+
}
|
|
3171
|
+
const cellAtPos = this.getCellAt(cellPos);
|
|
3172
|
+
if (cellAtPos != cell) {
|
|
3173
|
+
return null;
|
|
3174
|
+
}
|
|
3175
|
+
return cellPos;
|
|
3176
|
+
}
|
|
3177
|
+
getCellAt(cellPos) {
|
|
3178
|
+
return this.matrix.get(cellPos);
|
|
3179
|
+
}
|
|
3180
|
+
/**
|
|
3181
|
+
* This gets a cell for a given position.
|
|
3182
|
+
* If there's already a cell currently attached at that position, it will be returned.
|
|
3183
|
+
*
|
|
3184
|
+
* Otherwise, we try to return the most optimal cell to use for that position.
|
|
3185
|
+
* If the optimise parameter is set to 'row', we will try to return a detached cell
|
|
3186
|
+
* that was last rendered in that row.
|
|
3187
|
+
*
|
|
3188
|
+
* If the optimise parameter is set to 'column', we will try to return a detached cell
|
|
3189
|
+
* that was last rendered in that column.
|
|
3190
|
+
*
|
|
3191
|
+
* @param cellPos [rowIndex, colIndex]
|
|
3192
|
+
* @param optimise 'row' | 'column'
|
|
3193
|
+
*/
|
|
3194
|
+
getCellFor(cellPos, optimise) {
|
|
3195
|
+
let cell = this.getCellAt(cellPos);
|
|
3196
|
+
if (cell) {
|
|
3197
|
+
return cell;
|
|
3198
|
+
}
|
|
3199
|
+
const [rowIndex, colIndex] = cellPos;
|
|
3200
|
+
if (optimise === "row") {
|
|
3201
|
+
this.matrixWithHistory.visitSome((cellsForPos, [row], __, next) => {
|
|
3202
|
+
if (cell) {
|
|
3203
|
+
return true;
|
|
3204
|
+
}
|
|
3205
|
+
if (row === rowIndex) {
|
|
3206
|
+
cell = setFind(cellsForPos, (c) => !this.isCellAttached(c));
|
|
3207
|
+
if (cell) {
|
|
3208
|
+
return true;
|
|
2984
3209
|
}
|
|
2985
|
-
|
|
2986
|
-
|
|
3210
|
+
}
|
|
3211
|
+
next?.();
|
|
3212
|
+
return false;
|
|
3213
|
+
});
|
|
3214
|
+
}
|
|
3215
|
+
if (optimise === "column") {
|
|
3216
|
+
this.matrixWithHistory.visitSome((cellsForPos, [_row, col], __, next) => {
|
|
3217
|
+
if (cell) {
|
|
3218
|
+
return true;
|
|
3219
|
+
}
|
|
3220
|
+
if (col === colIndex) {
|
|
3221
|
+
cell = setFind(cellsForPos, (c) => !this.isCellAttached(c));
|
|
3222
|
+
if (cell) {
|
|
3223
|
+
return true;
|
|
2987
3224
|
}
|
|
2988
3225
|
}
|
|
2989
|
-
|
|
2990
|
-
|
|
3226
|
+
next?.();
|
|
3227
|
+
return false;
|
|
3228
|
+
});
|
|
3229
|
+
}
|
|
3230
|
+
return cell ?? this.getDetachedCell();
|
|
3231
|
+
}
|
|
3232
|
+
isCellAttached(cell) {
|
|
3233
|
+
return this.getCellPosition(cell) !== null;
|
|
3234
|
+
}
|
|
3235
|
+
isCellAttachedAt(cellPos) {
|
|
3236
|
+
const cell = this.getCellAt(cellPos);
|
|
3237
|
+
if (!cell) {
|
|
3238
|
+
return false;
|
|
3239
|
+
}
|
|
3240
|
+
return this.isCellAttached(cell);
|
|
3241
|
+
}
|
|
3242
|
+
getMatrix() {
|
|
3243
|
+
const lastRow = this.getRowsWithCells().pop() ?? -1;
|
|
3244
|
+
const lastColumn = this.getColumnsWithCells().pop() ?? -1;
|
|
3245
|
+
const matrix = Array.from({ length: lastRow + 1 }, (_, rowIndex) => {
|
|
3246
|
+
const row = Array.from({ length: lastColumn + 1 }, (_2, colIndex) => {
|
|
3247
|
+
const cellPos = [rowIndex, colIndex];
|
|
3248
|
+
const cell = this.getCellAt(cellPos);
|
|
3249
|
+
return cell ? cell.getNode() : null;
|
|
3250
|
+
});
|
|
3251
|
+
return row;
|
|
3252
|
+
});
|
|
3253
|
+
return matrix;
|
|
3254
|
+
}
|
|
3255
|
+
getAllCells() {
|
|
3256
|
+
return [...this.pool.getAllCells()];
|
|
3257
|
+
}
|
|
3258
|
+
getCellsForRow(rowIndex) {
|
|
3259
|
+
return this.matrix.getKeysStartingWith([rowIndex]).map((cellPos) => {
|
|
3260
|
+
return this.getCellAt(cellPos);
|
|
3261
|
+
}).filter(Boolean);
|
|
3262
|
+
}
|
|
3263
|
+
getOneAttachedCell() {
|
|
3264
|
+
const cells = this.pool.getAttachedCells();
|
|
3265
|
+
const cell = cells.values().next().value;
|
|
3266
|
+
return cell;
|
|
3267
|
+
}
|
|
3268
|
+
getRowsWithCells() {
|
|
3269
|
+
return this.matrix.rawKeysAt([]).sort();
|
|
3270
|
+
}
|
|
3271
|
+
getColumnsWithCells() {
|
|
3272
|
+
const positions = this.matrix.getUnnestedKeysStartingWith([], true);
|
|
3273
|
+
const columns = new Set(positions.map((pos) => pos[1]));
|
|
3274
|
+
return [...columns.values()].sort();
|
|
3275
|
+
}
|
|
3276
|
+
isRowAttached(rowIndex) {
|
|
3277
|
+
return this.getRowsWithCells().includes(rowIndex);
|
|
3278
|
+
}
|
|
3279
|
+
isColumnAttached(colIndex) {
|
|
3280
|
+
return this.getColumnsWithCells().includes(colIndex);
|
|
3281
|
+
}
|
|
3282
|
+
detachRow(rowIndex) {
|
|
3283
|
+
const cellPositions = this.matrix.getKeysStartingWith([
|
|
3284
|
+
rowIndex
|
|
3285
|
+
]);
|
|
3286
|
+
cellPositions.forEach((cellPos) => this.detachCellAt(cellPos));
|
|
3287
|
+
}
|
|
3288
|
+
detachCol(colIndex) {
|
|
3289
|
+
this.matrix.visit((_, cellPos) => {
|
|
3290
|
+
if (cellPos[1] === colIndex) {
|
|
3291
|
+
this.detachCellAt(cellPos);
|
|
2991
3292
|
}
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
3293
|
+
});
|
|
3294
|
+
}
|
|
3295
|
+
detachCell(cell) {
|
|
3296
|
+
const cellPos = this.getCellPosition(cell);
|
|
3297
|
+
if (cellPos) {
|
|
3298
|
+
this.detachCellAt(cellPos);
|
|
2997
3299
|
}
|
|
2998
3300
|
}
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
this.cellToElementIndex = new DeepMap();
|
|
3002
|
-
this.cellAdditionalInfo = new DeepMap();
|
|
3003
|
-
this.renderedElements = [];
|
|
3301
|
+
detachCells(cells) {
|
|
3302
|
+
cells.forEach((cell) => this.detachCell(cell));
|
|
3004
3303
|
}
|
|
3005
|
-
|
|
3006
|
-
this.
|
|
3304
|
+
detachRowsStartingWith(rowIndex) {
|
|
3305
|
+
const rows = this.getRowsWithCells().sort();
|
|
3306
|
+
let idx = (0, import_binary_search2.default)(rows, rowIndex, (a, b) => a - b);
|
|
3307
|
+
if (idx < 0) {
|
|
3308
|
+
idx = ~idx;
|
|
3309
|
+
}
|
|
3310
|
+
const rowsToDiscard = rows.slice(idx);
|
|
3311
|
+
rowsToDiscard.forEach((row) => this.detachRow(row));
|
|
3312
|
+
}
|
|
3313
|
+
detachColsStartingWith(colIndex) {
|
|
3314
|
+
const cols = this.getColumnsWithCells().sort();
|
|
3315
|
+
let idx = (0, import_binary_search2.default)(cols, colIndex, (a, b) => a - b);
|
|
3316
|
+
if (idx < 0) {
|
|
3317
|
+
idx = ~idx;
|
|
3318
|
+
}
|
|
3319
|
+
const colsToDiscard = cols.slice(idx);
|
|
3320
|
+
colsToDiscard.forEach((col) => this.detachCol(col));
|
|
3321
|
+
}
|
|
3322
|
+
detachCellsStartingAt(cellPos) {
|
|
3323
|
+
const [rowIndex, colIndex] = cellPos;
|
|
3324
|
+
this.matrix.visit((_, cellPos2) => {
|
|
3325
|
+
const [row, col] = cellPos2;
|
|
3326
|
+
if (row >= rowIndex || col >= colIndex) {
|
|
3327
|
+
this.detachCellAt(cellPos2);
|
|
3328
|
+
}
|
|
3329
|
+
});
|
|
3330
|
+
}
|
|
3331
|
+
detachCellAt(cellPos) {
|
|
3332
|
+
const cell = this.getCellAt(cellPos);
|
|
3333
|
+
if (cell) {
|
|
3334
|
+
this.setCellPositionInMatrix(cell, null);
|
|
3335
|
+
this.pool.detachCell(cell);
|
|
3336
|
+
}
|
|
3337
|
+
}
|
|
3338
|
+
getCellFromListForRow(cells, rowIndex) {
|
|
3339
|
+
return setFind(cells, (cell) => {
|
|
3340
|
+
return this.getCellPosition(cell)?.[0] === rowIndex;
|
|
3341
|
+
});
|
|
3342
|
+
}
|
|
3343
|
+
getCellFromListForColumn(cells, colIndex) {
|
|
3344
|
+
return setFind(cells, (cell) => {
|
|
3345
|
+
return this.getCellPosition(cell)?.[1] === colIndex;
|
|
3346
|
+
});
|
|
3347
|
+
}
|
|
3348
|
+
getCellCountInMatrix() {
|
|
3349
|
+
return this.matrix.size;
|
|
3007
3350
|
}
|
|
3008
3351
|
destroy() {
|
|
3009
|
-
this.
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
this.
|
|
3352
|
+
this.reset();
|
|
3353
|
+
}
|
|
3354
|
+
reset() {
|
|
3355
|
+
this.pool.reset();
|
|
3356
|
+
this.matrix.clear();
|
|
3357
|
+
this.matrixWithHistory.clear();
|
|
3358
|
+
this.offRemoveCell();
|
|
3359
|
+
this.offRemoveCell = () => {
|
|
3360
|
+
};
|
|
3361
|
+
}
|
|
3362
|
+
makeDetachedCellsEmpty() {
|
|
3363
|
+
this.pool.getDetachedCells().forEach((cell) => {
|
|
3364
|
+
cell.update(null);
|
|
3365
|
+
});
|
|
3013
3366
|
}
|
|
3014
3367
|
};
|
|
3015
3368
|
|
|
3016
|
-
// src/components/HeadlessTable/
|
|
3017
|
-
var
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
}
|
|
3369
|
+
// src/components/HeadlessTable/ListRowManager.ts
|
|
3370
|
+
var import_binary_search3 = __toESM(require_binary_search());
|
|
3371
|
+
|
|
3372
|
+
// src/components/HeadlessTable/ListRowPoolForReact.tsx
|
|
3373
|
+
var React10 = __toESM(require("react"));
|
|
3374
|
+
var ROW_COUNT_BY_DEBUG_ID = /* @__PURE__ */ new Map();
|
|
3375
|
+
var emptyFn2 = () => {
|
|
3376
|
+
};
|
|
3377
|
+
var ListRowForReact = class {
|
|
3378
|
+
constructor(debugId) {
|
|
3379
|
+
this.element = null;
|
|
3380
|
+
this.mountSubscription = buildSubscriptionCallback();
|
|
3381
|
+
const count = ROW_COUNT_BY_DEBUG_ID.get(debugId) ?? 0;
|
|
3382
|
+
const key = `${debugId}:ListRowReact:${count}`;
|
|
3383
|
+
ROW_COUNT_BY_DEBUG_ID.set(debugId, count + 1);
|
|
3384
|
+
this.debugId = key;
|
|
3385
|
+
this.updater = buildSubscriptionCallback();
|
|
3386
|
+
this.node = /* @__PURE__ */ React10.createElement(
|
|
3387
|
+
AvoidReactDiff,
|
|
3388
|
+
{
|
|
3389
|
+
key: `detail-row-${key}`,
|
|
3390
|
+
name: `detail-row-${key}`,
|
|
3391
|
+
updater: this.updater
|
|
3392
|
+
}
|
|
3393
|
+
);
|
|
3394
|
+
this.ref = (htmlElement) => {
|
|
3395
|
+
this.element = htmlElement;
|
|
3396
|
+
if (htmlElement) {
|
|
3397
|
+
this.mountSubscription(this);
|
|
3046
3398
|
}
|
|
3047
|
-
return result;
|
|
3048
|
-
};
|
|
3049
|
-
this.isRowRendered = (rowIndex) => {
|
|
3050
|
-
return this.rowToElementIndex[rowIndex] != null;
|
|
3051
|
-
};
|
|
3052
|
-
this.isElementRendered = (elementIndex) => {
|
|
3053
|
-
return this.elementIndexToRowIndex[elementIndex] != null;
|
|
3054
|
-
};
|
|
3055
|
-
this.getRenderedNodeAtElement = (elementIndex) => {
|
|
3056
|
-
return this.renderedElements[elementIndex] || null;
|
|
3057
|
-
};
|
|
3058
|
-
this.getRenderedRowAtElement = (elementIndex) => {
|
|
3059
|
-
const row = this.elementIndexToRowIndex[elementIndex];
|
|
3060
|
-
return row ?? null;
|
|
3061
|
-
};
|
|
3062
|
-
this.getRenderedNodeForRow = (rowIndex) => {
|
|
3063
|
-
const elementIndex = this.rowToElementIndex[rowIndex];
|
|
3064
|
-
return elementIndex != null ? this.renderedElements[elementIndex] ?? null : null;
|
|
3065
|
-
};
|
|
3066
|
-
this.getElementIndexForRow = (rowIndex) => {
|
|
3067
|
-
const elementIndex = this.rowToElementIndex[rowIndex];
|
|
3068
|
-
return elementIndex ?? null;
|
|
3069
3399
|
};
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3400
|
+
}
|
|
3401
|
+
onMount(callback) {
|
|
3402
|
+
const off = this.mountSubscription.onChange((row) => {
|
|
3403
|
+
if (row != null) {
|
|
3404
|
+
callback(row);
|
|
3073
3405
|
}
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3406
|
+
});
|
|
3407
|
+
return off;
|
|
3408
|
+
}
|
|
3409
|
+
destroy() {
|
|
3410
|
+
this.mountSubscription.destroy();
|
|
3411
|
+
this.updater.destroy();
|
|
3412
|
+
this.ref = emptyFn2;
|
|
3413
|
+
this.element = null;
|
|
3414
|
+
this.node = null;
|
|
3415
|
+
}
|
|
3416
|
+
getNode() {
|
|
3417
|
+
return this.node;
|
|
3418
|
+
}
|
|
3419
|
+
update(content) {
|
|
3420
|
+
this.updater(content);
|
|
3421
|
+
}
|
|
3422
|
+
getElement() {
|
|
3423
|
+
return this.element;
|
|
3424
|
+
}
|
|
3425
|
+
};
|
|
3426
|
+
var _ListRowPoolForReact = class extends Logger {
|
|
3427
|
+
constructor(debugId) {
|
|
3428
|
+
super(`${debugId}:ListRowPoolForReact`);
|
|
3429
|
+
this.debugId = debugId;
|
|
3430
|
+
this.rowRemoveSubscription = buildSubscriptionCallback();
|
|
3431
|
+
this.attachedRows = /* @__PURE__ */ new Set();
|
|
3432
|
+
this.detachedRows = /* @__PURE__ */ new Set();
|
|
3433
|
+
this.allRowsOrdered = /* @__PURE__ */ new Set();
|
|
3434
|
+
}
|
|
3435
|
+
destroy() {
|
|
3436
|
+
this.reset();
|
|
3437
|
+
}
|
|
3438
|
+
onRemoveRow(callback) {
|
|
3439
|
+
const off = this.rowRemoveSubscription.onChange((row) => {
|
|
3440
|
+
if (row != null) {
|
|
3441
|
+
callback(row);
|
|
3077
3442
|
}
|
|
3078
|
-
|
|
3079
|
-
|
|
3443
|
+
});
|
|
3444
|
+
return off;
|
|
3445
|
+
}
|
|
3446
|
+
reset() {
|
|
3447
|
+
this.attachedRows.clear();
|
|
3448
|
+
this.detachedRows.clear();
|
|
3449
|
+
this.allRowsOrdered.clear();
|
|
3450
|
+
this.rowRemoveSubscription.destroy();
|
|
3451
|
+
}
|
|
3452
|
+
getAttachedRows() {
|
|
3453
|
+
return this.attachedRows;
|
|
3454
|
+
}
|
|
3455
|
+
getDetachedRows() {
|
|
3456
|
+
return this.detachedRows;
|
|
3457
|
+
}
|
|
3458
|
+
getAllRows() {
|
|
3459
|
+
return this.allRowsOrdered;
|
|
3460
|
+
}
|
|
3461
|
+
/**
|
|
3462
|
+
* This should be the only place where we create a new cell.
|
|
3463
|
+
*/
|
|
3464
|
+
createRow() {
|
|
3465
|
+
const row = new ListRowForReact(this.debugId);
|
|
3466
|
+
this.detachedRows.add(row);
|
|
3467
|
+
this.allRowsOrdered.add(row);
|
|
3468
|
+
return row;
|
|
3469
|
+
}
|
|
3470
|
+
/**
|
|
3471
|
+
* This really removes the cell, not only makes it detached,
|
|
3472
|
+
* but removes it from the render tree and from the pool.
|
|
3473
|
+
*/
|
|
3474
|
+
removeRow(row) {
|
|
3475
|
+
if (false) {
|
|
3476
|
+
if (!this.detachedRows.has(row)) {
|
|
3477
|
+
this.error(
|
|
3478
|
+
`You want to remove the row, but it's not in the detached rows set!`
|
|
3479
|
+
);
|
|
3080
3480
|
}
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
this.
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3481
|
+
}
|
|
3482
|
+
this.detachedRows.delete(row);
|
|
3483
|
+
this.attachedRows.delete(row);
|
|
3484
|
+
this.allRowsOrdered.delete(row);
|
|
3485
|
+
row.destroy();
|
|
3486
|
+
this.rowRemoveSubscription(row);
|
|
3487
|
+
}
|
|
3488
|
+
/**
|
|
3489
|
+
* This attaches a row to the list.
|
|
3490
|
+
* If no row is provided, it will get a detached one from the pool
|
|
3491
|
+
* and move that row to the attached set.
|
|
3492
|
+
* If a row is provided, it's moved to the attached set as well.
|
|
3493
|
+
*/
|
|
3494
|
+
attachRow(row) {
|
|
3495
|
+
if (!row) {
|
|
3496
|
+
row = this.getDetachedRow();
|
|
3497
|
+
}
|
|
3498
|
+
this.detachedRows.delete(row);
|
|
3499
|
+
this.attachedRows.add(row);
|
|
3500
|
+
return row;
|
|
3501
|
+
}
|
|
3502
|
+
detachRow(row) {
|
|
3503
|
+
this.attachedRows.delete(row);
|
|
3504
|
+
this.detachedRows.add(row);
|
|
3505
|
+
}
|
|
3506
|
+
/**
|
|
3507
|
+
* This gets a detached row from the pool.
|
|
3508
|
+
* If no detached row is available, it will create a new one and return that.
|
|
3509
|
+
*/
|
|
3510
|
+
getDetachedRow() {
|
|
3511
|
+
const { detachedRows } = this;
|
|
3512
|
+
let row = detachedRows.values().next().value;
|
|
3513
|
+
if (!row) {
|
|
3514
|
+
this.poolSize += _ListRowPoolForReact.POOL_SIZE_INCREMENT;
|
|
3515
|
+
}
|
|
3516
|
+
row = detachedRows.values().next().value;
|
|
3517
|
+
if (!row) {
|
|
3518
|
+
this.error("No rows available in the pool!");
|
|
3519
|
+
}
|
|
3520
|
+
return row;
|
|
3521
|
+
}
|
|
3522
|
+
get attachedSize() {
|
|
3523
|
+
return this.attachedRows.size;
|
|
3524
|
+
}
|
|
3525
|
+
get detachedSize() {
|
|
3526
|
+
return this.detachedRows.size;
|
|
3527
|
+
}
|
|
3528
|
+
get poolSize() {
|
|
3529
|
+
return this.allRowsOrdered.size;
|
|
3530
|
+
}
|
|
3531
|
+
set poolSize(value) {
|
|
3532
|
+
value = Math.ceil(value / _ListRowPoolForReact.POOL_SIZE_INCREMENT) * _ListRowPoolForReact.POOL_SIZE_INCREMENT;
|
|
3533
|
+
const currentSize = this.poolSize;
|
|
3534
|
+
if (value === currentSize) {
|
|
3535
|
+
return;
|
|
3536
|
+
}
|
|
3537
|
+
const { detachedRows } = this;
|
|
3538
|
+
let diff = currentSize - value;
|
|
3539
|
+
if (diff > 0) {
|
|
3540
|
+
if (diff > detachedRows.size) {
|
|
3541
|
+
diff = detachedRows.size;
|
|
3542
|
+
this.debug("Trying to destroy more rows than are currently detached!");
|
|
3090
3543
|
}
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
this.elementIndexToRowIndex[elementIndex] = null;
|
|
3097
|
-
this.rowToElementIndex[rowIndex] = null;
|
|
3098
|
-
return rowIndex;
|
|
3544
|
+
const iterator = detachedRows.values();
|
|
3545
|
+
while (diff > 0) {
|
|
3546
|
+
const row = iterator.next().value;
|
|
3547
|
+
this.removeRow(row);
|
|
3548
|
+
diff--;
|
|
3099
3549
|
}
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
if (elIndex < this.elementIndexToRowIndex.length) {
|
|
3106
|
-
for (let elementIndex = elIndex, len = this.elementIndexToRowIndex.length; elementIndex < len; elementIndex++) {
|
|
3107
|
-
discardedRow = this.discardElement(elementIndex);
|
|
3108
|
-
if (discardedRow) {
|
|
3109
|
-
oneDiscarded = true;
|
|
3110
|
-
}
|
|
3111
|
-
if (callback) {
|
|
3112
|
-
callback(elementIndex, discardedRow);
|
|
3113
|
-
}
|
|
3114
|
-
}
|
|
3115
|
-
this.elementIndexToRowIndex.length = elIndex;
|
|
3116
|
-
this.renderedElements.length = elIndex;
|
|
3550
|
+
} else {
|
|
3551
|
+
diff = -diff;
|
|
3552
|
+
while (diff > 0) {
|
|
3553
|
+
this.createRow();
|
|
3554
|
+
diff--;
|
|
3117
3555
|
}
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3556
|
+
}
|
|
3557
|
+
}
|
|
3558
|
+
};
|
|
3559
|
+
var ListRowPoolForReact = _ListRowPoolForReact;
|
|
3560
|
+
// we'll grow the pool by this amount at a time
|
|
3561
|
+
ListRowPoolForReact.POOL_SIZE_INCREMENT = 5;
|
|
3562
|
+
|
|
3563
|
+
// src/components/HeadlessTable/ListRowManager.ts
|
|
3564
|
+
var ListRowManager = class extends Logger {
|
|
3565
|
+
constructor(debugId) {
|
|
3566
|
+
super(`${debugId}:ListRowManager`);
|
|
3567
|
+
this.indexToRow = /* @__PURE__ */ new Map();
|
|
3568
|
+
this.rowToIndex = /* @__PURE__ */ new WeakMap();
|
|
3569
|
+
this.debugId = debugId;
|
|
3570
|
+
this.pool = new ListRowPoolForReact(debugId);
|
|
3571
|
+
this.offRemoveRow = this.pool.onRemoveRow((row) => this.onRemoveRow(row));
|
|
3572
|
+
}
|
|
3573
|
+
onRemoveRow(row) {
|
|
3574
|
+
const rowIndex = this.rowToIndex.get(row);
|
|
3575
|
+
if (rowIndex == null) {
|
|
3576
|
+
return;
|
|
3577
|
+
}
|
|
3578
|
+
this.rowToIndex.delete(row);
|
|
3579
|
+
this.indexToRow.delete(rowIndex);
|
|
3580
|
+
}
|
|
3581
|
+
set poolSize(rowCount) {
|
|
3582
|
+
this.pool.poolSize = rowCount;
|
|
3583
|
+
}
|
|
3584
|
+
get poolSize() {
|
|
3585
|
+
return this.pool.poolSize;
|
|
3586
|
+
}
|
|
3587
|
+
getDetachedRow() {
|
|
3588
|
+
return this.pool.getDetachedRow();
|
|
3589
|
+
}
|
|
3590
|
+
/**
|
|
3591
|
+
* This gets a row for a given position.
|
|
3592
|
+
* If there's already a row currently attached at that position, it will be returned.
|
|
3593
|
+
*
|
|
3594
|
+
* Otherwise, we return another row.
|
|
3595
|
+
* @param rowIndex
|
|
3596
|
+
*/
|
|
3597
|
+
getRowFor(rowIndex) {
|
|
3598
|
+
return this.getRowAt(rowIndex) ?? this.getDetachedRow();
|
|
3599
|
+
}
|
|
3600
|
+
setRowIndexInList(row, rowIndex) {
|
|
3601
|
+
const currentIndex = this.rowToIndex.get(row);
|
|
3602
|
+
if (currentIndex != null) {
|
|
3603
|
+
this.indexToRow.delete(currentIndex);
|
|
3604
|
+
}
|
|
3605
|
+
if (rowIndex == null) {
|
|
3606
|
+
this.rowToIndex.delete(row);
|
|
3607
|
+
} else {
|
|
3608
|
+
this.rowToIndex.set(row, rowIndex);
|
|
3609
|
+
this.indexToRow.set(rowIndex, row);
|
|
3610
|
+
}
|
|
3611
|
+
}
|
|
3612
|
+
detachStartingWith(rowIndex) {
|
|
3613
|
+
const rows = this.getAttachedIndexes();
|
|
3614
|
+
let idx = (0, import_binary_search3.default)(rows, rowIndex, (a, b) => a - b);
|
|
3615
|
+
if (idx < 0) {
|
|
3616
|
+
idx = ~idx;
|
|
3617
|
+
}
|
|
3618
|
+
const rowsToDiscard = rows.slice(idx);
|
|
3619
|
+
rowsToDiscard.forEach((rowIndex2) => this.detachRowAt(rowIndex2));
|
|
3620
|
+
}
|
|
3621
|
+
getRowAt(rowPos) {
|
|
3622
|
+
return this.indexToRow.get(rowPos);
|
|
3623
|
+
}
|
|
3624
|
+
getRowIndex(row) {
|
|
3625
|
+
return this.rowToIndex.get(row);
|
|
3626
|
+
}
|
|
3627
|
+
isRowAttached(row) {
|
|
3628
|
+
const rowIndex = this.getRowIndex(row);
|
|
3629
|
+
return rowIndex != null;
|
|
3630
|
+
}
|
|
3631
|
+
isRowAttachedAt(rowIndex) {
|
|
3632
|
+
const row = this.getRowAt(rowIndex);
|
|
3633
|
+
return !!row;
|
|
3634
|
+
}
|
|
3635
|
+
getList() {
|
|
3636
|
+
const max = Math.max(...this.indexToRow.keys());
|
|
3637
|
+
const list = Array.from({ length: max + 1 }, (_, index) => {
|
|
3638
|
+
const row = this.indexToRow.get(index);
|
|
3639
|
+
if (!row) {
|
|
3640
|
+
return null;
|
|
3641
|
+
}
|
|
3642
|
+
return row.getNode();
|
|
3643
|
+
});
|
|
3644
|
+
return list;
|
|
3645
|
+
}
|
|
3646
|
+
getAttachedCount() {
|
|
3647
|
+
return this.indexToRow.size;
|
|
3648
|
+
}
|
|
3649
|
+
forEachAttachedRow(fn) {
|
|
3650
|
+
this.indexToRow.forEach(fn);
|
|
3651
|
+
}
|
|
3652
|
+
getAttachedIndexes() {
|
|
3653
|
+
return Array.from(this.indexToRow.keys()).sort();
|
|
3654
|
+
}
|
|
3655
|
+
getAllRows() {
|
|
3656
|
+
return [...this.pool.getAllRows()];
|
|
3657
|
+
}
|
|
3658
|
+
detachRowAt(rowIndex) {
|
|
3659
|
+
const row = this.getRowAt(rowIndex);
|
|
3660
|
+
if (!row) {
|
|
3661
|
+
return;
|
|
3662
|
+
}
|
|
3663
|
+
this.setRowIndexInList(row, null);
|
|
3664
|
+
this.pool.detachRow(row);
|
|
3665
|
+
}
|
|
3666
|
+
detachRow(row) {
|
|
3667
|
+
const rowIndex = this.getRowIndex(row);
|
|
3668
|
+
if (rowIndex == null) {
|
|
3669
|
+
return;
|
|
3670
|
+
}
|
|
3671
|
+
this.detachRowAt(rowIndex);
|
|
3121
3672
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3673
|
+
renderNodeAtRow(node, row, rowIndex) {
|
|
3674
|
+
const currentRowAtPos = this.getRowAt(rowIndex);
|
|
3675
|
+
if (currentRowAtPos) {
|
|
3676
|
+
if (currentRowAtPos !== row) {
|
|
3677
|
+
this.detachRowAt(rowIndex);
|
|
3678
|
+
this.detachRow(row);
|
|
3679
|
+
} else {
|
|
3680
|
+
}
|
|
3681
|
+
} else {
|
|
3682
|
+
this.detachRow(row);
|
|
3683
|
+
}
|
|
3684
|
+
this.pool.attachRow(row);
|
|
3685
|
+
this.setRowIndexInList(row, rowIndex);
|
|
3686
|
+
row.update(node);
|
|
3687
|
+
return row;
|
|
3126
3688
|
}
|
|
3127
|
-
|
|
3128
|
-
this.
|
|
3689
|
+
makeDetachedRowsEmpty() {
|
|
3690
|
+
this.pool.getDetachedRows().forEach((row) => {
|
|
3691
|
+
row.update(null);
|
|
3692
|
+
});
|
|
3129
3693
|
}
|
|
3130
3694
|
destroy() {
|
|
3131
|
-
this.
|
|
3132
|
-
|
|
3133
|
-
|
|
3695
|
+
this.reset();
|
|
3696
|
+
}
|
|
3697
|
+
reset() {
|
|
3698
|
+
this.pool.reset();
|
|
3699
|
+
this.indexToRow.clear();
|
|
3700
|
+
this.offRemoveRow();
|
|
3701
|
+
this.offRemoveRow = () => {
|
|
3702
|
+
};
|
|
3134
3703
|
}
|
|
3135
3704
|
};
|
|
3136
3705
|
|
|
@@ -3142,7 +3711,7 @@ var columnOffsetAtIndex2 = stripVar(InternalVars.columnOffsetAtIndex);
|
|
|
3142
3711
|
var columnOffsetAtIndexWhileReordering2 = stripVar(
|
|
3143
3712
|
InternalVars.columnOffsetAtIndexWhileReordering
|
|
3144
3713
|
);
|
|
3145
|
-
var
|
|
3714
|
+
var GridRenderer = class extends Logger {
|
|
3146
3715
|
constructor(brain, debugId) {
|
|
3147
3716
|
debugId = debugId || "ReactHeadlessTableRenderer";
|
|
3148
3717
|
super(debugId);
|
|
@@ -3150,14 +3719,6 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3150
3719
|
this.destroyed = false;
|
|
3151
3720
|
this.scrolling = false;
|
|
3152
3721
|
this.cellHoverClassNames = [];
|
|
3153
|
-
this.itemDOMElements = [];
|
|
3154
|
-
this.itemDOMRefs = [];
|
|
3155
|
-
this.updaters = [];
|
|
3156
|
-
this.detailRowDOMElements = [];
|
|
3157
|
-
this.detailRowDOMRefs = [];
|
|
3158
|
-
this.detailRowUpdaters = [];
|
|
3159
|
-
this.items = [];
|
|
3160
|
-
this.detailItems = [];
|
|
3161
3722
|
this.lastEnteredRow = -1;
|
|
3162
3723
|
this.lastExitedRow = -1;
|
|
3163
3724
|
this.hoverRowUpdatesInProgress = /* @__PURE__ */ new Map();
|
|
@@ -3383,12 +3944,13 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3383
3944
|
};
|
|
3384
3945
|
this.isRowRendered = (rowIndex) => {
|
|
3385
3946
|
if (!this.brain.isHorizontalLayoutBrain) {
|
|
3386
|
-
|
|
3387
|
-
return elements.length > 0;
|
|
3947
|
+
return this.cellManager.isRowAttached(rowIndex);
|
|
3388
3948
|
}
|
|
3389
3949
|
const initialRowIndex = rowIndex;
|
|
3390
3950
|
rowIndex = this.brain.rowsPerPage ? rowIndex % this.brain.rowsPerPage : rowIndex;
|
|
3391
|
-
return this.
|
|
3951
|
+
return this.cellManager.getCellsForRow(rowIndex).filter(
|
|
3952
|
+
(cell) => cell.getAdditionalInfo()?.renderRowIndex === initialRowIndex
|
|
3953
|
+
).length > 0;
|
|
3392
3954
|
};
|
|
3393
3955
|
this.isCellVisible = (rowIndex, colIndex) => {
|
|
3394
3956
|
return this.isRowVisible(rowIndex) && this.isColumnVisible(colIndex);
|
|
@@ -3454,8 +4016,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3454
4016
|
const colsCount = this.brain.getInitialCols();
|
|
3455
4017
|
colIndex = colsCount * opts.horizontalLayoutPageIndex + colIndex;
|
|
3456
4018
|
}
|
|
3457
|
-
|
|
3458
|
-
return nodeRendered;
|
|
4019
|
+
return this.cellManager.isCellAttachedAt([startRow, colIndex]);
|
|
3459
4020
|
};
|
|
3460
4021
|
this.getExtraSpanCellsForRange = (range) => {
|
|
3461
4022
|
const { start, end } = range;
|
|
@@ -3598,11 +4159,11 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3598
4159
|
}
|
|
3599
4160
|
};
|
|
3600
4161
|
this.addHoverClass = (rowIndex) => {
|
|
3601
|
-
this.
|
|
3602
|
-
const
|
|
3603
|
-
if (
|
|
4162
|
+
this.cellManager.getCellsForRow(rowIndex).forEach((cell) => {
|
|
4163
|
+
const element = cell.getElement();
|
|
4164
|
+
if (element) {
|
|
3604
4165
|
this.cellHoverClassNames.forEach((cls) => {
|
|
3605
|
-
|
|
4166
|
+
element.classList.add(cls);
|
|
3606
4167
|
});
|
|
3607
4168
|
}
|
|
3608
4169
|
});
|
|
@@ -3618,11 +4179,11 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3618
4179
|
}
|
|
3619
4180
|
};
|
|
3620
4181
|
this.removeHoverClass = (rowIndex) => {
|
|
3621
|
-
this.
|
|
3622
|
-
const
|
|
3623
|
-
if (
|
|
4182
|
+
this.cellManager.getCellsForRow(rowIndex).forEach((cell) => {
|
|
4183
|
+
const element = cell.getElement();
|
|
4184
|
+
if (element) {
|
|
3624
4185
|
this.cellHoverClassNames.forEach((cls) => {
|
|
3625
|
-
|
|
4186
|
+
element.classList.remove(cls);
|
|
3626
4187
|
});
|
|
3627
4188
|
}
|
|
3628
4189
|
});
|
|
@@ -3655,19 +4216,16 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3655
4216
|
this.hoverRowUpdatesInProgress.delete(rowIndex);
|
|
3656
4217
|
});
|
|
3657
4218
|
};
|
|
3658
|
-
this.updateElementPosition = (
|
|
4219
|
+
this.updateElementPosition = (cell, options) => {
|
|
3659
4220
|
if (this.destroyed) {
|
|
3660
4221
|
return;
|
|
3661
4222
|
}
|
|
3662
|
-
const itemElement =
|
|
3663
|
-
const
|
|
3664
|
-
if (
|
|
3665
|
-
if (false) {
|
|
3666
|
-
this.error(`Cannot find item for element ${elementIndex}`);
|
|
3667
|
-
}
|
|
4223
|
+
const itemElement = cell.getElement();
|
|
4224
|
+
const cellPos = this.cellManager.getCellPosition(cell);
|
|
4225
|
+
if (!cellPos) {
|
|
3668
4226
|
return;
|
|
3669
4227
|
}
|
|
3670
|
-
const [rowIndex, colIndex] =
|
|
4228
|
+
const [rowIndex, colIndex] = cellPos;
|
|
3671
4229
|
const itemPosition = this.brain.getCellOffset(rowIndex, colIndex);
|
|
3672
4230
|
if (itemPosition == null) {
|
|
3673
4231
|
return;
|
|
@@ -3699,15 +4257,15 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3699
4257
|
}
|
|
3700
4258
|
}
|
|
3701
4259
|
};
|
|
3702
|
-
this.updateDetailElementPosition = (
|
|
4260
|
+
this.updateDetailElementPosition = (row) => {
|
|
3703
4261
|
if (this.destroyed) {
|
|
3704
4262
|
return;
|
|
3705
4263
|
}
|
|
3706
|
-
const itemElement =
|
|
3707
|
-
const rowIndex = this.
|
|
4264
|
+
const itemElement = row.getElement();
|
|
4265
|
+
const rowIndex = this.rowManager.getRowIndex(row);
|
|
3708
4266
|
if (rowIndex == null) {
|
|
3709
4267
|
if (false) {
|
|
3710
|
-
this.error(`Cannot find row for detail element ${
|
|
4268
|
+
this.error(`Cannot find row for detail element ${rowIndex}`);
|
|
3711
4269
|
}
|
|
3712
4270
|
return;
|
|
3713
4271
|
}
|
|
@@ -3747,21 +4305,22 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3747
4305
|
}
|
|
3748
4306
|
};
|
|
3749
4307
|
this.adjustFixedElementsOnScroll = (scrollPosition = this.brain.getScrollPosition()) => {
|
|
3750
|
-
const {
|
|
4308
|
+
const { brain, cellManager, rowManager } = this;
|
|
3751
4309
|
const cols = this.brain.getColCount();
|
|
3752
4310
|
const rows = this.brain.getRowCount();
|
|
3753
4311
|
const { fixedColsStart, fixedColsEnd, fixedRowsStart, fixedRowsEnd } = this.brain.getFixedCellInfo();
|
|
3754
|
-
if (
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
return;
|
|
3758
|
-
}
|
|
3759
|
-
const rowIndex = this.mappedDetailRows.getRenderedRowAtElement(index);
|
|
4312
|
+
if (rowManager.getAttachedCount()) {
|
|
4313
|
+
rowManager.forEachAttachedRow((row) => {
|
|
4314
|
+
const rowIndex = rowManager.getRowIndex(row);
|
|
3760
4315
|
if (rowIndex != null) {
|
|
3761
4316
|
const y = this.brain.getItemOffsetFor(rowIndex, "vertical");
|
|
3762
4317
|
if (y == null) {
|
|
3763
4318
|
return;
|
|
3764
4319
|
}
|
|
4320
|
+
const node = row.getElement();
|
|
4321
|
+
if (!node) {
|
|
4322
|
+
return;
|
|
4323
|
+
}
|
|
3765
4324
|
this.setDetailTransform(node, rowIndex, {
|
|
3766
4325
|
y,
|
|
3767
4326
|
scrollLeft: scrollPosition.scrollLeft
|
|
@@ -3772,10 +4331,11 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3772
4331
|
if (!fixedColsStart && !fixedColsEnd && !fixedRowsStart && !fixedRowsEnd) {
|
|
3773
4332
|
return;
|
|
3774
4333
|
}
|
|
3775
|
-
|
|
4334
|
+
const attachedCell = this.cellManager.getOneAttachedCell();
|
|
4335
|
+
if (attachedCell) {
|
|
3776
4336
|
setInfiniteScrollPosition(
|
|
3777
4337
|
scrollPosition,
|
|
3778
|
-
this.getInfiniteNode(
|
|
4338
|
+
this.getInfiniteNode(attachedCell.getElement())
|
|
3779
4339
|
);
|
|
3780
4340
|
}
|
|
3781
4341
|
const fixedEndColsOffsets = this.brain.getFixedEndColsOffsets({
|
|
@@ -3788,16 +4348,13 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3788
4348
|
const [startRow, startCol] = start;
|
|
3789
4349
|
const [endRow, endCol] = end;
|
|
3790
4350
|
function adjustElementPosition(rowIndex, colIndex, fn) {
|
|
3791
|
-
const
|
|
3792
|
-
|
|
3793
|
-
colIndex
|
|
3794
|
-
);
|
|
3795
|
-
if (elementIndex === null) {
|
|
4351
|
+
const cell = cellManager.getCellAt([rowIndex, colIndex]);
|
|
4352
|
+
if (cell == null) {
|
|
3796
4353
|
return;
|
|
3797
4354
|
}
|
|
3798
4355
|
const itemPosition = brain.getCellOffset(rowIndex, colIndex);
|
|
3799
|
-
const node =
|
|
3800
|
-
if (
|
|
4356
|
+
const node = cell.getElement();
|
|
4357
|
+
if (node && itemPosition) {
|
|
3801
4358
|
fn(rowIndex, colIndex, node, itemPosition);
|
|
3802
4359
|
}
|
|
3803
4360
|
}
|
|
@@ -3958,15 +4515,11 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3958
4515
|
this.hoverRowUpdatesInProgress.clear();
|
|
3959
4516
|
this.hoverRowUpdatesInProgress = null;
|
|
3960
4517
|
this.brain = null;
|
|
3961
|
-
this.mappedCells = null;
|
|
3962
|
-
this.mappedDetailRows = null;
|
|
3963
4518
|
};
|
|
3964
4519
|
this.brain = brain;
|
|
3965
4520
|
this.debugId = debugId;
|
|
3966
|
-
this.
|
|
3967
|
-
|
|
3968
|
-
});
|
|
3969
|
-
this.mappedDetailRows = new MappedVirtualRows();
|
|
4521
|
+
this.cellManager = new GridCellManager(debugId);
|
|
4522
|
+
this.rowManager = new ListRowManager(debugId);
|
|
3970
4523
|
this.renderRange = this.renderRange.bind(this);
|
|
3971
4524
|
const removeOnScroll = brain.onScroll(this.adjustFixedElementsOnScroll);
|
|
3972
4525
|
const removeOnSizeChange = brain.onAvailableSizeChange(() => {
|
|
@@ -3994,7 +4547,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
3994
4547
|
return this.infiniteNode;
|
|
3995
4548
|
}
|
|
3996
4549
|
isCellRenderedAndMappedCorrectly(row, col) {
|
|
3997
|
-
const rendered = this.
|
|
4550
|
+
const rendered = !!this.cellManager.getCellAt([row, col]);
|
|
3998
4551
|
return {
|
|
3999
4552
|
rendered,
|
|
4000
4553
|
mapped: rendered
|
|
@@ -4009,7 +4562,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4009
4562
|
if (false) {
|
|
4010
4563
|
this.debug(`Render range ${start}-${end}. Force ${force}`);
|
|
4011
4564
|
}
|
|
4012
|
-
const {
|
|
4565
|
+
const { rowManager, cellManager } = this;
|
|
4013
4566
|
const fixedRanges = this.getFixedRanges(range);
|
|
4014
4567
|
const ranges = [range, ...fixedRanges];
|
|
4015
4568
|
const alwaysRenderedColumns = this.brain.getAlwaysRenderedColumns();
|
|
@@ -4038,86 +4591,33 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4038
4591
|
0
|
|
4039
4592
|
);
|
|
4040
4593
|
const renderRowCount = renderDetailRow ? ranges.reduce((sum2, range2) => sum2 + getRenderRangeRowCount(range2), 0) : 0;
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
this.debug(`Discard element ${elementIndex}`);
|
|
4048
|
-
}
|
|
4049
|
-
});
|
|
4050
|
-
this.itemDOMElements.length = Math.min(
|
|
4051
|
-
this.itemDOMElements.length,
|
|
4052
|
-
renderCount
|
|
4053
|
-
);
|
|
4054
|
-
this.itemDOMRefs.length = Math.min(this.itemDOMRefs.length, renderCount);
|
|
4055
|
-
this.updaters.length = Math.min(this.updaters.length, renderCount);
|
|
4056
|
-
this.items.length = Math.min(this.items.length, renderCount);
|
|
4057
|
-
}
|
|
4058
|
-
if (renderDetailRow && this.detailRowDOMElements.length && this.detailRowDOMElements.length >= renderRowCount) {
|
|
4059
|
-
mappedDetailRows.discardElementsStartingWith(
|
|
4060
|
-
renderRowCount,
|
|
4061
|
-
(elementIndex) => {
|
|
4062
|
-
if (this.detailRowUpdaters[elementIndex]) {
|
|
4063
|
-
this.detailRowUpdaters[elementIndex].destroy();
|
|
4064
|
-
}
|
|
4065
|
-
if (false) {
|
|
4066
|
-
this.debug(`Discard detail row element ${elementIndex}`);
|
|
4067
|
-
}
|
|
4068
|
-
}
|
|
4069
|
-
);
|
|
4070
|
-
this.detailRowDOMElements.length = Math.min(
|
|
4071
|
-
this.detailRowDOMElements.length,
|
|
4072
|
-
renderRowCount
|
|
4073
|
-
);
|
|
4074
|
-
this.detailRowDOMRefs.length = Math.min(
|
|
4075
|
-
this.detailRowDOMRefs.length,
|
|
4076
|
-
renderRowCount
|
|
4077
|
-
);
|
|
4078
|
-
this.detailRowUpdaters.length = Math.min(
|
|
4079
|
-
this.detailRowUpdaters.length,
|
|
4080
|
-
renderRowCount
|
|
4081
|
-
);
|
|
4082
|
-
this.detailItems.length = Math.min(
|
|
4083
|
-
this.detailItems.length,
|
|
4084
|
-
renderRowCount
|
|
4085
|
-
);
|
|
4086
|
-
}
|
|
4087
|
-
const elementsOutsideRanges = arrayIntersection(
|
|
4088
|
-
...ranges.map(mappedCells.getElementsOutsideRenderRange)
|
|
4089
|
-
);
|
|
4090
|
-
const detailElementsOutsideRanges = renderDetailRow ? arrayIntersection(
|
|
4091
|
-
...ranges.map(mappedDetailRows.getElementsOutsideRenderRange)
|
|
4092
|
-
) : [];
|
|
4093
|
-
const elementsOutsideItemRange = elementsOutsideRanges.filter(
|
|
4094
|
-
(elementIndex) => {
|
|
4095
|
-
const cell = this.mappedCells.getRenderedCellAtElement(elementIndex);
|
|
4096
|
-
if (cell && extraCellsMap.has(`${cell[0]}:${cell[1]}`)) {
|
|
4097
|
-
return false;
|
|
4098
|
-
}
|
|
4099
|
-
return true;
|
|
4100
|
-
}
|
|
4101
|
-
);
|
|
4102
|
-
if (this.items.length > renderCount) {
|
|
4103
|
-
this.items.length = renderCount;
|
|
4104
|
-
}
|
|
4105
|
-
if (renderDetailRow && this.detailItems.length > renderRowCount) {
|
|
4106
|
-
this.detailItems.length = renderRowCount;
|
|
4107
|
-
}
|
|
4108
|
-
for (let i = this.items.length; i < renderCount; i++) {
|
|
4109
|
-
this.renderElement(i);
|
|
4110
|
-
elementsOutsideItemRange.splice(0, 0, i);
|
|
4594
|
+
cellManager.detachCellsStartingAt([
|
|
4595
|
+
this.brain.getRowCount(),
|
|
4596
|
+
this.brain.getColCount()
|
|
4597
|
+
]);
|
|
4598
|
+
if (cellManager.poolSize > renderCount) {
|
|
4599
|
+
cellManager.poolSize = renderCount;
|
|
4111
4600
|
}
|
|
4112
4601
|
if (renderDetailRow) {
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4602
|
+
rowManager.detachStartingWith(this.brain.getRowCount());
|
|
4603
|
+
if (rowManager.poolSize > renderRowCount) {
|
|
4604
|
+
rowManager.poolSize = renderRowCount;
|
|
4116
4605
|
}
|
|
4117
4606
|
}
|
|
4607
|
+
let cellsOutsideRanges = setIntersection(
|
|
4608
|
+
...ranges.map((range2) => cellManager.getCellsOutsideRenderRange(range2))
|
|
4609
|
+
);
|
|
4610
|
+
cellsOutsideRanges = setFilter(cellsOutsideRanges, (cell) => {
|
|
4611
|
+
const cellPos = cellManager.getCellPosition(cell);
|
|
4612
|
+
if (cellPos && extraCellsMap.has(`${cellPos[0]}:${cellPos[1]}`)) {
|
|
4613
|
+
return false;
|
|
4614
|
+
}
|
|
4615
|
+
return true;
|
|
4616
|
+
});
|
|
4617
|
+
cellManager.detachCells(cellsOutsideRanges);
|
|
4618
|
+
cellManager.poolSize = renderCount;
|
|
4118
4619
|
const visitedCells = /* @__PURE__ */ new Map();
|
|
4119
4620
|
const visitedRows = /* @__PURE__ */ new Map();
|
|
4120
|
-
const elementsRenderedOnTheFly = /* @__PURE__ */ new Set();
|
|
4121
4621
|
ranges.forEach((range2) => {
|
|
4122
4622
|
const { start: start2, end: end2 } = range2;
|
|
4123
4623
|
const [startRow, startCol] = start2;
|
|
@@ -4131,14 +4631,11 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4131
4631
|
visitedCells.set(key, true);
|
|
4132
4632
|
const { rendered: cellRendered, mapped: cellMappedCorrectly } = this.isCellRenderedAndMappedCorrectly(row, col);
|
|
4133
4633
|
if (row === startRow || col === startCol) {
|
|
4134
|
-
const
|
|
4135
|
-
if (
|
|
4136
|
-
const
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
);
|
|
4140
|
-
if (elIndexForCoveredCell != null) {
|
|
4141
|
-
elementsOutsideItemRange.push(elIndexForCoveredCell);
|
|
4634
|
+
const parentCellPos = this.isCellCovered(row, col);
|
|
4635
|
+
if (parentCellPos && extraCellsMap.has(`${parentCellPos[0]}:${parentCellPos[1]}`)) {
|
|
4636
|
+
const coveredCell = cellManager.getCellAt([row, col]);
|
|
4637
|
+
if (coveredCell != null) {
|
|
4638
|
+
cellManager.detachCell(coveredCell);
|
|
4142
4639
|
}
|
|
4143
4640
|
continue;
|
|
4144
4641
|
}
|
|
@@ -4146,37 +4643,19 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4146
4643
|
if (cellRendered && !force && cellMappedCorrectly) {
|
|
4147
4644
|
continue;
|
|
4148
4645
|
}
|
|
4149
|
-
let
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
)
|
|
4158
|
-
);
|
|
4159
|
-
if (elementIndex == null) {
|
|
4160
|
-
for (let i = this.itemDOMElements.length; i <= this.itemDOMRefs.length; i++) {
|
|
4161
|
-
if (!this.itemDOMElements[i] && this.itemDOMRefs[i] && !elementsRenderedOnTheFly.has(i)) {
|
|
4162
|
-
elementIndex = i;
|
|
4163
|
-
elementsRenderedOnTheFly.add(i);
|
|
4164
|
-
if (false) {
|
|
4165
|
-
this.debug(
|
|
4166
|
-
`Last-moment recovery of element ${elementIndex} to render cell ${row}:${col}`
|
|
4167
|
-
);
|
|
4168
|
-
}
|
|
4169
|
-
break;
|
|
4170
|
-
}
|
|
4171
|
-
}
|
|
4646
|
+
let theCell;
|
|
4647
|
+
if (cellRendered) {
|
|
4648
|
+
theCell = cellManager.getCellAt([row, col]);
|
|
4649
|
+
} else {
|
|
4650
|
+
theCell = cellManager.getCellFor(
|
|
4651
|
+
[row, col],
|
|
4652
|
+
horizontalLayout ? "row" : "column"
|
|
4653
|
+
);
|
|
4172
4654
|
}
|
|
4173
|
-
if (
|
|
4174
|
-
|
|
4175
|
-
this.error(`Cannot find element to render cell ${row}:${col}`);
|
|
4176
|
-
}
|
|
4177
|
-
continue;
|
|
4655
|
+
if (theCell == null) {
|
|
4656
|
+
theCell = cellManager.getDetachedCell();
|
|
4178
4657
|
}
|
|
4179
|
-
this.
|
|
4658
|
+
this.renderCellAt(row, col, theCell, renderCell);
|
|
4180
4659
|
}
|
|
4181
4660
|
if (!renderDetailRow) {
|
|
4182
4661
|
continue;
|
|
@@ -4185,20 +4664,15 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4185
4664
|
continue;
|
|
4186
4665
|
}
|
|
4187
4666
|
visitedRows.set(row, true);
|
|
4188
|
-
const rowRendered =
|
|
4667
|
+
const rowRendered = rowManager.isRowAttachedAt(row);
|
|
4189
4668
|
if (rowRendered && !force) {
|
|
4190
4669
|
continue;
|
|
4191
4670
|
}
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
);
|
|
4198
|
-
}
|
|
4199
|
-
continue;
|
|
4200
|
-
}
|
|
4201
|
-
this.renderDetailRowAtElement(row, detailElementIndex, renderDetailRow);
|
|
4671
|
+
this.renderDetailRowAtElement(
|
|
4672
|
+
row,
|
|
4673
|
+
this.rowManager.getRowFor(row),
|
|
4674
|
+
renderDetailRow
|
|
4675
|
+
);
|
|
4202
4676
|
}
|
|
4203
4677
|
});
|
|
4204
4678
|
extraCells.forEach(([rowIndex, colIndex]) => {
|
|
@@ -4208,84 +4682,41 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4208
4682
|
);
|
|
4209
4683
|
if (rendered) {
|
|
4210
4684
|
if (force || !mapped) {
|
|
4211
|
-
const
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
);
|
|
4215
|
-
this.renderCellAtElement(
|
|
4216
|
-
rowIndex,
|
|
4217
|
-
colIndex,
|
|
4218
|
-
elementIndex2,
|
|
4219
|
-
renderCell
|
|
4220
|
-
);
|
|
4685
|
+
const cellPos = [rowIndex, colIndex];
|
|
4686
|
+
const cell2 = cellManager.getCellAt(cellPos);
|
|
4687
|
+
this.renderCellAt(rowIndex, colIndex, cell2, renderCell);
|
|
4221
4688
|
}
|
|
4222
4689
|
return;
|
|
4223
4690
|
}
|
|
4224
|
-
const
|
|
4225
|
-
|
|
4691
|
+
const cell = cellManager.getCellFor(
|
|
4692
|
+
[rowIndex, colIndex],
|
|
4693
|
+
horizontalLayout ? "row" : "column"
|
|
4694
|
+
);
|
|
4695
|
+
if (cell == null) {
|
|
4226
4696
|
if (false) {
|
|
4227
|
-
this.error(
|
|
4228
|
-
`Cannot find element to render cell ${rowIndex}-${colIndex}`
|
|
4229
|
-
);
|
|
4697
|
+
this.error(`Cannot find cell to render ${rowIndex}-${colIndex}`);
|
|
4230
4698
|
}
|
|
4231
4699
|
return;
|
|
4232
4700
|
}
|
|
4233
|
-
this.
|
|
4701
|
+
this.renderCellAt(rowIndex, colIndex, cell, renderCell);
|
|
4234
4702
|
});
|
|
4235
|
-
|
|
4236
|
-
|
|
4703
|
+
cellManager.makeDetachedCellsEmpty();
|
|
4704
|
+
if (renderDetailRow) {
|
|
4705
|
+
rowManager.makeDetachedRowsEmpty();
|
|
4706
|
+
}
|
|
4707
|
+
let result = cellManager.getAllCells().map((cell) => cell.getNode());
|
|
4708
|
+
if (renderDetailRow) {
|
|
4709
|
+
rowManager.getAllRows().forEach((row) => {
|
|
4710
|
+
result.push(row.getNode());
|
|
4711
|
+
});
|
|
4712
|
+
}
|
|
4237
4713
|
this.adjustFixedElementsOnScroll();
|
|
4238
4714
|
if (onRender) {
|
|
4239
4715
|
onRender(result);
|
|
4240
4716
|
}
|
|
4241
4717
|
return result;
|
|
4242
4718
|
}
|
|
4243
|
-
|
|
4244
|
-
const domRef = (node) => {
|
|
4245
|
-
if (node) {
|
|
4246
|
-
this.itemDOMElements[elementIndex] = node;
|
|
4247
|
-
node.style.position = "absolute";
|
|
4248
|
-
node.style.left = "0px";
|
|
4249
|
-
node.style.top = "0px";
|
|
4250
|
-
this.updateElementPosition(elementIndex);
|
|
4251
|
-
}
|
|
4252
|
-
};
|
|
4253
|
-
this.itemDOMRefs[elementIndex] = domRef;
|
|
4254
|
-
this.updaters[elementIndex] = buildSubscriptionCallback();
|
|
4255
|
-
const item = /* @__PURE__ */ React9.createElement(
|
|
4256
|
-
AvoidReactDiff,
|
|
4257
|
-
{
|
|
4258
|
-
key: elementIndex,
|
|
4259
|
-
name: `${elementIndex}`,
|
|
4260
|
-
updater: this.updaters[elementIndex]
|
|
4261
|
-
}
|
|
4262
|
-
);
|
|
4263
|
-
this.items[elementIndex] = item;
|
|
4264
|
-
return item;
|
|
4265
|
-
}
|
|
4266
|
-
renderDetailElement(elementIndex) {
|
|
4267
|
-
const domRef = (node) => {
|
|
4268
|
-
if (node) {
|
|
4269
|
-
this.detailRowDOMElements[elementIndex] = node;
|
|
4270
|
-
node.style.position = "absolute";
|
|
4271
|
-
node.style.left = "0px";
|
|
4272
|
-
this.updateDetailElementPosition(elementIndex);
|
|
4273
|
-
}
|
|
4274
|
-
};
|
|
4275
|
-
this.detailRowDOMRefs[elementIndex] = domRef;
|
|
4276
|
-
this.detailRowUpdaters[elementIndex] = buildSubscriptionCallback();
|
|
4277
|
-
const detailItem = /* @__PURE__ */ React9.createElement(
|
|
4278
|
-
AvoidReactDiff,
|
|
4279
|
-
{
|
|
4280
|
-
key: `detail-${elementIndex}`,
|
|
4281
|
-
name: `detail-${elementIndex}`,
|
|
4282
|
-
updater: this.detailRowUpdaters[elementIndex]
|
|
4283
|
-
}
|
|
4284
|
-
);
|
|
4285
|
-
this.detailItems[elementIndex] = detailItem;
|
|
4286
|
-
return detailItem;
|
|
4287
|
-
}
|
|
4288
|
-
renderDetailRowAtElement(rowIndex, detailElementIndex, renderDetailRow) {
|
|
4719
|
+
renderDetailRowAtElement(rowIndex, row, renderDetailRow) {
|
|
4289
4720
|
if (this.destroyed) {
|
|
4290
4721
|
return;
|
|
4291
4722
|
}
|
|
@@ -4302,27 +4733,18 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4302
4733
|
},
|
|
4303
4734
|
onMouseLeave: () => {
|
|
4304
4735
|
},
|
|
4305
|
-
domRef:
|
|
4736
|
+
domRef: row.ref
|
|
4306
4737
|
});
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
renderedDetailNode
|
|
4318
|
-
);
|
|
4319
|
-
if (false) {
|
|
4320
|
-
this.debug(
|
|
4321
|
-
`Render detail row ${rowIndex} at element ${detailElementIndex}`
|
|
4322
|
-
);
|
|
4323
|
-
}
|
|
4324
|
-
itemUpdater(renderedDetailNode);
|
|
4325
|
-
this.updateDetailElementPosition(detailElementIndex);
|
|
4738
|
+
row.onMount((row2) => {
|
|
4739
|
+
const element = row2.getElement();
|
|
4740
|
+
if (element) {
|
|
4741
|
+
element.style.position = "absolute";
|
|
4742
|
+
element.style.left = "0px";
|
|
4743
|
+
}
|
|
4744
|
+
this.updateDetailElementPosition(row2);
|
|
4745
|
+
});
|
|
4746
|
+
this.rowManager.renderNodeAtRow(renderedDetailNode, row, rowIndex);
|
|
4747
|
+
this.updateDetailElementPosition(row);
|
|
4326
4748
|
return;
|
|
4327
4749
|
}
|
|
4328
4750
|
getCellRealCoordinates(rowIndex, colIndex) {
|
|
@@ -4331,7 +4753,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4331
4753
|
colIndex
|
|
4332
4754
|
};
|
|
4333
4755
|
}
|
|
4334
|
-
|
|
4756
|
+
renderCellAt(rowIndex, colIndex, cell, renderCell) {
|
|
4335
4757
|
if (this.destroyed) {
|
|
4336
4758
|
return;
|
|
4337
4759
|
}
|
|
@@ -4362,42 +4784,38 @@ var ReactHeadlessTableRenderer = class extends Logger {
|
|
|
4362
4784
|
widthWithColspan,
|
|
4363
4785
|
onMouseEnter: this.onMouseEnter.bind(null, rowIndex),
|
|
4364
4786
|
onMouseLeave: this.onMouseLeave.bind(null, rowIndex),
|
|
4365
|
-
domRef:
|
|
4787
|
+
domRef: cell.ref
|
|
4788
|
+
});
|
|
4789
|
+
cell.onMount((cell2) => {
|
|
4790
|
+
const element = cell2.getElement();
|
|
4791
|
+
if (element) {
|
|
4792
|
+
element.style.position = "absolute";
|
|
4793
|
+
element.style.left = "0px";
|
|
4794
|
+
element.style.top = "0px";
|
|
4795
|
+
}
|
|
4796
|
+
this.updateElementPosition(cell2);
|
|
4366
4797
|
});
|
|
4367
|
-
const itemUpdater = this.updaters[elementIndex];
|
|
4368
|
-
if (!itemUpdater) {
|
|
4369
|
-
this.error(
|
|
4370
|
-
`Cannot find item updater for item ${rowIndex},${colIndex} at this time... sorry.`
|
|
4371
|
-
);
|
|
4372
|
-
return;
|
|
4373
|
-
}
|
|
4374
4798
|
const cellAdditionalInfo = this.brain.isHorizontalLayoutBrain ? {
|
|
4375
4799
|
renderRowIndex,
|
|
4376
4800
|
renderColIndex
|
|
4377
4801
|
} : void 0;
|
|
4378
|
-
this.
|
|
4379
|
-
rowIndex,
|
|
4380
|
-
colIndex,
|
|
4381
|
-
elementIndex,
|
|
4802
|
+
this.cellManager.renderNodeAtCell(
|
|
4382
4803
|
renderedNode,
|
|
4804
|
+
cell,
|
|
4805
|
+
[rowIndex, colIndex],
|
|
4383
4806
|
cellAdditionalInfo
|
|
4384
4807
|
);
|
|
4385
|
-
|
|
4386
|
-
this.updateElementPosition(elementIndex, { hidden, rowspan, colspan });
|
|
4808
|
+
this.updateElementPosition(cell, { hidden, rowspan, colspan });
|
|
4387
4809
|
return;
|
|
4388
4810
|
}
|
|
4389
4811
|
reset() {
|
|
4390
|
-
this.
|
|
4391
|
-
this.
|
|
4392
|
-
this.updaters = [];
|
|
4393
|
-
this.items = [];
|
|
4394
|
-
this.mappedCells.reset();
|
|
4395
|
-
this.mappedDetailRows.reset();
|
|
4812
|
+
this.cellManager.reset();
|
|
4813
|
+
this.rowManager.reset();
|
|
4396
4814
|
}
|
|
4397
4815
|
};
|
|
4398
4816
|
|
|
4399
4817
|
// src/components/HeadlessTable/HorizontalLayoutTableRenderer.tsx
|
|
4400
|
-
var HorizontalLayoutTableRenderer = class extends
|
|
4818
|
+
var HorizontalLayoutTableRenderer = class extends GridRenderer {
|
|
4401
4819
|
constructor(brain, debugId) {
|
|
4402
4820
|
super(brain, debugId);
|
|
4403
4821
|
this.setTransform = (element, rowIndex, colIndex, options, _zIndex) => {
|
|
@@ -4437,14 +4855,15 @@ var HorizontalLayoutTableRenderer = class extends ReactHeadlessTableRenderer {
|
|
|
4437
4855
|
});
|
|
4438
4856
|
}
|
|
4439
4857
|
isCellRenderedAndMappedCorrectly(row, col) {
|
|
4440
|
-
const
|
|
4858
|
+
const cell = this.cellManager.getCellAt([row, col]);
|
|
4859
|
+
const rendered = !!cell;
|
|
4441
4860
|
if (!rendered) {
|
|
4442
4861
|
return {
|
|
4443
4862
|
rendered,
|
|
4444
4863
|
mapped: false
|
|
4445
4864
|
};
|
|
4446
4865
|
}
|
|
4447
|
-
const cellAdditionalInfo =
|
|
4866
|
+
const cellAdditionalInfo = cell.getAdditionalInfo();
|
|
4448
4867
|
if (!cellAdditionalInfo) {
|
|
4449
4868
|
return {
|
|
4450
4869
|
rendered,
|
|
@@ -4462,10 +4881,7 @@ var HorizontalLayoutTableRenderer = class extends ReactHeadlessTableRenderer {
|
|
|
4462
4881
|
|
|
4463
4882
|
// src/components/HeadlessTable/createRenderer.ts
|
|
4464
4883
|
function createRenderer(brain) {
|
|
4465
|
-
const renderer = !brain.isHorizontalLayoutBrain ? new ReactHeadlessTableRenderer(
|
|
4466
|
-
brain,
|
|
4467
|
-
`ReactHeadlessTableRenderer:${brain.name}`
|
|
4468
|
-
) : new HorizontalLayoutTableRenderer(
|
|
4884
|
+
const renderer = !brain.isHorizontalLayoutBrain ? new GridRenderer(brain, `ReactHeadlessTableRenderer:${brain.name}`) : new HorizontalLayoutTableRenderer(
|
|
4469
4885
|
brain,
|
|
4470
4886
|
`HorizontalLayoutTableRenderer:${brain.name}`
|
|
4471
4887
|
);
|
|
@@ -4529,12 +4945,12 @@ function RawTableFn(props) {
|
|
|
4529
4945
|
});
|
|
4530
4946
|
return remove;
|
|
4531
4947
|
}, [renderCell, renderDetailRow, brain, onRenderUpdater]);
|
|
4532
|
-
return /* @__PURE__ */
|
|
4948
|
+
return /* @__PURE__ */ React11.createElement(AvoidReactDiff, { updater: onRenderUpdater });
|
|
4533
4949
|
}
|
|
4534
|
-
var RawTable =
|
|
4950
|
+
var RawTable = React11.memo(RawTableFn);
|
|
4535
4951
|
|
|
4536
4952
|
// src/components/InfiniteTable/components/ActiveRowIndicator.tsx
|
|
4537
|
-
var
|
|
4953
|
+
var React12 = __toESM(require("react"));
|
|
4538
4954
|
var import_react8 = require("react");
|
|
4539
4955
|
|
|
4540
4956
|
// src/components/hooks/useRerender.ts
|
|
@@ -4724,7 +5140,7 @@ var ActiveRowIndicatorFn = (props) => {
|
|
|
4724
5140
|
}, [brain]);
|
|
4725
5141
|
return (
|
|
4726
5142
|
// #correct-scroll-size this wrapper is here in order to make the indicator not take up space in the scroll container - to reproduce: remove this and click on a row, you will see that if you scroll at the bottom, there is extra space
|
|
4727
|
-
/* @__PURE__ */
|
|
5143
|
+
/* @__PURE__ */ React12.createElement("div", { className: ActiveIndicatorWrapperCls, "data-name": "active-row" }, /* @__PURE__ */ React12.createElement(
|
|
4728
5144
|
"div",
|
|
4729
5145
|
{
|
|
4730
5146
|
ref: domRef,
|
|
@@ -4737,12 +5153,12 @@ var ActiveRowIndicatorFn = (props) => {
|
|
|
4737
5153
|
))
|
|
4738
5154
|
);
|
|
4739
5155
|
};
|
|
4740
|
-
var ActiveRowIndicator =
|
|
5156
|
+
var ActiveRowIndicator = React12.memo(
|
|
4741
5157
|
ActiveRowIndicatorFn
|
|
4742
5158
|
);
|
|
4743
5159
|
|
|
4744
5160
|
// src/components/InfiniteTable/components/ActiveCellIndicator.tsx
|
|
4745
|
-
var
|
|
5161
|
+
var React13 = __toESM(require("react"));
|
|
4746
5162
|
var import_react9 = require("react");
|
|
4747
5163
|
var { rootClassName: rootClassName4 } = internalProps;
|
|
4748
5164
|
var baseCls2 = `${rootClassName4}-ActiveCellIndicator`;
|
|
@@ -4784,7 +5200,7 @@ var ActiveCellIndicatorFn = (props) => {
|
|
|
4784
5200
|
}, [brain]);
|
|
4785
5201
|
return (
|
|
4786
5202
|
// #correct-scroll-size this wrapper is here in order to make the indicator not take up space in the scroll container - to reproduce: remove this and click on a row, you will see that if you scroll at the bottom, there is extra space
|
|
4787
|
-
/* @__PURE__ */
|
|
5203
|
+
/* @__PURE__ */ React13.createElement(
|
|
4788
5204
|
"div",
|
|
4789
5205
|
{
|
|
4790
5206
|
className: ActiveIndicatorWrapperCls,
|
|
@@ -4794,7 +5210,7 @@ var ActiveCellIndicatorFn = (props) => {
|
|
|
4794
5210
|
zIndex: `var(${columnZIndexAtIndex2}-${props.activeCellIndex[1]})`
|
|
4795
5211
|
} : void 0
|
|
4796
5212
|
},
|
|
4797
|
-
/* @__PURE__ */
|
|
5213
|
+
/* @__PURE__ */ React13.createElement(
|
|
4798
5214
|
"div",
|
|
4799
5215
|
{
|
|
4800
5216
|
"data-name": "active-cell-indicator",
|
|
@@ -4806,7 +5222,7 @@ var ActiveCellIndicatorFn = (props) => {
|
|
|
4806
5222
|
)
|
|
4807
5223
|
);
|
|
4808
5224
|
};
|
|
4809
|
-
var ActiveCellIndicator =
|
|
5225
|
+
var ActiveCellIndicator = React13.memo(
|
|
4810
5226
|
ActiveCellIndicatorFn
|
|
4811
5227
|
);
|
|
4812
5228
|
|
|
@@ -4900,21 +5316,21 @@ function HeadlessTable(props) {
|
|
|
4900
5316
|
);
|
|
4901
5317
|
return removeOnRenderCount;
|
|
4902
5318
|
}, [brain]);
|
|
4903
|
-
return /* @__PURE__ */
|
|
5319
|
+
return /* @__PURE__ */ React14.createElement(
|
|
4904
5320
|
VirtualScrollContainer,
|
|
4905
5321
|
{
|
|
4906
5322
|
onContainerScroll,
|
|
4907
5323
|
...domProps,
|
|
4908
5324
|
ref: scrollerDOMRef
|
|
4909
5325
|
},
|
|
4910
|
-
/* @__PURE__ */
|
|
5326
|
+
/* @__PURE__ */ React14.createElement(
|
|
4911
5327
|
"div",
|
|
4912
5328
|
{
|
|
4913
5329
|
ref: domRef,
|
|
4914
5330
|
className: CHILD_TO_SCROLL_CLS,
|
|
4915
5331
|
"data-name": "scroll-transform-target"
|
|
4916
5332
|
},
|
|
4917
|
-
/* @__PURE__ */
|
|
5333
|
+
/* @__PURE__ */ React14.createElement(
|
|
4918
5334
|
RawTable,
|
|
4919
5335
|
{
|
|
4920
5336
|
forceRerenderTimestamp,
|
|
@@ -4926,7 +5342,7 @@ function HeadlessTable(props) {
|
|
|
4926
5342
|
cellHoverClassNames
|
|
4927
5343
|
}
|
|
4928
5344
|
),
|
|
4929
|
-
activeCellIndex != null ? /* @__PURE__ */
|
|
5345
|
+
activeCellIndex != null ? /* @__PURE__ */ React14.createElement(
|
|
4930
5346
|
ActiveCellIndicator,
|
|
4931
5347
|
{
|
|
4932
5348
|
brain,
|
|
@@ -4935,8 +5351,8 @@ function HeadlessTable(props) {
|
|
|
4935
5351
|
}
|
|
4936
5352
|
) : null
|
|
4937
5353
|
),
|
|
4938
|
-
activeRowIndex != null ? /* @__PURE__ */
|
|
4939
|
-
/* @__PURE__ */
|
|
5354
|
+
activeRowIndex != null ? /* @__PURE__ */ React14.createElement(ActiveRowIndicator, { brain, activeRowIndex }) : null,
|
|
5355
|
+
/* @__PURE__ */ React14.createElement(
|
|
4940
5356
|
SpacePlaceholder,
|
|
4941
5357
|
{
|
|
4942
5358
|
width: scrollSize.width,
|
|
@@ -4947,7 +5363,7 @@ function HeadlessTable(props) {
|
|
|
4947
5363
|
}
|
|
4948
5364
|
|
|
4949
5365
|
// src/components/hooks/useComponentState/index.tsx
|
|
4950
|
-
var
|
|
5366
|
+
var React15 = __toESM(require("react"));
|
|
4951
5367
|
var import_react14 = require("react");
|
|
4952
5368
|
|
|
4953
5369
|
// src/utils/proxyFnCall.ts
|
|
@@ -5346,9 +5762,9 @@ function buildManagedComponent(config) {
|
|
|
5346
5762
|
});
|
|
5347
5763
|
return { contextValue, ContextComponent: Context };
|
|
5348
5764
|
}
|
|
5349
|
-
const ManagedComponentContextProvider =
|
|
5765
|
+
const ManagedComponentContextProvider = React15.memo(function CSR(props) {
|
|
5350
5766
|
const { contextValue, ContextComponent } = useManagedComponent(props);
|
|
5351
|
-
return /* @__PURE__ */
|
|
5767
|
+
return /* @__PURE__ */ React15.createElement(ContextComponent.Provider, { value: contextValue }, props.children);
|
|
5352
5768
|
});
|
|
5353
5769
|
return {
|
|
5354
5770
|
ManagedComponentContextProvider,
|
|
@@ -5357,11 +5773,11 @@ function buildManagedComponent(config) {
|
|
|
5357
5773
|
}
|
|
5358
5774
|
function useManagedComponentState() {
|
|
5359
5775
|
const Context = getComponentStateContext();
|
|
5360
|
-
return
|
|
5776
|
+
return React15.useContext(Context);
|
|
5361
5777
|
}
|
|
5362
5778
|
|
|
5363
5779
|
// src/components/InfiniteTable/components/InfiniteTableFooter/InfiniteTableFooter.tsx
|
|
5364
|
-
var
|
|
5780
|
+
var React16 = __toESM(require("react"));
|
|
5365
5781
|
|
|
5366
5782
|
// src/components/InfiniteTable/hooks/useInternalProps.ts
|
|
5367
5783
|
var useInternalProps = () => {
|
|
@@ -5391,7 +5807,7 @@ var zIndex = { "1": "utilities_zIndex_1__16lm1iwo", "10": "utilities_zIndex_10__
|
|
|
5391
5807
|
// src/components/InfiniteTable/components/InfiniteTableFooter/InfiniteTableFooter.tsx
|
|
5392
5808
|
function InfiniteTableFooter(props) {
|
|
5393
5809
|
const { rootClassName: rootClassName12 } = useInternalProps();
|
|
5394
|
-
return /* @__PURE__ */
|
|
5810
|
+
return /* @__PURE__ */ React16.createElement(
|
|
5395
5811
|
"div",
|
|
5396
5812
|
{
|
|
5397
5813
|
...props,
|
|
@@ -5407,7 +5823,7 @@ function InfiniteTableFooter(props) {
|
|
|
5407
5823
|
}
|
|
5408
5824
|
|
|
5409
5825
|
// src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderCell.tsx
|
|
5410
|
-
var
|
|
5826
|
+
var React43 = __toESM(require("react"));
|
|
5411
5827
|
var import_react29 = require("react");
|
|
5412
5828
|
var import_react_dom = require("react-dom");
|
|
5413
5829
|
|
|
@@ -5421,7 +5837,7 @@ function keyMirror(obj) {
|
|
|
5421
5837
|
}
|
|
5422
5838
|
|
|
5423
5839
|
// src/components/InfiniteTable/components/icons/Icon.tsx
|
|
5424
|
-
var
|
|
5840
|
+
var React17 = __toESM(require("react"));
|
|
5425
5841
|
var Icon = (props) => {
|
|
5426
5842
|
const size = props.size ?? `var(--infinite-icon-size)`;
|
|
5427
5843
|
const style2 = {
|
|
@@ -5433,69 +5849,69 @@ var Icon = (props) => {
|
|
|
5433
5849
|
};
|
|
5434
5850
|
return (
|
|
5435
5851
|
//@ts-ignore
|
|
5436
|
-
/* @__PURE__ */
|
|
5852
|
+
/* @__PURE__ */ React17.createElement("svg", { viewBox: "0 0 24 24", ...props, style: style2 }, props.children)
|
|
5437
5853
|
);
|
|
5438
5854
|
};
|
|
5439
5855
|
|
|
5440
5856
|
// src/components/InfiniteTable/components/icons/IncludesOperatorIcon.tsx
|
|
5441
|
-
var
|
|
5857
|
+
var React18 = __toESM(require("react"));
|
|
5442
5858
|
var IncludesOperatorIcon = (props) => {
|
|
5443
|
-
return /* @__PURE__ */
|
|
5859
|
+
return /* @__PURE__ */ React18.createElement(Icon, { ...props }, /* @__PURE__ */ React18.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4H11.14M12 6.29L14.03 11.71H9.96L12 6.29" }), /* @__PURE__ */ React18.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React18.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
|
|
5444
5860
|
};
|
|
5445
5861
|
|
|
5446
5862
|
// src/components/InfiniteTable/components/icons/EndsWithOperatorIcon.tsx
|
|
5447
|
-
var
|
|
5863
|
+
var React19 = __toESM(require("react"));
|
|
5448
5864
|
var EndsWithOperatorIcon = (props) => {
|
|
5449
|
-
return /* @__PURE__ */
|
|
5865
|
+
return /* @__PURE__ */ React19.createElement(Icon, { ...props }, /* @__PURE__ */ React19.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H2V20H22V14Z" }));
|
|
5450
5866
|
};
|
|
5451
5867
|
|
|
5452
5868
|
// src/components/InfiniteTable/components/icons/EqualOperatorIcon.tsx
|
|
5453
|
-
var
|
|
5869
|
+
var React20 = __toESM(require("react"));
|
|
5454
5870
|
var EqualOperatorIcon = (props) => {
|
|
5455
|
-
return /* @__PURE__ */
|
|
5871
|
+
return /* @__PURE__ */ React20.createElement(Icon, { ...props }, /* @__PURE__ */ React20.createElement("path", { d: "M19,10H5V8H19V10M19,16H5V14H19V16Z" }));
|
|
5456
5872
|
};
|
|
5457
5873
|
|
|
5458
5874
|
// src/components/InfiniteTable/components/icons/GTEOperatorIcon.tsx
|
|
5459
|
-
var
|
|
5875
|
+
var React21 = __toESM(require("react"));
|
|
5460
5876
|
var GTEOperatorIcon = (props) => {
|
|
5461
|
-
return /* @__PURE__ */
|
|
5877
|
+
return /* @__PURE__ */ React21.createElement(Icon, { ...props }, /* @__PURE__ */ React21.createElement("path", { d: "M6.5,2.27L20,10.14L6.5,18L5.5,16.27L16.03,10.14L5.5,4L6.5,2.27M20,20V22H5V20H20Z" }));
|
|
5462
5878
|
};
|
|
5463
5879
|
|
|
5464
5880
|
// src/components/InfiniteTable/components/icons/GTOperatorIcon.tsx
|
|
5465
|
-
var
|
|
5881
|
+
var React22 = __toESM(require("react"));
|
|
5466
5882
|
var GTOperatorIcon = (props) => {
|
|
5467
|
-
return /* @__PURE__ */
|
|
5883
|
+
return /* @__PURE__ */ React22.createElement(Icon, { ...props }, /* @__PURE__ */ React22.createElement("path", { d: "M5.5,4.14L4.5,5.86L15,12L4.5,18.14L5.5,19.86L19,12L5.5,4.14Z" }));
|
|
5468
5884
|
};
|
|
5469
5885
|
|
|
5470
5886
|
// src/components/InfiniteTable/components/icons/LTEOperatorIcon.tsx
|
|
5471
|
-
var
|
|
5887
|
+
var React23 = __toESM(require("react"));
|
|
5472
5888
|
var LTEOperatorIcon = (props) => {
|
|
5473
|
-
return /* @__PURE__ */
|
|
5889
|
+
return /* @__PURE__ */ React23.createElement(Icon, { ...props }, /* @__PURE__ */ React23.createElement("path", { d: "M18.5,2.27L5,10.14L18.5,18L19.5,16.27L8.97,10.14L19.5,4L18.5,2.27M5,20V22H20V20H5Z" }));
|
|
5474
5890
|
};
|
|
5475
5891
|
|
|
5476
5892
|
// src/components/InfiniteTable/components/icons/LTOperatorIcon.tsx
|
|
5477
|
-
var
|
|
5893
|
+
var React24 = __toESM(require("react"));
|
|
5478
5894
|
var LTOperatorIcon = (props) => {
|
|
5479
|
-
return /* @__PURE__ */
|
|
5895
|
+
return /* @__PURE__ */ React24.createElement(Icon, { ...props }, /* @__PURE__ */ React24.createElement("path", { d: "M18.5,4.14L19.5,5.86L8.97,12L19.5,18.14L18.5,19.86L5,12L18.5,4.14Z" }));
|
|
5480
5896
|
};
|
|
5481
5897
|
|
|
5482
5898
|
// src/components/InfiniteTable/components/icons/NotEqualOperatorIcon.tsx
|
|
5483
|
-
var
|
|
5899
|
+
var React25 = __toESM(require("react"));
|
|
5484
5900
|
var NotEqualOperatorIcon = (props) => {
|
|
5485
|
-
return /* @__PURE__ */
|
|
5901
|
+
return /* @__PURE__ */ React25.createElement(Icon, { ...props }, /* @__PURE__ */ React25.createElement("path", { d: "M21,10H9V8H21V10M21,16H9V14H21V16M4,5H6V16H4V5M6,18V20H4V18H6Z" }));
|
|
5486
5902
|
};
|
|
5487
5903
|
|
|
5488
5904
|
// src/components/InfiniteTable/components/icons/StartsWithOperatorIcon.tsx
|
|
5489
|
-
var
|
|
5905
|
+
var React26 = __toESM(require("react"));
|
|
5490
5906
|
var StartsWithOperatorIcon = (props) => {
|
|
5491
|
-
return /* @__PURE__ */
|
|
5907
|
+
return /* @__PURE__ */ React26.createElement(Icon, { ...props }, /* @__PURE__ */ React26.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M4 18V15H2V20H22V18Z" }));
|
|
5492
5908
|
};
|
|
5493
5909
|
|
|
5494
5910
|
// src/components/InfiniteTable/components/FilterEditors.tsx
|
|
5495
|
-
var
|
|
5911
|
+
var React30 = __toESM(require("react"));
|
|
5496
5912
|
|
|
5497
5913
|
// src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableColumnHeaderFilter.tsx
|
|
5498
|
-
var
|
|
5914
|
+
var React29 = __toESM(require("react"));
|
|
5499
5915
|
var import_react20 = require("react");
|
|
5500
5916
|
|
|
5501
5917
|
// src/components/InfiniteTable/hooks/useInfiniteTable.ts
|
|
@@ -5528,7 +5944,7 @@ var useInfiniteTableState = () => {
|
|
|
5528
5944
|
};
|
|
5529
5945
|
|
|
5530
5946
|
// src/components/InfiniteTable/components/icons/FilterIcon.tsx
|
|
5531
|
-
var
|
|
5947
|
+
var React27 = __toESM(require("react"));
|
|
5532
5948
|
var import_react18 = require("react");
|
|
5533
5949
|
|
|
5534
5950
|
// src/components/InfiniteTable/components/InfiniteTableHeader/header.css.ts
|
|
@@ -5594,7 +6010,7 @@ function FilterIcon(props) {
|
|
|
5594
6010
|
return null;
|
|
5595
6011
|
}
|
|
5596
6012
|
const indexStyle = {};
|
|
5597
|
-
return /* @__PURE__ */
|
|
6013
|
+
return /* @__PURE__ */ React27.createElement(
|
|
5598
6014
|
"div",
|
|
5599
6015
|
{
|
|
5600
6016
|
"data-name": "filter-icon",
|
|
@@ -5606,7 +6022,7 @@ function FilterIcon(props) {
|
|
|
5606
6022
|
`${InfiniteIconClassName}-filter`
|
|
5607
6023
|
)
|
|
5608
6024
|
},
|
|
5609
|
-
showIndex ? /* @__PURE__ */
|
|
6025
|
+
showIndex ? /* @__PURE__ */ React27.createElement(
|
|
5610
6026
|
"div",
|
|
5611
6027
|
{
|
|
5612
6028
|
"data-name": "index",
|
|
@@ -5615,9 +6031,9 @@ function FilterIcon(props) {
|
|
|
5615
6031
|
},
|
|
5616
6032
|
index
|
|
5617
6033
|
) : null,
|
|
5618
|
-
/* @__PURE__ */
|
|
5619
|
-
/* @__PURE__ */
|
|
5620
|
-
/* @__PURE__ */
|
|
6034
|
+
/* @__PURE__ */ React27.createElement("div", { style: { width: sizes[0], ...lineStyle } }),
|
|
6035
|
+
/* @__PURE__ */ React27.createElement("div", { style: { width: sizes[1], ...lineStyle } }),
|
|
6036
|
+
/* @__PURE__ */ React27.createElement("div", { style: { width: sizes[2], ...lineStyle } })
|
|
5621
6037
|
);
|
|
5622
6038
|
}
|
|
5623
6039
|
|
|
@@ -6678,14 +7094,14 @@ function InfiniteTableColumnHeaderFilter(props) {
|
|
|
6678
7094
|
const FilterEditor = props.filterEditor;
|
|
6679
7095
|
const FilterOperatorSwitch = props.filterOperatorSwitch;
|
|
6680
7096
|
const [focused, setFocused] = (0, import_react20.useState)(false);
|
|
6681
|
-
const onFocus =
|
|
7097
|
+
const onFocus = React29.useCallback(() => {
|
|
6682
7098
|
setFocused(true);
|
|
6683
7099
|
}, []);
|
|
6684
|
-
const onBlur =
|
|
7100
|
+
const onBlur = React29.useCallback(() => {
|
|
6685
7101
|
setFocused(false);
|
|
6686
7102
|
}, []);
|
|
6687
7103
|
const active = filterOperatorMenuVisibleForColumnId === column.id || focused;
|
|
6688
|
-
return /* @__PURE__ */
|
|
7104
|
+
return /* @__PURE__ */ React29.createElement(
|
|
6689
7105
|
"div",
|
|
6690
7106
|
{
|
|
6691
7107
|
onPointerUp: stopPropagation,
|
|
@@ -6699,13 +7115,13 @@ function InfiniteTableColumnHeaderFilter(props) {
|
|
|
6699
7115
|
)}`,
|
|
6700
7116
|
style: { height: props.columnHeaderHeight }
|
|
6701
7117
|
},
|
|
6702
|
-
/* @__PURE__ */
|
|
7118
|
+
/* @__PURE__ */ React29.createElement(InfiniteTableColumnHeaderFilterContext.Provider, { value: props }, /* @__PURE__ */ React29.createElement(FilterOperatorSwitch, null), /* @__PURE__ */ React29.createElement(FilterEditor, null))
|
|
6703
7119
|
);
|
|
6704
7120
|
}
|
|
6705
7121
|
function InfiniteTableFilterOperatorSwitch() {
|
|
6706
7122
|
const { columnApi, disabled, operator } = useInfiniteColumnFilterEditor();
|
|
6707
7123
|
const Icon2 = operator?.components?.Icon ?? FilterIcon;
|
|
6708
|
-
return /* @__PURE__ */
|
|
7124
|
+
return /* @__PURE__ */ React29.createElement(
|
|
6709
7125
|
"div",
|
|
6710
7126
|
{
|
|
6711
7127
|
"data-name": "filter-operator",
|
|
@@ -6723,7 +7139,7 @@ function InfiniteTableFilterOperatorSwitch() {
|
|
|
6723
7139
|
disabled ? `${InfiniteTableColumnHeaderFilterOperatorClassName}--disabled` : ""
|
|
6724
7140
|
)
|
|
6725
7141
|
},
|
|
6726
|
-
/* @__PURE__ */
|
|
7142
|
+
/* @__PURE__ */ React29.createElement(
|
|
6727
7143
|
Icon2,
|
|
6728
7144
|
{
|
|
6729
7145
|
size: 20,
|
|
@@ -6735,7 +7151,7 @@ function InfiniteTableFilterOperatorSwitch() {
|
|
|
6735
7151
|
);
|
|
6736
7152
|
}
|
|
6737
7153
|
function InfiniteTableColumnHeaderFilterEmpty() {
|
|
6738
|
-
return /* @__PURE__ */
|
|
7154
|
+
return /* @__PURE__ */ React29.createElement(
|
|
6739
7155
|
"div",
|
|
6740
7156
|
{
|
|
6741
7157
|
onPointerUp: stopPropagation,
|
|
@@ -6750,7 +7166,7 @@ function useInfiniteColumnFilterEditor() {
|
|
|
6750
7166
|
const context = useInfiniteTable();
|
|
6751
7167
|
const { column, columnApi } = useInfiniteHeaderCell();
|
|
6752
7168
|
const columnLabel = getColumnLabel(column, context);
|
|
6753
|
-
const filterContextValue =
|
|
7169
|
+
const filterContextValue = React29.useContext(
|
|
6754
7170
|
InfiniteTableColumnHeaderFilterContext
|
|
6755
7171
|
);
|
|
6756
7172
|
const { columnFilterType, filterTypes, columnFilterValue } = filterContextValue;
|
|
@@ -6758,17 +7174,17 @@ function useInfiniteColumnFilterEditor() {
|
|
|
6758
7174
|
const [theValue, setTheValue] = (0, import_react20.useState)(
|
|
6759
7175
|
columnFilterValue?.filter.value ?? ""
|
|
6760
7176
|
);
|
|
6761
|
-
const onInputChange =
|
|
7177
|
+
const onInputChange = React29.useCallback(
|
|
6762
7178
|
(filterValue) => {
|
|
6763
7179
|
setTheValue(filterValue);
|
|
6764
7180
|
filterContextValue.onChange(filterValue);
|
|
6765
7181
|
},
|
|
6766
7182
|
[filterContextValue.onChange]
|
|
6767
7183
|
);
|
|
6768
|
-
const clearValue =
|
|
7184
|
+
const clearValue = React29.useCallback(() => {
|
|
6769
7185
|
context.api.clearColumnFilter(column.id);
|
|
6770
7186
|
}, [column.id]);
|
|
6771
|
-
const removeColumnFilter =
|
|
7187
|
+
const removeColumnFilter = React29.useCallback(() => {
|
|
6772
7188
|
context.api.removeColumnFilter(column.id);
|
|
6773
7189
|
}, [column.id]);
|
|
6774
7190
|
(0, import_react20.useEffect)(() => {
|
|
@@ -6811,7 +7227,7 @@ function useInfiniteColumnFilterEditor() {
|
|
|
6811
7227
|
// src/components/InfiniteTable/components/FilterEditors.tsx
|
|
6812
7228
|
function StringFilterEditor() {
|
|
6813
7229
|
const { ariaLabel, value, setValue, className, disabled } = useInfiniteColumnFilterEditor();
|
|
6814
|
-
return /* @__PURE__ */
|
|
7230
|
+
return /* @__PURE__ */ React30.createElement(
|
|
6815
7231
|
"input",
|
|
6816
7232
|
{
|
|
6817
7233
|
"data-xxx": true,
|
|
@@ -6828,7 +7244,7 @@ function StringFilterEditor() {
|
|
|
6828
7244
|
}
|
|
6829
7245
|
function NumberFilterEditor() {
|
|
6830
7246
|
const { ariaLabel, value, setValue, className, disabled } = useInfiniteColumnFilterEditor();
|
|
6831
|
-
return /* @__PURE__ */
|
|
7247
|
+
return /* @__PURE__ */ React30.createElement(
|
|
6832
7248
|
"input",
|
|
6833
7249
|
{
|
|
6834
7250
|
"aria-label": ariaLabel,
|
|
@@ -7311,7 +7727,7 @@ function useDOMProps(initialDOMProps) {
|
|
|
7311
7727
|
}
|
|
7312
7728
|
|
|
7313
7729
|
// src/components/InfiniteTable/hooks/reorderColumnsOnDrag.ts
|
|
7314
|
-
var
|
|
7730
|
+
var import_binary_search4 = __toESM(require_binary_search());
|
|
7315
7731
|
|
|
7316
7732
|
// src/components/InfiniteTable/utils/CSSCalc.ts
|
|
7317
7733
|
function mapToContinuation(args) {
|
|
@@ -7745,7 +8161,7 @@ function reorderColumnsOnDrag(params) {
|
|
|
7745
8161
|
restrictToParentGroup: draggableColumnsRestrictTo === "group"
|
|
7746
8162
|
});
|
|
7747
8163
|
let currentPos = dir === -1 ? dragColumn.computedOffset + diffX : dragColumn.computedOffset + dragColumn.computedWidth + diffX;
|
|
7748
|
-
let idx = (0,
|
|
8164
|
+
let idx = (0, import_binary_search4.default)(
|
|
7749
8165
|
breakpoints,
|
|
7750
8166
|
currentPos,
|
|
7751
8167
|
({ offsetX }, value) => {
|
|
@@ -8086,14 +8502,14 @@ var useColumnPointerEvents = ({
|
|
|
8086
8502
|
};
|
|
8087
8503
|
|
|
8088
8504
|
// src/components/InfiniteTable/utils/RenderHookComponentForInfinite.tsx
|
|
8089
|
-
var
|
|
8505
|
+
var React38 = __toESM(require("react"));
|
|
8090
8506
|
|
|
8091
8507
|
// src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell.tsx
|
|
8092
|
-
var
|
|
8508
|
+
var React37 = __toESM(require("react"));
|
|
8093
8509
|
var import_react25 = require("react");
|
|
8094
8510
|
|
|
8095
8511
|
// src/components/InfiniteTable/utils/getColumnForGroupBy.tsx
|
|
8096
|
-
var
|
|
8512
|
+
var React33 = __toESM(require("react"));
|
|
8097
8513
|
|
|
8098
8514
|
// src/components/DataSource/state/rowInfoStatus.ts
|
|
8099
8515
|
var showLoadingIcon = (rowInfo) => {
|
|
@@ -8104,7 +8520,7 @@ var showLoadingIcon = (rowInfo) => {
|
|
|
8104
8520
|
};
|
|
8105
8521
|
|
|
8106
8522
|
// src/components/InfiniteTable/components/icons/ExpandCollapseIcon.tsx
|
|
8107
|
-
var
|
|
8523
|
+
var React31 = __toESM(require("react"));
|
|
8108
8524
|
var import_react22 = require("react");
|
|
8109
8525
|
|
|
8110
8526
|
// src/components/InfiniteTable/components/icons/ExpandCollapseIcon.css.ts
|
|
@@ -8124,13 +8540,13 @@ function ExpandCollapseIcon(props) {
|
|
|
8124
8540
|
setExpanded(!expanded);
|
|
8125
8541
|
}
|
|
8126
8542
|
};
|
|
8127
|
-
|
|
8543
|
+
React31.useEffect(() => {
|
|
8128
8544
|
if (isControlled("expanded", props)) {
|
|
8129
8545
|
setExpanded(props.expanded);
|
|
8130
8546
|
}
|
|
8131
8547
|
}, [props.expanded]);
|
|
8132
8548
|
const currentState = expanded ? "expanded" : "collapsed";
|
|
8133
|
-
return /* @__PURE__ */
|
|
8549
|
+
return /* @__PURE__ */ React31.createElement(
|
|
8134
8550
|
"svg",
|
|
8135
8551
|
{
|
|
8136
8552
|
"data-name": "expand-collapse-icon",
|
|
@@ -8157,19 +8573,19 @@ function ExpandCollapseIcon(props) {
|
|
|
8157
8573
|
disabled ? `${THIS_ICON}--disabled` : ""
|
|
8158
8574
|
)
|
|
8159
8575
|
},
|
|
8160
|
-
/* @__PURE__ */
|
|
8576
|
+
/* @__PURE__ */ React31.createElement("path", { d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z" })
|
|
8161
8577
|
);
|
|
8162
8578
|
}
|
|
8163
8579
|
|
|
8164
8580
|
// src/components/InfiniteTable/components/icons/LoadingIcon.tsx
|
|
8165
|
-
var
|
|
8581
|
+
var React32 = __toESM(require("react"));
|
|
8166
8582
|
|
|
8167
8583
|
// src/components/InfiniteTable/components/icons/LoadingIcon.css.ts
|
|
8168
8584
|
var LoadingIconCls = "utilities_stroke_accentColor__16lm1iwb utilities_flex_none__16lm1iwn utilities_cursor_pointer__16lm1iwi";
|
|
8169
8585
|
|
|
8170
8586
|
// src/components/InfiniteTable/components/icons/LoadingIcon.tsx
|
|
8171
8587
|
var LoadingIcon = (props) => {
|
|
8172
|
-
return /* @__PURE__ */
|
|
8588
|
+
return /* @__PURE__ */ React32.createElement(
|
|
8173
8589
|
"svg",
|
|
8174
8590
|
{
|
|
8175
8591
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -8189,7 +8605,7 @@ var LoadingIcon = (props) => {
|
|
|
8189
8605
|
"InfiniteIcon-loading"
|
|
8190
8606
|
)
|
|
8191
8607
|
},
|
|
8192
|
-
/* @__PURE__ */
|
|
8608
|
+
/* @__PURE__ */ React32.createElement(
|
|
8193
8609
|
"circle",
|
|
8194
8610
|
{
|
|
8195
8611
|
cx: "50",
|
|
@@ -8199,7 +8615,7 @@ var LoadingIcon = (props) => {
|
|
|
8199
8615
|
r: "35",
|
|
8200
8616
|
strokeDasharray: "164.93361431346415 56.97787143782138"
|
|
8201
8617
|
},
|
|
8202
|
-
/* @__PURE__ */
|
|
8618
|
+
/* @__PURE__ */ React32.createElement(
|
|
8203
8619
|
"animateTransform",
|
|
8204
8620
|
{
|
|
8205
8621
|
attributeName: "transform",
|
|
@@ -8244,11 +8660,11 @@ function getGroupColumnRender({
|
|
|
8244
8660
|
);
|
|
8245
8661
|
if (groupRenderStrategy === "multi-column") {
|
|
8246
8662
|
if (groupIndexForColumn + 1 !== groupRowInfo.groupNesting && groupRowInfo.isGroupRow) {
|
|
8247
|
-
return selectionCheckBox ? /* @__PURE__ */
|
|
8663
|
+
return selectionCheckBox ? /* @__PURE__ */ React33.createElement("div", { className }, selectionCheckBox) : null;
|
|
8248
8664
|
}
|
|
8249
8665
|
} else if (groupRenderStrategy === "single-column" && !groupRowInfo.isGroupRow) {
|
|
8250
8666
|
}
|
|
8251
|
-
return /* @__PURE__ */
|
|
8667
|
+
return /* @__PURE__ */ React33.createElement("div", { className }, groupIcon, selectionCheckBox, /* @__PURE__ */ React33.createElement("div", { className: cssEllipsisClassName }, valueToRender ?? null));
|
|
8252
8668
|
};
|
|
8253
8669
|
}
|
|
8254
8670
|
function getGroupColumnRenderGroupIcon({
|
|
@@ -8296,9 +8712,9 @@ function getGroupColumnRenderGroupIcon({
|
|
|
8296
8712
|
const showExpanderIcon = pivotBy ? (groupRowInfo.groupKeys?.length || 0) < groupBy?.length : (groupRowInfo.groupKeys?.length || 0) <= groupBy?.length;
|
|
8297
8713
|
const isLoading = showLoadingIcon(groupRowInfo);
|
|
8298
8714
|
if (isLoading) {
|
|
8299
|
-
icon = /* @__PURE__ */
|
|
8715
|
+
icon = /* @__PURE__ */ React33.createElement(LoadingIcon, null);
|
|
8300
8716
|
} else if (showExpanderIcon) {
|
|
8301
|
-
const defaultIcon = /* @__PURE__ */
|
|
8717
|
+
const defaultIcon = /* @__PURE__ */ React33.createElement(
|
|
8302
8718
|
ExpandCollapseIcon,
|
|
8303
8719
|
{
|
|
8304
8720
|
expanded: !collapsed,
|
|
@@ -8312,7 +8728,7 @@ function getGroupColumnRenderGroupIcon({
|
|
|
8312
8728
|
}
|
|
8313
8729
|
if (initialRenderGroupIcon) {
|
|
8314
8730
|
renderOptions.renderBag.groupIcon = icon;
|
|
8315
|
-
icon = /* @__PURE__ */
|
|
8731
|
+
icon = /* @__PURE__ */ React33.createElement(
|
|
8316
8732
|
RenderCellHookComponent,
|
|
8317
8733
|
{
|
|
8318
8734
|
render: initialRenderGroupIcon,
|
|
@@ -8400,7 +8816,7 @@ var FlashingColumnCellRecipe = createRuntimeFn({ defaultClassName: "cell_Flashin
|
|
|
8400
8816
|
var SelectionCheckboxCls = "cell_SelectionCheckboxCls__1eexc2a7";
|
|
8401
8817
|
|
|
8402
8818
|
// src/components/InfiniteTable/components/CheckBox.tsx
|
|
8403
|
-
var
|
|
8819
|
+
var React34 = __toESM(require("react"));
|
|
8404
8820
|
var import_react23 = require("react");
|
|
8405
8821
|
|
|
8406
8822
|
// src/components/InfiniteTable/components/CheckBox.css.ts
|
|
@@ -8439,7 +8855,7 @@ function InfiniteCheckBoxComponent() {
|
|
|
8439
8855
|
(0, import_react23.useEffect)(() => {
|
|
8440
8856
|
inputRef.current.indeterminate = checked == null;
|
|
8441
8857
|
}, [checked]);
|
|
8442
|
-
return /* @__PURE__ */
|
|
8858
|
+
return /* @__PURE__ */ React34.createElement(
|
|
8443
8859
|
"input",
|
|
8444
8860
|
{
|
|
8445
8861
|
...domProps,
|
|
@@ -8458,7 +8874,7 @@ function InfiniteCheckBoxComponent() {
|
|
|
8458
8874
|
);
|
|
8459
8875
|
}
|
|
8460
8876
|
function InfiniteCheckBox(props) {
|
|
8461
|
-
return /* @__PURE__ */
|
|
8877
|
+
return /* @__PURE__ */ React34.createElement(InfiniteCheckBoxRoot, { ...props }, /* @__PURE__ */ React34.createElement(InfiniteCheckBoxComponent, null));
|
|
8462
8878
|
}
|
|
8463
8879
|
|
|
8464
8880
|
// src/components/InfiniteTable/components/InfiniteTableRow/columnRendering.tsx
|
|
@@ -8882,7 +9298,7 @@ function getFormattedValueContextForCell(options) {
|
|
|
8882
9298
|
}
|
|
8883
9299
|
|
|
8884
9300
|
// src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCell.tsx
|
|
8885
|
-
var
|
|
9301
|
+
var React35 = __toESM(require("react"));
|
|
8886
9302
|
var { rootClassName: rootClassName5 } = internalProps;
|
|
8887
9303
|
var InfiniteTableCellClassName = `${rootClassName5}Cell`;
|
|
8888
9304
|
var InfiniteTableCellContentClassName = `${rootClassName5}Cell_content`;
|
|
@@ -8929,7 +9345,7 @@ function InfiniteTableCellFn(props) {
|
|
|
8929
9345
|
// ? `${InfiniteTableCellClassName}--shifting ${CellClsVariants.shifting}`
|
|
8930
9346
|
// : '',
|
|
8931
9347
|
),
|
|
8932
|
-
children: /* @__PURE__ */
|
|
9348
|
+
children: /* @__PURE__ */ React35.createElement(React35.Fragment, null, beforeChildren, /* @__PURE__ */ React35.createElement(
|
|
8933
9349
|
"div",
|
|
8934
9350
|
{
|
|
8935
9351
|
className: join(
|
|
@@ -8947,21 +9363,21 @@ function InfiniteTableCellFn(props) {
|
|
|
8947
9363
|
}
|
|
8948
9364
|
const RenderComponent = cellType === "body" ? column.components?.ColumnCell : column.components?.HeaderCell;
|
|
8949
9365
|
if (RenderComponent) {
|
|
8950
|
-
return /* @__PURE__ */
|
|
9366
|
+
return /* @__PURE__ */ React35.createElement(RenderComponent, { ...finalDOMProps, ref: domRef });
|
|
8951
9367
|
}
|
|
8952
|
-
return /* @__PURE__ */
|
|
9368
|
+
return /* @__PURE__ */ React35.createElement("div", { ...finalDOMProps, ref: domRef });
|
|
8953
9369
|
}
|
|
8954
|
-
var InfiniteTableCell =
|
|
9370
|
+
var InfiniteTableCell = React35.memo(
|
|
8955
9371
|
InfiniteTableCellFn
|
|
8956
9372
|
);
|
|
8957
9373
|
|
|
8958
9374
|
// src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnEditor.tsx
|
|
8959
|
-
var
|
|
9375
|
+
var React36 = __toESM(require("react"));
|
|
8960
9376
|
var import_react24 = require("react");
|
|
8961
9377
|
function InfiniteTableColumnEditor() {
|
|
8962
9378
|
const { initialValue, setValue, confirmEdit, cancelEdit, readOnly } = useInfiniteColumnEditor();
|
|
8963
9379
|
const domRef = (0, import_react24.useRef)();
|
|
8964
|
-
const refCallback =
|
|
9380
|
+
const refCallback = React36.useCallback((node) => {
|
|
8965
9381
|
domRef.current = node;
|
|
8966
9382
|
if (node) {
|
|
8967
9383
|
node.focus();
|
|
@@ -8977,7 +9393,7 @@ function InfiniteTableColumnEditor() {
|
|
|
8977
9393
|
event.stopPropagation();
|
|
8978
9394
|
}
|
|
8979
9395
|
}, []);
|
|
8980
|
-
return /* @__PURE__ */
|
|
9396
|
+
return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(
|
|
8981
9397
|
"input",
|
|
8982
9398
|
{
|
|
8983
9399
|
readOnly,
|
|
@@ -9004,11 +9420,11 @@ function styleForTreeColumn({
|
|
|
9004
9420
|
[stripVar(ThemeVars.components.Row.groupNesting)]: rowInfo.isTreeNode ? rowInfo.isParentNode ? rowInfo.treeNesting : rowInfo.treeNesting + 1 : 0
|
|
9005
9421
|
};
|
|
9006
9422
|
}
|
|
9007
|
-
var InfiniteTableColumnCellContext =
|
|
9423
|
+
var InfiniteTableColumnCellContext = React37.createContext(null);
|
|
9008
9424
|
var InfiniteTableColumnCellClassName = `${rootClassName6}ColumnCell`;
|
|
9009
9425
|
var defaultRenderRowDetailIcon = (params) => {
|
|
9010
9426
|
const { toggleCurrentRowDetails, rowDetailState } = params;
|
|
9011
|
-
return /* @__PURE__ */
|
|
9427
|
+
return /* @__PURE__ */ React37.createElement(
|
|
9012
9428
|
ExpandCollapseIcon,
|
|
9013
9429
|
{
|
|
9014
9430
|
style: {
|
|
@@ -9026,7 +9442,7 @@ var EXPANDER_STYLE = {
|
|
|
9026
9442
|
var defaultRenderTreeIcon = (params) => {
|
|
9027
9443
|
const { rowInfo, toggleCurrentTreeNode, nodeExpanded, api } = params;
|
|
9028
9444
|
const isNodeReadOnly2 = api.getDataSourceState().isNodeReadOnly;
|
|
9029
|
-
return /* @__PURE__ */
|
|
9445
|
+
return /* @__PURE__ */ React37.createElement(
|
|
9030
9446
|
ExpandCollapseIcon,
|
|
9031
9447
|
{
|
|
9032
9448
|
disabled: rowInfo.isTreeNode && rowInfo.isParentNode ? isNodeReadOnly2(rowInfo) : false,
|
|
@@ -9051,7 +9467,7 @@ var defaultRenderSelectionCheckBox = (params) => {
|
|
|
9051
9467
|
const { components: components2 } = api.getState();
|
|
9052
9468
|
const isNodeSelectable2 = api.getDataSourceState().isNodeSelectable;
|
|
9053
9469
|
const CheckBoxCmp = components2?.CheckBox || InfiniteCheckBox;
|
|
9054
|
-
return /* @__PURE__ */
|
|
9470
|
+
return /* @__PURE__ */ React37.createElement(
|
|
9055
9471
|
CheckBoxCmp,
|
|
9056
9472
|
{
|
|
9057
9473
|
domProps: {
|
|
@@ -9111,7 +9527,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9111
9527
|
hidden,
|
|
9112
9528
|
showZebraRows
|
|
9113
9529
|
} = props;
|
|
9114
|
-
const htmlElementRef =
|
|
9530
|
+
const htmlElementRef = React37.useRef(null);
|
|
9115
9531
|
const domRef = (0, import_react25.useCallback)(
|
|
9116
9532
|
(node) => {
|
|
9117
9533
|
htmlElementRef.current = node;
|
|
@@ -9122,7 +9538,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9122
9538
|
[initialDomRef]
|
|
9123
9539
|
);
|
|
9124
9540
|
if (!column) {
|
|
9125
|
-
return /* @__PURE__ */
|
|
9541
|
+
return /* @__PURE__ */ React37.createElement("div", { ref: domRef }, "no column");
|
|
9126
9542
|
}
|
|
9127
9543
|
const { rowSelected } = rowInfo;
|
|
9128
9544
|
const {
|
|
@@ -9172,7 +9588,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9172
9588
|
} = colRenderingParams;
|
|
9173
9589
|
const { align: align2, verticalAlign } = renderParams;
|
|
9174
9590
|
const renderParam = renderParams;
|
|
9175
|
-
const renderParamRef =
|
|
9591
|
+
const renderParamRef = React37.useRef(renderParam);
|
|
9176
9592
|
const onClick = (0, import_react25.useCallback)(
|
|
9177
9593
|
(event) => {
|
|
9178
9594
|
const colIndex = column.computedVisibleIndex;
|
|
@@ -9237,7 +9653,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9237
9653
|
[rowInfo]
|
|
9238
9654
|
);
|
|
9239
9655
|
const EditorComponent = column.components?.Editor ?? InfiniteTableColumnEditor;
|
|
9240
|
-
const editor = inEdit ? /* @__PURE__ */
|
|
9656
|
+
const editor = inEdit ? /* @__PURE__ */ React37.createElement(CellEditorContextComponent, { contextValue: renderParam }, /* @__PURE__ */ React37.createElement(EditorComponent, null)) : null;
|
|
9241
9657
|
const renderChildren = (0, import_react25.useCallback)(
|
|
9242
9658
|
once(() => {
|
|
9243
9659
|
if (hidden) {
|
|
@@ -9248,7 +9664,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9248
9664
|
}
|
|
9249
9665
|
renderParamRef.current = renderParam;
|
|
9250
9666
|
if (renderFunctions.renderGroupIcon) {
|
|
9251
|
-
renderParam.renderBag.groupIcon = /* @__PURE__ */
|
|
9667
|
+
renderParam.renderBag.groupIcon = /* @__PURE__ */ React37.createElement(
|
|
9252
9668
|
RenderCellHookComponent,
|
|
9253
9669
|
{
|
|
9254
9670
|
render: renderFunctions.renderGroupIcon,
|
|
@@ -9260,7 +9676,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9260
9676
|
);
|
|
9261
9677
|
}
|
|
9262
9678
|
if (renderFunctions.renderSelectionCheckBox && selectionMode == "multi-row") {
|
|
9263
|
-
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */
|
|
9679
|
+
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React37.createElement(
|
|
9264
9680
|
RenderCellHookComponent,
|
|
9265
9681
|
{
|
|
9266
9682
|
render: defaultRenderSelectionCheckBox,
|
|
@@ -9268,7 +9684,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9268
9684
|
}
|
|
9269
9685
|
);
|
|
9270
9686
|
if (renderFunctions.renderSelectionCheckBox !== true) {
|
|
9271
|
-
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */
|
|
9687
|
+
renderParam.renderBag.selectionCheckBox = /* @__PURE__ */ React37.createElement(
|
|
9272
9688
|
RenderCellHookComponent,
|
|
9273
9689
|
{
|
|
9274
9690
|
render: renderFunctions.renderSelectionCheckBox,
|
|
@@ -9289,7 +9705,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9289
9705
|
if (fn === true) {
|
|
9290
9706
|
fn = defaultRenderTreeIcon;
|
|
9291
9707
|
} else if (fn) {
|
|
9292
|
-
renderParam.renderBag.treeIcon = /* @__PURE__ */
|
|
9708
|
+
renderParam.renderBag.treeIcon = /* @__PURE__ */ React37.createElement(
|
|
9293
9709
|
RenderCellHookComponent,
|
|
9294
9710
|
{
|
|
9295
9711
|
render: defaultRenderTreeIcon,
|
|
@@ -9298,7 +9714,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9298
9714
|
);
|
|
9299
9715
|
}
|
|
9300
9716
|
if (fn) {
|
|
9301
|
-
renderParam.renderBag.treeIcon = /* @__PURE__ */
|
|
9717
|
+
renderParam.renderBag.treeIcon = /* @__PURE__ */ React37.createElement(
|
|
9302
9718
|
RenderCellHookComponent,
|
|
9303
9719
|
{
|
|
9304
9720
|
render: fn,
|
|
@@ -9311,7 +9727,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9311
9727
|
}
|
|
9312
9728
|
}
|
|
9313
9729
|
if (renderFunctions.renderRowDetailIcon) {
|
|
9314
|
-
renderParam.renderBag.rowDetailsIcon = /* @__PURE__ */
|
|
9730
|
+
renderParam.renderBag.rowDetailsIcon = /* @__PURE__ */ React37.createElement(
|
|
9315
9731
|
RenderCellHookComponent,
|
|
9316
9732
|
{
|
|
9317
9733
|
render: defaultRenderRowDetailIcon,
|
|
@@ -9324,7 +9740,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9324
9740
|
}
|
|
9325
9741
|
);
|
|
9326
9742
|
if (typeof renderFunctions.renderRowDetailIcon === "function") {
|
|
9327
|
-
renderParam.renderBag.rowDetailsIcon = /* @__PURE__ */
|
|
9743
|
+
renderParam.renderBag.rowDetailsIcon = /* @__PURE__ */ React37.createElement(
|
|
9328
9744
|
RenderCellHookComponent,
|
|
9329
9745
|
{
|
|
9330
9746
|
render: renderFunctions.renderRowDetailIcon,
|
|
@@ -9337,7 +9753,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9337
9753
|
}
|
|
9338
9754
|
}
|
|
9339
9755
|
if (renderFunctions.renderValue) {
|
|
9340
|
-
renderParam.renderBag.value = /* @__PURE__ */
|
|
9756
|
+
renderParam.renderBag.value = /* @__PURE__ */ React37.createElement(
|
|
9341
9757
|
RenderCellHookComponent,
|
|
9342
9758
|
{
|
|
9343
9759
|
render: renderFunctions.renderValue,
|
|
@@ -9349,7 +9765,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9349
9765
|
);
|
|
9350
9766
|
}
|
|
9351
9767
|
if (rowInfo.isGroupRow && renderFunctions.renderGroupValue) {
|
|
9352
|
-
renderParam.renderBag.value = /* @__PURE__ */
|
|
9768
|
+
renderParam.renderBag.value = /* @__PURE__ */ React37.createElement(
|
|
9353
9769
|
RenderCellHookComponent,
|
|
9354
9770
|
{
|
|
9355
9771
|
render: renderFunctions.renderGroupValue,
|
|
@@ -9361,7 +9777,7 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9361
9777
|
);
|
|
9362
9778
|
}
|
|
9363
9779
|
if (!rowInfo.isGroupRow && renderFunctions.renderLeafValue) {
|
|
9364
|
-
renderParam.renderBag.value = /* @__PURE__ */
|
|
9780
|
+
renderParam.renderBag.value = /* @__PURE__ */ React37.createElement(
|
|
9365
9781
|
RenderCellHookComponent,
|
|
9366
9782
|
{
|
|
9367
9783
|
render: renderFunctions.renderLeafValue,
|
|
@@ -9377,9 +9793,9 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9377
9793
|
if (valueToRender instanceof Date) {
|
|
9378
9794
|
valueToRender = valueToRender.toLocaleDateString();
|
|
9379
9795
|
}
|
|
9380
|
-
const all = /* @__PURE__ */
|
|
9796
|
+
const all = /* @__PURE__ */ React37.createElement(React37.Fragment, null, align2 !== "end" ? renderParam.renderBag.treeIcon : null, align2 !== "end" ? renderParam.renderBag.groupIcon : null, align2 !== "end" ? renderParam.renderBag.rowDetailsIcon : null, align2 !== "end" ? renderParam.renderBag.selectionCheckBox : null, valueToRender, align2 === "end" ? renderParam.renderBag.selectionCheckBox : null, align2 === "end" ? renderParam.renderBag.rowDetailsIcon : null, align2 === "end" ? renderParam.renderBag.groupIcon : null, align2 === "end" ? renderParam.renderBag.treeIcon : null);
|
|
9381
9797
|
if (column.render) {
|
|
9382
|
-
return /* @__PURE__ */
|
|
9798
|
+
return /* @__PURE__ */ React37.createElement(
|
|
9383
9799
|
RenderCellHookComponent,
|
|
9384
9800
|
{
|
|
9385
9801
|
render: column.render,
|
|
@@ -9565,16 +9981,16 @@ function InfiniteTableColumnCellFn(props) {
|
|
|
9565
9981
|
return (
|
|
9566
9982
|
// this context is here for supporting useInfiniteColumnCell to be used
|
|
9567
9983
|
// with a custom column component, specified via column.components.ColumnCell
|
|
9568
|
-
/* @__PURE__ */
|
|
9984
|
+
/* @__PURE__ */ React37.createElement(
|
|
9569
9985
|
ContextProvider,
|
|
9570
9986
|
{
|
|
9571
9987
|
value: renderParamRef.current
|
|
9572
9988
|
},
|
|
9573
|
-
/* @__PURE__ */
|
|
9989
|
+
/* @__PURE__ */ React37.createElement(InfiniteTableCell, { ...cellProps })
|
|
9574
9990
|
)
|
|
9575
9991
|
);
|
|
9576
9992
|
}
|
|
9577
|
-
var InfiniteTableColumnCell =
|
|
9993
|
+
var InfiniteTableColumnCell = React37.memo(
|
|
9578
9994
|
InfiniteTableColumnCellFn
|
|
9579
9995
|
);
|
|
9580
9996
|
function useInfiniteColumnCell() {
|
|
@@ -9589,14 +10005,14 @@ function useInfiniteColumnEditor() {
|
|
|
9589
10005
|
state: { editingValueRef, editingCell }
|
|
9590
10006
|
} = useInfiniteTable();
|
|
9591
10007
|
const { column, rowInfo } = useInfiniteColumnCell();
|
|
9592
|
-
const [initialValue] =
|
|
9593
|
-
const [currentValue, setCurrentValue] =
|
|
10008
|
+
const [initialValue] = React37.useState(() => editingCell?.value);
|
|
10009
|
+
const [currentValue, setCurrentValue] = React37.useState(initialValue);
|
|
9594
10010
|
const readOnly = editingCell ? !editingCell.active && !!editingCell.waiting : false;
|
|
9595
|
-
const setValue =
|
|
10011
|
+
const setValue = React37.useCallback((value) => {
|
|
9596
10012
|
editingValueRef.current = value;
|
|
9597
10013
|
setCurrentValue(value);
|
|
9598
10014
|
}, []);
|
|
9599
|
-
|
|
10015
|
+
React37.useLayoutEffect(() => {
|
|
9600
10016
|
editingValueRef.current = initialValue;
|
|
9601
10017
|
}, []);
|
|
9602
10018
|
const confirmEdit = api.confirmEdit;
|
|
@@ -9624,7 +10040,7 @@ function RenderHookComponent(props) {
|
|
|
9624
10040
|
// src/components/InfiniteTable/utils/RenderHookComponentForInfinite.tsx
|
|
9625
10041
|
function RenderCellHookComponent(props) {
|
|
9626
10042
|
const ContextProvider = InfiniteTableColumnCellContext.Provider;
|
|
9627
|
-
return /* @__PURE__ */
|
|
10043
|
+
return /* @__PURE__ */ React38.createElement(ContextProvider, { value: props.renderParam }, /* @__PURE__ */ React38.createElement(
|
|
9628
10044
|
RenderHookComponent,
|
|
9629
10045
|
{
|
|
9630
10046
|
render: props.render,
|
|
@@ -9634,11 +10050,11 @@ function RenderCellHookComponent(props) {
|
|
|
9634
10050
|
}
|
|
9635
10051
|
function CellEditorContextComponent(props) {
|
|
9636
10052
|
const ContextProvider = InfiniteTableColumnCellContext.Provider;
|
|
9637
|
-
return /* @__PURE__ */
|
|
10053
|
+
return /* @__PURE__ */ React38.createElement(ContextProvider, { value: props.contextValue }, props.children);
|
|
9638
10054
|
}
|
|
9639
10055
|
function RenderHeaderCellHookComponent(props) {
|
|
9640
10056
|
const ContextProvider = InfiniteTableHeaderCellContext.Provider;
|
|
9641
|
-
return /* @__PURE__ */
|
|
10057
|
+
return /* @__PURE__ */ React38.createElement(ContextProvider, { value: props.renderParam }, /* @__PURE__ */ React38.createElement(
|
|
9642
10058
|
RenderHookComponent,
|
|
9643
10059
|
{
|
|
9644
10060
|
render: props.render,
|
|
@@ -9648,7 +10064,7 @@ function RenderHeaderCellHookComponent(props) {
|
|
|
9648
10064
|
}
|
|
9649
10065
|
|
|
9650
10066
|
// src/components/InfiniteTable/components/icons/MenuIcon.tsx
|
|
9651
|
-
var
|
|
10067
|
+
var React39 = __toESM(require("react"));
|
|
9652
10068
|
var defaultLineStyle2 = {
|
|
9653
10069
|
width: "100%",
|
|
9654
10070
|
pointerEvents: "none"
|
|
@@ -9674,7 +10090,7 @@ function MenuIcon(props) {
|
|
|
9674
10090
|
borderTop: `${ThemeVars.components.HeaderCell.menuIconLineWidth} solid currentColor`,
|
|
9675
10091
|
...props.lineStyle
|
|
9676
10092
|
};
|
|
9677
|
-
return /* @__PURE__ */
|
|
10093
|
+
return /* @__PURE__ */ React39.createElement(
|
|
9678
10094
|
"div",
|
|
9679
10095
|
{
|
|
9680
10096
|
...domProps,
|
|
@@ -9691,12 +10107,12 @@ function MenuIcon(props) {
|
|
|
9691
10107
|
`${InfiniteIconClassName}-menu`
|
|
9692
10108
|
)
|
|
9693
10109
|
},
|
|
9694
|
-
children ?? /* @__PURE__ */
|
|
10110
|
+
children ?? /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement("div", { className: lineClassName, style: lineStyle }), /* @__PURE__ */ React39.createElement("div", { className: lineClassName, style: lineStyle }), /* @__PURE__ */ React39.createElement("div", { className: lineClassName, style: lineStyle }))
|
|
9695
10111
|
);
|
|
9696
10112
|
}
|
|
9697
10113
|
|
|
9698
10114
|
// src/components/InfiniteTable/components/icons/SortIcon.tsx
|
|
9699
|
-
var
|
|
10115
|
+
var React40 = __toESM(require("react"));
|
|
9700
10116
|
var import_react26 = require("react");
|
|
9701
10117
|
|
|
9702
10118
|
// src/components/InfiniteTable/components/icons/SortIcon.css.ts
|
|
@@ -9755,7 +10171,7 @@ function SortIcon(props) {
|
|
|
9755
10171
|
if (direction === -1) {
|
|
9756
10172
|
indexStyle.top = "100%";
|
|
9757
10173
|
}
|
|
9758
|
-
return /* @__PURE__ */
|
|
10174
|
+
return /* @__PURE__ */ React40.createElement(
|
|
9759
10175
|
"div",
|
|
9760
10176
|
{
|
|
9761
10177
|
"data-name": "sort-icon",
|
|
@@ -9767,7 +10183,7 @@ function SortIcon(props) {
|
|
|
9767
10183
|
`${InfiniteIconClassName}-sort`
|
|
9768
10184
|
)
|
|
9769
10185
|
},
|
|
9770
|
-
showIndex ? /* @__PURE__ */
|
|
10186
|
+
showIndex ? /* @__PURE__ */ React40.createElement(
|
|
9771
10187
|
"div",
|
|
9772
10188
|
{
|
|
9773
10189
|
"data-name": "index",
|
|
@@ -9776,25 +10192,25 @@ function SortIcon(props) {
|
|
|
9776
10192
|
},
|
|
9777
10193
|
index
|
|
9778
10194
|
) : null,
|
|
9779
|
-
/* @__PURE__ */
|
|
10195
|
+
/* @__PURE__ */ React40.createElement(
|
|
9780
10196
|
"div",
|
|
9781
10197
|
{
|
|
9782
10198
|
style: { width: sizes[0], ...lineStyle },
|
|
9783
10199
|
onTransitionEnd
|
|
9784
10200
|
}
|
|
9785
10201
|
),
|
|
9786
|
-
/* @__PURE__ */
|
|
9787
|
-
/* @__PURE__ */
|
|
10202
|
+
/* @__PURE__ */ React40.createElement("div", { style: { width: sizes[1], ...lineStyle } }),
|
|
10203
|
+
/* @__PURE__ */ React40.createElement("div", { style: { width: sizes[2], ...lineStyle } })
|
|
9788
10204
|
);
|
|
9789
10205
|
}
|
|
9790
10206
|
|
|
9791
10207
|
// src/components/InfiniteTable/components/InfiniteTableHeader/useColumnResizeHandle.tsx
|
|
9792
|
-
var
|
|
10208
|
+
var React42 = __toESM(require("react"));
|
|
9793
10209
|
var import_react28 = require("react");
|
|
9794
10210
|
|
|
9795
10211
|
// src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/index.tsx
|
|
9796
10212
|
var import_react27 = require("react");
|
|
9797
|
-
var
|
|
10213
|
+
var React41 = __toESM(require("react"));
|
|
9798
10214
|
|
|
9799
10215
|
// src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/columnResizer.ts
|
|
9800
10216
|
function getColumnResizer(colIndex, {
|
|
@@ -10010,7 +10426,7 @@ function ResizeHandleFn(props) {
|
|
|
10010
10426
|
right: computedPinned === "start" ? void 0 : 0
|
|
10011
10427
|
//ThemeVars.components.HeaderCell.resizeHandleWidth,
|
|
10012
10428
|
} : computedPinned === "end" && computedFirstInCategory ? { right: void 0 } : void 0;
|
|
10013
|
-
return /* @__PURE__ */
|
|
10429
|
+
return /* @__PURE__ */ React41.createElement(
|
|
10014
10430
|
"div",
|
|
10015
10431
|
{
|
|
10016
10432
|
ref: domRef,
|
|
@@ -10023,7 +10439,7 @@ function ResizeHandleFn(props) {
|
|
|
10023
10439
|
)}`,
|
|
10024
10440
|
onPointerDown
|
|
10025
10441
|
},
|
|
10026
|
-
/* @__PURE__ */
|
|
10442
|
+
/* @__PURE__ */ React41.createElement(
|
|
10027
10443
|
"div",
|
|
10028
10444
|
{
|
|
10029
10445
|
style: style2,
|
|
@@ -10037,7 +10453,7 @@ function ResizeHandleFn(props) {
|
|
|
10037
10453
|
)
|
|
10038
10454
|
);
|
|
10039
10455
|
}
|
|
10040
|
-
var ResizeHandle =
|
|
10456
|
+
var ResizeHandle = React41.memo(ResizeHandleFn);
|
|
10041
10457
|
|
|
10042
10458
|
// src/components/InfiniteTable/components/InfiniteTableHeader/useColumnResizeHandle.tsx
|
|
10043
10459
|
function useColumnResizeHandle(column, opts) {
|
|
@@ -10107,7 +10523,7 @@ function useColumnResizeHandle(column, opts) {
|
|
|
10107
10523
|
},
|
|
10108
10524
|
[computeResizeForDiff]
|
|
10109
10525
|
);
|
|
10110
|
-
const resizeHandle = column.computedResizable ? /* @__PURE__ */
|
|
10526
|
+
const resizeHandle = column.computedResizable ? /* @__PURE__ */ React42.createElement(
|
|
10111
10527
|
ResizeHandle,
|
|
10112
10528
|
{
|
|
10113
10529
|
horizontalLayoutPageIndex: opts.horizontalLayoutPageIndex,
|
|
@@ -10130,7 +10546,7 @@ var defaultRenderSelectionCheckBox2 = (params) => {
|
|
|
10130
10546
|
const selected = allRowsSelected ? true : someRowsSelected ? null : false;
|
|
10131
10547
|
const { components: components2, isTree } = api.getState();
|
|
10132
10548
|
const CheckBoxCmp = components2?.CheckBox || InfiniteCheckBox;
|
|
10133
|
-
return /* @__PURE__ */
|
|
10549
|
+
return /* @__PURE__ */ React43.createElement(
|
|
10134
10550
|
CheckBoxCmp,
|
|
10135
10551
|
{
|
|
10136
10552
|
domProps: {
|
|
@@ -10155,9 +10571,9 @@ var defaultRenderSelectionCheckBox2 = (params) => {
|
|
|
10155
10571
|
}
|
|
10156
10572
|
);
|
|
10157
10573
|
};
|
|
10158
|
-
var InfiniteTableHeaderCellContext =
|
|
10574
|
+
var InfiniteTableHeaderCellContext = React43.createContext(null);
|
|
10159
10575
|
var columnZIndexAtIndex5 = stripVar(InternalVars.columnZIndexAtIndex);
|
|
10160
|
-
var spacer = /* @__PURE__ */
|
|
10576
|
+
var spacer = /* @__PURE__ */ React43.createElement("div", { className: flex["1"] });
|
|
10161
10577
|
var InfiniteHeaderCellDataAttributes = keyMirror({
|
|
10162
10578
|
"data-name": ``,
|
|
10163
10579
|
"data-field": ``,
|
|
@@ -10219,7 +10635,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10219
10635
|
getState
|
|
10220
10636
|
});
|
|
10221
10637
|
const computedSortable = columnApi.isSortable();
|
|
10222
|
-
const sortIcon = computedSortable && (column.computedSorted || alwaysShow) ? /* @__PURE__ */
|
|
10638
|
+
const sortIcon = computedSortable && (column.computedSorted || alwaysShow) ? /* @__PURE__ */ React43.createElement(
|
|
10223
10639
|
SortIcon,
|
|
10224
10640
|
{
|
|
10225
10641
|
index: column.computedMultiSort ? column.computedSortIndex + 1 : void 0,
|
|
@@ -10236,7 +10652,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10236
10652
|
}
|
|
10237
10653
|
) : null;
|
|
10238
10654
|
const filtered = column.computedFilterable && column.computedFiltered;
|
|
10239
|
-
const filterIcon = filtered ? /* @__PURE__ */
|
|
10655
|
+
const filterIcon = filtered ? /* @__PURE__ */ React43.createElement(FilterIcon, null) : null;
|
|
10240
10656
|
const headerCSSEllipsis = column.headerCssEllipsis ?? column.cssEllipsis ?? true;
|
|
10241
10657
|
const menuIconProps = {
|
|
10242
10658
|
reserveSpaceWhenHidden: align2 === "center",
|
|
@@ -10256,7 +10672,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10256
10672
|
}
|
|
10257
10673
|
};
|
|
10258
10674
|
const MenuIconCmp = column.components?.MenuIcon || components2?.MenuIcon || MenuIcon;
|
|
10259
|
-
const menuIcon = /* @__PURE__ */
|
|
10675
|
+
const menuIcon = /* @__PURE__ */ React43.createElement(MenuIconCmp, { ...menuIconProps });
|
|
10260
10676
|
const domRef = (0, import_react29.useRef)(null);
|
|
10261
10677
|
const initialRenderParam = {
|
|
10262
10678
|
horizontalLayoutPageIndex,
|
|
@@ -10291,7 +10707,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10291
10707
|
renderBag: { ...initialRenderParam.renderBag }
|
|
10292
10708
|
};
|
|
10293
10709
|
if (column.renderSortIcon) {
|
|
10294
|
-
renderParam2.renderBag.sortIcon = /* @__PURE__ */
|
|
10710
|
+
renderParam2.renderBag.sortIcon = /* @__PURE__ */ React43.createElement(
|
|
10295
10711
|
RenderHeaderCellHookComponent,
|
|
10296
10712
|
{
|
|
10297
10713
|
render: column.renderSortIcon,
|
|
@@ -10309,7 +10725,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10309
10725
|
);
|
|
10310
10726
|
}
|
|
10311
10727
|
if (column.renderFilterIcon) {
|
|
10312
|
-
renderParam2.renderBag.filterIcon = /* @__PURE__ */
|
|
10728
|
+
renderParam2.renderBag.filterIcon = /* @__PURE__ */ React43.createElement(
|
|
10313
10729
|
RenderHeaderCellHookComponent,
|
|
10314
10730
|
{
|
|
10315
10731
|
render: column.renderFilterIcon,
|
|
@@ -10321,7 +10737,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10321
10737
|
);
|
|
10322
10738
|
}
|
|
10323
10739
|
if (typeof column.renderMenuIcon === "function") {
|
|
10324
|
-
renderParam2.renderBag.menuIcon = /* @__PURE__ */
|
|
10740
|
+
renderParam2.renderBag.menuIcon = /* @__PURE__ */ React43.createElement(
|
|
10325
10741
|
RenderHeaderCellHookComponent,
|
|
10326
10742
|
{
|
|
10327
10743
|
render: (param) => {
|
|
@@ -10333,7 +10749,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10333
10749
|
if (result.type === MenuIconCmp || result.type === MenuIcon) {
|
|
10334
10750
|
return result;
|
|
10335
10751
|
}
|
|
10336
|
-
return /* @__PURE__ */
|
|
10752
|
+
return /* @__PURE__ */ React43.createElement(MenuIconCmp, { ...menuIconProps }, result);
|
|
10337
10753
|
}
|
|
10338
10754
|
return null;
|
|
10339
10755
|
},
|
|
@@ -10347,7 +10763,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10347
10763
|
);
|
|
10348
10764
|
}
|
|
10349
10765
|
if (column.renderSelectionCheckBox && selectionMode === "multi-row") {
|
|
10350
|
-
renderParam2.renderBag.selectionCheckBox = /* @__PURE__ */
|
|
10766
|
+
renderParam2.renderBag.selectionCheckBox = /* @__PURE__ */ React43.createElement(
|
|
10351
10767
|
RenderHeaderCellHookComponent,
|
|
10352
10768
|
{
|
|
10353
10769
|
render: defaultRenderSelectionCheckBox2,
|
|
@@ -10361,7 +10777,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10361
10777
|
);
|
|
10362
10778
|
const renderHeaderSelectionCheckBox = column.renderHeaderSelectionCheckBox ?? column.renderSelectionCheckBox;
|
|
10363
10779
|
if (renderHeaderSelectionCheckBox && renderHeaderSelectionCheckBox !== true) {
|
|
10364
|
-
renderParam2.renderBag.selectionCheckBox = /* @__PURE__ */
|
|
10780
|
+
renderParam2.renderBag.selectionCheckBox = /* @__PURE__ */ React43.createElement(
|
|
10365
10781
|
RenderHeaderCellHookComponent,
|
|
10366
10782
|
{
|
|
10367
10783
|
render: renderHeaderSelectionCheckBox,
|
|
@@ -10376,7 +10792,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10376
10792
|
}
|
|
10377
10793
|
}
|
|
10378
10794
|
if (header instanceof Function) {
|
|
10379
|
-
renderParam2.renderBag.header = /* @__PURE__ */
|
|
10795
|
+
renderParam2.renderBag.header = /* @__PURE__ */ React43.createElement(
|
|
10380
10796
|
RenderHeaderCellHookComponent,
|
|
10381
10797
|
{
|
|
10382
10798
|
render: header,
|
|
@@ -10388,10 +10804,10 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10388
10804
|
);
|
|
10389
10805
|
}
|
|
10390
10806
|
const theMenuIcon = column.renderMenuIcon === false ? null : renderParam2.renderBag.menuIcon;
|
|
10391
|
-
const headerContent = headerCSSEllipsis ? /* @__PURE__ */
|
|
10392
|
-
const all = /* @__PURE__ */
|
|
10807
|
+
const headerContent = headerCSSEllipsis ? /* @__PURE__ */ React43.createElement("div", { className: cssEllipsisClassName }, renderParam2.renderBag.header) : renderParam2.renderBag.header;
|
|
10808
|
+
const all = /* @__PURE__ */ React43.createElement(React43.Fragment, null, align2 === "center" ? spacer : null, renderParam2.renderBag.selectionCheckBox, headerContent, renderParam2.renderBag.sortIcon, renderParam2.renderBag.filterIcon, align2 === "center" ? spacer : null, align2 !== "center" ? spacer : null, theMenuIcon);
|
|
10393
10809
|
if (column.renderHeader) {
|
|
10394
|
-
return /* @__PURE__ */
|
|
10810
|
+
return /* @__PURE__ */ React43.createElement(
|
|
10395
10811
|
RenderHeaderCellHookComponent,
|
|
10396
10812
|
{
|
|
10397
10813
|
render: column.renderHeader,
|
|
@@ -10429,7 +10845,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10429
10845
|
});
|
|
10430
10846
|
let draggingProxy = null;
|
|
10431
10847
|
if (dragging && proxyPosition) {
|
|
10432
|
-
draggingProxy = /* @__PURE__ */
|
|
10848
|
+
draggingProxy = /* @__PURE__ */ React43.createElement(
|
|
10433
10849
|
"div",
|
|
10434
10850
|
{
|
|
10435
10851
|
key: column.id,
|
|
@@ -10453,7 +10869,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10453
10869
|
verticalAlign,
|
|
10454
10870
|
align: align2
|
|
10455
10871
|
};
|
|
10456
|
-
const debouncedOnFilterValueChange =
|
|
10872
|
+
const debouncedOnFilterValueChange = React43.useMemo(() => {
|
|
10457
10873
|
const fn = (filterValue) => {
|
|
10458
10874
|
api.setColumnFilter(column.id, filterValue);
|
|
10459
10875
|
};
|
|
@@ -10481,7 +10897,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10481
10897
|
"data-sort": column.computedSortedAsc ? "asc" : column.computedSortedDesc ? "desc" : "none",
|
|
10482
10898
|
"data-sort-index": `${column.computedSortIndex ?? -1}`
|
|
10483
10899
|
};
|
|
10484
|
-
const columnFilterEditor = column.computedFilterable ? /* @__PURE__ */
|
|
10900
|
+
const columnFilterEditor = column.computedFilterable ? /* @__PURE__ */ React43.createElement(
|
|
10485
10901
|
InfiniteTableColumnHeaderFilter,
|
|
10486
10902
|
{
|
|
10487
10903
|
horizontalLayoutPageIndex,
|
|
@@ -10495,9 +10911,9 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10495
10911
|
columnFilterValue: column.computedFilterValue,
|
|
10496
10912
|
columnHeaderHeight
|
|
10497
10913
|
}
|
|
10498
|
-
) : /* @__PURE__ */
|
|
10914
|
+
) : /* @__PURE__ */ React43.createElement(InfiniteTableColumnHeaderFilterEmpty, null);
|
|
10499
10915
|
renderParam.renderBag.filterEditor = columnFilterEditor;
|
|
10500
|
-
return /* @__PURE__ */
|
|
10916
|
+
return /* @__PURE__ */ React43.createElement(ContextProvider, { value: renderParam }, /* @__PURE__ */ React43.createElement(
|
|
10501
10917
|
InfiniteTableCell,
|
|
10502
10918
|
{
|
|
10503
10919
|
domRef: ref,
|
|
@@ -10544,7 +10960,7 @@ function InfiniteTableHeaderCell(props) {
|
|
|
10544
10960
|
CellCls
|
|
10545
10961
|
),
|
|
10546
10962
|
cssEllipsis: headerCSSEllipsis,
|
|
10547
|
-
afterChildren: /* @__PURE__ */
|
|
10963
|
+
afterChildren: /* @__PURE__ */ React43.createElement(React43.Fragment, null, showColumnFilters ? columnFilterEditor : null, resizeHandle),
|
|
10548
10964
|
renderChildren
|
|
10549
10965
|
}
|
|
10550
10966
|
), draggingProxy);
|
|
@@ -10557,7 +10973,7 @@ function useInfiniteHeaderCell() {
|
|
|
10557
10973
|
}
|
|
10558
10974
|
|
|
10559
10975
|
// src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderWrapper.tsx
|
|
10560
|
-
var
|
|
10976
|
+
var React48 = __toESM(require("react"));
|
|
10561
10977
|
|
|
10562
10978
|
// src/components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree.ts
|
|
10563
10979
|
function buildColumnAndGroupTree(columns, columnGroups, columnGroupsDepthsMap, columnGroupsMaxDepth) {
|
|
@@ -10662,19 +11078,19 @@ function assignGroupOffsetsAndComputedWidths(items, groupOffset = 0) {
|
|
|
10662
11078
|
}
|
|
10663
11079
|
|
|
10664
11080
|
// src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeader.tsx
|
|
10665
|
-
var
|
|
11081
|
+
var React47 = __toESM(require("react"));
|
|
10666
11082
|
var import_react32 = require("react");
|
|
10667
11083
|
|
|
10668
11084
|
// src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup.tsx
|
|
10669
|
-
var
|
|
11085
|
+
var React46 = __toESM(require("react"));
|
|
10670
11086
|
|
|
10671
11087
|
// src/components/InfiniteTable/components/InfiniteTableHeader/useColumnGroupResizeHandle.tsx
|
|
10672
|
-
var
|
|
11088
|
+
var React45 = __toESM(require("react"));
|
|
10673
11089
|
var import_react31 = require("react");
|
|
10674
11090
|
|
|
10675
11091
|
// src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/GroupResizeHandle.tsx
|
|
10676
11092
|
var import_react30 = require("react");
|
|
10677
|
-
var
|
|
11093
|
+
var React44 = __toESM(require("react"));
|
|
10678
11094
|
var { rootClassName: rootClassName8 } = internalProps;
|
|
10679
11095
|
var InfiniteTableHeaderCellResizeHandleCls2 = `${rootClassName8}HeaderCell_ResizeHandle`;
|
|
10680
11096
|
function GroupResizeHandleFn(props) {
|
|
@@ -10743,7 +11159,7 @@ function GroupResizeHandleFn(props) {
|
|
|
10743
11159
|
const style2 = (computedPinned === false || computedPinned === "start") && computedLastInCategory ? {
|
|
10744
11160
|
right: computedPinned === "start" ? void 0 : ThemeVars.components.HeaderCell.resizeHandleWidth
|
|
10745
11161
|
} : computedPinned === "end" && computedFirstInCategory ? { right: void 0 } : void 0;
|
|
10746
|
-
return /* @__PURE__ */
|
|
11162
|
+
return /* @__PURE__ */ React44.createElement(
|
|
10747
11163
|
"div",
|
|
10748
11164
|
{
|
|
10749
11165
|
ref: domRef,
|
|
@@ -10756,7 +11172,7 @@ function GroupResizeHandleFn(props) {
|
|
|
10756
11172
|
)}`,
|
|
10757
11173
|
onPointerDown
|
|
10758
11174
|
},
|
|
10759
|
-
/* @__PURE__ */
|
|
11175
|
+
/* @__PURE__ */ React44.createElement(
|
|
10760
11176
|
"div",
|
|
10761
11177
|
{
|
|
10762
11178
|
style: { ...style2, ...props.style },
|
|
@@ -10767,7 +11183,7 @@ function GroupResizeHandleFn(props) {
|
|
|
10767
11183
|
)
|
|
10768
11184
|
);
|
|
10769
11185
|
}
|
|
10770
|
-
var GroupResizeHandle =
|
|
11186
|
+
var GroupResizeHandle = React44.memo(
|
|
10771
11187
|
GroupResizeHandleFn
|
|
10772
11188
|
);
|
|
10773
11189
|
|
|
@@ -10832,7 +11248,7 @@ function useColumnGroupResizeHandle(groupColumns, config) {
|
|
|
10832
11248
|
[computeResizeForDiff]
|
|
10833
11249
|
);
|
|
10834
11250
|
const groupResizable = groupColumns.some((c) => c.computedResizable);
|
|
10835
|
-
const resizeHandle = groupResizable ? /* @__PURE__ */
|
|
11251
|
+
const resizeHandle = groupResizable ? /* @__PURE__ */ React45.createElement(
|
|
10836
11252
|
GroupResizeHandle,
|
|
10837
11253
|
{
|
|
10838
11254
|
brain: bodyBrain,
|
|
@@ -10880,7 +11296,7 @@ function InfiniteTableHeaderGroup(props) {
|
|
|
10880
11296
|
style2 = style2 && typeof style2 === "object" ? style2 : {};
|
|
10881
11297
|
style2.width = width;
|
|
10882
11298
|
style2.height = height2;
|
|
10883
|
-
return /* @__PURE__ */
|
|
11299
|
+
return /* @__PURE__ */ React46.createElement(
|
|
10884
11300
|
"div",
|
|
10885
11301
|
{
|
|
10886
11302
|
ref: props.domRef,
|
|
@@ -10889,7 +11305,7 @@ function InfiniteTableHeaderGroup(props) {
|
|
|
10889
11305
|
style: style2,
|
|
10890
11306
|
"data-z-index": zIndex2
|
|
10891
11307
|
},
|
|
10892
|
-
/* @__PURE__ */
|
|
11308
|
+
/* @__PURE__ */ React46.createElement(
|
|
10893
11309
|
"div",
|
|
10894
11310
|
{
|
|
10895
11311
|
className: join(
|
|
@@ -10978,7 +11394,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10978
11394
|
groupOffset: colGroupItem.groupOffset
|
|
10979
11395
|
};
|
|
10980
11396
|
const visible = getState().columnGroupVisibility[colGroupItem.id] !== false;
|
|
10981
|
-
return visible ? /* @__PURE__ */
|
|
11397
|
+
return visible ? /* @__PURE__ */ React47.createElement(
|
|
10982
11398
|
InfiniteTableHeaderGroup,
|
|
10983
11399
|
{
|
|
10984
11400
|
horizontalLayoutPageIndex,
|
|
@@ -10992,7 +11408,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
10992
11408
|
}
|
|
10993
11409
|
) : null;
|
|
10994
11410
|
}
|
|
10995
|
-
return /* @__PURE__ */
|
|
11411
|
+
return /* @__PURE__ */ React47.createElement(
|
|
10996
11412
|
InfiniteTableHeaderCell,
|
|
10997
11413
|
{
|
|
10998
11414
|
domRef: domRef2,
|
|
@@ -11018,7 +11434,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
11018
11434
|
headerBrain
|
|
11019
11435
|
]
|
|
11020
11436
|
);
|
|
11021
|
-
return /* @__PURE__ */
|
|
11437
|
+
return /* @__PURE__ */ React47.createElement("div", { ...domProps }, /* @__PURE__ */ React47.createElement(
|
|
11022
11438
|
RawTable,
|
|
11023
11439
|
{
|
|
11024
11440
|
name: "header",
|
|
@@ -11028,7 +11444,7 @@ function InfiniteTableHeaderFn(props) {
|
|
|
11028
11444
|
}
|
|
11029
11445
|
));
|
|
11030
11446
|
}
|
|
11031
|
-
var InfiniteTableHeader =
|
|
11447
|
+
var InfiniteTableHeader = React47.memo(
|
|
11032
11448
|
InfiniteTableHeaderFn
|
|
11033
11449
|
);
|
|
11034
11450
|
|
|
@@ -11053,7 +11469,7 @@ function TableHeaderWrapper(props) {
|
|
|
11053
11469
|
} = tableContextValue;
|
|
11054
11470
|
const rows = !computedColumnGroups || !Object.keys(computedColumnGroups).length ? 1 : columnGroupsMaxDepth + 2;
|
|
11055
11471
|
const height2 = rows * columnHeaderHeight + (showColumnFilters ? columnHeaderHeight : 0);
|
|
11056
|
-
const columnAndGroupTreeInfo =
|
|
11472
|
+
const columnAndGroupTreeInfo = React48.useMemo(() => {
|
|
11057
11473
|
if (!computedColumnGroups || !Object.keys(computedColumnGroups).length) {
|
|
11058
11474
|
return void 0;
|
|
11059
11475
|
}
|
|
@@ -11064,7 +11480,7 @@ function TableHeaderWrapper(props) {
|
|
|
11064
11480
|
columnGroupsMaxDepth
|
|
11065
11481
|
);
|
|
11066
11482
|
}, [computedVisibleColumns, computedColumnGroups, columnGroupsDepthsMap]);
|
|
11067
|
-
const cellspan =
|
|
11483
|
+
const cellspan = React48.useCallback(
|
|
11068
11484
|
({ rowIndex, colIndex }) => {
|
|
11069
11485
|
const column = computedVisibleColumns[colIndex];
|
|
11070
11486
|
const rowspan2 = 1;
|
|
@@ -11102,15 +11518,15 @@ function TableHeaderWrapper(props) {
|
|
|
11102
11518
|
columnGroupsDepthsMap
|
|
11103
11519
|
]
|
|
11104
11520
|
);
|
|
11105
|
-
const rowspan =
|
|
11521
|
+
const rowspan = React48.useCallback(
|
|
11106
11522
|
({ rowIndex, colIndex }) => cellspan({ rowIndex, colIndex }).rowspan,
|
|
11107
11523
|
[cellspan]
|
|
11108
11524
|
);
|
|
11109
|
-
const colspan =
|
|
11525
|
+
const colspan = React48.useCallback(
|
|
11110
11526
|
({ rowIndex, colIndex }) => cellspan({ rowIndex, colIndex }).colspan,
|
|
11111
11527
|
[cellspan]
|
|
11112
11528
|
);
|
|
11113
|
-
const rowHeight =
|
|
11529
|
+
const rowHeight = React48.useCallback(
|
|
11114
11530
|
(index) => {
|
|
11115
11531
|
return showColumnFilters ? index < rows - 1 ? columnHeaderHeight : 2 * columnHeaderHeight : columnHeaderHeight;
|
|
11116
11532
|
},
|
|
@@ -11132,7 +11548,7 @@ function TableHeaderWrapper(props) {
|
|
|
11132
11548
|
fixedColsStart: computedPinnedStartColumns.length
|
|
11133
11549
|
}
|
|
11134
11550
|
);
|
|
11135
|
-
const header = /* @__PURE__ */
|
|
11551
|
+
const header = /* @__PURE__ */ React48.createElement(
|
|
11136
11552
|
InfiniteTableHeader,
|
|
11137
11553
|
{
|
|
11138
11554
|
columns: computedVisibleColumns,
|
|
@@ -11143,7 +11559,7 @@ function TableHeaderWrapper(props) {
|
|
|
11143
11559
|
columnAndGroupTreeInfo
|
|
11144
11560
|
}
|
|
11145
11561
|
);
|
|
11146
|
-
const verticalScrollbarPlaceholder = scrollbars.vertical && getScrollbarWidth() ? /* @__PURE__ */
|
|
11562
|
+
const verticalScrollbarPlaceholder = scrollbars.vertical && getScrollbarWidth() ? /* @__PURE__ */ React48.createElement(
|
|
11147
11563
|
"div",
|
|
11148
11564
|
{
|
|
11149
11565
|
className: HeaderScrollbarPlaceholderCls,
|
|
@@ -11153,7 +11569,7 @@ function TableHeaderWrapper(props) {
|
|
|
11153
11569
|
}
|
|
11154
11570
|
}
|
|
11155
11571
|
) : null;
|
|
11156
|
-
return /* @__PURE__ */
|
|
11572
|
+
return /* @__PURE__ */ React48.createElement(
|
|
11157
11573
|
"div",
|
|
11158
11574
|
{
|
|
11159
11575
|
className: `${InfiniteTableHeaderWrapperClassName} ${HeaderWrapperCls}`,
|
|
@@ -11167,7 +11583,7 @@ function TableHeaderWrapper(props) {
|
|
|
11167
11583
|
}
|
|
11168
11584
|
|
|
11169
11585
|
// src/components/InfiniteTable/components/InfiniteTableLicenseFooter/index.tsx
|
|
11170
|
-
var
|
|
11586
|
+
var React49 = __toESM(require("react"));
|
|
11171
11587
|
var import_react33 = require("react");
|
|
11172
11588
|
|
|
11173
11589
|
// src/components/utils/decamelize.ts
|
|
@@ -11210,11 +11626,11 @@ var enforceStyle = (node, style2) => {
|
|
|
11210
11626
|
);
|
|
11211
11627
|
}
|
|
11212
11628
|
};
|
|
11213
|
-
var InfiniteTableLicenseFooter =
|
|
11629
|
+
var InfiniteTableLicenseFooter = React49.forwardRef(
|
|
11214
11630
|
function InfiniteTableLicenseFooter2(props, ref) {
|
|
11215
11631
|
const { rootClassName: rootClassName12 } = useInternalProps();
|
|
11216
|
-
const domRef =
|
|
11217
|
-
const domCallback =
|
|
11632
|
+
const domRef = React49.useRef(null);
|
|
11633
|
+
const domCallback = React49.useCallback((node) => {
|
|
11218
11634
|
domRef.current = node;
|
|
11219
11635
|
if (!ref) {
|
|
11220
11636
|
return;
|
|
@@ -11241,7 +11657,7 @@ var InfiniteTableLicenseFooter = React48.forwardRef(
|
|
|
11241
11657
|
clearInterval(intervalId);
|
|
11242
11658
|
};
|
|
11243
11659
|
}, []);
|
|
11244
|
-
return /* @__PURE__ */
|
|
11660
|
+
return /* @__PURE__ */ React49.createElement(
|
|
11245
11661
|
"div",
|
|
11246
11662
|
{
|
|
11247
11663
|
ref: domCallback,
|
|
@@ -11255,7 +11671,7 @@ var InfiniteTableLicenseFooter = React48.forwardRef(
|
|
|
11255
11671
|
},
|
|
11256
11672
|
"Powered by",
|
|
11257
11673
|
" ",
|
|
11258
|
-
/* @__PURE__ */
|
|
11674
|
+
/* @__PURE__ */ React49.createElement(
|
|
11259
11675
|
"a",
|
|
11260
11676
|
{
|
|
11261
11677
|
href: "https://infinite-table.com",
|
|
@@ -11270,7 +11686,7 @@ var InfiniteTableLicenseFooter = React48.forwardRef(
|
|
|
11270
11686
|
);
|
|
11271
11687
|
|
|
11272
11688
|
// src/components/InfiniteTable/components/LoadMask.tsx
|
|
11273
|
-
var
|
|
11689
|
+
var React50 = __toESM(require("react"));
|
|
11274
11690
|
|
|
11275
11691
|
// src/components/InfiniteTable/components/LoadMask.css.ts
|
|
11276
11692
|
var LoadMaskCls = { visible: "LoadMask_LoadMaskCls_visible__qy58ya1 LoadMask_LoadMaskBaseCls__qy58ya0 utilities_position_absolute__16lm1iw2 utilities_top_0__16lm1iw1d utilities_left_0__16lm1iw1f utilities_right_0__16lm1iw1k utilities_bottom_0__16lm1iw1i", hidden: "LoadMask_LoadMaskCls_hidden__qy58ya2 LoadMask_LoadMaskBaseCls__qy58ya0 utilities_position_absolute__16lm1iw2 utilities_top_0__16lm1iw1d utilities_left_0__16lm1iw1f utilities_right_0__16lm1iw1k utilities_bottom_0__16lm1iw1i" };
|
|
@@ -11282,16 +11698,16 @@ var { rootClassName: rootClassName10 } = internalProps;
|
|
|
11282
11698
|
var baseCls3 = `${rootClassName10}-LoadMask`;
|
|
11283
11699
|
function LoadMaskFn(props) {
|
|
11284
11700
|
const { visible, children = "Loading" } = props;
|
|
11285
|
-
return /* @__PURE__ */
|
|
11701
|
+
return /* @__PURE__ */ React50.createElement(
|
|
11286
11702
|
"div",
|
|
11287
11703
|
{
|
|
11288
11704
|
className: `${LoadMaskCls[visible ? "visible" : "hidden"]} ${baseCls3}`
|
|
11289
11705
|
},
|
|
11290
|
-
/* @__PURE__ */
|
|
11291
|
-
/* @__PURE__ */
|
|
11706
|
+
/* @__PURE__ */ React50.createElement("div", { className: `${LoadMaskOverlayCls} ${baseCls3}-Overlay` }),
|
|
11707
|
+
/* @__PURE__ */ React50.createElement("div", { className: `${LoadMaskTextCls} ${baseCls3}-Text` }, children)
|
|
11292
11708
|
);
|
|
11293
11709
|
}
|
|
11294
|
-
var LoadMask =
|
|
11710
|
+
var LoadMask = React50.memo(LoadMaskFn);
|
|
11295
11711
|
|
|
11296
11712
|
// src/utils/deepClone.ts
|
|
11297
11713
|
function cloneArray(arr) {
|
|
@@ -12303,10 +12719,10 @@ function enhancedFlatten(param) {
|
|
|
12303
12719
|
}
|
|
12304
12720
|
|
|
12305
12721
|
// src/components/DataSource/index.tsx
|
|
12306
|
-
var
|
|
12722
|
+
var React52 = __toESM(require("react"));
|
|
12307
12723
|
|
|
12308
12724
|
// src/utils/groupAndPivot/treeUtils.ts
|
|
12309
|
-
var
|
|
12725
|
+
var emptyFn3 = () => {
|
|
12310
12726
|
};
|
|
12311
12727
|
function toTreeDataArray(data, options) {
|
|
12312
12728
|
const treeMap = new DeepMap();
|
|
@@ -12360,7 +12776,7 @@ function traverseTreeNode(traverseParams, treeTraverseOptions, parentPath, item)
|
|
|
12360
12776
|
});
|
|
12361
12777
|
if (isLeaf) {
|
|
12362
12778
|
onLeafNode?.(item);
|
|
12363
|
-
onNode?.(item,
|
|
12779
|
+
onNode?.(item, emptyFn3);
|
|
12364
12780
|
} else {
|
|
12365
12781
|
onParentNode?.(item, next, getNodeChildren(item));
|
|
12366
12782
|
onNode?.(item, next);
|
|
@@ -18555,7 +18971,7 @@ var {
|
|
|
18555
18971
|
});
|
|
18556
18972
|
function DataSource(props) {
|
|
18557
18973
|
const { DataSource: DataSourceComponent } = useDataSourceInternal(props);
|
|
18558
|
-
return /* @__PURE__ */
|
|
18974
|
+
return /* @__PURE__ */ React52.createElement(DataSourceComponent, null, props.children ?? null);
|
|
18559
18975
|
}
|
|
18560
18976
|
function useRowInfoReducers() {
|
|
18561
18977
|
const { rowInfoReducerResults } = useDataSourceState();
|
|
@@ -20024,7 +20440,7 @@ function useAutoSizeColumns() {
|
|
|
20024
20440
|
// src/components/InfiniteTable/hooks/useCellRendering.tsx
|
|
20025
20441
|
var import_react39 = require("react");
|
|
20026
20442
|
var import_react40 = require("react");
|
|
20027
|
-
var
|
|
20443
|
+
var React54 = __toESM(require("react"));
|
|
20028
20444
|
|
|
20029
20445
|
// src/components/InfiniteTable/hooks/useYourBrain.ts
|
|
20030
20446
|
function useYourBrain(param) {
|
|
@@ -20061,7 +20477,7 @@ function useYourBrain(param) {
|
|
|
20061
20477
|
}
|
|
20062
20478
|
|
|
20063
20479
|
// src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableDetailRow.tsx
|
|
20064
|
-
var
|
|
20480
|
+
var React53 = __toESM(require("react"));
|
|
20065
20481
|
|
|
20066
20482
|
// src/components/InfiniteTable/components/rowDetail.css.ts
|
|
20067
20483
|
var RowDetailRecipe = createRuntimeFn({ defaultClassName: "rowDetail_RowDetailRecipe__evqes20", variantClassNames: {}, defaultVariants: {}, compoundVariants: [] });
|
|
@@ -20198,7 +20614,7 @@ function InfiniteTableDetailRowFn(props) {
|
|
|
20198
20614
|
rowDetailsCache,
|
|
20199
20615
|
rowInfo
|
|
20200
20616
|
});
|
|
20201
|
-
return /* @__PURE__ */
|
|
20617
|
+
return /* @__PURE__ */ React53.createElement(DataSourceMasterDetailContext.Provider, { value: masterDetailContextValue }, /* @__PURE__ */ React53.createElement(
|
|
20202
20618
|
"div",
|
|
20203
20619
|
{
|
|
20204
20620
|
ref: domRef,
|
|
@@ -20215,7 +20631,7 @@ function InfiniteTableDetailRowFn(props) {
|
|
|
20215
20631
|
rowDetailRenderer(rowInfo, currentRowCache)
|
|
20216
20632
|
));
|
|
20217
20633
|
}
|
|
20218
|
-
var InfiniteTableDetailRow =
|
|
20634
|
+
var InfiniteTableDetailRow = React53.memo(
|
|
20219
20635
|
InfiniteTableDetailRowFn
|
|
20220
20636
|
);
|
|
20221
20637
|
|
|
@@ -20398,7 +20814,7 @@ function useCellRendering(param) {
|
|
|
20398
20814
|
cellStyle,
|
|
20399
20815
|
cellClassName
|
|
20400
20816
|
};
|
|
20401
|
-
return /* @__PURE__ */
|
|
20817
|
+
return /* @__PURE__ */ React54.createElement(InfiniteTableColumnCell, { ...cellProps });
|
|
20402
20818
|
},
|
|
20403
20819
|
[
|
|
20404
20820
|
rowHeight,
|
|
@@ -20432,10 +20848,10 @@ function useCellRendering(param) {
|
|
|
20432
20848
|
const dataArray2 = getData();
|
|
20433
20849
|
const rowInfo = dataArray2[rowIndex];
|
|
20434
20850
|
if (!rowInfo || !isRowDetailsExpanded(rowInfo) || !computedRowSizeCacheForDetails) {
|
|
20435
|
-
return /* @__PURE__ */
|
|
20851
|
+
return /* @__PURE__ */ React54.createElement("div", { ref: domRef, className: visibility.hidden });
|
|
20436
20852
|
}
|
|
20437
20853
|
const { rowDetailHeight: rowDetailHeight2, rowHeight: rowHeight2 } = computedRowSizeCacheForDetails.getSize(rowIndex);
|
|
20438
|
-
return /* @__PURE__ */
|
|
20854
|
+
return /* @__PURE__ */ React54.createElement(
|
|
20439
20855
|
InfiniteTableDetailRow,
|
|
20440
20856
|
{
|
|
20441
20857
|
rowInfo,
|
|
@@ -20809,10 +21225,10 @@ function computeColumnGroupsDepths(columnGroups, columnGroupVisibility) {
|
|
|
20809
21225
|
}
|
|
20810
21226
|
|
|
20811
21227
|
// src/components/InfiniteTable/state/rowDetailRendererFromComponent.tsx
|
|
20812
|
-
var
|
|
21228
|
+
var React55 = __toESM(require("react"));
|
|
20813
21229
|
function getRowDetailRendererFromComponent(RowDetail) {
|
|
20814
21230
|
return (rowInfo, cache) => {
|
|
20815
|
-
return /* @__PURE__ */
|
|
21231
|
+
return /* @__PURE__ */ React55.createElement(RowDetail, { key: rowInfo.id, rowInfo, cache });
|
|
20816
21232
|
};
|
|
20817
21233
|
}
|
|
20818
21234
|
|
|
@@ -22610,7 +23026,7 @@ var useLicense = (licenseKey = "") => {
|
|
|
22610
23026
|
}
|
|
22611
23027
|
let valid2 = isValidLicense(licenseKey, {
|
|
22612
23028
|
publishedAt: 1624970570587,
|
|
22613
|
-
version: "6.0.
|
|
23029
|
+
version: "6.1.0-canary.0"
|
|
22614
23030
|
});
|
|
22615
23031
|
if (!licenseKey && !valid2 && isInsidePlayground) {
|
|
22616
23032
|
return true;
|
|
@@ -23258,7 +23674,7 @@ var getFirstFocusableChildForNode = (node) => {
|
|
|
23258
23674
|
};
|
|
23259
23675
|
|
|
23260
23676
|
// src/components/InfiniteTable/utils/cellFocusUtils.ts
|
|
23261
|
-
var
|
|
23677
|
+
var import_binary_search5 = __toESM(require_binary_search());
|
|
23262
23678
|
|
|
23263
23679
|
// src/components/InfiniteTable/utils/waitForFunction.ts
|
|
23264
23680
|
async function waitForFunction(fn, tickTimeout = 10, maxTimeout = 300) {
|
|
@@ -23336,7 +23752,7 @@ function getFollowingFocusableCell(cellPos, direction, context) {
|
|
|
23336
23752
|
return nextCellPos;
|
|
23337
23753
|
}
|
|
23338
23754
|
function getNextCol(colIndex, direction, validColIndexes) {
|
|
23339
|
-
let index = (0,
|
|
23755
|
+
let index = (0, import_binary_search5.default)(validColIndexes, colIndex + direction, SORT_ASC2);
|
|
23340
23756
|
if (index < 0) {
|
|
23341
23757
|
index = ~index;
|
|
23342
23758
|
if (direction > 0 && index >= validColIndexes.length) {
|
|
@@ -23622,7 +24038,7 @@ async function onKeyDown(context, event) {
|
|
|
23622
24038
|
if (handleBrowserFocusChangeOnKeyboardNavigation(keyboardHandlerContext, event)) {
|
|
23623
24039
|
event.preventDefault();
|
|
23624
24040
|
} else {
|
|
23625
|
-
if (!context.getState().focusedWithin && handleKeyboardNavigation(keyboardHandlerContext, event)) {
|
|
24041
|
+
if (!context.getState().focusedWithin && !keyDownResult.preventNavigation && handleKeyboardNavigation(keyboardHandlerContext, event)) {
|
|
23626
24042
|
event.preventDefault();
|
|
23627
24043
|
}
|
|
23628
24044
|
}
|
|
@@ -23771,7 +24187,7 @@ function useDOMEventHandlers() {
|
|
|
23771
24187
|
var import_react58 = require("react");
|
|
23772
24188
|
|
|
23773
24189
|
// src/components/hooks/useOverlay/index.tsx
|
|
23774
|
-
var
|
|
24190
|
+
var React56 = __toESM(require("react"));
|
|
23775
24191
|
var import_react54 = require("react");
|
|
23776
24192
|
var import_react_dom2 = require("react-dom");
|
|
23777
24193
|
|
|
@@ -24156,10 +24572,10 @@ async function retrieveElement(elementGetter) {
|
|
|
24156
24572
|
return queryForElement(await result);
|
|
24157
24573
|
}
|
|
24158
24574
|
function DefaultOverlayPortal(props) {
|
|
24159
|
-
return /* @__PURE__ */
|
|
24575
|
+
return /* @__PURE__ */ React56.createElement("div", { style: { position: "fixed", top: 0, left: 0 } }, props.children);
|
|
24160
24576
|
}
|
|
24161
24577
|
function OverlayContent(props) {
|
|
24162
|
-
const nodeRef =
|
|
24578
|
+
const nodeRef = React56.useRef(null);
|
|
24163
24579
|
(0, import_react54.useEffect)(() => {
|
|
24164
24580
|
return props.realign.onChange((handle) => {
|
|
24165
24581
|
if (nodeRef.current && handle) {
|
|
@@ -24167,7 +24583,7 @@ function OverlayContent(props) {
|
|
|
24167
24583
|
}
|
|
24168
24584
|
});
|
|
24169
24585
|
}, [props.realign]);
|
|
24170
|
-
return /* @__PURE__ */
|
|
24586
|
+
return /* @__PURE__ */ React56.createElement(
|
|
24171
24587
|
"div",
|
|
24172
24588
|
{
|
|
24173
24589
|
style: { position: "absolute", top: 0, left: 0 },
|
|
@@ -24235,22 +24651,22 @@ function useOverlayPortal(content, portalContainer) {
|
|
|
24235
24651
|
}, [portalContainer]);
|
|
24236
24652
|
return portalContainer ? container ? (0, import_react_dom2.createPortal)(content, container) : (
|
|
24237
24653
|
// we're probably still fetching the container
|
|
24238
|
-
/* @__PURE__ */
|
|
24239
|
-
) : portalContainer === null || portalContainer === false ? content : /* @__PURE__ */
|
|
24654
|
+
/* @__PURE__ */ React56.createElement(React56.Fragment, null)
|
|
24655
|
+
) : portalContainer === null || portalContainer === false ? content : /* @__PURE__ */ React56.createElement(DefaultOverlayPortal, null, content);
|
|
24240
24656
|
}
|
|
24241
24657
|
function getIdForReactOnlyChild(children) {
|
|
24242
|
-
if (
|
|
24243
|
-
const child =
|
|
24244
|
-
if (
|
|
24658
|
+
if (React56.Children.count(children) === 1) {
|
|
24659
|
+
const child = React56.Children.only(children);
|
|
24660
|
+
if (React56.isValidElement(child)) {
|
|
24245
24661
|
return child.props.id || child.key;
|
|
24246
24662
|
}
|
|
24247
24663
|
}
|
|
24248
24664
|
return null;
|
|
24249
24665
|
}
|
|
24250
24666
|
function injectPortalContainerAndConstrainInMenuChild(children, portalContainer, constrainTo) {
|
|
24251
|
-
if (
|
|
24252
|
-
const child =
|
|
24253
|
-
if (
|
|
24667
|
+
if (React56.Children.count(children) === 1) {
|
|
24668
|
+
const child = React56.Children.only(children);
|
|
24669
|
+
if (React56.isValidElement(child) && child.type[propToIdentifyMenu]) {
|
|
24254
24670
|
const newProps = {};
|
|
24255
24671
|
if (child.props.portalContainer === void 0) {
|
|
24256
24672
|
newProps.portalContainer = portalContainer;
|
|
@@ -24258,7 +24674,7 @@ function injectPortalContainerAndConstrainInMenuChild(children, portalContainer,
|
|
|
24258
24674
|
if (child.props.constrainTo === void 0) {
|
|
24259
24675
|
newProps.constrainTo = constrainTo;
|
|
24260
24676
|
}
|
|
24261
|
-
return
|
|
24677
|
+
return React56.cloneElement(child, newProps);
|
|
24262
24678
|
}
|
|
24263
24679
|
}
|
|
24264
24680
|
return children;
|
|
@@ -24274,7 +24690,7 @@ function useOverlay(params) {
|
|
|
24274
24690
|
const contentForPortal = [];
|
|
24275
24691
|
for (const [_2, handle] of handles) {
|
|
24276
24692
|
contentForPortal.push(
|
|
24277
|
-
/* @__PURE__ */
|
|
24693
|
+
/* @__PURE__ */ React56.createElement(OverlayContent, { ...handle, key: handle.key })
|
|
24278
24694
|
);
|
|
24279
24695
|
}
|
|
24280
24696
|
return contentForPortal;
|
|
@@ -24333,7 +24749,7 @@ function useOverlay(params) {
|
|
|
24333
24749
|
},
|
|
24334
24750
|
[handles, rootParams.portalContainer, updateContent]
|
|
24335
24751
|
);
|
|
24336
|
-
|
|
24752
|
+
React56.useEffect(() => {
|
|
24337
24753
|
if (handleToRealign) {
|
|
24338
24754
|
const handle = handles.get(handleToRealign);
|
|
24339
24755
|
if (handle) {
|
|
@@ -24352,7 +24768,7 @@ function useOverlay(params) {
|
|
|
24352
24768
|
handles.clear();
|
|
24353
24769
|
updateContent();
|
|
24354
24770
|
};
|
|
24355
|
-
|
|
24771
|
+
React56.useEffect(() => {
|
|
24356
24772
|
}, []);
|
|
24357
24773
|
return {
|
|
24358
24774
|
portal,
|
|
@@ -24364,16 +24780,16 @@ function useOverlay(params) {
|
|
|
24364
24780
|
}
|
|
24365
24781
|
|
|
24366
24782
|
// src/components/InfiniteTable/utils/getMenuForColumn.tsx
|
|
24367
|
-
var
|
|
24783
|
+
var React62 = __toESM(require("react"));
|
|
24368
24784
|
|
|
24369
24785
|
// src/components/Menu/index.tsx
|
|
24370
|
-
var
|
|
24786
|
+
var React60 = __toESM(require("react"));
|
|
24371
24787
|
|
|
24372
24788
|
// src/components/Menu/getMenuState.tsx
|
|
24373
|
-
var
|
|
24789
|
+
var React58 = __toESM(require("react"));
|
|
24374
24790
|
|
|
24375
24791
|
// src/components/Menu/childrenToRuntimeItems.tsx
|
|
24376
|
-
var
|
|
24792
|
+
var React57 = __toESM(require("react"));
|
|
24377
24793
|
|
|
24378
24794
|
// src/components/Menu/MenuItem.tsx
|
|
24379
24795
|
function MenuItem(_props) {
|
|
@@ -24392,7 +24808,7 @@ var MenuSeparatorCls = "MenuCls_MenuSeparatorCls__db3arfd";
|
|
|
24392
24808
|
// src/components/Menu/childrenToRuntimeItems.tsx
|
|
24393
24809
|
var SEPARATOR = "-";
|
|
24394
24810
|
function MenuSeparator() {
|
|
24395
|
-
return /* @__PURE__ */
|
|
24811
|
+
return /* @__PURE__ */ React57.createElement("hr", { className: MenuSeparatorCls });
|
|
24396
24812
|
}
|
|
24397
24813
|
var toRuntimeItem = ({
|
|
24398
24814
|
columns,
|
|
@@ -24401,7 +24817,7 @@ var toRuntimeItem = ({
|
|
|
24401
24817
|
menuId
|
|
24402
24818
|
}, item) => {
|
|
24403
24819
|
const menuItem = item && (item.key != null || item.label != null) ? item : null;
|
|
24404
|
-
const menuDecoration = menuItem === null ? item === SEPARATOR ? /* @__PURE__ */
|
|
24820
|
+
const menuDecoration = menuItem === null ? item === SEPARATOR ? /* @__PURE__ */ React57.createElement(MenuSeparator, null) : item : null;
|
|
24405
24821
|
const runtimeItem = menuItem != null ? {
|
|
24406
24822
|
type: "item",
|
|
24407
24823
|
parentMenuId: menuId,
|
|
@@ -24429,7 +24845,7 @@ var toRuntimeItem = ({
|
|
|
24429
24845
|
return runtimeItem;
|
|
24430
24846
|
};
|
|
24431
24847
|
function childrenToRuntimeItems(context, children) {
|
|
24432
|
-
return
|
|
24848
|
+
return React57.Children.map(children, (child) => {
|
|
24433
24849
|
if (child) {
|
|
24434
24850
|
if (child.props.__is_menu_item || child.type === MenuItem) {
|
|
24435
24851
|
const itemProps = { ...child.props };
|
|
@@ -24452,7 +24868,7 @@ function childrenToRuntimeItems(context, children) {
|
|
|
24452
24868
|
// src/components/Menu/getMenuState.tsx
|
|
24453
24869
|
var SUBMENU_COL_NAME = "submenu";
|
|
24454
24870
|
function getInitialMenuState() {
|
|
24455
|
-
const domRef =
|
|
24871
|
+
const domRef = React58.createRef();
|
|
24456
24872
|
return {
|
|
24457
24873
|
keyboardActiveItemKey: null,
|
|
24458
24874
|
activeItemKey: null,
|
|
@@ -24507,7 +24923,7 @@ var deriveStateFromProps2 = (params) => {
|
|
|
24507
24923
|
columns.push({
|
|
24508
24924
|
name: SUBMENU_COL_NAME,
|
|
24509
24925
|
render: ({ domProps, item }) => {
|
|
24510
|
-
return item.menu ? /* @__PURE__ */
|
|
24926
|
+
return item.menu ? /* @__PURE__ */ React58.createElement("div", { ...domProps }, /* @__PURE__ */ React58.createElement(ExpandCollapseIcon, { expanded: false })) : /* @__PURE__ */ React58.createElement("div", { ...domProps });
|
|
24511
24927
|
}
|
|
24512
24928
|
});
|
|
24513
24929
|
}
|
|
@@ -24524,7 +24940,7 @@ var deriveStateFromProps2 = (params) => {
|
|
|
24524
24940
|
};
|
|
24525
24941
|
|
|
24526
24942
|
// src/components/Menu/Menu.tsx
|
|
24527
|
-
var
|
|
24943
|
+
var React59 = __toESM(require("react"));
|
|
24528
24944
|
var import_react57 = require("react");
|
|
24529
24945
|
|
|
24530
24946
|
// src/utils/pageGeometry/Triangle.ts
|
|
@@ -24784,7 +25200,7 @@ function renderSubmenuForItem(item, config) {
|
|
|
24784
25200
|
if (typeof itemMenu === "function") {
|
|
24785
25201
|
itemMenu = itemMenu();
|
|
24786
25202
|
}
|
|
24787
|
-
return /* @__PURE__ */
|
|
25203
|
+
return /* @__PURE__ */ React59.createElement(
|
|
24788
25204
|
Menu,
|
|
24789
25205
|
{
|
|
24790
25206
|
key: overlayId,
|
|
@@ -24994,7 +25410,7 @@ function MenuComponent(props) {
|
|
|
24994
25410
|
setActiveItemKey(key);
|
|
24995
25411
|
}
|
|
24996
25412
|
});
|
|
24997
|
-
renderedChildren = runtimeItems.map((runtimeItem, index) => /* @__PURE__ */
|
|
25413
|
+
renderedChildren = runtimeItems.map((runtimeItem, index) => /* @__PURE__ */ React59.createElement(
|
|
24998
25414
|
RuntimeItemRenderer,
|
|
24999
25415
|
{
|
|
25000
25416
|
key: runtimeItem.type === "item" ? runtimeItem.key : index,
|
|
@@ -25176,7 +25592,7 @@ function MenuComponent(props) {
|
|
|
25176
25592
|
domRef.current = node;
|
|
25177
25593
|
}
|
|
25178
25594
|
}, []);
|
|
25179
|
-
const result = /* @__PURE__ */
|
|
25595
|
+
const result = /* @__PURE__ */ React59.createElement("div", { className: display.contents }, /* @__PURE__ */ React59.createElement(
|
|
25180
25596
|
"div",
|
|
25181
25597
|
{
|
|
25182
25598
|
...domProps,
|
|
@@ -25206,12 +25622,12 @@ function MenuComponent(props) {
|
|
|
25206
25622
|
return destroyed ? null : result;
|
|
25207
25623
|
}
|
|
25208
25624
|
function RuntimeItemRenderer(props) {
|
|
25209
|
-
const [pressed, setPressed] =
|
|
25625
|
+
const [pressed, setPressed] = React59.useState(false);
|
|
25210
25626
|
const { columns, item, index, active, keyboardActive } = props;
|
|
25211
25627
|
const key = item.type === "item" ? item.value.key : index;
|
|
25212
25628
|
let content = null;
|
|
25213
25629
|
if (item.type === "decoration") {
|
|
25214
|
-
content = /* @__PURE__ */
|
|
25630
|
+
content = /* @__PURE__ */ React59.createElement("div", { style: item.style }, item.value);
|
|
25215
25631
|
} else {
|
|
25216
25632
|
let spanIndex = 0;
|
|
25217
25633
|
content = columns.map((col, i) => {
|
|
@@ -25272,7 +25688,7 @@ function RuntimeItemRenderer(props) {
|
|
|
25272
25688
|
}
|
|
25273
25689
|
}
|
|
25274
25690
|
};
|
|
25275
|
-
return col.render ? /* @__PURE__ */
|
|
25691
|
+
return col.render ? /* @__PURE__ */ React59.createElement(
|
|
25276
25692
|
RenderHookComponent,
|
|
25277
25693
|
{
|
|
25278
25694
|
key: `${key}-${field}`,
|
|
@@ -25284,10 +25700,10 @@ function RuntimeItemRenderer(props) {
|
|
|
25284
25700
|
domProps
|
|
25285
25701
|
}
|
|
25286
25702
|
}
|
|
25287
|
-
) : /* @__PURE__ */
|
|
25703
|
+
) : /* @__PURE__ */ React59.createElement("div", { key: `${key}-${field}`, ...domProps }, target[field]);
|
|
25288
25704
|
}).filter(Boolean);
|
|
25289
25705
|
}
|
|
25290
|
-
return /* @__PURE__ */
|
|
25706
|
+
return /* @__PURE__ */ React59.createElement("div", { className: MenuRowCls }, content);
|
|
25291
25707
|
}
|
|
25292
25708
|
|
|
25293
25709
|
// src/components/Menu/index.tsx
|
|
@@ -25301,12 +25717,12 @@ var { ManagedComponentContextProvider: MenuRoot } = buildManagedComponent({
|
|
|
25301
25717
|
function MenuContextProvider(props) {
|
|
25302
25718
|
const { componentActions, componentState } = useManagedComponentState();
|
|
25303
25719
|
const getState = useLatest(componentState);
|
|
25304
|
-
return /* @__PURE__ */
|
|
25720
|
+
return /* @__PURE__ */ React60.createElement(
|
|
25305
25721
|
MenuContext.Provider,
|
|
25306
25722
|
{
|
|
25307
25723
|
value: { componentActions, componentState, getState }
|
|
25308
25724
|
},
|
|
25309
|
-
/* @__PURE__ */
|
|
25725
|
+
/* @__PURE__ */ React60.createElement(MenuComponent, { domProps: props.domProps })
|
|
25310
25726
|
);
|
|
25311
25727
|
}
|
|
25312
25728
|
function Menu(props) {
|
|
@@ -25331,7 +25747,7 @@ function Menu(props) {
|
|
|
25331
25747
|
__is_infinite_menu_component,
|
|
25332
25748
|
...domProps
|
|
25333
25749
|
} = props;
|
|
25334
|
-
const menu = /* @__PURE__ */
|
|
25750
|
+
const menu = /* @__PURE__ */ React60.createElement(
|
|
25335
25751
|
MenuRoot,
|
|
25336
25752
|
{
|
|
25337
25753
|
addSubmenuColumnIfNeeded,
|
|
@@ -25339,17 +25755,17 @@ function Menu(props) {
|
|
|
25339
25755
|
wrapLabels,
|
|
25340
25756
|
...props
|
|
25341
25757
|
},
|
|
25342
|
-
/* @__PURE__ */
|
|
25758
|
+
/* @__PURE__ */ React60.createElement(MenuContextProvider, { domProps })
|
|
25343
25759
|
);
|
|
25344
25760
|
if (false) {
|
|
25345
|
-
return /* @__PURE__ */
|
|
25761
|
+
return /* @__PURE__ */ React60.createElement(React60.StrictMode, null, menu);
|
|
25346
25762
|
}
|
|
25347
25763
|
return menu;
|
|
25348
25764
|
}
|
|
25349
25765
|
Menu[propToIdentifyMenu] = true;
|
|
25350
25766
|
|
|
25351
25767
|
// src/components/InfiniteTable/utils/defaultGetColumnMenuItems.tsx
|
|
25352
|
-
var
|
|
25768
|
+
var React61 = __toESM(require("react"));
|
|
25353
25769
|
function defaultGetColumnMenuItems(_items, params) {
|
|
25354
25770
|
const { columnApi, column, getComputed, api } = params;
|
|
25355
25771
|
const sortable = columnApi.isSortable();
|
|
@@ -25436,7 +25852,7 @@ function defaultGetColumnMenuItems(_items, params) {
|
|
|
25436
25852
|
colItems.push({
|
|
25437
25853
|
key: id,
|
|
25438
25854
|
label,
|
|
25439
|
-
check: /* @__PURE__ */
|
|
25855
|
+
check: /* @__PURE__ */ React61.createElement(
|
|
25440
25856
|
InfiniteCheckBox,
|
|
25441
25857
|
{
|
|
25442
25858
|
key: col.id,
|
|
@@ -25498,7 +25914,7 @@ function getMenuForColumn(columnId, context, onHideIntent) {
|
|
|
25498
25914
|
if (!items || !items.length) {
|
|
25499
25915
|
return null;
|
|
25500
25916
|
}
|
|
25501
|
-
return /* @__PURE__ */
|
|
25917
|
+
return /* @__PURE__ */ React62.createElement(
|
|
25502
25918
|
MenuCmp,
|
|
25503
25919
|
{
|
|
25504
25920
|
autoFocus: true,
|
|
@@ -25616,7 +26032,7 @@ function useColumnMenu() {
|
|
|
25616
26032
|
}
|
|
25617
26033
|
|
|
25618
26034
|
// src/components/InfiniteTable/components/FocusDetect.tsx
|
|
25619
|
-
var
|
|
26035
|
+
var React63 = __toESM(require("react"));
|
|
25620
26036
|
var import_react59 = require("react");
|
|
25621
26037
|
var style = {
|
|
25622
26038
|
width: 0,
|
|
@@ -25650,7 +26066,7 @@ function FocusDetect() {
|
|
|
25650
26066
|
};
|
|
25651
26067
|
focusLastFocusableCell(context);
|
|
25652
26068
|
}, []);
|
|
25653
|
-
return /* @__PURE__ */
|
|
26069
|
+
return /* @__PURE__ */ React63.createElement(
|
|
25654
26070
|
"div",
|
|
25655
26071
|
{
|
|
25656
26072
|
onFocus,
|
|
@@ -25788,18 +26204,18 @@ function useEditingCallbackProps() {
|
|
|
25788
26204
|
var import_react61 = require("react");
|
|
25789
26205
|
|
|
25790
26206
|
// src/components/InfiniteTable/utils/getFilterOperatorMenuForColumn.tsx
|
|
25791
|
-
var
|
|
26207
|
+
var React66 = __toESM(require("react"));
|
|
25792
26208
|
|
|
25793
26209
|
// src/components/InfiniteTable/components/icons/ClearIcon.tsx
|
|
25794
|
-
var
|
|
26210
|
+
var React64 = __toESM(require("react"));
|
|
25795
26211
|
var ClearIcon = (props) => {
|
|
25796
|
-
return /* @__PURE__ */
|
|
26212
|
+
return /* @__PURE__ */ React64.createElement(Icon, { ...props }, /* @__PURE__ */ React64.createElement("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }));
|
|
25797
26213
|
};
|
|
25798
26214
|
|
|
25799
26215
|
// src/components/InfiniteTable/components/icons/DoneIcon.tsx
|
|
25800
|
-
var
|
|
26216
|
+
var React65 = __toESM(require("react"));
|
|
25801
26217
|
var DoneIcon = (props) => {
|
|
25802
|
-
return /* @__PURE__ */
|
|
26218
|
+
return /* @__PURE__ */ React65.createElement(Icon, { ...props }, /* @__PURE__ */ React65.createElement("path", { d: "m9.55 19-6.725-6.725L5.25 9.85l4.3 4.325 9.225-9.225 2.425 2.4Z" }));
|
|
25803
26219
|
};
|
|
25804
26220
|
|
|
25805
26221
|
// src/components/InfiniteTable/utils/getFilterOperatorMenuForColumn.tsx
|
|
@@ -25842,12 +26258,12 @@ function getFilterOperatorMenuForColumn(columnId, context, onHideIntent) {
|
|
|
25842
26258
|
const IconCmp = operator.components?.Icon ?? FilterIcon;
|
|
25843
26259
|
return {
|
|
25844
26260
|
key,
|
|
25845
|
-
icon: /* @__PURE__ */
|
|
25846
|
-
label: /* @__PURE__ */
|
|
26261
|
+
icon: /* @__PURE__ */ React66.createElement(IconCmp, null),
|
|
26262
|
+
label: /* @__PURE__ */ React66.createElement(React66.Fragment, null, operator.label ?? operator.name),
|
|
25847
26263
|
onAction: () => {
|
|
25848
26264
|
api.setColumnFilterOperator(columnId, key);
|
|
25849
26265
|
},
|
|
25850
|
-
checked: checked ? /* @__PURE__ */
|
|
26266
|
+
checked: checked ? /* @__PURE__ */ React66.createElement(DoneIcon, { size: 16 }) : null
|
|
25851
26267
|
};
|
|
25852
26268
|
});
|
|
25853
26269
|
const firstItems = [
|
|
@@ -25862,7 +26278,7 @@ function getFilterOperatorMenuForColumn(columnId, context, onHideIntent) {
|
|
|
25862
26278
|
{
|
|
25863
26279
|
key: "reset",
|
|
25864
26280
|
label: "Reset",
|
|
25865
|
-
icon: /* @__PURE__ */
|
|
26281
|
+
icon: /* @__PURE__ */ React66.createElement(ClearIcon, null),
|
|
25866
26282
|
disabled: !column.computedFiltered,
|
|
25867
26283
|
onAction: () => {
|
|
25868
26284
|
api.clearColumnFilter(columnId);
|
|
@@ -25884,7 +26300,7 @@ function getFilterOperatorMenuForColumn(columnId, context, onHideIntent) {
|
|
|
25884
26300
|
filterTypes
|
|
25885
26301
|
};
|
|
25886
26302
|
const items = getFilterOperatorMenuItems ? getFilterOperatorMenuItems(defaultItems, param) : defaultItems;
|
|
25887
|
-
return /* @__PURE__ */
|
|
26303
|
+
return /* @__PURE__ */ React66.createElement(
|
|
25888
26304
|
MenuCmp,
|
|
25889
26305
|
{
|
|
25890
26306
|
autoFocus: true,
|
|
@@ -25990,7 +26406,7 @@ function useColumnFilterOperatorMenu() {
|
|
|
25990
26406
|
var import_react62 = require("react");
|
|
25991
26407
|
|
|
25992
26408
|
// src/components/InfiniteTable/utils/getCellContextMenu.tsx
|
|
25993
|
-
var
|
|
26409
|
+
var React67 = __toESM(require("react"));
|
|
25994
26410
|
function getCellContextMenu(cellLocation, context, onHideIntent) {
|
|
25995
26411
|
const { columnId, rowIndex, event } = cellLocation;
|
|
25996
26412
|
const { getComputed, getState } = context;
|
|
@@ -26030,7 +26446,7 @@ function getCellContextMenu(cellLocation, context, onHideIntent) {
|
|
|
26030
26446
|
}
|
|
26031
26447
|
return {
|
|
26032
26448
|
preventDefault: true,
|
|
26033
|
-
menu: /* @__PURE__ */
|
|
26449
|
+
menu: /* @__PURE__ */ React67.createElement(
|
|
26034
26450
|
MenuCmp,
|
|
26035
26451
|
{
|
|
26036
26452
|
columns: menuColumns,
|
|
@@ -26086,7 +26502,7 @@ function getTableContextMenu(menuLocation, context, onHideIntent) {
|
|
|
26086
26502
|
}
|
|
26087
26503
|
return {
|
|
26088
26504
|
preventDefault: true,
|
|
26089
|
-
menu: /* @__PURE__ */
|
|
26505
|
+
menu: /* @__PURE__ */ React67.createElement(
|
|
26090
26506
|
MenuCmp,
|
|
26091
26507
|
{
|
|
26092
26508
|
columns: menuColumns,
|
|
@@ -26296,7 +26712,7 @@ function useTableContextMenu() {
|
|
|
26296
26712
|
|
|
26297
26713
|
// src/components/InfiniteTable/components/HScrollSyncContent.tsx
|
|
26298
26714
|
var import_react64 = require("react");
|
|
26299
|
-
var
|
|
26715
|
+
var React68 = __toESM(require("react"));
|
|
26300
26716
|
|
|
26301
26717
|
// src/components/InfiniteTable/hooks/useGridScroll.ts
|
|
26302
26718
|
var import_react63 = require("react");
|
|
@@ -26342,7 +26758,7 @@ function HScrollSyncContent(props) {
|
|
|
26342
26758
|
} else if (maxWidth === "viewport") {
|
|
26343
26759
|
style2.maxWidth = ThemeVars.runtime.bodyWidth;
|
|
26344
26760
|
}
|
|
26345
|
-
return /* @__PURE__ */
|
|
26761
|
+
return /* @__PURE__ */ React68.createElement(
|
|
26346
26762
|
"div",
|
|
26347
26763
|
{
|
|
26348
26764
|
ref: domRef,
|
|
@@ -26443,7 +26859,7 @@ function useHorizontalLayout() {
|
|
|
26443
26859
|
}
|
|
26444
26860
|
|
|
26445
26861
|
// src/components/InfiniteTable/hooks/useDebugMode.ts
|
|
26446
|
-
var
|
|
26862
|
+
var React69 = __toESM(require("react"));
|
|
26447
26863
|
var logWarning = once(() => {
|
|
26448
26864
|
console.warn(
|
|
26449
26865
|
`It appears you have not loaded the CSS file for InfiniteTable.
|
|
@@ -26457,7 +26873,7 @@ import '@infinite-table/infinite-react/index.css'
|
|
|
26457
26873
|
var cssFileLoadedVarName = stripVar(ThemeVars.loaded);
|
|
26458
26874
|
function useDebugMode() {
|
|
26459
26875
|
const { getState } = useInfiniteTable();
|
|
26460
|
-
|
|
26876
|
+
React69.useEffect(() => {
|
|
26461
26877
|
runDebugMode(getState);
|
|
26462
26878
|
}, []);
|
|
26463
26879
|
}
|
|
@@ -26513,7 +26929,7 @@ function InfiniteTableHeader2() {
|
|
|
26513
26929
|
const { state: componentState, getComputed } = context;
|
|
26514
26930
|
const { header, brain, headerBrain, wrapRowsHorizontally } = componentState;
|
|
26515
26931
|
const { scrollbars } = getComputed();
|
|
26516
|
-
return header ? /* @__PURE__ */
|
|
26932
|
+
return header ? /* @__PURE__ */ React70.createElement(
|
|
26517
26933
|
TableHeaderWrapper,
|
|
26518
26934
|
{
|
|
26519
26935
|
wrapRowsHorizontally: !!wrapRowsHorizontally,
|
|
@@ -26530,7 +26946,7 @@ var InfiniteTableBodyCls = join(
|
|
|
26530
26946
|
transformTranslateZero
|
|
26531
26947
|
);
|
|
26532
26948
|
function InfiniteTableBodyContainer(props) {
|
|
26533
|
-
return /* @__PURE__ */
|
|
26949
|
+
return /* @__PURE__ */ React70.createElement(
|
|
26534
26950
|
"div",
|
|
26535
26951
|
{
|
|
26536
26952
|
...props,
|
|
@@ -26567,7 +26983,7 @@ function InfiniteTableBody() {
|
|
|
26567
26983
|
const {
|
|
26568
26984
|
componentState: { loading }
|
|
26569
26985
|
} = useDataSourceContextValue();
|
|
26570
|
-
const onContextMenu =
|
|
26986
|
+
const onContextMenu = React70.useCallback((event) => {
|
|
26571
26987
|
const state = context.getState();
|
|
26572
26988
|
const target = event.target;
|
|
26573
26989
|
if (!masterContext && event._from_row_detail) {
|
|
@@ -26613,7 +27029,7 @@ function InfiniteTableBody() {
|
|
|
26613
27029
|
});
|
|
26614
27030
|
const { autoFocus, tabIndex } = domProps ?? {};
|
|
26615
27031
|
useToggleWrapRowsHorizontally();
|
|
26616
|
-
return /* @__PURE__ */
|
|
27032
|
+
return /* @__PURE__ */ React70.createElement(InfiniteTableBodyContainer, { onContextMenu }, /* @__PURE__ */ React70.createElement(
|
|
26617
27033
|
HeadlessTable,
|
|
26618
27034
|
{
|
|
26619
27035
|
forceRerenderTimestamp: componentState.forceBodyRerenderTimestamp,
|
|
@@ -26634,9 +27050,9 @@ function InfiniteTableBody() {
|
|
|
26634
27050
|
cellHoverClassNames: showHoverRows ? HOVERED_CLASS_NAMES : void 0,
|
|
26635
27051
|
scrollerDOMRef
|
|
26636
27052
|
}
|
|
26637
|
-
), /* @__PURE__ */
|
|
27053
|
+
), /* @__PURE__ */ React70.createElement(LoadMaskCmp, { visible: loading }, loadingText));
|
|
26638
27054
|
}
|
|
26639
|
-
var InfiniteTableComponent =
|
|
27055
|
+
var InfiniteTableComponent = React70.memo(
|
|
26640
27056
|
function InfiniteTableComponent2() {
|
|
26641
27057
|
const context = useInfiniteTable();
|
|
26642
27058
|
const masterContext = useMasterDetailContext();
|
|
@@ -26668,7 +27084,7 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26668
27084
|
useScrollToActiveRow(activeRowIndex, dataArray.length, api);
|
|
26669
27085
|
useScrollToActiveCell(activeCellIndex, dataArray.length, api);
|
|
26670
27086
|
const { onKeyDown: onKeyDown2 } = useDOMEventHandlers();
|
|
26671
|
-
|
|
27087
|
+
React70.useEffect(() => {
|
|
26672
27088
|
const dataSourceState = getDataSourceState();
|
|
26673
27089
|
const onChange = debounce(
|
|
26674
27090
|
(renderRange) => {
|
|
@@ -26691,7 +27107,7 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26691
27107
|
...initialDOMProps
|
|
26692
27108
|
} = componentState.domProps ?? {};
|
|
26693
27109
|
const domProps = useDOMProps(initialDOMProps);
|
|
26694
|
-
|
|
27110
|
+
React70.useEffect(() => {
|
|
26695
27111
|
brain.setScrollStopDelay(scrollStopDelay);
|
|
26696
27112
|
dataSourceActions.scrollStopDelayUpdatedByTable = scrollStopDelay;
|
|
26697
27113
|
}, [scrollStopDelay]);
|
|
@@ -26702,7 +27118,7 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26702
27118
|
const { menuPortal: cellContextMenuPortal } = useCellContextMenu();
|
|
26703
27119
|
const { menuPortal: tableContextMenuPortal } = useTableContextMenu();
|
|
26704
27120
|
const { menuPortal: filterOperatorMenuPortal } = useColumnFilterOperatorMenu();
|
|
26705
|
-
|
|
27121
|
+
React70.useEffect(() => {
|
|
26706
27122
|
if (typeof globalThis.__DO_NOT_USE_UNLESS_YOU_KNOW_WHAT_YOURE_DOING_IS_READY === "function") {
|
|
26707
27123
|
globalThis.__DO_NOT_USE_UNLESS_YOU_KNOW_WHAT_YOURE_DOING_IS_READY(
|
|
26708
27124
|
componentState.id,
|
|
@@ -26716,13 +27132,13 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26716
27132
|
}
|
|
26717
27133
|
}, [componentState.ready]);
|
|
26718
27134
|
useDebugMode();
|
|
26719
|
-
|
|
27135
|
+
React70.useEffect(() => {
|
|
26720
27136
|
if (masterContext) {
|
|
26721
27137
|
portalDOMRef.current = masterContext.getMasterState().portalDOMRef.current;
|
|
26722
27138
|
}
|
|
26723
27139
|
}, []);
|
|
26724
|
-
const children = initialChildren ?? /* @__PURE__ */
|
|
26725
|
-
return /* @__PURE__ */
|
|
27140
|
+
const children = initialChildren ?? /* @__PURE__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(InfiniteTableHeader2, null), /* @__PURE__ */ React70.createElement(InfiniteTableBody, null));
|
|
27141
|
+
return /* @__PURE__ */ React70.createElement("div", { onKeyDown: onKeyDown2, ref: domRef, ...domProps }, children, /* @__PURE__ */ React70.createElement(
|
|
26726
27142
|
"div",
|
|
26727
27143
|
{
|
|
26728
27144
|
ref: portalDOMRef,
|
|
@@ -26738,14 +27154,14 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26738
27154
|
cellContextMenuPortal,
|
|
26739
27155
|
tableContextMenuPortal,
|
|
26740
27156
|
filterOperatorMenuPortal
|
|
26741
|
-
), rowHeightCSSVar ? /* @__PURE__ */
|
|
27157
|
+
), rowHeightCSSVar ? /* @__PURE__ */ React70.createElement(
|
|
26742
27158
|
CSSNumericVariableWatch,
|
|
26743
27159
|
{
|
|
26744
27160
|
key: "row-height",
|
|
26745
27161
|
varName: rowHeightCSSVar,
|
|
26746
27162
|
onChange: onRowHeightCSSVarChange
|
|
26747
27163
|
}
|
|
26748
|
-
) : null, /* @__PURE__ */
|
|
27164
|
+
) : null, /* @__PURE__ */ React70.createElement(
|
|
26749
27165
|
CSSNumericVariableWatch,
|
|
26750
27166
|
{
|
|
26751
27167
|
key: "flashing-duration",
|
|
@@ -26753,21 +27169,21 @@ var InfiniteTableComponent = React69.memo(
|
|
|
26753
27169
|
varName: ThemeVars.components.Cell.flashingDuration,
|
|
26754
27170
|
onChange: onFlashingDurationCSSVarChange
|
|
26755
27171
|
}
|
|
26756
|
-
), rowDetailHeightCSSVar ? /* @__PURE__ */
|
|
27172
|
+
), rowDetailHeightCSSVar ? /* @__PURE__ */ React70.createElement(
|
|
26757
27173
|
CSSNumericVariableWatch,
|
|
26758
27174
|
{
|
|
26759
27175
|
key: "row-detail-height",
|
|
26760
27176
|
varName: rowDetailHeightCSSVar,
|
|
26761
27177
|
onChange: onRowDetailHeightCSSVarChange
|
|
26762
27178
|
}
|
|
26763
|
-
) : null, columnHeaderHeightCSSVar ? /* @__PURE__ */
|
|
27179
|
+
) : null, columnHeaderHeightCSSVar ? /* @__PURE__ */ React70.createElement(
|
|
26764
27180
|
CSSNumericVariableWatch,
|
|
26765
27181
|
{
|
|
26766
27182
|
key: "column-header-height",
|
|
26767
27183
|
varName: columnHeaderHeightCSSVar,
|
|
26768
27184
|
onChange: onColumnHeaderHeightCSSVarChange
|
|
26769
27185
|
}
|
|
26770
|
-
) : null, licenseValid ? null : /* @__PURE__ */
|
|
27186
|
+
) : null, licenseValid ? null : /* @__PURE__ */ React70.createElement(InfiniteTableLicenseFooter, null), /* @__PURE__ */ React70.createElement(FocusDetect, null));
|
|
26771
27187
|
}
|
|
26772
27188
|
);
|
|
26773
27189
|
function InfiniteTableContextProvider({
|
|
@@ -26791,7 +27207,7 @@ function InfiniteTableContextProvider({
|
|
|
26791
27207
|
getDataSourceMasterContext,
|
|
26792
27208
|
api: dataSourceApi
|
|
26793
27209
|
} = useDataSourceContextValue();
|
|
26794
|
-
const [imperativeApi] =
|
|
27210
|
+
const [imperativeApi] = React70.useState(() => {
|
|
26795
27211
|
return getImperativeApi({
|
|
26796
27212
|
getComputed,
|
|
26797
27213
|
getState,
|
|
@@ -26827,20 +27243,20 @@ function InfiniteTableContextProvider({
|
|
|
26827
27243
|
},
|
|
26828
27244
|
{ earlyAttach: true, debounce: 50 }
|
|
26829
27245
|
);
|
|
26830
|
-
|
|
27246
|
+
React70.useEffect(() => {
|
|
26831
27247
|
if (scrollerDOMRef.current) {
|
|
26832
27248
|
scrollerDOMRef.current.scrollTop = 0;
|
|
26833
27249
|
}
|
|
26834
27250
|
}, [scrollTopKey, scrollerDOMRef]);
|
|
26835
27251
|
const TableContext2 = getInfiniteTableContext();
|
|
26836
|
-
return /* @__PURE__ */
|
|
27252
|
+
return /* @__PURE__ */ React70.createElement(TableContext2.Provider, { value: contextValue }, /* @__PURE__ */ React70.createElement(InfiniteTableComponent, null));
|
|
26837
27253
|
}
|
|
26838
27254
|
var DEFAULT_ROW_HEIGHT = 40;
|
|
26839
27255
|
var DEFAULT_COLUMN_HEADER_HEIGHT = toCSSVarName(columnHeaderHeightName);
|
|
26840
27256
|
var InfiniteTable = function(props) {
|
|
26841
27257
|
const table = (
|
|
26842
27258
|
//@ts-ignore
|
|
26843
|
-
/* @__PURE__ */
|
|
27259
|
+
/* @__PURE__ */ React70.createElement(
|
|
26844
27260
|
InfiniteTableRoot,
|
|
26845
27261
|
{
|
|
26846
27262
|
repeatWrappedGroupRows: !!props.wrapRowsHorizontally,
|
|
@@ -26848,30 +27264,30 @@ var InfiniteTable = function(props) {
|
|
|
26848
27264
|
columnHeaderHeight: DEFAULT_COLUMN_HEADER_HEIGHT,
|
|
26849
27265
|
...props
|
|
26850
27266
|
},
|
|
26851
|
-
/* @__PURE__ */
|
|
27267
|
+
/* @__PURE__ */ React70.createElement(InfiniteTableContextProvider, { children: props.children })
|
|
26852
27268
|
)
|
|
26853
27269
|
);
|
|
26854
27270
|
if (false) {
|
|
26855
|
-
return /* @__PURE__ */
|
|
27271
|
+
return /* @__PURE__ */ React70.createElement(React70.StrictMode, null, table);
|
|
26856
27272
|
}
|
|
26857
27273
|
return table;
|
|
26858
27274
|
};
|
|
26859
27275
|
InfiniteTable.Header = InfiniteTableHeader2;
|
|
26860
27276
|
InfiniteTable.Body = InfiniteTableBody;
|
|
26861
27277
|
InfiniteTable.HScrollSyncContent = HScrollSyncContent;
|
|
26862
|
-
InfiniteTable.Footer = () => /* @__PURE__ */
|
|
27278
|
+
InfiniteTable.Footer = () => /* @__PURE__ */ React70.createElement(InfiniteTableFooter, null);
|
|
26863
27279
|
|
|
26864
27280
|
// src/components/TreeGrid/TreeDataSource.tsx
|
|
26865
|
-
var
|
|
27281
|
+
var React71 = __toESM(require("react"));
|
|
26866
27282
|
function TreeDataSource(props) {
|
|
26867
27283
|
const { DataSource: DataSourceComponent } = useDataSourceInternal({ nodesKey: "children", ...props });
|
|
26868
|
-
return /* @__PURE__ */
|
|
27284
|
+
return /* @__PURE__ */ React71.createElement(DataSourceComponent, null, props.children ?? null);
|
|
26869
27285
|
}
|
|
26870
27286
|
|
|
26871
27287
|
// src/components/TreeGrid/TreeGrid.tsx
|
|
26872
|
-
var
|
|
27288
|
+
var React72 = __toESM(require("react"));
|
|
26873
27289
|
function TreeGrid(props) {
|
|
26874
|
-
return /* @__PURE__ */
|
|
27290
|
+
return /* @__PURE__ */ React72.createElement(InfiniteTable, { ...props });
|
|
26875
27291
|
}
|
|
26876
27292
|
|
|
26877
27293
|
// src/components/DataSource/DataLoader/DataQuery.ts
|
|
@@ -27338,12 +27754,12 @@ var useEffectWhen = (callback, options) => {
|
|
|
27338
27754
|
};
|
|
27339
27755
|
|
|
27340
27756
|
// src/components/InfiniteTable/components/InfiniteTableRow/FlashingColumnCell.tsx
|
|
27341
|
-
var
|
|
27757
|
+
var React73 = __toESM(require("react"));
|
|
27342
27758
|
var currentFlashingDurationVar = stripVar(
|
|
27343
27759
|
InternalVars.currentFlashingDuration
|
|
27344
27760
|
);
|
|
27345
27761
|
var defaultRender = ({ children }) => {
|
|
27346
|
-
return /* @__PURE__ */
|
|
27762
|
+
return /* @__PURE__ */ React73.createElement(React73.Fragment, null, children);
|
|
27347
27763
|
};
|
|
27348
27764
|
var DEFAULT_FLASH_DURATION = 1e3;
|
|
27349
27765
|
var INTERNAL_FLASH_CLS_FOR_DIRECTION = {
|
|
@@ -27365,7 +27781,7 @@ var createFlashingColumnCellComponent = (options = {}) => {
|
|
|
27365
27781
|
// fadeClassName,
|
|
27366
27782
|
render = defaultRender
|
|
27367
27783
|
} = options;
|
|
27368
|
-
const FlashingColumnCell2 =
|
|
27784
|
+
const FlashingColumnCell2 = React73.forwardRef(
|
|
27369
27785
|
(props, _ref) => {
|
|
27370
27786
|
const cellContext = useInfiniteColumnCell();
|
|
27371
27787
|
const {
|
|
@@ -27375,13 +27791,13 @@ var createFlashingColumnCellComponent = (options = {}) => {
|
|
|
27375
27791
|
const { domRef, value, column, rowInfo, htmlElementRef } = cellContext;
|
|
27376
27792
|
const rowId = rowInfo.id;
|
|
27377
27793
|
const columnId = column.id;
|
|
27378
|
-
const initialRef =
|
|
27379
|
-
const oldValueRef =
|
|
27794
|
+
const initialRef = React73.useRef(true);
|
|
27795
|
+
const oldValueRef = React73.useRef(value);
|
|
27380
27796
|
const oldValue = initialRef.current ? null : oldValueRef.current;
|
|
27381
27797
|
initialRef.current = false;
|
|
27382
|
-
const flashTimeoutIdRef =
|
|
27383
|
-
const flashDirectionRef =
|
|
27384
|
-
const fadeTimeoutIdRef =
|
|
27798
|
+
const flashTimeoutIdRef = React73.useRef();
|
|
27799
|
+
const flashDirectionRef = React73.useRef();
|
|
27800
|
+
const fadeTimeoutIdRef = React73.useRef();
|
|
27385
27801
|
useEffectWhen(
|
|
27386
27802
|
() => {
|
|
27387
27803
|
if (value === oldValueRef.current) {
|
|
@@ -27428,7 +27844,7 @@ var createFlashingColumnCellComponent = (options = {}) => {
|
|
|
27428
27844
|
different: [value]
|
|
27429
27845
|
}
|
|
27430
27846
|
);
|
|
27431
|
-
return /* @__PURE__ */
|
|
27847
|
+
return /* @__PURE__ */ React73.createElement("div", { ref: domRef, ...props, className: join(props.className) }, render({ children: props.children, oldValue }));
|
|
27432
27848
|
}
|
|
27433
27849
|
);
|
|
27434
27850
|
return FlashingColumnCell2;
|