@vuu-ui/vuu-utils 0.6.25-debug → 0.6.26-debug
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/cjs/index.js +46 -8
- package/cjs/index.js.map +3 -3
- package/esm/index.js +46 -8
- package/esm/index.js.map +3 -3
- package/package.json +5 -5
- package/types/column-utils.d.ts +3 -2
- package/types/index.d.ts +1 -0
- package/types/range-utils.d.ts +1 -0
- package/types/row-utils.d.ts +7 -0
package/cjs/index.js
CHANGED
|
@@ -43,6 +43,7 @@ __export(src_exports, {
|
|
|
43
43
|
UP1: () => UP1,
|
|
44
44
|
UP2: () => UP2,
|
|
45
45
|
WindowRange: () => WindowRange,
|
|
46
|
+
actualRowPositioning: () => actualRowPositioning,
|
|
46
47
|
addGroupColumn: () => addGroupColumn,
|
|
47
48
|
addSortColumn: () => addSortColumn,
|
|
48
49
|
applyFilterToColumns: () => applyFilterToColumns,
|
|
@@ -65,7 +66,7 @@ __export(src_exports, {
|
|
|
65
66
|
getCellConfigPanelRenderer: () => getCellConfigPanelRenderer,
|
|
66
67
|
getCellRenderer: () => getCellRenderer,
|
|
67
68
|
getColumnName: () => getColumnName,
|
|
68
|
-
|
|
69
|
+
getColumnStyle: () => getColumnStyle,
|
|
69
70
|
getColumnsInViewport: () => getColumnsInViewport,
|
|
70
71
|
getCookieValue: () => getCookieValue,
|
|
71
72
|
getFullRange: () => getFullRange,
|
|
@@ -80,6 +81,7 @@ __export(src_exports, {
|
|
|
80
81
|
invariant: () => invariant,
|
|
81
82
|
isAndFilter: () => isAndFilter,
|
|
82
83
|
isCharacterKey: () => isCharacterKey,
|
|
84
|
+
isColumnTypeRenderer: () => isColumnTypeRenderer,
|
|
83
85
|
isDataLoading: () => isDataLoading,
|
|
84
86
|
isDateColumn: () => isDateColumn,
|
|
85
87
|
isDatePattern: () => isDatePattern,
|
|
@@ -119,6 +121,7 @@ __export(src_exports, {
|
|
|
119
121
|
numericFormatter: () => numericFormatter,
|
|
120
122
|
partition: () => partition,
|
|
121
123
|
projectUpdates: () => projectUpdates,
|
|
124
|
+
rangeNewItems: () => rangeNewItems,
|
|
122
125
|
registerComponent: () => registerComponent,
|
|
123
126
|
resetRange: () => resetRange,
|
|
124
127
|
roundDecimal: () => roundDecimal,
|
|
@@ -131,6 +134,7 @@ __export(src_exports, {
|
|
|
131
134
|
toColumnDescriptor: () => toColumnDescriptor,
|
|
132
135
|
toDataSourceColumns: () => toDataSourceColumns,
|
|
133
136
|
uuid: () => uuid,
|
|
137
|
+
virtualRowPositioning: () => virtualRowPositioning,
|
|
134
138
|
visibleColumnAtIndex: () => visibleColumnAtIndex,
|
|
135
139
|
withinRange: () => withinRange
|
|
136
140
|
});
|
|
@@ -259,6 +263,7 @@ var toColumnDescriptor = (name) => ({
|
|
|
259
263
|
});
|
|
260
264
|
var isTypeDescriptor = (type) => typeof type !== "undefined" && typeof type !== "string";
|
|
261
265
|
var EMPTY_COLUMN_MAP = {};
|
|
266
|
+
var isColumnTypeRenderer = (renderer) => typeof (renderer == null ? void 0 : renderer.name) !== "undefined";
|
|
262
267
|
var isMappedValueTypeRenderer = (renderer) => renderer !== void 0 && typeof (renderer == null ? void 0 : renderer.map) !== "undefined";
|
|
263
268
|
function buildColumnMap(columns) {
|
|
264
269
|
const start = metadataKeys.count;
|
|
@@ -448,13 +453,13 @@ var getTableHeadings = (columns) => {
|
|
|
448
453
|
let tableHeadingsRow;
|
|
449
454
|
for (let level = 0; level < maxHeadingDepth; level++) {
|
|
450
455
|
tableHeadingsRow = [];
|
|
451
|
-
columns.forEach(({ heading: columnHeading = NO_HEADINGS }) => {
|
|
456
|
+
columns.forEach(({ heading: columnHeading = NO_HEADINGS, width }) => {
|
|
452
457
|
var _a;
|
|
453
458
|
const label = (_a = columnHeading[level]) != null ? _a : "";
|
|
454
459
|
if (heading && heading.label === label) {
|
|
455
|
-
heading.
|
|
460
|
+
heading.width += width;
|
|
456
461
|
} else {
|
|
457
|
-
heading = { label,
|
|
462
|
+
heading = { label, width };
|
|
458
463
|
tableHeadingsRow.push(heading);
|
|
459
464
|
}
|
|
460
465
|
});
|
|
@@ -465,7 +470,11 @@ var getTableHeadings = (columns) => {
|
|
|
465
470
|
}
|
|
466
471
|
return NO_HEADINGS;
|
|
467
472
|
};
|
|
468
|
-
var
|
|
473
|
+
var getColumnStyle = ({
|
|
474
|
+
pin,
|
|
475
|
+
pinnedOffset,
|
|
476
|
+
width
|
|
477
|
+
}) => pin === "left" ? { left: pinnedOffset, width } : pin === "right" ? { right: pinnedOffset, width } : { width };
|
|
469
478
|
var setAggregations = (aggregations, column, aggType) => {
|
|
470
479
|
return aggregations.filter((agg) => agg.column !== column.name).concat({ column: column.name, aggType });
|
|
471
480
|
};
|
|
@@ -599,10 +608,12 @@ var getColumnsInViewport = (columns, vpStart, vpEnd) => {
|
|
|
599
608
|
if (column.hidden) {
|
|
600
609
|
continue;
|
|
601
610
|
} else if (offset + column.width < vpStart) {
|
|
602
|
-
if (
|
|
611
|
+
if (column.pin === "left") {
|
|
612
|
+
visibleColumns.push(column);
|
|
613
|
+
} else if (offset + column.width + ((_a = columns[i + 1]) == null ? void 0 : _a.width) > vpStart) {
|
|
603
614
|
visibleColumns.push(column);
|
|
604
615
|
} else {
|
|
605
|
-
preSpan +=
|
|
616
|
+
preSpan += column.width;
|
|
606
617
|
}
|
|
607
618
|
} else if (offset > vpEnd) {
|
|
608
619
|
visibleColumns.push(column);
|
|
@@ -709,6 +720,12 @@ function resetRange({ from, to, bufferSize = 0 }) {
|
|
|
709
720
|
};
|
|
710
721
|
}
|
|
711
722
|
var withinRange = (value, { from, to }) => value >= from && value < to;
|
|
723
|
+
var rangeNewItems = ({ from: from1, to: to1 }, newRange) => {
|
|
724
|
+
const { from: from2, to: to2 } = newRange;
|
|
725
|
+
const noOverlap = from2 >= to1 || to2 <= from1;
|
|
726
|
+
const newFullySubsumesOld = from2 < from1 && to2 > to1;
|
|
727
|
+
return noOverlap || newFullySubsumesOld ? newRange : to2 > to1 ? { from: to1, to: to2 } : { from: from2, to: from1 };
|
|
728
|
+
};
|
|
712
729
|
var WindowRange = class {
|
|
713
730
|
constructor(from, to) {
|
|
714
731
|
this.from = from;
|
|
@@ -1350,7 +1367,7 @@ var KeySet = class {
|
|
|
1350
1367
|
});
|
|
1351
1368
|
const size = to - from;
|
|
1352
1369
|
if (this.keys.size + this.free.length > size) {
|
|
1353
|
-
this.free.length = size - this.keys.size;
|
|
1370
|
+
this.free.length = Math.max(0, size - this.keys.size);
|
|
1354
1371
|
}
|
|
1355
1372
|
for (let rowIndex = from; rowIndex < to; rowIndex++) {
|
|
1356
1373
|
if (!this.keys.has(rowIndex)) {
|
|
@@ -1358,6 +1375,9 @@ var KeySet = class {
|
|
|
1358
1375
|
this.keys.set(rowIndex, nextKeyValue);
|
|
1359
1376
|
}
|
|
1360
1377
|
}
|
|
1378
|
+
if (this.nextKeyValue > this.keys.size) {
|
|
1379
|
+
this.nextKeyValue = this.keys.size;
|
|
1380
|
+
}
|
|
1361
1381
|
}
|
|
1362
1382
|
keyFor(rowIndex) {
|
|
1363
1383
|
const key = this.keys.get(rowIndex);
|
|
@@ -1425,6 +1445,24 @@ function throttle(callback, limit) {
|
|
|
1425
1445
|
};
|
|
1426
1446
|
}
|
|
1427
1447
|
|
|
1448
|
+
// src/row-utils.ts
|
|
1449
|
+
var { IDX } = metadataKeys;
|
|
1450
|
+
var actualRowPositioning = (rowHeight) => [
|
|
1451
|
+
(row) => row[IDX] * rowHeight,
|
|
1452
|
+
(position) => Math.floor(position / rowHeight)
|
|
1453
|
+
];
|
|
1454
|
+
var virtualRowPositioning = (rowHeight, additionalPixelsNeeded, pctScrollTop) => [
|
|
1455
|
+
(row) => {
|
|
1456
|
+
const rowOffset = pctScrollTop.current * additionalPixelsNeeded;
|
|
1457
|
+
return row[IDX] * rowHeight - rowOffset;
|
|
1458
|
+
},
|
|
1459
|
+
(position) => {
|
|
1460
|
+
const rowOffset = pctScrollTop.current * additionalPixelsNeeded;
|
|
1461
|
+
const result = Math.floor((position + rowOffset) / rowHeight);
|
|
1462
|
+
return result;
|
|
1463
|
+
}
|
|
1464
|
+
];
|
|
1465
|
+
|
|
1428
1466
|
// src/selection-utils.ts
|
|
1429
1467
|
var NO_SELECTION = [];
|
|
1430
1468
|
var inAscendingOrder = (item1, item2) => {
|