@rozie-ui/data-table-solid 0.3.1 → 0.4.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/README.md +51 -2
- package/dist/index.cjs +275 -108
- package/dist/index.d.cts +40 -11
- package/dist/index.d.mts +40 -11
- package/dist/index.mjs +275 -108
- package/package.json +2 -2
- package/src/DataTable.tsx +373 -130
- package/src/helpers/columnDefUtils.ts +77 -1
package/dist/index.mjs
CHANGED
|
@@ -17,6 +17,39 @@ const wrapAggregationFn = (fn) => {
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
+
const collectNestedDefs = (list, out) => {
|
|
21
|
+
if (!Array.isArray(list)) return;
|
|
22
|
+
for (const d of list) {
|
|
23
|
+
if (!d || d.id == null) continue;
|
|
24
|
+
const id = String(d.id);
|
|
25
|
+
if (!(id in out)) out[id] = d;
|
|
26
|
+
if (Array.isArray(d.columns)) collectNestedDefs(d.columns, out);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const indexDefsById = (defs) => {
|
|
30
|
+
const out = Object.create(null);
|
|
31
|
+
if (!Array.isArray(defs)) return out;
|
|
32
|
+
for (const d of defs) {
|
|
33
|
+
if (!d || d.id == null) continue;
|
|
34
|
+
out[String(d.id)] = d;
|
|
35
|
+
}
|
|
36
|
+
for (const d of defs) if (d && Array.isArray(d.columns)) collectNestedDefs(d.columns, out);
|
|
37
|
+
return out;
|
|
38
|
+
};
|
|
39
|
+
const collectGroupableLeafDefs = (defs) => {
|
|
40
|
+
const out = [];
|
|
41
|
+
if (!Array.isArray(defs)) return out;
|
|
42
|
+
for (const d of defs) {
|
|
43
|
+
if (!d) continue;
|
|
44
|
+
if (Array.isArray(d.columns)) {
|
|
45
|
+
out.push(...collectGroupableLeafDefs(d.columns));
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (d.groupable === false) continue;
|
|
49
|
+
out.push(d);
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
};
|
|
20
53
|
//#endregion
|
|
21
54
|
//#region src/helpers/indexMath.ts
|
|
22
55
|
const clamp = (v, lo, hi) => v < lo ? lo : v > hi ? hi : v;
|
|
@@ -906,6 +939,7 @@ function DataTable(_props) {
|
|
|
906
939
|
let columnDefsCache = null;
|
|
907
940
|
let columnDefsCacheColumnsRef = void 0;
|
|
908
941
|
let columnDefsCacheColRegRef = void 0;
|
|
942
|
+
let columnDefsIndexCache = null;
|
|
909
943
|
function columnDefs() {
|
|
910
944
|
const cfg = local.columns || [];
|
|
911
945
|
const reg = colReg() || {};
|
|
@@ -949,8 +983,13 @@ function DataTable(_props) {
|
|
|
949
983
|
columnDefsCache = out;
|
|
950
984
|
columnDefsCacheColumnsRef = local.columns;
|
|
951
985
|
columnDefsCacheColRegRef = colReg();
|
|
986
|
+
columnDefsIndexCache = indexDefsById(out);
|
|
952
987
|
return out;
|
|
953
988
|
}
|
|
989
|
+
function defIndex() {
|
|
990
|
+
columnDefs();
|
|
991
|
+
return columnDefsIndexCache || Object.create(null);
|
|
992
|
+
}
|
|
954
993
|
const SELECT_COL_ID = "__rdt_select";
|
|
955
994
|
const EXPANDER_COL_ID = "__rdt_expander";
|
|
956
995
|
function selectionEnabled() {
|
|
@@ -1668,9 +1707,9 @@ function DataTable(_props) {
|
|
|
1668
1707
|
return "";
|
|
1669
1708
|
}
|
|
1670
1709
|
function defFor(colId) {
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
return null;
|
|
1710
|
+
if (colId == null) return null;
|
|
1711
|
+
const d = defIndex()[String(colId)];
|
|
1712
|
+
return d != null ? d : null;
|
|
1674
1713
|
}
|
|
1675
1714
|
function visibleCellsFor(row) {
|
|
1676
1715
|
return rowModelVer() >= 0 ? row.getVisibleCells() : [];
|
|
@@ -1691,12 +1730,6 @@ function DataTable(_props) {
|
|
|
1691
1730
|
const m = editMetaOf(colId);
|
|
1692
1731
|
return m && m.editorOptions != null ? m.editorOptions : [];
|
|
1693
1732
|
}
|
|
1694
|
-
function hasEditorSlot(colId) {
|
|
1695
|
-
return editorTypeOf(colId) === "custom" && !!(_props.editorSlot ?? _props.slots?.["editor"]);
|
|
1696
|
-
}
|
|
1697
|
-
function hasFilterSlot() {
|
|
1698
|
-
return !!(_props.filterSlot ?? _props.slots?.["filter"]);
|
|
1699
|
-
}
|
|
1700
1733
|
function columnIsFilterable(colId) {
|
|
1701
1734
|
const d = defFor(colId);
|
|
1702
1735
|
return !!(d && d.filterable);
|
|
@@ -1705,11 +1738,9 @@ function DataTable(_props) {
|
|
|
1705
1738
|
const d = defFor(colId);
|
|
1706
1739
|
return d ? d.header : colId;
|
|
1707
1740
|
}
|
|
1708
|
-
function headerWidth(
|
|
1709
|
-
if (tick() < 0 || !
|
|
1710
|
-
const
|
|
1711
|
-
if (!col) return null;
|
|
1712
|
-
const w = col.getSize();
|
|
1741
|
+
function headerWidth(header) {
|
|
1742
|
+
if (tick() < 0 || !header || typeof header.getSize !== "function") return null;
|
|
1743
|
+
const w = header.getSize();
|
|
1713
1744
|
return w != null && w > 0 ? w + "px" : null;
|
|
1714
1745
|
}
|
|
1715
1746
|
function onResizeStart(colId, evt) {
|
|
@@ -1773,11 +1804,11 @@ function DataTable(_props) {
|
|
|
1773
1804
|
if (side === "right") return "position:sticky;right:" + (col.getAfter ? col.getAfter("right") : 0) + "px;z-index:" + zIndex + ";";
|
|
1774
1805
|
return "";
|
|
1775
1806
|
}
|
|
1776
|
-
function thStyle(
|
|
1807
|
+
function thStyle(header) {
|
|
1777
1808
|
let s = "";
|
|
1778
|
-
const w = headerWidth(
|
|
1809
|
+
const w = headerWidth(header);
|
|
1779
1810
|
if (w) s += "width:" + w + ";";
|
|
1780
|
-
s += pinStyle(
|
|
1811
|
+
s += pinStyle(header && header.column ? header.column.id : null, 2);
|
|
1781
1812
|
return s;
|
|
1782
1813
|
}
|
|
1783
1814
|
function onGlobalFilterInput(evt) {
|
|
@@ -1863,6 +1894,9 @@ function DataTable(_props) {
|
|
|
1863
1894
|
function rowIsGrouped(row) {
|
|
1864
1895
|
return !!(tick() >= 0 && row && row.getIsGrouped && row.getIsGrouped());
|
|
1865
1896
|
}
|
|
1897
|
+
function rowIndexIsGrouped(rowIndex) {
|
|
1898
|
+
return rowIsGrouped((rows() || [])[rowIndex]);
|
|
1899
|
+
}
|
|
1866
1900
|
function groupingActive() {
|
|
1867
1901
|
return tick() >= 0 && (currentState().grouping || []).length > 0;
|
|
1868
1902
|
}
|
|
@@ -1876,21 +1910,54 @@ function DataTable(_props) {
|
|
|
1876
1910
|
return !!(tick() >= 0 && cellCtx && cellCtx.getIsPlaceholder && cellCtx.getIsPlaceholder());
|
|
1877
1911
|
}
|
|
1878
1912
|
function groupSubRowCount(row) {
|
|
1879
|
-
|
|
1913
|
+
if (row && row.getLeafRows) {
|
|
1914
|
+
const leaves = row.getLeafRows();
|
|
1915
|
+
let n = 0;
|
|
1916
|
+
for (let i = 0; i < leaves.length; i++) {
|
|
1917
|
+
const r = leaves[i];
|
|
1918
|
+
if (!(r && r.getIsGrouped && r.getIsGrouped())) n = n + 1;
|
|
1919
|
+
}
|
|
1920
|
+
return n;
|
|
1921
|
+
}
|
|
1922
|
+
return row && row.subRows ? row.subRows.length : 0;
|
|
1923
|
+
}
|
|
1924
|
+
let groupRowDescriptorCache = null;
|
|
1925
|
+
let groupRowDescriptorCacheVer = void 0;
|
|
1926
|
+
function groupRowDescriptor(row) {
|
|
1927
|
+
const ver = rowModelVer();
|
|
1928
|
+
if (!groupRowDescriptorCache || groupRowDescriptorCacheVer !== ver) {
|
|
1929
|
+
groupRowDescriptorCache = Object.create(null);
|
|
1930
|
+
groupRowDescriptorCacheVer = ver;
|
|
1931
|
+
}
|
|
1932
|
+
const key = String(row.id);
|
|
1933
|
+
let d = groupRowDescriptorCache[key];
|
|
1934
|
+
if (!d) {
|
|
1935
|
+
const groupingColumnId = row.groupingColumnId != null ? row.groupingColumnId : "";
|
|
1936
|
+
const groupingValue = row.getGroupingValue ? row.getGroupingValue(groupingColumnId) : row.groupingValue;
|
|
1937
|
+
d = {
|
|
1938
|
+
isGroupRow: true,
|
|
1939
|
+
groupId: row.id,
|
|
1940
|
+
groupingColumnId,
|
|
1941
|
+
groupingValue,
|
|
1942
|
+
leafCount: groupSubRowCount(row)
|
|
1943
|
+
};
|
|
1944
|
+
groupRowDescriptorCache[key] = d;
|
|
1945
|
+
}
|
|
1946
|
+
return d;
|
|
1947
|
+
}
|
|
1948
|
+
function cellSlotRow(row) {
|
|
1949
|
+
return rowIsGrouped(row) ? groupRowDescriptor(row) : row ? row.original : null;
|
|
1880
1950
|
}
|
|
1881
1951
|
function groupingKeys() {
|
|
1882
1952
|
return currentState().grouping || [];
|
|
1883
1953
|
}
|
|
1884
1954
|
function groupableColumns() {
|
|
1885
1955
|
const out = [];
|
|
1886
|
-
const defs = columnDefs();
|
|
1887
|
-
for (const d of defs) {
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
label: d.header != null ? d.header : d.id
|
|
1892
|
-
});
|
|
1893
|
-
}
|
|
1956
|
+
const defs = collectGroupableLeafDefs(columnDefs());
|
|
1957
|
+
for (const d of defs) out.push({
|
|
1958
|
+
id: d.id,
|
|
1959
|
+
label: d.header != null ? d.header : d.id
|
|
1960
|
+
});
|
|
1894
1961
|
return out;
|
|
1895
1962
|
}
|
|
1896
1963
|
function stopEvent(evt) {
|
|
@@ -2916,11 +2983,13 @@ function DataTable(_props) {
|
|
|
2916
2983
|
for (let gr = 0; gr < grid.length; gr++) {
|
|
2917
2984
|
const r = originRow + gr;
|
|
2918
2985
|
if (r > maxRow) break;
|
|
2986
|
+
const rowGrouped = rowIndexIsGrouped(r);
|
|
2919
2987
|
const cols = grid[gr] || [];
|
|
2920
2988
|
for (let gc = 0; gc < cols.length; gc++) {
|
|
2921
2989
|
const c = originCol + gc;
|
|
2922
2990
|
if (c > maxCol) break;
|
|
2923
2991
|
total = total + 1;
|
|
2992
|
+
if (rowGrouped) continue;
|
|
2924
2993
|
const colId = columnIdAt(r, c);
|
|
2925
2994
|
if (colId == null || !columnEditable(colId)) continue;
|
|
2926
2995
|
const rowObj = rowOriginalAt(r);
|
|
@@ -3095,8 +3164,9 @@ function DataTable(_props) {
|
|
|
3095
3164
|
fillEdgeScrollRaf = null;
|
|
3096
3165
|
}
|
|
3097
3166
|
}
|
|
3098
|
-
|
|
3099
|
-
|
|
3167
|
+
const FILL_HITTEST_PROBE_RADIUS_PX = 8;
|
|
3168
|
+
const FILL_HITTEST_PROBE_STEP_PX = 2;
|
|
3169
|
+
function resolveCellAt(clientX, clientY) {
|
|
3100
3170
|
let el = document.elementFromPoint(clientX, clientY);
|
|
3101
3171
|
while (el && el.shadowRoot && el.shadowRoot.elementFromPoint) {
|
|
3102
3172
|
const inner = el.shadowRoot.elementFromPoint(clientX, clientY);
|
|
@@ -3117,6 +3187,18 @@ function DataTable(_props) {
|
|
|
3117
3187
|
c
|
|
3118
3188
|
};
|
|
3119
3189
|
}
|
|
3190
|
+
function cellIndexFromPoint(clientX, clientY) {
|
|
3191
|
+
if (typeof document === "undefined" || !document.elementFromPoint) return null;
|
|
3192
|
+
const direct = resolveCellAt(clientX, clientY);
|
|
3193
|
+
if (direct) return direct;
|
|
3194
|
+
for (let d = FILL_HITTEST_PROBE_STEP_PX; d <= FILL_HITTEST_PROBE_RADIUS_PX; d += FILL_HITTEST_PROBE_STEP_PX) {
|
|
3195
|
+
const right = resolveCellAt(clientX + d, clientY);
|
|
3196
|
+
if (right) return right;
|
|
3197
|
+
const left = resolveCellAt(clientX - d, clientY);
|
|
3198
|
+
if (left) return left;
|
|
3199
|
+
}
|
|
3200
|
+
return null;
|
|
3201
|
+
}
|
|
3120
3202
|
function onFillHandlePointerDown(e) {
|
|
3121
3203
|
if (!e) return;
|
|
3122
3204
|
if (e.preventDefault) e.preventDefault();
|
|
@@ -3223,11 +3305,13 @@ function DataTable(_props) {
|
|
|
3223
3305
|
return cell && cell.column ? cell.column.id : null;
|
|
3224
3306
|
}
|
|
3225
3307
|
function isActiveCellEditable() {
|
|
3308
|
+
if (rowIndexIsGrouped(activeRow())) return false;
|
|
3226
3309
|
const colId = activeCellColumnId();
|
|
3227
3310
|
return colId != null && columnEditable(colId);
|
|
3228
3311
|
}
|
|
3229
3312
|
function isEditing(rowIndex, colIndex) {
|
|
3230
3313
|
if (editVer() < 0) return false;
|
|
3314
|
+
if (rowIndexIsGrouped(rowIndex)) return false;
|
|
3231
3315
|
if (editingRowIndex() != null && editingRowIndex() === rowIndex) {
|
|
3232
3316
|
const colId = columnIdAt(rowIndex, colIndex);
|
|
3233
3317
|
return colId != null && columnEditable(colId);
|
|
@@ -3287,12 +3371,24 @@ function DataTable(_props) {
|
|
|
3287
3371
|
const row = (rows() || [])[editingRow()];
|
|
3288
3372
|
return row ? row.id : null;
|
|
3289
3373
|
}
|
|
3290
|
-
function
|
|
3374
|
+
function resolveEditFocusCellEl(rowIndex, colIndex) {
|
|
3375
|
+
if (rowIndex == null || colIndex == null || rowIndex < 0 || colIndex < 0) return null;
|
|
3376
|
+
return resolveCellEl(String(rowIndex), colIndex);
|
|
3377
|
+
}
|
|
3378
|
+
function focusEditorWhenReady(rowIndex, colIndex, selectAll = true) {
|
|
3291
3379
|
if (!gridRoot) return;
|
|
3292
|
-
if (editFocusColId() != null && hasEditorSlot(editFocusColId())) return;
|
|
3293
3380
|
let attempts = 0;
|
|
3294
3381
|
const tryFocus = () => {
|
|
3295
|
-
const
|
|
3382
|
+
const cellEl = resolveEditFocusCellEl(rowIndex, colIndex);
|
|
3383
|
+
const el = cellEl && cellEl.querySelector ? cellEl.querySelector("[data-editing-cell][data-builtin-editor]") : null;
|
|
3384
|
+
if (!el) {
|
|
3385
|
+
if (cellEl && cellEl.querySelector ? cellEl.querySelector("[data-editing-cell]") : null) return;
|
|
3386
|
+
attempts = attempts + 1;
|
|
3387
|
+
if (attempts >= 30) return;
|
|
3388
|
+
if (typeof requestAnimationFrame === "function") requestAnimationFrame(tryFocus);
|
|
3389
|
+
else setTimeout(tryFocus, 16);
|
|
3390
|
+
return;
|
|
3391
|
+
}
|
|
3296
3392
|
const ae = gridRoot && gridRoot.getRootNode ? gridRoot.getRootNode().activeElement : null;
|
|
3297
3393
|
if (ae && el && ae !== el && ae.closest && gridRoot.contains(ae) && ae.hasAttribute && ae.hasAttribute("data-editing-cell")) {
|
|
3298
3394
|
const aeCell = ae.closest("[data-grid-cell]");
|
|
@@ -3301,17 +3397,10 @@ function DataTable(_props) {
|
|
|
3301
3397
|
const elCol = elCell ? elCell.getAttribute("data-col-index") : null;
|
|
3302
3398
|
if (aeCol != null && aeCol !== elCol) return;
|
|
3303
3399
|
}
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
} catch (e) {}
|
|
3309
|
-
return;
|
|
3310
|
-
}
|
|
3311
|
-
attempts = attempts + 1;
|
|
3312
|
-
if (attempts >= 30) return;
|
|
3313
|
-
if (typeof requestAnimationFrame === "function") requestAnimationFrame(tryFocus);
|
|
3314
|
-
else setTimeout(tryFocus, 16);
|
|
3400
|
+
el.focus();
|
|
3401
|
+
if (selectAll && el.select) try {
|
|
3402
|
+
el.select();
|
|
3403
|
+
} catch (e) {}
|
|
3315
3404
|
};
|
|
3316
3405
|
if (typeof requestAnimationFrame === "function") requestAnimationFrame(tryFocus);
|
|
3317
3406
|
else setTimeout(tryFocus, 0);
|
|
@@ -3329,6 +3418,7 @@ function DataTable(_props) {
|
|
|
3329
3418
|
return cell ? cell.getValue() : null;
|
|
3330
3419
|
}
|
|
3331
3420
|
function beginEdit(rowIndex, colIndex, seed) {
|
|
3421
|
+
if (rowIndexIsGrouped(rowIndex)) return;
|
|
3332
3422
|
const colId = columnIdAt(rowIndex, colIndex);
|
|
3333
3423
|
if (colId == null || !columnEditable(colId)) return;
|
|
3334
3424
|
committedThisSession = false;
|
|
@@ -3341,7 +3431,7 @@ function DataTable(_props) {
|
|
|
3341
3431
|
setActiveInControl(true);
|
|
3342
3432
|
setEditVer(editVer() + 1);
|
|
3343
3433
|
setEditFocusColId(colId);
|
|
3344
|
-
focusEditorWhenReady(seed == null);
|
|
3434
|
+
focusEditorWhenReady(rowIndex, colIndex, seed == null);
|
|
3345
3435
|
}
|
|
3346
3436
|
function focusCellWhenReady(row, col) {
|
|
3347
3437
|
if (!gridRoot) return;
|
|
@@ -3409,7 +3499,7 @@ function DataTable(_props) {
|
|
|
3409
3499
|
const err = runValidator(colId, newValue, rowOriginal);
|
|
3410
3500
|
if (err !== true) {
|
|
3411
3501
|
setInvalid(err);
|
|
3412
|
-
focusEditorWhenReady();
|
|
3502
|
+
focusEditorWhenReady(editingRow(), editingCol());
|
|
3413
3503
|
return false;
|
|
3414
3504
|
}
|
|
3415
3505
|
setInvalid("");
|
|
@@ -3440,6 +3530,7 @@ function DataTable(_props) {
|
|
|
3440
3530
|
return true;
|
|
3441
3531
|
}
|
|
3442
3532
|
function toggleActiveBooleanCell() {
|
|
3533
|
+
if (rowIndexIsGrouped(activeRow())) return;
|
|
3443
3534
|
const colId = columnIdAt(activeRow(), activeColIndex());
|
|
3444
3535
|
if (colId == null || !columnEditable(colId)) return;
|
|
3445
3536
|
const row = (rows() || [])[activeRow()];
|
|
@@ -3501,12 +3592,10 @@ function DataTable(_props) {
|
|
|
3501
3592
|
}
|
|
3502
3593
|
function focusRowEditorAt(rowIndex, colIndex) {
|
|
3503
3594
|
if (!gridRoot) return;
|
|
3504
|
-
const colId = columnIdAt(rowIndex, colIndex);
|
|
3505
|
-
if (colId != null && hasEditorSlot(colId)) return;
|
|
3506
3595
|
let attempts = 0;
|
|
3507
3596
|
const tryFocus = () => {
|
|
3508
3597
|
const cellEl = resolveCellEl(String(rowIndex), colIndex);
|
|
3509
|
-
const ed = cellEl && cellEl.querySelector ? cellEl.querySelector("[data-editing-cell]") : null;
|
|
3598
|
+
const ed = cellEl && cellEl.querySelector ? cellEl.querySelector("[data-editing-cell][data-builtin-editor]") : null;
|
|
3510
3599
|
if (ed) {
|
|
3511
3600
|
ed.focus();
|
|
3512
3601
|
if (ed.select) try {
|
|
@@ -3514,6 +3603,7 @@ function DataTable(_props) {
|
|
|
3514
3603
|
} catch (e) {}
|
|
3515
3604
|
return;
|
|
3516
3605
|
}
|
|
3606
|
+
if (cellEl && cellEl.querySelector ? cellEl.querySelector("[data-editing-cell]") : null) return;
|
|
3517
3607
|
attempts = attempts + 1;
|
|
3518
3608
|
if (attempts >= 30) return;
|
|
3519
3609
|
if (typeof requestAnimationFrame === "function") requestAnimationFrame(tryFocus);
|
|
@@ -3525,6 +3615,7 @@ function DataTable(_props) {
|
|
|
3525
3615
|
function beginRowEdit(row) {
|
|
3526
3616
|
const rowIndex = rowIndexOf(row);
|
|
3527
3617
|
if (rowIndex < 0) return;
|
|
3618
|
+
if (rowIndexIsGrouped(rowIndex)) return;
|
|
3528
3619
|
const editable = editableColumnsForRow(rowIndex);
|
|
3529
3620
|
if (editable.length === 0) return;
|
|
3530
3621
|
committedThisSession = false;
|
|
@@ -3544,7 +3635,7 @@ function DataTable(_props) {
|
|
|
3544
3635
|
setActiveInControl(true);
|
|
3545
3636
|
setEditVer(editVer() + 1);
|
|
3546
3637
|
setEditFocusColId(editable[0].colId);
|
|
3547
|
-
focusEditorWhenReady();
|
|
3638
|
+
focusEditorWhenReady(rowIndex, editable[0].colIndex);
|
|
3548
3639
|
}
|
|
3549
3640
|
function commitRow() {
|
|
3550
3641
|
if (editingRowIndex() == null) return false;
|
|
@@ -4021,14 +4112,18 @@ function DataTable(_props) {
|
|
|
4021
4112
|
"rdt-expander-th": isExpanderColumn(header().column.id),
|
|
4022
4113
|
"rdt-th-resizing": columnIsResizing(header().column.id),
|
|
4023
4114
|
"rdt-cell-active": isActiveCell("__header", headerColIndexOf(hg(), header()), hgLevel())
|
|
4024
|
-
})} role="columnheader" data-col={rozieAttr(header().column.id)} data-grid-cell="" data-row="__header" data-header-level={rozieAttr(hgLevel())} colSpan={rozieAttr(header().colSpan > 1 ? header().colSpan : null)} data-col-index={rozieAttr(headerColIndexOf(hg(), header()))} tabIndex={rozieAttr(cellTabindex("__header", headerColIndexOf(hg(), header()), hgLevel()))} aria-sort={rozieAttr(ariaSortFor(header().column.id))} style={parseInlineStyle(thStyle(header()
|
|
4115
|
+
})} role="columnheader" data-col={rozieAttr(header().column.id)} data-grid-cell="" data-row="__header" data-header-level={rozieAttr(hgLevel())} colSpan={rozieAttr(header().colSpan > 1 ? header().colSpan : null)} data-col-index={rozieAttr(headerColIndexOf(hg(), header()))} tabIndex={rozieAttr(cellTabindex("__header", headerColIndexOf(hg(), header()), hgLevel()))} aria-sort={rozieAttr(ariaSortFor(header().column.id))} style={parseInlineStyle(thStyle(header()))} data-rozie-s-d5dcab4c="">
|
|
4025
4116
|
|
|
4026
4117
|
|
|
4027
4118
|
{<Show when={isSelectColumn(header().column.id)} fallback={<Show when={isExpanderColumn(header().column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4028
4119
|
|
|
4029
4120
|
{<Show when={header().column.getCanSort && header().column.getCanSort()} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4030
4121
|
<span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
|
|
4031
|
-
{
|
|
4122
|
+
{_props.slots?.[`colHeader-${header().column.id}`]?.({
|
|
4123
|
+
columnId: header().column.id,
|
|
4124
|
+
column: header().column,
|
|
4125
|
+
label: headerLabel(header().column.id)
|
|
4126
|
+
}) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
|
|
4032
4127
|
columnId: header().column.id,
|
|
4033
4128
|
column: header().column,
|
|
4034
4129
|
label: headerLabel(header().column.id)
|
|
@@ -4039,7 +4134,11 @@ function DataTable(_props) {
|
|
|
4039
4134
|
}} data-rozie-s-d5dcab4c="">
|
|
4040
4135
|
|
|
4041
4136
|
<span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
|
|
4042
|
-
{
|
|
4137
|
+
{_props.slots?.[`colHeader-${header().column.id}`]?.({
|
|
4138
|
+
columnId: header().column.id,
|
|
4139
|
+
column: header().column,
|
|
4140
|
+
label: headerLabel(header().column.id)
|
|
4141
|
+
}) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
|
|
4043
4142
|
columnId: header().column.id,
|
|
4044
4143
|
column: header().column,
|
|
4045
4144
|
label: headerLabel(header().column.id)
|
|
@@ -4083,18 +4182,24 @@ function DataTable(_props) {
|
|
|
4083
4182
|
{<Show when={hasAnyFilterableColumn()}><tr class={"rdt-filter-row"} data-rozie-s-d5dcab4c="">
|
|
4084
4183
|
<Key each={headerGroups()[headerGroups().length - 1].headers} by={(header) => header.id}>{(header) => <th class={"rdt-filter-cell"} role="presentation" style={parseInlineStyle(pinStyle(header().column.id))} data-rozie-s-d5dcab4c="">
|
|
4085
4184
|
{<Show when={isSelectColumn(header().column.id)} fallback={<Show when={isExpanderColumn(header().column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4086
|
-
{<Show when={columnIsFilterable(header().column.id)
|
|
4087
|
-
|
|
4088
|
-
}} onClick={($event) => {
|
|
4089
|
-
stopEvent($event);
|
|
4090
|
-
}} data-rozie-s-d5dcab4c="" /></Show>}{<Show when={columnIsFilterable(header().column.id)}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4091
|
-
{(_props.filterSlot ?? _props.slots?.["filter"])?.({
|
|
4185
|
+
{<Show when={columnIsFilterable(header().column.id)}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4186
|
+
{_props.slots?.[`filter-${header().column.id}`]?.({
|
|
4092
4187
|
columnId: header().column.id,
|
|
4093
4188
|
value: columnFilterValue(header().column.id),
|
|
4094
4189
|
uniqueValues: getFacetedUniqueValues$1(header().column.id),
|
|
4095
4190
|
minMax: getFacetedMinMaxValues$1(header().column.id),
|
|
4096
4191
|
setFilter: setColumnFilter
|
|
4097
|
-
})
|
|
4192
|
+
}) ?? (_props.filterSlot ?? _props.slots?.["filter"])?.({
|
|
4193
|
+
columnId: header().column.id,
|
|
4194
|
+
value: columnFilterValue(header().column.id),
|
|
4195
|
+
uniqueValues: getFacetedUniqueValues$1(header().column.id),
|
|
4196
|
+
minMax: getFacetedMinMaxValues$1(header().column.id),
|
|
4197
|
+
setFilter: setColumnFilter
|
|
4198
|
+
}) ?? <input type="text" aria-label={rozieAttr("Filter " + headerLabel(header().column.id))} class={"rdt-col-filter"} value={columnFilterValue(header().column.id)} onInput={($event) => {
|
|
4199
|
+
onColumnFilterInput(header().column.id, $event);
|
|
4200
|
+
}} onClick={($event) => {
|
|
4201
|
+
stopEvent($event);
|
|
4202
|
+
}} data-rozie-s-d5dcab4c="" />}
|
|
4098
4203
|
</span></Show>}</span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}</th>}</Key>
|
|
4099
4204
|
</tr></Show>}</thead>
|
|
4100
4205
|
|
|
@@ -4110,26 +4215,55 @@ function DataTable(_props) {
|
|
|
4110
4215
|
})} role={rozieAttr(cellRole())} data-col={rozieAttr(cell().column.id)} data-grid-cell="" data-row={rozieAttr(rowIndexOf(row()))} data-col-index={rozieAttr(colIndexOf(row(), cell()))} tabIndex={rozieAttr(cellTabindex(String(rowIndexOf(row())), colIndexOf(row(), cell())))} style={parseInlineStyle(bodyCellStyle(row(), cell().column.id))} aria-invalid={rozieAttr(cellAriaInvalid(rowIndexOf(row()), colIndexOf(row(), cell())))} data-in-range={rozieAttr(inRange(rowIndexOf(row()), colIndexOf(row(), cell())) ? "true" : null)} data-agg-cell={rozieAttr(cellIsAggregated(cell()) ? cell().column.id : null)} data-rozie-s-d5dcab4c="">
|
|
4111
4216
|
|
|
4112
4217
|
{<Show when={isExpanderColumn(cell().column.id)} fallback={<Show when={isSelectColumn(cell().column.id)} fallback={<Show when={cellIsGrouped(cell())} fallback={<Show when={isEditing(rowIndexOf(row()), colIndexOf(row(), cell()))} fallback={<Show when={cellIsPlaceholder(cell())} fallback={<span class={"rdt-cell-value"} data-rozie-s-d5dcab4c="">
|
|
4113
|
-
{
|
|
4218
|
+
{_props.slots?.[`cell-${cell().column.id}`]?.({
|
|
4114
4219
|
columnId: cell().column.id,
|
|
4115
4220
|
column: cell().column,
|
|
4116
|
-
row: row()
|
|
4221
|
+
row: cellSlotRow(row()),
|
|
4222
|
+
value: cell().getValue()
|
|
4223
|
+
}) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
|
|
4224
|
+
columnId: cell().column.id,
|
|
4225
|
+
column: cell().column,
|
|
4226
|
+
row: cellSlotRow(row()),
|
|
4117
4227
|
value: cell().getValue()
|
|
4118
4228
|
}) ?? rozieDisplay(cell().getValue())}
|
|
4119
4229
|
</span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4120
|
-
{<Show when={
|
|
4230
|
+
{<Show when={editorTypeOf(cell().column.id) === "number"} fallback={<Show when={editorTypeOf(cell().column.id) === "select"} fallback={<Show when={editorTypeOf(cell().column.id) === "checkbox"} fallback={<Show when={editorTypeOf(cell().column.id) === "custom"} fallback={<input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4231
|
+
onCellEditorInput(cell().column.id, $event);
|
|
4232
|
+
}} onKeyDown={($event) => {
|
|
4233
|
+
onEditorKeyDown($event);
|
|
4234
|
+
}} onBlur={($event) => {
|
|
4235
|
+
onEditorBlur($event);
|
|
4236
|
+
}} data-rozie-s-d5dcab4c="" />}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4237
|
+
{_props.slots?.[`editor-${cell().column.id}`]?.({
|
|
4238
|
+
columnId: cell().column.id,
|
|
4239
|
+
column: cell().column,
|
|
4240
|
+
row: cellSlotRow(row()),
|
|
4241
|
+
value: editorValueFor(cell().column.id),
|
|
4242
|
+
commit: editorCommitFor(cell().column.id),
|
|
4243
|
+
cancel: editorCancelFor(),
|
|
4244
|
+
autofocus: editorAutofocusFor(cell().column.id, rowIndexOf(row()))
|
|
4245
|
+
}) ?? (_props.editorSlot ?? _props.slots?.["editor"])?.({
|
|
4246
|
+
columnId: cell().column.id,
|
|
4247
|
+
column: cell().column,
|
|
4248
|
+
row: cellSlotRow(row()),
|
|
4249
|
+
value: editorValueFor(cell().column.id),
|
|
4250
|
+
commit: editorCommitFor(cell().column.id),
|
|
4251
|
+
cancel: editorCancelFor(),
|
|
4252
|
+
autofocus: editorAutofocusFor(cell().column.id, rowIndexOf(row()))
|
|
4253
|
+
}) ?? <input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4121
4254
|
onCellEditorInput(cell().column.id, $event);
|
|
4122
4255
|
}} onKeyDown={($event) => {
|
|
4123
4256
|
onEditorKeyDown($event);
|
|
4124
4257
|
}} onBlur={($event) => {
|
|
4125
4258
|
onEditorBlur($event);
|
|
4126
|
-
}} data-rozie-s-d5dcab4c="" />}
|
|
4259
|
+
}} data-rozie-s-d5dcab4c="" />}
|
|
4260
|
+
</span></Show>}><input type="checkbox" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} checked={editorCheckedFor(cell().column.id)} onChange={($event) => {
|
|
4127
4261
|
onCellEditorCheckbox(cell().column.id, $event);
|
|
4128
4262
|
}} onKeyDown={($event) => {
|
|
4129
4263
|
onEditorKeyDown($event);
|
|
4130
4264
|
}} onBlur={($event) => {
|
|
4131
4265
|
onEditorBlur($event);
|
|
4132
|
-
}} data-rozie-s-d5dcab4c="" /></Show>}><select data-editing-cell="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onChange={($event) => {
|
|
4266
|
+
}} data-rozie-s-d5dcab4c="" /></Show>}><select data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onChange={($event) => {
|
|
4133
4267
|
onCellEditorInput(cell().column.id, $event);
|
|
4134
4268
|
}} onKeyDown={($event) => {
|
|
4135
4269
|
onEditorKeyDown($event);
|
|
@@ -4137,38 +4271,33 @@ function DataTable(_props) {
|
|
|
4137
4271
|
onEditorBlur($event);
|
|
4138
4272
|
}} data-rozie-s-d5dcab4c="">
|
|
4139
4273
|
<Key each={editorOptionsOf(cell().column.id)} by={(opt) => opt.value}>{(opt) => <option value={rozieAttr(opt().value)} data-rozie-s-d5dcab4c="">{rozieDisplay(opt().label)}</option>}</Key>
|
|
4140
|
-
</select></Show>}><input type="number" data-editing-cell="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4274
|
+
</select></Show>}><input type="number" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4141
4275
|
onCellEditorInput(cell().column.id, $event);
|
|
4142
4276
|
}} onKeyDown={($event) => {
|
|
4143
4277
|
onEditorKeyDown($event);
|
|
4144
4278
|
}} onBlur={($event) => {
|
|
4145
4279
|
onEditorBlur($event);
|
|
4146
|
-
}} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4147
|
-
{(_props.editorSlot ?? _props.slots?.["editor"])?.({
|
|
4148
|
-
columnId: cell().column.id,
|
|
4149
|
-
column: cell().column,
|
|
4150
|
-
row: row().original,
|
|
4151
|
-
value: editorValueFor(cell().column.id),
|
|
4152
|
-
commit: editorCommitFor(cell().column.id),
|
|
4153
|
-
cancel: editorCancelFor(),
|
|
4154
|
-
autofocus: editorAutofocusFor(cell().column.id, rowIndexOf(row()))
|
|
4155
|
-
})}
|
|
4156
|
-
</span></Show>}</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4280
|
+
}} data-rozie-s-d5dcab4c="" /></Show>}</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4157
4281
|
<button type="button" data-expander="" aria-expanded={!!rowIsExpanded(row())} aria-label={rozieAttr(rowIsExpanded(row()) ? "Collapse group" : "Expand group")} class={"rdt-expander rdt-group-toggle"} onClick={($event) => {
|
|
4158
4282
|
onToggleExpand(row(), $event);
|
|
4159
4283
|
}} data-rozie-s-d5dcab4c="">{rozieDisplay(rowIsExpanded(row()) ? "▾" : "▸")}</button>
|
|
4160
4284
|
<span class={"rdt-group-value"} data-rozie-s-d5dcab4c="">
|
|
4161
|
-
{
|
|
4285
|
+
{_props.slots?.[`cell-${cell().column.id}`]?.({
|
|
4162
4286
|
columnId: cell().column.id,
|
|
4163
4287
|
column: cell().column,
|
|
4164
|
-
row: row()
|
|
4288
|
+
row: cellSlotRow(row()),
|
|
4289
|
+
value: cell().getValue()
|
|
4290
|
+
}) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
|
|
4291
|
+
columnId: cell().column.id,
|
|
4292
|
+
column: cell().column,
|
|
4293
|
+
row: cellSlotRow(row()),
|
|
4165
4294
|
value: cell().getValue()
|
|
4166
4295
|
}) ?? rozieDisplay(cell().getValue())}
|
|
4167
4296
|
</span>
|
|
4168
4297
|
<span class={"rdt-group-count"} data-rozie-s-d5dcab4c="">{rozieDisplay("(" + groupSubRowCount(row()) + ")")}</span>
|
|
4169
4298
|
</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4170
4299
|
{(_props.selectCellSlot ?? _props.slots?.["selectCell"])?.({
|
|
4171
|
-
row: row()
|
|
4300
|
+
row: cellSlotRow(row()),
|
|
4172
4301
|
checked: rowIsSelected(row()),
|
|
4173
4302
|
toggle: (e) => onToggleRow(row(), e)
|
|
4174
4303
|
}) ?? <input type="checkbox" aria-label="Select row" class={"rdt-select-row"} checked={rowIsSelected(row())} onChange={($event) => {
|
|
@@ -4213,11 +4342,15 @@ function DataTable(_props) {
|
|
|
4213
4342
|
"rdt-expander-th": isExpanderColumn(wh().header.column.id),
|
|
4214
4343
|
"rdt-th-resizing": columnIsResizing(wh().header.column.id),
|
|
4215
4344
|
"rdt-cell-active": isActiveCell("__header", headerColIndexOf(hg(), wh().header), hgLevel())
|
|
4216
|
-
})} role="columnheader" data-col={rozieAttr(wh().header.column.id)} data-grid-cell="" data-row="__header" data-header-level={rozieAttr(hgLevel())} colSpan={rozieAttr(wh().span > 1 ? wh().span : null)} data-col-index={rozieAttr(headerColIndexOf(hg(), wh().header))} tabIndex={rozieAttr(cellTabindex("__header", headerColIndexOf(hg(), wh().header), hgLevel()))} aria-sort={rozieAttr(ariaSortFor(wh().header.column.id))} style={parseInlineStyle(thStyle(wh().header
|
|
4345
|
+
})} role="columnheader" data-col={rozieAttr(wh().header.column.id)} data-grid-cell="" data-row="__header" data-header-level={rozieAttr(hgLevel())} colSpan={rozieAttr(wh().span > 1 ? wh().span : null)} data-col-index={rozieAttr(headerColIndexOf(hg(), wh().header))} tabIndex={rozieAttr(cellTabindex("__header", headerColIndexOf(hg(), wh().header), hgLevel()))} aria-sort={rozieAttr(ariaSortFor(wh().header.column.id))} style={parseInlineStyle(thStyle(wh().header))} data-rozie-s-d5dcab4c="">
|
|
4217
4346
|
{<Show when={isSelectColumn(wh().header.column.id)} fallback={<Show when={isExpanderColumn(wh().header.column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4218
4347
|
{<Show when={wh().header.column.getCanSort && wh().header.column.getCanSort()} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4219
4348
|
<span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
|
|
4220
|
-
{
|
|
4349
|
+
{_props.slots?.[`colHeader-${wh().header.column.id}`]?.({
|
|
4350
|
+
columnId: wh().header.column.id,
|
|
4351
|
+
column: wh().header.column,
|
|
4352
|
+
label: headerLabel(wh().header.column.id)
|
|
4353
|
+
}) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
|
|
4221
4354
|
columnId: wh().header.column.id,
|
|
4222
4355
|
column: wh().header.column,
|
|
4223
4356
|
label: headerLabel(wh().header.column.id)
|
|
@@ -4227,7 +4360,11 @@ function DataTable(_props) {
|
|
|
4227
4360
|
onHeaderSort(wh().header.column.id, $event);
|
|
4228
4361
|
}} data-rozie-s-d5dcab4c="">
|
|
4229
4362
|
<span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
|
|
4230
|
-
{
|
|
4363
|
+
{_props.slots?.[`colHeader-${wh().header.column.id}`]?.({
|
|
4364
|
+
columnId: wh().header.column.id,
|
|
4365
|
+
column: wh().header.column,
|
|
4366
|
+
label: headerLabel(wh().header.column.id)
|
|
4367
|
+
}) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
|
|
4231
4368
|
columnId: wh().header.column.id,
|
|
4232
4369
|
column: wh().header.column,
|
|
4233
4370
|
label: headerLabel(wh().header.column.id)
|
|
@@ -4271,18 +4408,24 @@ function DataTable(_props) {
|
|
|
4271
4408
|
{<Show when={hasAnyFilterableColumn()}><tr class={"rdt-filter-row"} data-rozie-s-d5dcab4c="">
|
|
4272
4409
|
{<Show when={colsWindowed()}><th class={"rdt-col-spacer"} aria-hidden="true" style={parseInlineStyle("width:" + colPadLeft() + "px;padding:0;border:0")} data-rozie-s-d5dcab4c="" /></Show>}<Key each={windowedHeadersFor(headerGroups()[headerGroups().length - 1], headerGroups().length - 1)} by={(wh) => wh.header.id}>{(wh) => <th class={"rdt-filter-cell"} role="presentation" data-col={rozieAttr(wh().header.column.id)} style={parseInlineStyle(pinStyle(wh().header.column.id))} data-rozie-s-d5dcab4c="">
|
|
4273
4410
|
{<Show when={isSelectColumn(wh().header.column.id)} fallback={<Show when={isExpanderColumn(wh().header.column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4274
|
-
{<Show when={columnIsFilterable(wh().header.column.id)
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4411
|
+
{<Show when={columnIsFilterable(wh().header.column.id)}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4412
|
+
{_props.slots?.[`filter-${wh().header.column.id}`]?.({
|
|
4413
|
+
columnId: wh().header.column.id,
|
|
4414
|
+
value: columnFilterValue(wh().header.column.id),
|
|
4415
|
+
uniqueValues: getFacetedUniqueValues$1(wh().header.column.id),
|
|
4416
|
+
minMax: getFacetedMinMaxValues$1(wh().header.column.id),
|
|
4417
|
+
setFilter: setColumnFilter
|
|
4418
|
+
}) ?? (_props.filterSlot ?? _props.slots?.["filter"])?.({
|
|
4280
4419
|
columnId: wh().header.column.id,
|
|
4281
4420
|
value: columnFilterValue(wh().header.column.id),
|
|
4282
4421
|
uniqueValues: getFacetedUniqueValues$1(wh().header.column.id),
|
|
4283
4422
|
minMax: getFacetedMinMaxValues$1(wh().header.column.id),
|
|
4284
4423
|
setFilter: setColumnFilter
|
|
4285
|
-
})}
|
|
4424
|
+
}) ?? <input type="text" aria-label={rozieAttr("Filter " + headerLabel(wh().header.column.id))} class={"rdt-col-filter"} value={columnFilterValue(wh().header.column.id)} onInput={($event) => {
|
|
4425
|
+
onColumnFilterInput(wh().header.column.id, $event);
|
|
4426
|
+
}} onClick={($event) => {
|
|
4427
|
+
stopEvent($event);
|
|
4428
|
+
}} data-rozie-s-d5dcab4c="" />}
|
|
4286
4429
|
</span></Show>}</span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}</th>}</Key>
|
|
4287
4430
|
{<Show when={colsWindowed()}><th class={"rdt-col-spacer"} aria-hidden="true" style={parseInlineStyle("width:" + colPadRight() + "px;padding:0;border:0")} data-rozie-s-d5dcab4c="" /></Show>}</tr></Show>}</thead>
|
|
4288
4431
|
|
|
@@ -4306,26 +4449,55 @@ function DataTable(_props) {
|
|
|
4306
4449
|
})} role={rozieAttr(cellRole())} data-col={rozieAttr(cell().column.id)} data-grid-cell="" data-row={rozieAttr(wr().vi.index)} data-col-index={rozieAttr(colIndexOf(wr().row, cell()))} tabIndex={rozieAttr(cellTabindex(String(wr().vi.index), colIndexOf(wr().row, cell())))} style={parseInlineStyle(bodyCellStyle(wr().row, cell().column.id))} aria-invalid={rozieAttr(cellAriaInvalid(wr().vi.index, colIndexOf(wr().row, cell())))} data-in-range={rozieAttr(inRange(wr().vi.index, colIndexOf(wr().row, cell())) ? "true" : null)} data-agg-cell={rozieAttr(cellIsAggregated(cell()) ? cell().column.id : null)} data-rozie-s-d5dcab4c="">
|
|
4307
4450
|
|
|
4308
4451
|
{<Show when={isExpanderColumn(cell().column.id)} fallback={<Show when={isSelectColumn(cell().column.id)} fallback={<Show when={cellIsGrouped(cell())} fallback={<Show when={isEditing(wr().vi.index, colIndexOf(wr().row, cell()))} fallback={<Show when={cellIsPlaceholder(cell())} fallback={<span class={"rdt-cell-value"} data-rozie-s-d5dcab4c="">
|
|
4309
|
-
{
|
|
4452
|
+
{_props.slots?.[`cell-${cell().column.id}`]?.({
|
|
4453
|
+
columnId: cell().column.id,
|
|
4454
|
+
column: cell().column,
|
|
4455
|
+
row: cellSlotRow(wr().row),
|
|
4456
|
+
value: cell().getValue()
|
|
4457
|
+
}) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
|
|
4310
4458
|
columnId: cell().column.id,
|
|
4311
4459
|
column: cell().column,
|
|
4312
|
-
row: wr().row
|
|
4460
|
+
row: cellSlotRow(wr().row),
|
|
4313
4461
|
value: cell().getValue()
|
|
4314
4462
|
}) ?? rozieDisplay(cell().getValue())}
|
|
4315
4463
|
</span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4316
|
-
{<Show when={
|
|
4464
|
+
{<Show when={editorTypeOf(cell().column.id) === "number"} fallback={<Show when={editorTypeOf(cell().column.id) === "select"} fallback={<Show when={editorTypeOf(cell().column.id) === "checkbox"} fallback={<Show when={editorTypeOf(cell().column.id) === "custom"} fallback={<input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4465
|
+
onCellEditorInput(cell().column.id, $event);
|
|
4466
|
+
}} onKeyDown={($event) => {
|
|
4467
|
+
onEditorKeyDown($event);
|
|
4468
|
+
}} onBlur={($event) => {
|
|
4469
|
+
onEditorBlur($event);
|
|
4470
|
+
}} data-rozie-s-d5dcab4c="" />}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4471
|
+
{_props.slots?.[`editor-${cell().column.id}`]?.({
|
|
4472
|
+
columnId: cell().column.id,
|
|
4473
|
+
column: cell().column,
|
|
4474
|
+
row: cellSlotRow(wr().row),
|
|
4475
|
+
value: editorValueFor(cell().column.id),
|
|
4476
|
+
commit: editorCommitFor(cell().column.id),
|
|
4477
|
+
cancel: editorCancelFor(),
|
|
4478
|
+
autofocus: editorAutofocusFor(cell().column.id, wr().vi.index)
|
|
4479
|
+
}) ?? (_props.editorSlot ?? _props.slots?.["editor"])?.({
|
|
4480
|
+
columnId: cell().column.id,
|
|
4481
|
+
column: cell().column,
|
|
4482
|
+
row: cellSlotRow(wr().row),
|
|
4483
|
+
value: editorValueFor(cell().column.id),
|
|
4484
|
+
commit: editorCommitFor(cell().column.id),
|
|
4485
|
+
cancel: editorCancelFor(),
|
|
4486
|
+
autofocus: editorAutofocusFor(cell().column.id, wr().vi.index)
|
|
4487
|
+
}) ?? <input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4317
4488
|
onCellEditorInput(cell().column.id, $event);
|
|
4318
4489
|
}} onKeyDown={($event) => {
|
|
4319
4490
|
onEditorKeyDown($event);
|
|
4320
4491
|
}} onBlur={($event) => {
|
|
4321
4492
|
onEditorBlur($event);
|
|
4322
|
-
}} data-rozie-s-d5dcab4c="" />}
|
|
4493
|
+
}} data-rozie-s-d5dcab4c="" />}
|
|
4494
|
+
</span></Show>}><input type="checkbox" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} checked={editorCheckedFor(cell().column.id)} onChange={($event) => {
|
|
4323
4495
|
onCellEditorCheckbox(cell().column.id, $event);
|
|
4324
4496
|
}} onKeyDown={($event) => {
|
|
4325
4497
|
onEditorKeyDown($event);
|
|
4326
4498
|
}} onBlur={($event) => {
|
|
4327
4499
|
onEditorBlur($event);
|
|
4328
|
-
}} data-rozie-s-d5dcab4c="" /></Show>}><select data-editing-cell="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onChange={($event) => {
|
|
4500
|
+
}} data-rozie-s-d5dcab4c="" /></Show>}><select data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onChange={($event) => {
|
|
4329
4501
|
onCellEditorInput(cell().column.id, $event);
|
|
4330
4502
|
}} onKeyDown={($event) => {
|
|
4331
4503
|
onEditorKeyDown($event);
|
|
@@ -4333,38 +4505,33 @@ function DataTable(_props) {
|
|
|
4333
4505
|
onEditorBlur($event);
|
|
4334
4506
|
}} data-rozie-s-d5dcab4c="">
|
|
4335
4507
|
<Key each={editorOptionsOf(cell().column.id)} by={(opt) => opt.value}>{(opt) => <option value={rozieAttr(opt().value)} data-rozie-s-d5dcab4c="">{rozieDisplay(opt().label)}</option>}</Key>
|
|
4336
|
-
</select></Show>}><input type="number" data-editing-cell="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4508
|
+
</select></Show>}><input type="number" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
|
|
4337
4509
|
onCellEditorInput(cell().column.id, $event);
|
|
4338
4510
|
}} onKeyDown={($event) => {
|
|
4339
4511
|
onEditorKeyDown($event);
|
|
4340
4512
|
}} onBlur={($event) => {
|
|
4341
4513
|
onEditorBlur($event);
|
|
4342
|
-
}} data-rozie-s-d5dcab4c="" /></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4343
|
-
{(_props.editorSlot ?? _props.slots?.["editor"])?.({
|
|
4344
|
-
columnId: cell().column.id,
|
|
4345
|
-
column: cell().column,
|
|
4346
|
-
row: wr().row.original,
|
|
4347
|
-
value: editorValueFor(cell().column.id),
|
|
4348
|
-
commit: editorCommitFor(cell().column.id),
|
|
4349
|
-
cancel: editorCancelFor(),
|
|
4350
|
-
autofocus: editorAutofocusFor(cell().column.id, wr().vi.index)
|
|
4351
|
-
})}
|
|
4352
|
-
</span></Show>}</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4514
|
+
}} data-rozie-s-d5dcab4c="" /></Show>}</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4353
4515
|
<button type="button" data-expander="" aria-expanded={!!rowIsExpanded(wr().row)} aria-label={rozieAttr(rowIsExpanded(wr().row) ? "Collapse group" : "Expand group")} class={"rdt-expander rdt-group-toggle"} onClick={($event) => {
|
|
4354
4516
|
onToggleExpand(wr().row, $event);
|
|
4355
4517
|
}} data-rozie-s-d5dcab4c="">{rozieDisplay(rowIsExpanded(wr().row) ? "▾" : "▸")}</button>
|
|
4356
4518
|
<span class={"rdt-group-value"} data-rozie-s-d5dcab4c="">
|
|
4357
|
-
{
|
|
4519
|
+
{_props.slots?.[`cell-${cell().column.id}`]?.({
|
|
4520
|
+
columnId: cell().column.id,
|
|
4521
|
+
column: cell().column,
|
|
4522
|
+
row: cellSlotRow(wr().row),
|
|
4523
|
+
value: cell().getValue()
|
|
4524
|
+
}) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
|
|
4358
4525
|
columnId: cell().column.id,
|
|
4359
4526
|
column: cell().column,
|
|
4360
|
-
row: wr().row
|
|
4527
|
+
row: cellSlotRow(wr().row),
|
|
4361
4528
|
value: cell().getValue()
|
|
4362
4529
|
}) ?? rozieDisplay(cell().getValue())}
|
|
4363
4530
|
</span>
|
|
4364
4531
|
<span class={"rdt-group-count"} data-rozie-s-d5dcab4c="">{rozieDisplay("(" + groupSubRowCount(wr().row) + ")")}</span>
|
|
4365
4532
|
</span></Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
|
|
4366
4533
|
{(_props.selectCellSlot ?? _props.slots?.["selectCell"])?.({
|
|
4367
|
-
row: wr().row
|
|
4534
|
+
row: cellSlotRow(wr().row),
|
|
4368
4535
|
checked: rowIsSelected(wr().row),
|
|
4369
4536
|
toggle: (e) => onToggleRow(wr().row, e)
|
|
4370
4537
|
}) ?? <input type="checkbox" aria-label="Select row" class={"rdt-select-row"} checked={rowIsSelected(wr().row)} onChange={($event) => {
|