@revolist/revogrid 4.9.5 → 4.9.7
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/dist/cjs/{column.service-08df359f.js → column.service-0615a373.js} +11 -12
- package/dist/cjs/column.service-0615a373.js.map +1 -0
- package/dist/cjs/{column.utils-0f0f4dc4.js → column.utils-694677fa.js} +13 -13
- package/dist/cjs/column.utils-694677fa.js.map +1 -0
- package/dist/cjs/edit.utils-2e1f4278.js +20 -0
- package/dist/cjs/edit.utils-2e1f4278.js.map +1 -0
- package/dist/cjs/{events-b28cc194.js → events-af8f6914.js} +1 -8
- package/dist/cjs/events-af8f6914.js.map +1 -0
- package/dist/cjs/{header-cell-renderer-fb2f9a2d.js → header-cell-renderer-360528aa.js} +2 -2
- package/dist/cjs/{header-cell-renderer-fb2f9a2d.js.map → header-cell-renderer-360528aa.js.map} +1 -1
- package/dist/cjs/{dimension.helpers-85294778.js → index-2991afbb.js} +262 -3
- package/dist/cjs/index-2991afbb.js.map +1 -0
- package/dist/cjs/index.cjs.js +86 -30
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/key.utils-b84b0eba.js +111 -0
- package/dist/cjs/key.utils-b84b0eba.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +72 -73
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +37 -37
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +8 -8
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +19 -19
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/{viewport.store-300977e4.js → row-header-utils-b5266b12.js} +13 -6
- package/dist/cjs/row-header-utils-b5266b12.js.map +1 -0
- package/dist/cjs/{selection.helpers-371a38aa.js → selection.helpers-4374518f.js} +13 -13
- package/dist/cjs/selection.helpers-4374518f.js.map +1 -0
- package/dist/cjs/{throttle-52be9e67.js → throttle-8885fd65.js} +2 -2
- package/dist/cjs/{throttle-52be9e67.js.map → throttle-8885fd65.js.map} +1 -1
- package/dist/collection/components/data/revogr-data.js +13 -7
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/header/revogr-header.js +1 -1
- package/dist/collection/index.js +1 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/utils/index.js +7 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/esm/{column.service-cfc1149b.js → column.service-af0694c5.js} +3 -4
- package/dist/esm/column.service-af0694c5.js.map +1 -0
- package/dist/esm/{column.utils-f6300fb5.js → column.utils-78dd3ef2.js} +2 -2
- package/dist/esm/{column.utils-f6300fb5.js.map → column.utils-78dd3ef2.js.map} +1 -1
- package/dist/esm/edit.utils-ca303802.js +17 -0
- package/dist/esm/edit.utils-ca303802.js.map +1 -0
- package/dist/esm/{events-77b43b40.js → events-cf0893a3.js} +2 -8
- package/dist/esm/events-cf0893a3.js.map +1 -0
- package/dist/esm/{header-cell-renderer-6f8eb067.js → header-cell-renderer-261317c3.js} +2 -2
- package/dist/esm/{header-cell-renderer-6f8eb067.js.map → header-cell-renderer-261317c3.js.map} +1 -1
- package/dist/esm/{dimension.helpers-938ea850.js → index-f65def08.js} +231 -4
- package/dist/esm/index-f65def08.js.map +1 -0
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/key.utils-4b0093d5.js +98 -0
- package/dist/esm/key.utils-4b0093d5.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +7 -8
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +8 -8
- package/dist/esm/revogr-clipboard_3.entry.js +3 -3
- package/dist/esm/revogr-data_4.entry.js +11 -11
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/{viewport.store-a690096b.js → row-header-utils-6081260c.js} +9 -3
- package/dist/esm/row-header-utils-6081260c.js.map +1 -0
- package/dist/esm/{selection.helpers-a49a3d09.js → selection.helpers-d92697e1.js} +2 -2
- package/dist/esm/{selection.helpers-a49a3d09.js.map → selection.helpers-d92697e1.js.map} +1 -1
- package/dist/esm/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
- package/dist/esm/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +1 -1
- package/dist/revo-grid/column.service-af0694c5.js +5 -0
- package/dist/revo-grid/{column.service-cfc1149b.js.map → column.service-af0694c5.js.map} +1 -1
- package/dist/revo-grid/column.utils-78dd3ef2.js +5 -0
- package/dist/revo-grid/{column.utils-f6300fb5.js.map → column.utils-78dd3ef2.js.map} +1 -1
- package/dist/revo-grid/edit.utils-ca303802.js +5 -0
- package/dist/revo-grid/edit.utils-ca303802.js.map +1 -0
- package/dist/revo-grid/events-cf0893a3.js +5 -0
- package/dist/revo-grid/events-cf0893a3.js.map +1 -0
- package/dist/revo-grid/{header-cell-renderer-6f8eb067.js → header-cell-renderer-261317c3.js} +2 -2
- package/dist/revo-grid/index-f65def08.js +5 -0
- package/dist/revo-grid/index-f65def08.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/key.utils-4b0093d5.js +5 -0
- package/dist/revo-grid/key.utils-4b0093d5.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/row-header-utils-6081260c.js +5 -0
- package/dist/revo-grid/row-header-utils-6081260c.js.map +1 -0
- package/dist/revo-grid/selection.helpers-d92697e1.js +5 -0
- package/dist/revo-grid/{selection.helpers-a49a3d09.js.map → selection.helpers-d92697e1.js.map} +1 -1
- package/dist/revo-grid/{throttle-7283692c.js → throttle-041ded8e.js} +2 -2
- package/dist/types/components/data/revogr-data.d.ts +2 -2
- package/dist/types/components.d.ts +2 -2
- package/dist/types/index.d.ts +1 -2
- package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -2
- package/dist/types/utils/index.d.ts +7 -0
- package/hydrate/index.js +153 -154
- package/hydrate/index.mjs +153 -154
- package/package.json +2 -2
- package/standalone/_stringToPath.js +1389 -0
- package/standalone/_stringToPath.js.map +1 -0
- package/standalone/column.service.js +4 -3
- package/standalone/column.service.js.map +1 -1
- package/standalone/consts.js +1 -1
- package/standalone/data.store.js +31 -1410
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +2 -1
- package/standalone/debounce.js.map +1 -1
- package/standalone/dimension.helpers.js +2 -2
- package/standalone/index.js +5 -2
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +160 -1
- package/standalone/index2.js.map +1 -1
- package/standalone/isObjectLike.js +195 -0
- package/standalone/isObjectLike.js.map +1 -0
- package/standalone/revo-grid.js +4 -3
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +9 -7
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit.js +1 -1
- package/standalone/revogr-edit2.js +57 -83
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-focus2.js +2 -1
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +4 -3
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +3 -2
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +5 -5
- package/standalone/revogr-row-headers2.js +3 -2
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/selection.utils.js +2 -1
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +2 -189
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.service-08df359f.js.map +0 -1
- package/dist/cjs/column.utils-0f0f4dc4.js.map +0 -1
- package/dist/cjs/dimension.helpers-85294778.js.map +0 -1
- package/dist/cjs/events-b28cc194.js.map +0 -1
- package/dist/cjs/index-2410bbd9.js +0 -103
- package/dist/cjs/index-2410bbd9.js.map +0 -1
- package/dist/cjs/key.utils-1e48ab8f.js +0 -144
- package/dist/cjs/key.utils-1e48ab8f.js.map +0 -1
- package/dist/cjs/selection.helpers-371a38aa.js.map +0 -1
- package/dist/cjs/viewport.store-300977e4.js.map +0 -1
- package/dist/esm/column.service-cfc1149b.js.map +0 -1
- package/dist/esm/dimension.helpers-938ea850.js.map +0 -1
- package/dist/esm/events-77b43b40.js.map +0 -1
- package/dist/esm/index-4e881436.js +0 -77
- package/dist/esm/index-4e881436.js.map +0 -1
- package/dist/esm/key.utils-425c987d.js +0 -133
- package/dist/esm/key.utils-425c987d.js.map +0 -1
- package/dist/esm/viewport.store-a690096b.js.map +0 -1
- package/dist/revo-grid/column.service-cfc1149b.js +0 -5
- package/dist/revo-grid/column.utils-f6300fb5.js +0 -5
- package/dist/revo-grid/dimension.helpers-938ea850.js +0 -5
- package/dist/revo-grid/dimension.helpers-938ea850.js.map +0 -1
- package/dist/revo-grid/events-77b43b40.js +0 -5
- package/dist/revo-grid/events-77b43b40.js.map +0 -1
- package/dist/revo-grid/index-4e881436.js +0 -5
- package/dist/revo-grid/index-4e881436.js.map +0 -1
- package/dist/revo-grid/key.utils-425c987d.js +0 -5
- package/dist/revo-grid/key.utils-425c987d.js.map +0 -1
- package/dist/revo-grid/selection.helpers-a49a3d09.js +0 -5
- package/dist/revo-grid/viewport.store-a690096b.js +0 -5
- package/dist/revo-grid/viewport.store-a690096b.js.map +0 -1
- /package/dist/revo-grid/{header-cell-renderer-6f8eb067.js.map → header-cell-renderer-261317c3.js.map} +0 -0
- /package/dist/revo-grid/{throttle-7283692c.js.map → throttle-041ded8e.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -9433,8 +9433,131 @@ function isAll(event) {
|
|
|
9433
9433
|
(event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac
|
|
9434
9434
|
}
|
|
9435
9435
|
|
|
9436
|
-
|
|
9436
|
+
function getColumnType(rgCol) {
|
|
9437
|
+
if (rgCol.pin) {
|
|
9438
|
+
return rgCol.pin;
|
|
9439
|
+
}
|
|
9440
|
+
return 'rgCol';
|
|
9441
|
+
}
|
|
9442
|
+
function getColumnSizes(cols) {
|
|
9443
|
+
const res = {};
|
|
9444
|
+
for (const [i, c] of cols.entries()) {
|
|
9445
|
+
if (c.size) {
|
|
9446
|
+
res[i] = c.size;
|
|
9447
|
+
}
|
|
9448
|
+
}
|
|
9449
|
+
return res;
|
|
9450
|
+
}
|
|
9451
|
+
/**
|
|
9452
|
+
* Check if column is grouping column
|
|
9437
9453
|
*/
|
|
9454
|
+
function isColGrouping(colData) {
|
|
9455
|
+
return !!colData.children;
|
|
9456
|
+
}
|
|
9457
|
+
/**
|
|
9458
|
+
* This function is used to create a collection of columns.
|
|
9459
|
+
*/
|
|
9460
|
+
function getColumns(columns, level = 0, types) {
|
|
9461
|
+
const collection = {
|
|
9462
|
+
// columns as they are in stores per type
|
|
9463
|
+
columns: {
|
|
9464
|
+
rgCol: [],
|
|
9465
|
+
colPinStart: [],
|
|
9466
|
+
colPinEnd: [],
|
|
9467
|
+
},
|
|
9468
|
+
// columns indexed by prop for quick access
|
|
9469
|
+
columnByProp: {},
|
|
9470
|
+
// column grouping
|
|
9471
|
+
columnGrouping: {
|
|
9472
|
+
rgCol: [],
|
|
9473
|
+
colPinStart: [],
|
|
9474
|
+
colPinEnd: [],
|
|
9475
|
+
},
|
|
9476
|
+
// max depth level for column grouping
|
|
9477
|
+
maxLevel: level,
|
|
9478
|
+
// sorting
|
|
9479
|
+
sort: {},
|
|
9480
|
+
};
|
|
9481
|
+
return reduce_1(columns, (res, colData) => {
|
|
9482
|
+
// Grouped column
|
|
9483
|
+
if (isColGrouping(colData)) {
|
|
9484
|
+
return gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
|
|
9485
|
+
}
|
|
9486
|
+
// Regular column
|
|
9487
|
+
const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
|
|
9488
|
+
// Regular column, no Pin
|
|
9489
|
+
if (!regularColumn.pin) {
|
|
9490
|
+
res.columns.rgCol.push(regularColumn);
|
|
9491
|
+
// Pin
|
|
9492
|
+
}
|
|
9493
|
+
else {
|
|
9494
|
+
res.columns[regularColumn.pin].push(regularColumn);
|
|
9495
|
+
}
|
|
9496
|
+
if (regularColumn.order) {
|
|
9497
|
+
res.sort[regularColumn.prop] = regularColumn;
|
|
9498
|
+
}
|
|
9499
|
+
// it's possible that some columns have same prop, but better to avoid it
|
|
9500
|
+
if (!res.columnByProp[regularColumn.prop]) {
|
|
9501
|
+
res.columnByProp[regularColumn.prop] = [];
|
|
9502
|
+
}
|
|
9503
|
+
res.columnByProp[regularColumn.prop].push(regularColumn);
|
|
9504
|
+
// trigger setup hook if present
|
|
9505
|
+
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
9506
|
+
return res;
|
|
9507
|
+
}, collection);
|
|
9508
|
+
}
|
|
9509
|
+
function gatherGroup(res, colData, collection, level = 0) {
|
|
9510
|
+
// group template
|
|
9511
|
+
const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
|
|
9512
|
+
// check columns for update
|
|
9513
|
+
for (let k in collection.columns) {
|
|
9514
|
+
const key = k;
|
|
9515
|
+
const resultItem = res.columns[key];
|
|
9516
|
+
const collectionItem = collection.columns[key];
|
|
9517
|
+
// if column data
|
|
9518
|
+
if (isArray_1(resultItem) && isArray_1(collectionItem)) {
|
|
9519
|
+
// fill columns
|
|
9520
|
+
resultItem.push(...collectionItem);
|
|
9521
|
+
// fill grouping
|
|
9522
|
+
if (collectionItem.length) {
|
|
9523
|
+
res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
|
|
9524
|
+
}
|
|
9525
|
+
}
|
|
9526
|
+
}
|
|
9527
|
+
// merge column groupings
|
|
9528
|
+
for (let k in collection.columnGrouping) {
|
|
9529
|
+
const key = k;
|
|
9530
|
+
const collectionItem = collection.columnGrouping[key];
|
|
9531
|
+
res.columnGrouping[key].push(...collectionItem);
|
|
9532
|
+
}
|
|
9533
|
+
res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
|
|
9534
|
+
res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
|
|
9535
|
+
return res;
|
|
9536
|
+
}
|
|
9537
|
+
function findColumn(columns, prop) {
|
|
9538
|
+
for (const c of columns) {
|
|
9539
|
+
if (isColGrouping(c)) {
|
|
9540
|
+
const found = findColumn(c.children, prop);
|
|
9541
|
+
if (found) {
|
|
9542
|
+
return found;
|
|
9543
|
+
}
|
|
9544
|
+
}
|
|
9545
|
+
else if (c.prop === prop) {
|
|
9546
|
+
return c;
|
|
9547
|
+
}
|
|
9548
|
+
}
|
|
9549
|
+
return undefined;
|
|
9550
|
+
}
|
|
9551
|
+
function getColumnByProp(columns, prop) {
|
|
9552
|
+
return findColumn(columns, prop);
|
|
9553
|
+
}
|
|
9554
|
+
|
|
9555
|
+
const LETTER_BLOCK_SIZE$1 = 10;
|
|
9556
|
+
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
9557
|
+
return ((rowHeaderColumn === null || rowHeaderColumn === void 0 ? void 0 : rowHeaderColumn.size) ||
|
|
9558
|
+
Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE$1, minWidth));
|
|
9559
|
+
};
|
|
9560
|
+
|
|
9438
9561
|
/**
|
|
9439
9562
|
* Calculate system scrollbar size
|
|
9440
9563
|
*/
|
|
@@ -10658,125 +10781,6 @@ var find = createFind(findIndex);
|
|
|
10658
10781
|
|
|
10659
10782
|
var find_1 = find;
|
|
10660
10783
|
|
|
10661
|
-
function getColumnType(rgCol) {
|
|
10662
|
-
if (rgCol.pin) {
|
|
10663
|
-
return rgCol.pin;
|
|
10664
|
-
}
|
|
10665
|
-
return 'rgCol';
|
|
10666
|
-
}
|
|
10667
|
-
function getColumnSizes(cols) {
|
|
10668
|
-
const res = {};
|
|
10669
|
-
for (const [i, c] of cols.entries()) {
|
|
10670
|
-
if (c.size) {
|
|
10671
|
-
res[i] = c.size;
|
|
10672
|
-
}
|
|
10673
|
-
}
|
|
10674
|
-
return res;
|
|
10675
|
-
}
|
|
10676
|
-
/**
|
|
10677
|
-
* Check if column is grouping column
|
|
10678
|
-
*/
|
|
10679
|
-
function isColGrouping(colData) {
|
|
10680
|
-
return !!colData.children;
|
|
10681
|
-
}
|
|
10682
|
-
/**
|
|
10683
|
-
* This function is used to create a collection of columns.
|
|
10684
|
-
*/
|
|
10685
|
-
function getColumns(columns, level = 0, types) {
|
|
10686
|
-
const collection = {
|
|
10687
|
-
// columns as they are in stores per type
|
|
10688
|
-
columns: {
|
|
10689
|
-
rgCol: [],
|
|
10690
|
-
colPinStart: [],
|
|
10691
|
-
colPinEnd: [],
|
|
10692
|
-
},
|
|
10693
|
-
// columns indexed by prop for quick access
|
|
10694
|
-
columnByProp: {},
|
|
10695
|
-
// column grouping
|
|
10696
|
-
columnGrouping: {
|
|
10697
|
-
rgCol: [],
|
|
10698
|
-
colPinStart: [],
|
|
10699
|
-
colPinEnd: [],
|
|
10700
|
-
},
|
|
10701
|
-
// max depth level for column grouping
|
|
10702
|
-
maxLevel: level,
|
|
10703
|
-
// sorting
|
|
10704
|
-
sort: {},
|
|
10705
|
-
};
|
|
10706
|
-
return reduce_1(columns, (res, colData) => {
|
|
10707
|
-
// Grouped column
|
|
10708
|
-
if (isColGrouping(colData)) {
|
|
10709
|
-
return gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
|
|
10710
|
-
}
|
|
10711
|
-
// Regular column
|
|
10712
|
-
const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
|
|
10713
|
-
// Regular column, no Pin
|
|
10714
|
-
if (!regularColumn.pin) {
|
|
10715
|
-
res.columns.rgCol.push(regularColumn);
|
|
10716
|
-
// Pin
|
|
10717
|
-
}
|
|
10718
|
-
else {
|
|
10719
|
-
res.columns[regularColumn.pin].push(regularColumn);
|
|
10720
|
-
}
|
|
10721
|
-
if (regularColumn.order) {
|
|
10722
|
-
res.sort[regularColumn.prop] = regularColumn;
|
|
10723
|
-
}
|
|
10724
|
-
// it's possible that some columns have same prop, but better to avoid it
|
|
10725
|
-
if (!res.columnByProp[regularColumn.prop]) {
|
|
10726
|
-
res.columnByProp[regularColumn.prop] = [];
|
|
10727
|
-
}
|
|
10728
|
-
res.columnByProp[regularColumn.prop].push(regularColumn);
|
|
10729
|
-
// trigger setup hook if present
|
|
10730
|
-
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
10731
|
-
return res;
|
|
10732
|
-
}, collection);
|
|
10733
|
-
}
|
|
10734
|
-
function gatherGroup(res, colData, collection, level = 0) {
|
|
10735
|
-
// group template
|
|
10736
|
-
const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
|
|
10737
|
-
// check columns for update
|
|
10738
|
-
for (let k in collection.columns) {
|
|
10739
|
-
const key = k;
|
|
10740
|
-
const resultItem = res.columns[key];
|
|
10741
|
-
const collectionItem = collection.columns[key];
|
|
10742
|
-
// if column data
|
|
10743
|
-
if (isArray_1(resultItem) && isArray_1(collectionItem)) {
|
|
10744
|
-
// fill columns
|
|
10745
|
-
resultItem.push(...collectionItem);
|
|
10746
|
-
// fill grouping
|
|
10747
|
-
if (collectionItem.length) {
|
|
10748
|
-
res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
|
|
10749
|
-
}
|
|
10750
|
-
}
|
|
10751
|
-
}
|
|
10752
|
-
// merge column groupings
|
|
10753
|
-
for (let k in collection.columnGrouping) {
|
|
10754
|
-
const key = k;
|
|
10755
|
-
const collectionItem = collection.columnGrouping[key];
|
|
10756
|
-
res.columnGrouping[key].push(...collectionItem);
|
|
10757
|
-
}
|
|
10758
|
-
res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
|
|
10759
|
-
res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
|
|
10760
|
-
return res;
|
|
10761
|
-
}
|
|
10762
|
-
function findColumn(columns, prop) {
|
|
10763
|
-
for (const c of columns) {
|
|
10764
|
-
if (isColGrouping(c)) {
|
|
10765
|
-
const found = findColumn(c.children, prop);
|
|
10766
|
-
if (found) {
|
|
10767
|
-
return found;
|
|
10768
|
-
}
|
|
10769
|
-
}
|
|
10770
|
-
else if (c.prop === prop) {
|
|
10771
|
-
return c;
|
|
10772
|
-
}
|
|
10773
|
-
}
|
|
10774
|
-
return undefined;
|
|
10775
|
-
}
|
|
10776
|
-
function getColumnByProp(columns, prop) {
|
|
10777
|
-
return findColumn(columns, prop);
|
|
10778
|
-
}
|
|
10779
|
-
|
|
10780
10784
|
class ColumnDataProvider {
|
|
10781
10785
|
get order() {
|
|
10782
10786
|
const order = {};
|
|
@@ -11291,32 +11295,11 @@ class BasePlugin {
|
|
|
11291
11295
|
}
|
|
11292
11296
|
}
|
|
11293
11297
|
|
|
11294
|
-
/**
|
|
11295
|
-
* Dispatches a custom event to a specified target element.
|
|
11296
|
-
*
|
|
11297
|
-
* @param target - The target element to dispatch the event to.
|
|
11298
|
-
* @param eventName - The name of the custom event.
|
|
11299
|
-
* @param detail - Optional. The detail of the custom event.
|
|
11300
|
-
* @returns The custom event that was dispatched.
|
|
11301
|
-
*/
|
|
11302
|
-
function dispatch(target, eventName, detail) {
|
|
11303
|
-
// Create a new CustomEvent with the specified event name and detail.
|
|
11304
|
-
const event = new CustomEvent(eventName, {
|
|
11305
|
-
detail,
|
|
11306
|
-
cancelable: true, // Indicates whether the event can be canceled.
|
|
11307
|
-
bubbles: true, // Indicates whether the event bubbles up through the DOM.
|
|
11308
|
-
});
|
|
11309
|
-
// Dispatch the event on the target element.
|
|
11310
|
-
target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
|
|
11311
|
-
// Return the custom event that was dispatched.
|
|
11312
|
-
return event;
|
|
11313
|
-
}
|
|
11314
|
-
|
|
11315
11298
|
/**
|
|
11316
11299
|
* Plugin module for revo-grid grid system
|
|
11317
11300
|
* Add support for automatic column resize
|
|
11318
11301
|
*/
|
|
11319
|
-
const LETTER_BLOCK_SIZE
|
|
11302
|
+
const LETTER_BLOCK_SIZE = 7;
|
|
11320
11303
|
var ColumnAutoSizeMode;
|
|
11321
11304
|
(function (ColumnAutoSizeMode) {
|
|
11322
11305
|
// increases column width on header click according the largest text value
|
|
@@ -11335,7 +11318,7 @@ class AutoSizeColumnPlugin extends BasePlugin {
|
|
|
11335
11318
|
/** for edge case when no columns defined before data */
|
|
11336
11319
|
this.dataResolve = null;
|
|
11337
11320
|
this.dataReject = null;
|
|
11338
|
-
this.letterBlockSize = (config === null || config === void 0 ? void 0 : config.letterBlockSize) || LETTER_BLOCK_SIZE
|
|
11321
|
+
this.letterBlockSize = (config === null || config === void 0 ? void 0 : config.letterBlockSize) || LETTER_BLOCK_SIZE;
|
|
11339
11322
|
// create test container to check text width
|
|
11340
11323
|
if (config === null || config === void 0 ? void 0 : config.preciseSize) {
|
|
11341
11324
|
this.precsizeCalculationArea = this.initiatePresizeElement();
|
|
@@ -13499,12 +13482,6 @@ const OrderRenderer = ({ ref }) => {
|
|
|
13499
13482
|
hAsync("div", { class: "drag-position", ref: e => (service.rgRow = e) })));
|
|
13500
13483
|
};
|
|
13501
13484
|
|
|
13502
|
-
const LETTER_BLOCK_SIZE = 10;
|
|
13503
|
-
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
13504
|
-
return ((rowHeaderColumn === null || rowHeaderColumn === void 0 ? void 0 : rowHeaderColumn.size) ||
|
|
13505
|
-
Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE, minWidth));
|
|
13506
|
-
};
|
|
13507
|
-
|
|
13508
13485
|
class StretchColumn extends BasePlugin {
|
|
13509
13486
|
constructor(revogrid, providers) {
|
|
13510
13487
|
super(revogrid, providers);
|
|
@@ -13690,6 +13667,27 @@ class ColumnOrderHandler {
|
|
|
13690
13667
|
}
|
|
13691
13668
|
}
|
|
13692
13669
|
|
|
13670
|
+
/**
|
|
13671
|
+
* Dispatches a custom event to a specified target element.
|
|
13672
|
+
*
|
|
13673
|
+
* @param target - The target element to dispatch the event to.
|
|
13674
|
+
* @param eventName - The name of the custom event.
|
|
13675
|
+
* @param detail - Optional. The detail of the custom event.
|
|
13676
|
+
* @returns The custom event that was dispatched.
|
|
13677
|
+
*/
|
|
13678
|
+
function dispatch(target, eventName, detail) {
|
|
13679
|
+
// Create a new CustomEvent with the specified event name and detail.
|
|
13680
|
+
const event = new CustomEvent(eventName, {
|
|
13681
|
+
detail,
|
|
13682
|
+
cancelable: true, // Indicates whether the event can be canceled.
|
|
13683
|
+
bubbles: true, // Indicates whether the event bubbles up through the DOM.
|
|
13684
|
+
});
|
|
13685
|
+
// Dispatch the event on the target element.
|
|
13686
|
+
target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
|
|
13687
|
+
// Return the custom event that was dispatched.
|
|
13688
|
+
return event;
|
|
13689
|
+
}
|
|
13690
|
+
|
|
13693
13691
|
var ResizeEvents;
|
|
13694
13692
|
(function (ResizeEvents) {
|
|
13695
13693
|
ResizeEvents["start"] = "resize:start";
|
|
@@ -15237,7 +15235,7 @@ class RevogrData {
|
|
|
15237
15235
|
if (cellEvent.defaultPrevented) {
|
|
15238
15236
|
continue;
|
|
15239
15237
|
}
|
|
15240
|
-
const { detail: { column: columnProps, row: rowProps }, } = cellEvent;
|
|
15238
|
+
const { detail: { column: columnProps, row: rowProps, model: newModel }, } = cellEvent;
|
|
15241
15239
|
const defaultProps = {
|
|
15242
15240
|
[DATA_COL]: columnProps.itemIndex,
|
|
15243
15241
|
[DATA_ROW]: rowProps.itemIndex,
|
|
@@ -15253,11 +15251,11 @@ class RevogrData {
|
|
|
15253
15251
|
if (groupDepth && !columnProps.itemIndex && defaultProps.style) {
|
|
15254
15252
|
defaultProps.style.paddingLeft = `${PADDING_DEPTH * groupDepth}px`;
|
|
15255
15253
|
}
|
|
15256
|
-
const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps,
|
|
15254
|
+
const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, newModel, (_a = columnsData[columnProps.itemIndex]) === null || _a === void 0 ? void 0 : _a.cellProperties);
|
|
15257
15255
|
// Never use webcomponent for cell render
|
|
15258
15256
|
// It's very slow because of webcomponent initialization takes time
|
|
15259
15257
|
cells.push(hAsync(CellRenderer, { renderProps: {
|
|
15260
|
-
model,
|
|
15258
|
+
model: newModel,
|
|
15261
15259
|
providers: this.providers,
|
|
15262
15260
|
template: (_b = columnsData[columnProps.itemIndex]) === null || _b === void 0 ? void 0 : _b.cellTemplate,
|
|
15263
15261
|
additionalData: this.additionalData,
|
|
@@ -15287,13 +15285,14 @@ class RevogrData {
|
|
|
15287
15285
|
return (hAsync(Host, null, hAsync("slot", null), rowsEls));
|
|
15288
15286
|
}
|
|
15289
15287
|
triggerBeforeCellRender(model, row, column) {
|
|
15290
|
-
|
|
15288
|
+
const detail = {
|
|
15291
15289
|
column: Object.assign({}, column),
|
|
15292
15290
|
row: Object.assign({}, row),
|
|
15293
15291
|
model,
|
|
15294
15292
|
rowType: model.type,
|
|
15295
15293
|
colType: model.colType,
|
|
15296
|
-
}
|
|
15294
|
+
};
|
|
15295
|
+
return this.beforeCellRender.emit(detail);
|
|
15297
15296
|
}
|
|
15298
15297
|
get element() { return getElement(this); }
|
|
15299
15298
|
static get watchers() { return {
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revolist/revogrid",
|
|
3
|
-
"version": "4.9.
|
|
3
|
+
"version": "4.9.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "revolist",
|
|
8
|
-
"homepage": "https://
|
|
8
|
+
"homepage": "https://rv-grid.com",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git+https://github.com/revolist/revogrid.git"
|