@revolist/revogrid 4.23.12 → 4.23.14
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/{cell-renderer-DfUCisis.js → cell-renderer-Dcz022q7.js} +5 -23
- package/dist/cjs/{column.drag.plugin-BRraLvz3.js → column.drag.plugin-BGLbi1zS.js} +8 -37
- package/dist/cjs/{column.service-BNWNiJW3.js → column.service-C1Qvcf5l.js} +23 -62
- package/dist/cjs/{header-cell-renderer-DyjOxArm.js → header-cell-renderer-vVr4IWNV.js} +1 -1
- package/dist/cjs/index.cjs.js +4 -5
- package/dist/cjs/revo-grid.cjs.entry.js +5 -5
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +4 -40
- package/dist/cjs/revogr-data_4.cjs.entry.js +5 -13
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +67 -32
- package/dist/collection/components/data/column.service.js +23 -62
- package/dist/collection/components/data/row-renderer.js +2 -15
- package/dist/collection/components/overlay/revogr-overlay-selection.js +7 -27
- package/dist/collection/components/revoGrid/revo-grid.js +7 -14
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +2 -10
- package/dist/collection/plugins/filter/filter.panel.js +66 -31
- package/dist/collection/plugins/filter/filter.plugin.js +4 -4
- package/dist/collection/plugins/filter/filter.style.css +18 -34
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +2 -7
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +2 -30
- package/dist/collection/serve/controller.js +0 -1
- package/dist/esm/{cell-renderer-CLTRlCa5.js → cell-renderer-BtN-NGCk.js} +5 -23
- package/dist/esm/{column.drag.plugin-V9DDE3mU.js → column.drag.plugin-4Ixr4ijU.js} +9 -37
- package/dist/esm/{column.service-C6hByxPy.js → column.service-CC_SD8W3.js} +23 -62
- package/dist/esm/{header-cell-renderer-BMmXRsd_.js → header-cell-renderer-B-LX2sgu.js} +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/revo-grid.entry.js +5 -5
- package/dist/esm/revogr-attribution_7.entry.js +4 -40
- package/dist/esm/revogr-data_4.entry.js +5 -13
- package/dist/esm/revogr-filter-panel.entry.js +67 -32
- package/dist/revo-grid/{cell-renderer-CLTRlCa5.js → cell-renderer-BtN-NGCk.js} +5 -23
- package/dist/revo-grid/{column.drag.plugin-V9DDE3mU.js → column.drag.plugin-4Ixr4ijU.js} +9 -37
- package/dist/revo-grid/{column.service-C6hByxPy.js → column.service-CC_SD8W3.js} +23 -62
- package/dist/revo-grid/{header-cell-renderer-BMmXRsd_.js → header-cell-renderer-B-LX2sgu.js} +1 -1
- package/dist/revo-grid/index.esm.js +5 -5
- package/dist/revo-grid/revo-grid.entry.js +5 -5
- package/dist/revo-grid/revogr-attribution_7.entry.js +4 -40
- package/dist/revo-grid/revogr-data_4.entry.js +5 -13
- package/dist/revo-grid/revogr-filter-panel.entry.js +67 -32
- package/dist/types/components/data/column.service.d.ts +1 -10
- package/dist/types/components/data/row-renderer.d.ts +1 -1
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +3 -4
- package/dist/types/components/revoGrid/revo-grid.d.ts +4 -4
- package/dist/types/components.d.ts +14 -14
- package/dist/types/plugins/filter/filter.panel.d.ts +4 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +0 -1
- package/dist/types/plugins/filter/filter.types.d.ts +0 -1
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +0 -4
- package/dist/types/types/interfaces.d.ts +0 -8
- package/hydrate/index.js +107 -201
- package/hydrate/index.mjs +107 -201
- package/package.json +1 -1
- package/readme.md +1 -20
- package/standalone/column.service.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/dist/collection/components/overlay/clipboard.utils.js +0 -26
- package/dist/types/components/overlay/clipboard.utils.d.ts +0 -3
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.js');
|
|
7
7
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
8
|
-
var column_service = require('./column.service-
|
|
8
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Renders sorting direction and optional additive sorting rank.
|
|
@@ -18,22 +18,9 @@ const SortingSign = ({ column }) => {
|
|
|
18
18
|
return (index.h("span", Object.assign({}, indicatorAttrs), index.h("i", Object.assign({}, iconAttrs)), (column === null || column === void 0 ? void 0 : column.sortIndex) ? (index.h("sup", Object.assign({}, orderIndexAttrs), column.sortIndex)) : null));
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
22
|
-
var t = {};
|
|
23
|
-
for (var p in s)
|
|
24
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
25
|
-
t[p] = s[p];
|
|
26
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
27
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
28
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
29
|
-
t[p[i]] = s[p[i]];
|
|
30
|
-
}
|
|
31
|
-
return t;
|
|
32
|
-
};
|
|
33
21
|
const PADDING_DEPTH = 10;
|
|
34
|
-
const RowRenderer = (
|
|
35
|
-
|
|
36
|
-
const props = Object.assign(Object.assign(Object.assign({}, attrs), { [dimension_helpers.DATA_ROW]: index$1 }), (typeof groupingLevel === 'number'
|
|
22
|
+
const RowRenderer = ({ rowClass, index: index$1, size, start, depth, groupingLevel }, cells) => {
|
|
23
|
+
const props = Object.assign({ [dimension_helpers.DATA_ROW]: index$1 }, (typeof groupingLevel === 'number'
|
|
37
24
|
? { 'data-level': groupingLevel }
|
|
38
25
|
: {}));
|
|
39
26
|
return (index.h("div", Object.assign({}, props, { class: `rgRow ${rowClass || ''}`, style: {
|
|
@@ -60,17 +47,12 @@ const GroupingRowRenderer = (props) => {
|
|
|
60
47
|
const name = model[column_service.PSEUDO_GROUP_ITEM];
|
|
61
48
|
const expanded = model[column_service.GROUP_EXPANDED];
|
|
62
49
|
const depth = parseInt(model[column_service.GROUP_DEPTH], 10) || 0;
|
|
63
|
-
const groupRowAttrs = {
|
|
64
|
-
rowClass: 'groupingRow',
|
|
65
|
-
depth,
|
|
66
|
-
expanded,
|
|
67
|
-
};
|
|
68
50
|
if (groupingCustomRenderer) {
|
|
69
|
-
return (index.h(RowRenderer, Object.assign({}, props,
|
|
51
|
+
return (index.h(RowRenderer, Object.assign({}, props, { rowClass: "groupingRow", depth: depth }), index.h("div", { onClick: e => expandEvent(e, model, itemIndex) }, groupingCustomRenderer(index.h, Object.assign(Object.assign({}, props), { colType: props.providers.colType, name,
|
|
70
52
|
expanded,
|
|
71
53
|
depth })))));
|
|
72
54
|
}
|
|
73
|
-
return (index.h(RowRenderer, Object.assign({}, props,
|
|
55
|
+
return (index.h(RowRenderer, Object.assign({}, props, { rowClass: "groupingRow", depth: depth }), hasExpand && [
|
|
74
56
|
index.h("button", { class: { [column_service.GROUP_EXPAND_BTN]: true }, onClick: e => expandEvent(e, model, itemIndex) }, expandSvgIconVNode(expanded)),
|
|
75
57
|
name,
|
|
76
58
|
]));
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var column_service = require('./column.service-
|
|
6
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
7
7
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
8
8
|
var viewport_store = require('./viewport.store-BscUCiUk.js');
|
|
9
9
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
10
10
|
var index = require('./index-Dq8Xzj5l.js');
|
|
11
11
|
var filter_button = require('./filter.button-w6LWnyhi.js');
|
|
12
12
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
13
|
-
var headerCellRenderer = require('./header-cell-renderer-
|
|
13
|
+
var headerCellRenderer = require('./header-cell-renderer-vVr4IWNV.js');
|
|
14
14
|
|
|
15
15
|
function calculateRealSize({ count, originItemSize, sizes, }) {
|
|
16
16
|
const safeCount = Math.max(0, count);
|
|
@@ -1402,7 +1402,8 @@ class FilterPlugin extends BasePlugin {
|
|
|
1402
1402
|
async headerclick(e) {
|
|
1403
1403
|
var _a, _b;
|
|
1404
1404
|
const el = (_a = e.detail.originalEvent) === null || _a === void 0 ? void 0 : _a.target;
|
|
1405
|
-
|
|
1405
|
+
const filterButton = filter_button.isFilterBtn(el);
|
|
1406
|
+
if (!filterButton) {
|
|
1406
1407
|
return;
|
|
1407
1408
|
}
|
|
1408
1409
|
e.preventDefault();
|
|
@@ -1416,9 +1417,8 @@ class FilterPlugin extends BasePlugin {
|
|
|
1416
1417
|
return;
|
|
1417
1418
|
}
|
|
1418
1419
|
// filter button clicked, open filter dialog
|
|
1419
|
-
const
|
|
1420
|
-
const
|
|
1421
|
-
const data = Object.assign(Object.assign(Object.assign({}, e.detail), this.filterCollection[prop]), { x: buttonPos.x - gridPos.x, y: buttonPos.y - gridPos.y + buttonPos.height, autoCorrect: true, filterTypes: this.getColumnFilter(e.detail.filter), filterItems: this.multiFilterItems, extraContent: this.extraHyperContent, extraBottomContent: this.extraBottomHyperContent });
|
|
1420
|
+
const buttonPos = (filterButton instanceof HTMLElement ? filterButton : el).getBoundingClientRect();
|
|
1421
|
+
const data = Object.assign(Object.assign(Object.assign({}, e.detail), this.filterCollection[prop]), { x: buttonPos.x, y: buttonPos.y + buttonPos.height, autoCorrect: true, filterTypes: this.getColumnFilter(e.detail.filter), filterItems: this.multiFilterItems, extraContent: this.extraHyperContent });
|
|
1422
1422
|
(_b = this.beforeshow) === null || _b === void 0 ? void 0 : _b.call(this, data);
|
|
1423
1423
|
this.pop.show(data);
|
|
1424
1424
|
}
|
|
@@ -2672,17 +2672,8 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2672
2672
|
constructor(revogrid, providers) {
|
|
2673
2673
|
super(revogrid, providers);
|
|
2674
2674
|
this.moveFunc = debounce.debounce((e) => this.doMove(e), 5);
|
|
2675
|
-
this.preventHeaderClickAfterDrag = (event) => {
|
|
2676
|
-
if (!this.preventNextHeaderClick) {
|
|
2677
|
-
return;
|
|
2678
|
-
}
|
|
2679
|
-
this.preventNextHeaderClick = false;
|
|
2680
|
-
event.preventDefault();
|
|
2681
|
-
};
|
|
2682
2675
|
this.staticDragData = null;
|
|
2683
2676
|
this.dragData = null;
|
|
2684
|
-
this.columnDragMoved = false;
|
|
2685
|
-
this.preventNextHeaderClick = false;
|
|
2686
2677
|
this.localSubscriptions = {};
|
|
2687
2678
|
this.orderUi = new ColumnOrderHandler();
|
|
2688
2679
|
revogrid.appendChild(this.orderUi.render());
|
|
@@ -2701,13 +2692,11 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2701
2692
|
callback: (e) => this.move(e),
|
|
2702
2693
|
};
|
|
2703
2694
|
this.addEventListener(COLUMN_CLICK, ({ detail }) => this.dragStart(detail));
|
|
2704
|
-
this.revogrid.addEventListener('beforeheaderclick', this.preventHeaderClickAfterDrag, { capture: true });
|
|
2705
2695
|
}
|
|
2706
2696
|
dragStart({ event, data }) {
|
|
2707
2697
|
if (event.defaultPrevented) {
|
|
2708
2698
|
return;
|
|
2709
2699
|
}
|
|
2710
|
-
this.preventNextHeaderClick = false;
|
|
2711
2700
|
const { defaultPrevented } = headerCellRenderer.dispatch(this.revogrid, COLUMN_DRAG_START_EVENT, data);
|
|
2712
2701
|
// check if allowed to drag particulat column
|
|
2713
2702
|
if (defaultPrevented) {
|
|
@@ -2729,8 +2718,7 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2729
2718
|
const cols = this.getDimension(data.pin || 'rgCol');
|
|
2730
2719
|
const gridRect = this.revogrid.getBoundingClientRect();
|
|
2731
2720
|
const elRect = dataEl.getBoundingClientRect();
|
|
2732
|
-
const startItem = dimension_helpers.getItemByPosition(cols, getLeftRelative(event.x, gridRect.left, elRect.left - gridRect.left) +
|
|
2733
|
-
(cols.renderOffset || 0));
|
|
2721
|
+
const startItem = dimension_helpers.getItemByPosition(cols, getLeftRelative(event.x, gridRect.left, elRect.left - gridRect.left) + (cols.renderOffset || 0));
|
|
2734
2722
|
this.staticDragData = {
|
|
2735
2723
|
startPos: event.x,
|
|
2736
2724
|
startItem,
|
|
@@ -2761,14 +2749,10 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2761
2749
|
if (rgCol.itemIndex >= this.staticDragData.cols.count) {
|
|
2762
2750
|
return;
|
|
2763
2751
|
}
|
|
2764
|
-
this.orderUi.showHandler(
|
|
2752
|
+
this.orderUi.showHandler(rgCol.end - (this.staticDragData.cols.renderOffset || 0) + dragData.scrollOffset, dragData.gridRect.width);
|
|
2765
2753
|
}
|
|
2766
2754
|
}
|
|
2767
2755
|
move(e) {
|
|
2768
|
-
if (this.staticDragData &&
|
|
2769
|
-
Math.abs(this.staticDragData.startPos - e.x) > 10) {
|
|
2770
|
-
this.columnDragMoved = true;
|
|
2771
|
-
}
|
|
2772
2756
|
headerCellRenderer.dispatch(this.revogrid, COLUMN_DRAG_MOVE_EVENT, e);
|
|
2773
2757
|
// then do move
|
|
2774
2758
|
this.moveFunc(e);
|
|
@@ -2777,7 +2761,6 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2777
2761
|
this.clearOrder();
|
|
2778
2762
|
}
|
|
2779
2763
|
onMouseUp(e) {
|
|
2780
|
-
const suppressClick = this.columnDragMoved;
|
|
2781
2764
|
// apply new positions
|
|
2782
2765
|
if (this.dragData && this.staticDragData) {
|
|
2783
2766
|
let relativePos = getLeftRelative(e.x, this.dragData.gridRect.left, this.dragData.scrollOffset);
|
|
@@ -2800,9 +2783,6 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2800
2783
|
}
|
|
2801
2784
|
headerCellRenderer.dispatch(this.revogrid, COLUMN_DRAG_END_EVENT, this.getData(this.staticDragData, newItems, source));
|
|
2802
2785
|
}
|
|
2803
|
-
if (suppressClick) {
|
|
2804
|
-
this.preventNextHeaderClick = !!e.target.closest('revogr-header');
|
|
2805
|
-
}
|
|
2806
2786
|
this.clearOrder();
|
|
2807
2787
|
}
|
|
2808
2788
|
clearLocalSubscriptions() {
|
|
@@ -2811,7 +2791,6 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2811
2791
|
clearOrder() {
|
|
2812
2792
|
this.staticDragData = null;
|
|
2813
2793
|
this.dragData = null;
|
|
2814
|
-
this.columnDragMoved = false;
|
|
2815
2794
|
this.clearLocalSubscriptions();
|
|
2816
2795
|
this.orderUi.stop(this.revogrid);
|
|
2817
2796
|
}
|
|
@@ -2821,7 +2800,6 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2821
2800
|
clearSubscriptions() {
|
|
2822
2801
|
super.clearSubscriptions();
|
|
2823
2802
|
this.clearLocalSubscriptions();
|
|
2824
|
-
this.revogrid.removeEventListener('beforeheaderclick', this.preventHeaderClickAfterDrag, { capture: true });
|
|
2825
2803
|
}
|
|
2826
2804
|
getData({ gridEl, dataEl, pin }, order, source = []) {
|
|
2827
2805
|
const gridRect = gridEl.getBoundingClientRect();
|
|
@@ -2843,12 +2821,6 @@ class ColumnMovePlugin extends BasePlugin {
|
|
|
2843
2821
|
function getLeftRelative(absoluteX, gridPos, offset) {
|
|
2844
2822
|
return absoluteX - gridPos - offset;
|
|
2845
2823
|
}
|
|
2846
|
-
function getColumnDragPosition(targetItem, startItem, renderOffset, scrollOffset) {
|
|
2847
|
-
const insertionEdge = startItem.itemIndex > targetItem.itemIndex
|
|
2848
|
-
? targetItem.start
|
|
2849
|
-
: targetItem.end;
|
|
2850
|
-
return insertionEdge - renderOffset + scrollOffset;
|
|
2851
|
-
}
|
|
2852
2824
|
|
|
2853
2825
|
exports.AutoSizeColumnPlugin = AutoSizeColumnPlugin;
|
|
2854
2826
|
exports.BEFORE_COLUMN_DRAG_END_EVENT = BEFORE_COLUMN_DRAG_END_EVENT;
|
|
@@ -2875,7 +2847,6 @@ exports.doExpand = doExpand;
|
|
|
2875
2847
|
exports.filterCoreFunctionsIndexedByType = filterCoreFunctionsIndexedByType;
|
|
2876
2848
|
exports.filterNames = filterNames;
|
|
2877
2849
|
exports.filterTypes = filterTypes;
|
|
2878
|
-
exports.getColumnDragPosition = getColumnDragPosition;
|
|
2879
2850
|
exports.getComparer = getComparer;
|
|
2880
2851
|
exports.getLeftRelative = getLeftRelative;
|
|
2881
2852
|
exports.getNextOrder = getNextOrder;
|
|
@@ -819,82 +819,43 @@ class ColumnService {
|
|
|
819
819
|
mapping,
|
|
820
820
|
};
|
|
821
821
|
}
|
|
822
|
-
getTransformedDataToApply(
|
|
822
|
+
getTransformedDataToApply(start, data) {
|
|
823
823
|
const changed = {};
|
|
824
824
|
const copyRowLength = data.length;
|
|
825
|
-
if (!copyRowLength) {
|
|
826
|
-
return {
|
|
827
|
-
changed,
|
|
828
|
-
range: null,
|
|
829
|
-
};
|
|
830
|
-
}
|
|
831
825
|
const colLength = this.columns.length;
|
|
832
826
|
const rowLength = this.dataStore.get('items').length;
|
|
833
|
-
const bounds = this.getDataApplyBounds(start, targetRange, copyRowLength, rowLength, colLength);
|
|
834
|
-
if (!bounds) {
|
|
835
|
-
return {
|
|
836
|
-
changed,
|
|
837
|
-
range: null,
|
|
838
|
-
};
|
|
839
|
-
}
|
|
840
|
-
const { startRow, startCol, endRow } = bounds;
|
|
841
|
-
let maxCol = startCol - 1;
|
|
842
|
-
let lastRow = startRow - 1;
|
|
843
827
|
// rows
|
|
844
|
-
|
|
828
|
+
let rowIndex = start.y;
|
|
829
|
+
let maxCol = 0;
|
|
830
|
+
for (let i = 0; rowIndex < rowLength && i < copyRowLength; rowIndex++, i++) {
|
|
845
831
|
// copy original data link
|
|
846
832
|
const copyRow = data[i % copyRowLength];
|
|
847
833
|
const copyColLength = (copyRow === null || copyRow === void 0 ? void 0 : copyRow.length) || 0;
|
|
848
|
-
|
|
849
|
-
|
|
834
|
+
// columns
|
|
835
|
+
let colIndex = start.x;
|
|
836
|
+
for (let j = 0; colIndex < colLength && j < copyColLength; colIndex++, j++) {
|
|
837
|
+
const p = this.columns[colIndex].prop;
|
|
838
|
+
const currentCol = j % colLength;
|
|
839
|
+
/** if can write */
|
|
840
|
+
if (!this.isReadOnly(rowIndex, colIndex)) {
|
|
841
|
+
/** to show before save */
|
|
842
|
+
if (!changed[rowIndex]) {
|
|
843
|
+
changed[rowIndex] = {};
|
|
844
|
+
}
|
|
845
|
+
changed[rowIndex][p] = copyRow[currentCol];
|
|
846
|
+
}
|
|
850
847
|
}
|
|
851
|
-
maxCol = Math.max(maxCol,
|
|
852
|
-
bounds,
|
|
853
|
-
copyColLength,
|
|
854
|
-
copyRow,
|
|
855
|
-
rowIndex,
|
|
856
|
-
start,
|
|
857
|
-
targetRange,
|
|
858
|
-
}));
|
|
859
|
-
lastRow = rowIndex;
|
|
848
|
+
maxCol = Math.max(maxCol, colIndex - 1);
|
|
860
849
|
}
|
|
850
|
+
const range = getRange(start, {
|
|
851
|
+
y: rowIndex - 1,
|
|
852
|
+
x: maxCol,
|
|
853
|
+
});
|
|
861
854
|
return {
|
|
862
855
|
changed,
|
|
863
|
-
range
|
|
856
|
+
range,
|
|
864
857
|
};
|
|
865
858
|
}
|
|
866
|
-
getDataApplyBounds(start, targetRange, copyRowLength, rowLength, colLength) {
|
|
867
|
-
var _a, _b, _c;
|
|
868
|
-
const startRow = (_a = targetRange === null || targetRange === void 0 ? void 0 : targetRange.y) !== null && _a !== void 0 ? _a : start.y;
|
|
869
|
-
const startCol = (_b = targetRange === null || targetRange === void 0 ? void 0 : targetRange.x) !== null && _b !== void 0 ? _b : start.x;
|
|
870
|
-
const endRow = Math.min(rowLength - 1, (_c = targetRange === null || targetRange === void 0 ? void 0 : targetRange.y1) !== null && _c !== void 0 ? _c : start.y + copyRowLength - 1);
|
|
871
|
-
if (endRow < startRow || startCol >= colLength) {
|
|
872
|
-
return null;
|
|
873
|
-
}
|
|
874
|
-
return { startRow, startCol, endRow, colLength };
|
|
875
|
-
}
|
|
876
|
-
applyClipboardRow(changed, { bounds, copyColLength, copyRow, rowIndex, start, targetRange, }) {
|
|
877
|
-
var _a;
|
|
878
|
-
const endCol = Math.min(bounds.colLength - 1, (_a = targetRange === null || targetRange === void 0 ? void 0 : targetRange.x1) !== null && _a !== void 0 ? _a : start.x + copyColLength - 1);
|
|
879
|
-
for (let colIndex = bounds.startCol, j = 0; colIndex <= endCol; colIndex++, j++) {
|
|
880
|
-
if (this.isReadOnly(rowIndex, colIndex)) {
|
|
881
|
-
continue;
|
|
882
|
-
}
|
|
883
|
-
const prop = this.columns[colIndex].prop;
|
|
884
|
-
changed[rowIndex] = changed[rowIndex] || {};
|
|
885
|
-
changed[rowIndex][prop] = copyRow[j % copyColLength];
|
|
886
|
-
}
|
|
887
|
-
return endCol;
|
|
888
|
-
}
|
|
889
|
-
getAppliedRange({ startRow, startCol }, lastRow, maxCol) {
|
|
890
|
-
if (lastRow < startRow || maxCol < startCol) {
|
|
891
|
-
return null;
|
|
892
|
-
}
|
|
893
|
-
return getRange({ x: startCol, y: startRow }, {
|
|
894
|
-
y: lastRow,
|
|
895
|
-
x: maxCol,
|
|
896
|
-
});
|
|
897
|
-
}
|
|
898
859
|
getRangeStaticData(d, value) {
|
|
899
860
|
const changed = {};
|
|
900
861
|
// rows
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var column_service = require('./column.service-
|
|
7
|
-
var column_drag_plugin = require('./column.drag.plugin-
|
|
8
|
-
var headerCellRenderer = require('./header-cell-renderer-
|
|
9
|
-
var cellRenderer = require('./cell-renderer-
|
|
6
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
7
|
+
var column_drag_plugin = require('./column.drag.plugin-BGLbi1zS.js');
|
|
8
|
+
var headerCellRenderer = require('./header-cell-renderer-vVr4IWNV.js');
|
|
9
|
+
var cellRenderer = require('./cell-renderer-Dcz022q7.js');
|
|
10
10
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
11
11
|
var textEditor = require('./text-editor-B4W-m-r-.js');
|
|
12
12
|
var edit_utils = require('./edit.utils-pKeiYFLJ.js');
|
|
@@ -233,7 +233,6 @@ exports.doExpand = column_drag_plugin.doExpand;
|
|
|
233
233
|
exports.filterCoreFunctionsIndexedByType = column_drag_plugin.filterCoreFunctionsIndexedByType;
|
|
234
234
|
exports.filterNames = column_drag_plugin.filterNames;
|
|
235
235
|
exports.filterTypes = column_drag_plugin.filterTypes;
|
|
236
|
-
exports.getColumnDragPosition = column_drag_plugin.getColumnDragPosition;
|
|
237
236
|
exports.getComparer = column_drag_plugin.getComparer;
|
|
238
237
|
exports.getLeftRelative = column_drag_plugin.getLeftRelative;
|
|
239
238
|
exports.getNextOrder = column_drag_plugin.getNextOrder;
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.js');
|
|
7
|
-
var column_service = require('./column.service-
|
|
7
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
8
8
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
9
9
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
10
10
|
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
11
|
-
var column_drag_plugin = require('./column.drag.plugin-
|
|
11
|
+
var column_drag_plugin = require('./column.drag.plugin-BGLbi1zS.js');
|
|
12
12
|
var viewport_store = require('./viewport.store-BscUCiUk.js');
|
|
13
13
|
var theme_service = require('./theme.service-BgnxGIjK.js');
|
|
14
14
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
15
15
|
var events = require('./events-DeLDyZlb.js');
|
|
16
16
|
require('./filter.button-w6LWnyhi.js');
|
|
17
|
-
require('./header-cell-renderer-
|
|
17
|
+
require('./header-cell-renderer-vVr4IWNV.js');
|
|
18
18
|
|
|
19
19
|
class ColumnDataProvider {
|
|
20
20
|
get stores() {
|
|
@@ -1447,7 +1447,7 @@ const RevoGridComponent = class {
|
|
|
1447
1447
|
this.rowSize = 0;
|
|
1448
1448
|
/** Indicates default column size. */
|
|
1449
1449
|
this.colSize = 100;
|
|
1450
|
-
/** When true, user can
|
|
1450
|
+
/** When true, user can range selection. */
|
|
1451
1451
|
this.range = false;
|
|
1452
1452
|
/** When true, grid in read only mode. */
|
|
1453
1453
|
this.readonly = false;
|
|
@@ -1459,7 +1459,7 @@ const RevoGridComponent = class {
|
|
|
1459
1459
|
this.noHorizontalScrollTransfer = false;
|
|
1460
1460
|
/** When true cell focus appear. */
|
|
1461
1461
|
this.canFocus = true;
|
|
1462
|
-
/** When true enable clipboard.
|
|
1462
|
+
/** When true enable clipboard. */
|
|
1463
1463
|
this.useClipboard = true;
|
|
1464
1464
|
/**
|
|
1465
1465
|
* Columns - defines an array of grid columns.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.js');
|
|
7
7
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
8
8
|
var events = require('./events-DeLDyZlb.js');
|
|
9
|
-
var column_service = require('./column.service-
|
|
9
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
10
10
|
var edit_utils = require('./edit.utils-pKeiYFLJ.js');
|
|
11
11
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
12
12
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
@@ -651,30 +651,6 @@ class AutoFillService {
|
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
653
|
|
|
654
|
-
function getRangeFillClipboardData(data, useClipboard) {
|
|
655
|
-
var _a;
|
|
656
|
-
if (!isClipboardRangeFillEnabled(useClipboard)) {
|
|
657
|
-
return null;
|
|
658
|
-
}
|
|
659
|
-
const normalized = trimTrailingEmptyClipboardRows(data);
|
|
660
|
-
return normalized.length === 1 && ((_a = normalized[0]) === null || _a === void 0 ? void 0 : _a.length) === 1
|
|
661
|
-
? normalized
|
|
662
|
-
: null;
|
|
663
|
-
}
|
|
664
|
-
function isClipboardRangeFillEnabled(useClipboard) {
|
|
665
|
-
return (typeof useClipboard === 'object' && useClipboard.rangeFill === true);
|
|
666
|
-
}
|
|
667
|
-
function trimTrailingEmptyClipboardRows(data) {
|
|
668
|
-
const rows = [...data];
|
|
669
|
-
while (rows.length > 1 && isEmptyClipboardRow(rows[rows.length - 1])) {
|
|
670
|
-
rows.pop();
|
|
671
|
-
}
|
|
672
|
-
return rows;
|
|
673
|
-
}
|
|
674
|
-
function isEmptyClipboardRow(row) {
|
|
675
|
-
return !row || row.every(cell => cell === '');
|
|
676
|
-
}
|
|
677
|
-
|
|
678
654
|
const revogrOverlayStyleCss = () => `revogr-overlay-selection{display:block;position:relative;width:100%}revogr-overlay-selection .autofill-handle{position:absolute;width:14px;height:14px;margin-left:-13px;margin-top:-13px;z-index:10;cursor:crosshair}revogr-overlay-selection .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection.mobile .autofill-handle{position:absolute;width:30px;height:30px;margin-left:-29px;margin-top:-29px;z-index:10;cursor:crosshair}revogr-overlay-selection.mobile .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection .selection-border-range{position:absolute;pointer-events:none;z-index:9;box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset}revogr-overlay-selection .selection-border-range .range-handlers{height:100%;background-color:transparent;width:75%;max-width:50px;min-width:20px;left:50%;transform:translateX(-50%);position:absolute}revogr-overlay-selection .selection-border-range .range-handlers>span{pointer-events:auto;height:20px;width:20px;position:absolute;left:50%;transform:translateX(-50%)}revogr-overlay-selection .selection-border-range .range-handlers>span:before,revogr-overlay-selection .selection-border-range .range-handlers>span:after{position:absolute;border-radius:5px;width:15px;height:5px;left:50%;transform:translateX(-50%);background-color:rgba(0, 0, 0, 0.2)}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child{top:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child:before{content:"";top:0}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child{bottom:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child:after{content:"";bottom:0}revogr-overlay-selection revogr-edit{z-index:10}`;
|
|
679
655
|
|
|
680
656
|
const OverlaySelection = class {
|
|
@@ -922,9 +898,9 @@ const OverlaySelection = class {
|
|
|
922
898
|
nodes.push(index.h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, rowType: this.types.rowType, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
923
899
|
}
|
|
924
900
|
}
|
|
925
|
-
return (index.h(index.Host, { key: '
|
|
901
|
+
return (index.h(index.Host, { key: 'd936e8452e84c7a25ecd6502e929f1a5af69467f', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true), onCloseedit: (e) => this.closeEdit(e),
|
|
926
902
|
// it's done to be able to throw events from different levels, not just from editor
|
|
927
|
-
onCelledit: (e) => this.onEditCell(e) }, nodes, index.h("slot", { key: '
|
|
903
|
+
onCelledit: (e) => this.onEditCell(e) }, nodes, index.h("slot", { key: 'cd3525d404aa44fd8d06e7fc459777acb8a9d585', name: "data" })));
|
|
928
904
|
}
|
|
929
905
|
/**
|
|
930
906
|
* Executes the focus operation on the specified range of cells.
|
|
@@ -1089,25 +1065,13 @@ const OverlaySelection = class {
|
|
|
1089
1065
|
if (!focus || isEditing) {
|
|
1090
1066
|
return;
|
|
1091
1067
|
}
|
|
1092
|
-
|
|
1093
|
-
const targetRange = rangeFillData
|
|
1094
|
-
? this.getClipboardPasteTargetRange()
|
|
1095
|
-
: null;
|
|
1096
|
-
let { changed, range } = this.columnService.getTransformedDataToApply({
|
|
1097
|
-
start: focus,
|
|
1098
|
-
data: rangeFillData || data,
|
|
1099
|
-
targetRange,
|
|
1100
|
-
});
|
|
1068
|
+
let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
|
|
1101
1069
|
const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, models: collectModelsOfRange(changed, this.dataStore), range }, this.types));
|
|
1102
1070
|
if (canPaste) {
|
|
1103
1071
|
return;
|
|
1104
1072
|
}
|
|
1105
1073
|
(_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(changed, range, range);
|
|
1106
1074
|
}
|
|
1107
|
-
getClipboardPasteTargetRange() {
|
|
1108
|
-
const range = this.selectionStore.get('range');
|
|
1109
|
-
return range && !column_service.isRangeSingleCell(range) ? range : null;
|
|
1110
|
-
}
|
|
1111
1075
|
async focusNext() {
|
|
1112
1076
|
var _a;
|
|
1113
1077
|
const canFocus = await ((_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyChangeSelection(new KeyboardEvent('keydown', {
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.js');
|
|
7
|
-
var column_service = require('./column.service-
|
|
7
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
8
8
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
9
|
-
var cellRenderer = require('./cell-renderer-
|
|
9
|
+
var cellRenderer = require('./cell-renderer-Dcz022q7.js');
|
|
10
10
|
var filter_button = require('./filter.button-w6LWnyhi.js');
|
|
11
|
-
var headerCellRenderer = require('./header-cell-renderer-
|
|
11
|
+
var headerCellRenderer = require('./header-cell-renderer-vVr4IWNV.js');
|
|
12
12
|
var throttle = require('./throttle-BCwEuJJq.js');
|
|
13
13
|
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
14
14
|
require('./debounce-CcpHiH2p.js');
|
|
@@ -830,17 +830,9 @@ const RevogrViewportScroll = class {
|
|
|
830
830
|
}
|
|
831
831
|
render() {
|
|
832
832
|
var _a, _b;
|
|
833
|
-
const
|
|
834
|
-
// When content fits in the viewport (no scroll needed), don't inflate content-wrapper
|
|
835
|
-
// to clientHeight — that would prevent inner-content-table from shrinking and push
|
|
836
|
-
// rowPinEnd (footer) to the bottom instead of letting it follow the data rows.
|
|
837
|
-
// For large/compressed grids (content > clientHeight), physicalContentHeight handles
|
|
838
|
-
// the browser scroll-size compression correctly.
|
|
839
|
-
const physicalContentHeight = this.contentHeight < clientHeight
|
|
840
|
-
? Math.max(this.contentHeight, 0)
|
|
841
|
-
: throttle.getContentSize(this.contentHeight, clientHeight);
|
|
833
|
+
const physicalContentHeight = throttle.getContentSize(this.contentHeight, (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0);
|
|
842
834
|
const physicalContentWidth = throttle.getContentSize(this.contentWidth, 0);
|
|
843
|
-
return (index.h(index.Host, { key: '
|
|
835
|
+
return (index.h(index.Host, { key: 'ec8d907976c1d50f7aab3c263be3f0249a274df6', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, index.h("div", { key: 'e35696a7993ac94261426b45c28d488cdc42b7f0', class: "inner-content-table", style: { width: `${physicalContentWidth}px` } }, index.h("div", { key: 'a6997451e01eacda1d27d4efa1d74e1748626218', class: "header-wrapper", ref: e => (this.header = e) }, index.h("slot", { key: '1d401e87d32d5b1531c2211723b552bbc894f22c', name: viewport_helpers.HEADER_SLOT })), index.h("div", { key: 'ceab6f9e812d6ca9a0aa376afcd2562a17f505e0', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, index.h("div", { key: 'a9556578a23d6efddec2e982e863aec064042154', class: "content-wrapper", style: { height: `${physicalContentHeight}px` } }, index.h("slot", { key: '0ae01f9736b9740612e75261f6e3abebda533377', name: viewport_helpers.CONTENT_SLOT }))), index.h("div", { key: '09c2565d4ed449a43820f92d97b6558fca3758e7', class: "footer-wrapper", ref: e => (this.footer = e) }, index.h("slot", { key: '1ffb08ff8138a560cc09d82e3fe22a53e502aafe', name: viewport_helpers.FOOTER_SLOT })))));
|
|
844
836
|
}
|
|
845
837
|
/**
|
|
846
838
|
* Extra layer for scroll event monitoring, where MouseWheel event is not passing
|