@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/esm/index.js
CHANGED
|
@@ -135,6 +135,7 @@ var toColumnDescriptor = (name) => ({
|
|
|
135
135
|
});
|
|
136
136
|
var isTypeDescriptor = (type) => typeof type !== "undefined" && typeof type !== "string";
|
|
137
137
|
var EMPTY_COLUMN_MAP = {};
|
|
138
|
+
var isColumnTypeRenderer = (renderer) => typeof (renderer == null ? void 0 : renderer.name) !== "undefined";
|
|
138
139
|
var isMappedValueTypeRenderer = (renderer) => renderer !== void 0 && typeof (renderer == null ? void 0 : renderer.map) !== "undefined";
|
|
139
140
|
function buildColumnMap(columns) {
|
|
140
141
|
const start = metadataKeys.count;
|
|
@@ -324,13 +325,13 @@ var getTableHeadings = (columns) => {
|
|
|
324
325
|
let tableHeadingsRow;
|
|
325
326
|
for (let level = 0; level < maxHeadingDepth; level++) {
|
|
326
327
|
tableHeadingsRow = [];
|
|
327
|
-
columns.forEach(({ heading: columnHeading = NO_HEADINGS }) => {
|
|
328
|
+
columns.forEach(({ heading: columnHeading = NO_HEADINGS, width }) => {
|
|
328
329
|
var _a;
|
|
329
330
|
const label = (_a = columnHeading[level]) != null ? _a : "";
|
|
330
331
|
if (heading && heading.label === label) {
|
|
331
|
-
heading.
|
|
332
|
+
heading.width += width;
|
|
332
333
|
} else {
|
|
333
|
-
heading = { label,
|
|
334
|
+
heading = { label, width };
|
|
334
335
|
tableHeadingsRow.push(heading);
|
|
335
336
|
}
|
|
336
337
|
});
|
|
@@ -341,7 +342,11 @@ var getTableHeadings = (columns) => {
|
|
|
341
342
|
}
|
|
342
343
|
return NO_HEADINGS;
|
|
343
344
|
};
|
|
344
|
-
var
|
|
345
|
+
var getColumnStyle = ({
|
|
346
|
+
pin,
|
|
347
|
+
pinnedOffset,
|
|
348
|
+
width
|
|
349
|
+
}) => pin === "left" ? { left: pinnedOffset, width } : pin === "right" ? { right: pinnedOffset, width } : { width };
|
|
345
350
|
var setAggregations = (aggregations, column, aggType) => {
|
|
346
351
|
return aggregations.filter((agg) => agg.column !== column.name).concat({ column: column.name, aggType });
|
|
347
352
|
};
|
|
@@ -475,10 +480,12 @@ var getColumnsInViewport = (columns, vpStart, vpEnd) => {
|
|
|
475
480
|
if (column.hidden) {
|
|
476
481
|
continue;
|
|
477
482
|
} else if (offset + column.width < vpStart) {
|
|
478
|
-
if (
|
|
483
|
+
if (column.pin === "left") {
|
|
484
|
+
visibleColumns.push(column);
|
|
485
|
+
} else if (offset + column.width + ((_a = columns[i + 1]) == null ? void 0 : _a.width) > vpStart) {
|
|
479
486
|
visibleColumns.push(column);
|
|
480
487
|
} else {
|
|
481
|
-
preSpan +=
|
|
488
|
+
preSpan += column.width;
|
|
482
489
|
}
|
|
483
490
|
} else if (offset > vpEnd) {
|
|
484
491
|
visibleColumns.push(column);
|
|
@@ -585,6 +592,12 @@ function resetRange({ from, to, bufferSize = 0 }) {
|
|
|
585
592
|
};
|
|
586
593
|
}
|
|
587
594
|
var withinRange = (value, { from, to }) => value >= from && value < to;
|
|
595
|
+
var rangeNewItems = ({ from: from1, to: to1 }, newRange) => {
|
|
596
|
+
const { from: from2, to: to2 } = newRange;
|
|
597
|
+
const noOverlap = from2 >= to1 || to2 <= from1;
|
|
598
|
+
const newFullySubsumesOld = from2 < from1 && to2 > to1;
|
|
599
|
+
return noOverlap || newFullySubsumesOld ? newRange : to2 > to1 ? { from: to1, to: to2 } : { from: from2, to: from1 };
|
|
600
|
+
};
|
|
588
601
|
var WindowRange = class {
|
|
589
602
|
constructor(from, to) {
|
|
590
603
|
this.from = from;
|
|
@@ -1226,7 +1239,7 @@ var KeySet = class {
|
|
|
1226
1239
|
});
|
|
1227
1240
|
const size = to - from;
|
|
1228
1241
|
if (this.keys.size + this.free.length > size) {
|
|
1229
|
-
this.free.length = size - this.keys.size;
|
|
1242
|
+
this.free.length = Math.max(0, size - this.keys.size);
|
|
1230
1243
|
}
|
|
1231
1244
|
for (let rowIndex = from; rowIndex < to; rowIndex++) {
|
|
1232
1245
|
if (!this.keys.has(rowIndex)) {
|
|
@@ -1234,6 +1247,9 @@ var KeySet = class {
|
|
|
1234
1247
|
this.keys.set(rowIndex, nextKeyValue);
|
|
1235
1248
|
}
|
|
1236
1249
|
}
|
|
1250
|
+
if (this.nextKeyValue > this.keys.size) {
|
|
1251
|
+
this.nextKeyValue = this.keys.size;
|
|
1252
|
+
}
|
|
1237
1253
|
}
|
|
1238
1254
|
keyFor(rowIndex) {
|
|
1239
1255
|
const key = this.keys.get(rowIndex);
|
|
@@ -1301,6 +1317,24 @@ function throttle(callback, limit) {
|
|
|
1301
1317
|
};
|
|
1302
1318
|
}
|
|
1303
1319
|
|
|
1320
|
+
// src/row-utils.ts
|
|
1321
|
+
var { IDX } = metadataKeys;
|
|
1322
|
+
var actualRowPositioning = (rowHeight) => [
|
|
1323
|
+
(row) => row[IDX] * rowHeight,
|
|
1324
|
+
(position) => Math.floor(position / rowHeight)
|
|
1325
|
+
];
|
|
1326
|
+
var virtualRowPositioning = (rowHeight, additionalPixelsNeeded, pctScrollTop) => [
|
|
1327
|
+
(row) => {
|
|
1328
|
+
const rowOffset = pctScrollTop.current * additionalPixelsNeeded;
|
|
1329
|
+
return row[IDX] * rowHeight - rowOffset;
|
|
1330
|
+
},
|
|
1331
|
+
(position) => {
|
|
1332
|
+
const rowOffset = pctScrollTop.current * additionalPixelsNeeded;
|
|
1333
|
+
const result = Math.floor((position + rowOffset) / rowHeight);
|
|
1334
|
+
return result;
|
|
1335
|
+
}
|
|
1336
|
+
];
|
|
1337
|
+
|
|
1304
1338
|
// src/selection-utils.ts
|
|
1305
1339
|
var NO_SELECTION = [];
|
|
1306
1340
|
var inAscendingOrder = (item1, item2) => {
|
|
@@ -1504,6 +1538,7 @@ export {
|
|
|
1504
1538
|
UP1,
|
|
1505
1539
|
UP2,
|
|
1506
1540
|
WindowRange,
|
|
1541
|
+
actualRowPositioning,
|
|
1507
1542
|
addGroupColumn,
|
|
1508
1543
|
addSortColumn,
|
|
1509
1544
|
applyFilterToColumns,
|
|
@@ -1526,7 +1561,7 @@ export {
|
|
|
1526
1561
|
getCellConfigPanelRenderer,
|
|
1527
1562
|
getCellRenderer,
|
|
1528
1563
|
getColumnName,
|
|
1529
|
-
|
|
1564
|
+
getColumnStyle,
|
|
1530
1565
|
getColumnsInViewport,
|
|
1531
1566
|
getCookieValue,
|
|
1532
1567
|
getFullRange,
|
|
@@ -1541,6 +1576,7 @@ export {
|
|
|
1541
1576
|
invariant,
|
|
1542
1577
|
isAndFilter,
|
|
1543
1578
|
isCharacterKey,
|
|
1579
|
+
isColumnTypeRenderer,
|
|
1544
1580
|
isDataLoading,
|
|
1545
1581
|
isDateColumn,
|
|
1546
1582
|
isDatePattern,
|
|
@@ -1580,6 +1616,7 @@ export {
|
|
|
1580
1616
|
numericFormatter,
|
|
1581
1617
|
partition,
|
|
1582
1618
|
projectUpdates,
|
|
1619
|
+
rangeNewItems,
|
|
1583
1620
|
registerComponent,
|
|
1584
1621
|
resetRange,
|
|
1585
1622
|
roundDecimal,
|
|
@@ -1592,6 +1629,7 @@ export {
|
|
|
1592
1629
|
toColumnDescriptor,
|
|
1593
1630
|
toDataSourceColumns,
|
|
1594
1631
|
uuid,
|
|
1632
|
+
virtualRowPositioning,
|
|
1595
1633
|
visibleColumnAtIndex,
|
|
1596
1634
|
withinRange
|
|
1597
1635
|
};
|