@revolist/revogrid 4.21.2 → 4.21.3
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-EyG5RkCf.js → cell-renderer-BLcxDHzP.js} +2 -2
- package/dist/cjs/{column.drag.plugin-DuMzh_Cm.js → column.drag.plugin-DfTAC5Qc.js} +4 -4
- package/dist/cjs/{column.service-BNgb1GSr.js → column.service-BmT2HOnj.js} +1 -1
- package/dist/cjs/{dimension.helpers-DLLC6uO6.js → dimension.helpers-BOxHtX5T.js} +13 -3
- package/dist/cjs/{edit.utils-BWpSdGmj.js → edit.utils-DnvQVP4H.js} +1 -1
- package/dist/cjs/{header-cell-renderer-BReLylCk.js → header-cell-renderer-7DgGThjq.js} +1 -1
- package/dist/cjs/index.cjs.js +9 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +43 -11
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +5 -5
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -3
- package/dist/cjs/revogr-data_4.cjs.entry.js +8 -7
- package/dist/cjs/{text-editor-tI8PMl7r.js → text-editor-B9ibcdrl.js} +2 -2
- package/dist/cjs/{throttle-Rub9czPz.js → throttle-DkuCcmB0.js} +1 -1
- package/dist/cjs/{viewport.store-Bkhj0ZmO.js → viewport.store-DG-4bWqg.js} +1 -1
- package/dist/collection/components/clipboard/revogr-clipboard.js +6 -4
- package/dist/collection/components/revoGrid/revo-grid.js +63 -2
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +2 -2
- package/dist/collection/components/revoGrid/viewport.service.js +2 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +23 -2
- package/dist/collection/services/data.provider.js +18 -2
- package/dist/collection/store/dataSource/data.store.js +14 -4
- package/dist/collection/types/events.js +1 -0
- package/dist/{revo-grid/cell-renderer-BDmepZJO.js → esm/cell-renderer-BNeaYjy6.js} +2 -2
- package/dist/esm/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
- package/dist/esm/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
- package/dist/{revo-grid/dimension.helpers-C2F2Cuh8.js → esm/dimension.helpers-B-5OBYes.js} +13 -3
- package/dist/esm/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
- package/dist/{revo-grid/header-cell-renderer-DO0jvvbw.js → esm/header-cell-renderer-WkTbrmr7.js} +1 -1
- package/dist/esm/index.js +10 -9
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +43 -11
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +5 -5
- package/dist/esm/revogr-clipboard_3.entry.js +5 -3
- package/dist/esm/revogr-data_4.entry.js +8 -7
- package/dist/{revo-grid/text-editor-BylR9oxh.js → esm/text-editor-DZSx2pWr.js} +2 -2
- package/dist/esm/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
- package/dist/{revo-grid/viewport.store-C3ajQgRm.js → esm/viewport.store-BGWR3XfI.js} +1 -1
- package/dist/{esm/cell-renderer-BDmepZJO.js → revo-grid/cell-renderer-BNeaYjy6.js} +2 -2
- package/dist/revo-grid/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
- package/dist/revo-grid/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
- package/dist/{esm/dimension.helpers-C2F2Cuh8.js → revo-grid/dimension.helpers-B-5OBYes.js} +13 -3
- package/dist/revo-grid/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
- package/dist/{esm/header-cell-renderer-DO0jvvbw.js → revo-grid/header-cell-renderer-WkTbrmr7.js} +1 -1
- package/dist/revo-grid/index.esm.js +10 -9
- package/dist/revo-grid/revo-grid.entry.js +43 -11
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +5 -5
- package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -3
- package/dist/revo-grid/revogr-data_4.entry.js +8 -7
- package/dist/{esm/text-editor-BylR9oxh.js → revo-grid/text-editor-DZSx2pWr.js} +2 -2
- package/dist/revo-grid/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
- package/dist/{esm/viewport.store-C3ajQgRm.js → revo-grid/viewport.store-BGWR3XfI.js} +1 -1
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +2 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +11 -0
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +1 -1
- package/dist/types/components/revoGrid/viewport.service.d.ts +1 -0
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +1 -0
- package/dist/types/components.d.ts +33 -0
- package/dist/types/services/data.provider.d.ts +15 -1
- package/dist/types/store/dataSource/data.store.d.ts +3 -1
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/viewport.interfaces.d.ts +7 -2
- package/hydrate/index.js +58 -11
- package/hydrate/index.mjs +58 -11
- package/package.json +1 -1
- package/readme.md +2 -0
- package/standalone/data.store.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-clipboard2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { M as ColumnService, u as isGrouping, K as baseEach } from './column.service-
|
|
6
|
-
import { Q as ROW_FOCUSED_CLASS, b as getSourceItem, y as DATA_ROW, x as DATA_COL, a3 as getNative, a4 as baseIteratee, Y as isArray, M as MIN_COL_SIZE, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, E as HEADER_ROW_CLASS, F as HEADER_ACTUAL_ROW_CLASS, k as getItemByIndex } from './dimension.helpers-
|
|
7
|
-
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-
|
|
5
|
+
import { M as ColumnService, u as isGrouping, K as baseEach } from './column.service-8pPNyrKn.js';
|
|
6
|
+
import { Q as ROW_FOCUSED_CLASS, b as getSourceItem, y as DATA_ROW, x as DATA_COL, a3 as getNative, a4 as baseIteratee, Y as isArray, M as MIN_COL_SIZE, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, E as HEADER_ROW_CLASS, F as HEADER_ACTUAL_ROW_CLASS, k as getItemByIndex } from './dimension.helpers-B-5OBYes.js';
|
|
7
|
+
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-BNeaYjy6.js';
|
|
8
8
|
import { c as FilterButton } from './filter.button-C8XTWPU2.js';
|
|
9
|
-
import { H as HeaderCellRenderer } from './header-cell-renderer-
|
|
10
|
-
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-
|
|
9
|
+
import { H as HeaderCellRenderer } from './header-cell-renderer-WkTbrmr7.js';
|
|
10
|
+
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-CYM0qC3v.js';
|
|
11
11
|
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-VXhsJZtn.js';
|
|
12
12
|
import './debounce-BfO9dz9v.js';
|
|
13
13
|
|
|
@@ -644,6 +644,7 @@ const RevogrViewportScroll = class {
|
|
|
644
644
|
* Height of inner content
|
|
645
645
|
*/
|
|
646
646
|
this.contentHeight = 0;
|
|
647
|
+
this.noHorizontalScrollTransfer = false;
|
|
647
648
|
}
|
|
648
649
|
async setScroll(e) {
|
|
649
650
|
var _a;
|
|
@@ -828,7 +829,7 @@ const RevogrViewportScroll = class {
|
|
|
828
829
|
this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
|
|
829
830
|
}
|
|
830
831
|
render() {
|
|
831
|
-
return (h(Host, { key: '
|
|
832
|
+
return (h(Host, { key: 'adc7378dba1794ca2ec263d52b09abefe50bcbfd', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, h("div", { key: '7b57a8a0ea44629fefcfe4d2cd77bf0f048d8e06', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, h("div", { key: 'cca3de158bc2a7f0651f578a281819be5698b257', class: "header-wrapper", ref: e => (this.header = e) }, h("slot", { key: '1d170147dabe034f2c35481a8e2fedd6de2b6aed', name: HEADER_SLOT })), h("div", { key: 'b6dd29a91bb1f380a83a035dfdb749ca669936f2', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, h("div", { key: '9bce27bf8ec4d3b679aa9a34eb6379a8c2d46cac', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, h("slot", { key: 'b44a082c9fbb948fd87bd235b4cd4356fd4a3536', name: CONTENT_SLOT }))), h("div", { key: '28c305ff6bc664f1d1bbb117e8b8565c8d4bb6b2', class: "footer-wrapper", ref: e => (this.footer = e) }, h("slot", { key: '96312fb7f18198fd1feb9dcc00c79cde74ba9c9f', name: FOOTER_SLOT })))));
|
|
832
833
|
}
|
|
833
834
|
/**
|
|
834
835
|
* Extra layer for scroll event monitoring, where MouseWheel event is not passing
|
|
@@ -907,7 +908,7 @@ const RevogrViewportScroll = class {
|
|
|
907
908
|
const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;
|
|
908
909
|
// Detect if the user has reached the left end
|
|
909
910
|
const atLeft = scrollLeft === 0 && e.deltaX < 0;
|
|
910
|
-
if (!atRight && !atLeft) {
|
|
911
|
+
if (!atRight && !atLeft && !this.noHorizontalScrollTransfer) {
|
|
911
912
|
(_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
|
|
912
913
|
}
|
|
913
914
|
const pos = scrollLeft + e[delta];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { d as isTab, f as isEnterKeyValue } from './edit.utils-
|
|
5
|
-
import { u as timeout } from './dimension.helpers-
|
|
4
|
+
import { d as isTab, f as isEnterKeyValue } from './edit.utils-CQjRmx5n.js';
|
|
5
|
+
import { u as timeout } from './dimension.helpers-B-5OBYes.js';
|
|
6
6
|
|
|
7
7
|
class TextEditor {
|
|
8
8
|
constructor(data, saveCallback) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { q as scaleValue } from './dimension.helpers-
|
|
4
|
+
import { q as scaleValue } from './dimension.helpers-B-5OBYes.js';
|
|
5
5
|
import { d as debounce, a as isObject } from './debounce-BfO9dz9v.js';
|
|
6
6
|
|
|
7
7
|
const initialParams = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { j as getItemByPosition, W as createStore, w as setStore } from './dimension.helpers-
|
|
4
|
+
import { j as getItemByPosition, W as createStore, w as setStore } from './dimension.helpers-B-5OBYes.js';
|
|
5
5
|
|
|
6
6
|
const LETTER_BLOCK_SIZE = 10;
|
|
7
7
|
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
@@ -24,6 +24,7 @@ export declare class Clipboard {
|
|
|
24
24
|
beforePasteApply: EventEmitter<{
|
|
25
25
|
raw: string;
|
|
26
26
|
parsed: string[][];
|
|
27
|
+
dataText: string;
|
|
27
28
|
event: ClipboardEvent;
|
|
28
29
|
}>;
|
|
29
30
|
/**
|
|
@@ -39,6 +40,7 @@ export declare class Clipboard {
|
|
|
39
40
|
afterPasteApply: EventEmitter<{
|
|
40
41
|
raw: string;
|
|
41
42
|
parsed: string[][];
|
|
43
|
+
dataText: string;
|
|
42
44
|
event: ClipboardEvent;
|
|
43
45
|
}>;
|
|
44
46
|
/**
|
|
@@ -65,6 +65,10 @@ export declare class RevoGridComponent {
|
|
|
65
65
|
readonly: boolean;
|
|
66
66
|
/** When true, columns are resizable. */
|
|
67
67
|
resize: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
70
|
+
*/
|
|
71
|
+
noHorizontalScrollTransfer: boolean;
|
|
68
72
|
/** When true cell focus appear. */
|
|
69
73
|
canFocus: boolean;
|
|
70
74
|
/** When true enable clipboard. */
|
|
@@ -345,6 +349,13 @@ export declare class RevoGridComponent {
|
|
|
345
349
|
type: DimensionRows;
|
|
346
350
|
source: DataType[];
|
|
347
351
|
}>;
|
|
352
|
+
/**
|
|
353
|
+
* Emitted before user column definitions are gathered into the internal column collection.
|
|
354
|
+
* Listeners can replace `detail.columns` to rewrite the raw column set before RevoGrid normalizes it.
|
|
355
|
+
*/
|
|
356
|
+
beforecolumnsgather: EventEmitter<{
|
|
357
|
+
columns: (ColumnGrouping | ColumnRegular)[];
|
|
358
|
+
}>;
|
|
348
359
|
/**
|
|
349
360
|
* Emitted before a column update is applied.
|
|
350
361
|
* Listeners can use this event to perform any necessary actions or modifications before the column update is finalized.
|
|
@@ -3,7 +3,7 @@ export default class GridScrollingService {
|
|
|
3
3
|
private setViewport;
|
|
4
4
|
private elements;
|
|
5
5
|
constructor(setViewport: (e: ViewPortScrollEvent) => void);
|
|
6
|
-
proxyScroll(e: ViewPortScrollEvent, key?: DimensionColPin | string): Promise<void>;
|
|
6
|
+
proxyScroll(e: ViewPortScrollEvent, key?: DimensionColPin | string, skipEvent?: boolean): Promise<void>;
|
|
7
7
|
/**
|
|
8
8
|
* Silent scroll update for mobile devices when we have negative scroll top
|
|
9
9
|
*/
|
|
@@ -17,6 +17,7 @@ type Config = {
|
|
|
17
17
|
scrollingService: GridScrollingService;
|
|
18
18
|
orderService: OrdererService;
|
|
19
19
|
selectionStoreConnector: SelectionStoreConnector;
|
|
20
|
+
noHorizontalScrollTransfer?: boolean;
|
|
20
21
|
disableVirtualX?: boolean;
|
|
21
22
|
disableVirtualY?: boolean;
|
|
22
23
|
resize(r: ResizeDetails): void;
|
|
@@ -204,6 +204,11 @@ export namespace Components {
|
|
|
204
204
|
* @default []
|
|
205
205
|
*/
|
|
206
206
|
"jobsBeforeRender": Promise<any>[];
|
|
207
|
+
/**
|
|
208
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
209
|
+
* @default false
|
|
210
|
+
*/
|
|
211
|
+
"noHorizontalScrollTransfer": boolean;
|
|
207
212
|
/**
|
|
208
213
|
* Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source.
|
|
209
214
|
* @default []
|
|
@@ -791,6 +796,10 @@ export namespace Components {
|
|
|
791
796
|
* @default 0
|
|
792
797
|
*/
|
|
793
798
|
"contentWidth": number;
|
|
799
|
+
/**
|
|
800
|
+
* @default false
|
|
801
|
+
*/
|
|
802
|
+
"noHorizontalScrollTransfer": boolean;
|
|
794
803
|
/**
|
|
795
804
|
* Enable row header
|
|
796
805
|
*/
|
|
@@ -899,6 +908,9 @@ declare global {
|
|
|
899
908
|
"afteranysource": {
|
|
900
909
|
type: DimensionRows;
|
|
901
910
|
source: DataType[];
|
|
911
|
+
};
|
|
912
|
+
"beforecolumnsgather": {
|
|
913
|
+
columns: (ColumnGrouping | ColumnRegular)[];
|
|
902
914
|
};
|
|
903
915
|
"beforecolumnsset": ColumnCollection;
|
|
904
916
|
"beforecolumnapplied": ColumnCollection;
|
|
@@ -976,12 +988,14 @@ declare global {
|
|
|
976
988
|
"beforepasteapply": {
|
|
977
989
|
raw: string;
|
|
978
990
|
parsed: string[][];
|
|
991
|
+
dataText: string;
|
|
979
992
|
event: ClipboardEvent;
|
|
980
993
|
};
|
|
981
994
|
"pasteregion": string[][];
|
|
982
995
|
"afterpasteapply": {
|
|
983
996
|
raw: string;
|
|
984
997
|
parsed: string[][];
|
|
998
|
+
dataText: string;
|
|
985
999
|
event: ClipboardEvent;
|
|
986
1000
|
};
|
|
987
1001
|
"beforecut": {
|
|
@@ -1451,6 +1465,11 @@ declare namespace LocalJSX {
|
|
|
1451
1465
|
* @default []
|
|
1452
1466
|
*/
|
|
1453
1467
|
"jobsBeforeRender"?: Promise<any>[];
|
|
1468
|
+
/**
|
|
1469
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
1470
|
+
* @default false
|
|
1471
|
+
*/
|
|
1472
|
+
"noHorizontalScrollTransfer"?: boolean;
|
|
1454
1473
|
/**
|
|
1455
1474
|
* Emmited after the additional data is changed
|
|
1456
1475
|
*/
|
|
@@ -1525,6 +1544,12 @@ declare namespace LocalJSX {
|
|
|
1525
1544
|
* Emitted before a column update is applied, after the column set is gathered and the viewport is updated. Useful for performing actions or modifications before the final application of the column update.
|
|
1526
1545
|
*/
|
|
1527
1546
|
"onBeforecolumnapplied"?: (event: RevoGridCustomEvent<ColumnCollection>) => void;
|
|
1547
|
+
/**
|
|
1548
|
+
* Emitted before user column definitions are gathered into the internal column collection. Listeners can replace `detail.columns` to rewrite the raw column set before RevoGrid normalizes it.
|
|
1549
|
+
*/
|
|
1550
|
+
"onBeforecolumnsgather"?: (event: RevoGridCustomEvent<{
|
|
1551
|
+
columns: (ColumnGrouping | ColumnRegular)[];
|
|
1552
|
+
}>) => void;
|
|
1528
1553
|
/**
|
|
1529
1554
|
* Emitted before a column update is applied. Listeners can use this event to perform any necessary actions or modifications before the column update is finalized.
|
|
1530
1555
|
*/
|
|
@@ -1750,6 +1775,7 @@ declare namespace LocalJSX {
|
|
|
1750
1775
|
"onAfterpasteapply"?: (event: RevogrClipboardCustomEvent<{
|
|
1751
1776
|
raw: string;
|
|
1752
1777
|
parsed: string[][];
|
|
1778
|
+
dataText: string;
|
|
1753
1779
|
event: ClipboardEvent;
|
|
1754
1780
|
}>) => void;
|
|
1755
1781
|
/**
|
|
@@ -1786,6 +1812,7 @@ declare namespace LocalJSX {
|
|
|
1786
1812
|
"onBeforepasteapply"?: (event: RevogrClipboardCustomEvent<{
|
|
1787
1813
|
raw: string;
|
|
1788
1814
|
parsed: string[][];
|
|
1815
|
+
dataText: string;
|
|
1789
1816
|
event: ClipboardEvent;
|
|
1790
1817
|
}>) => void;
|
|
1791
1818
|
/**
|
|
@@ -2425,6 +2452,10 @@ declare namespace LocalJSX {
|
|
|
2425
2452
|
* @default 0
|
|
2426
2453
|
*/
|
|
2427
2454
|
"contentWidth"?: number;
|
|
2455
|
+
/**
|
|
2456
|
+
* @default false
|
|
2457
|
+
*/
|
|
2458
|
+
"noHorizontalScrollTransfer"?: boolean;
|
|
2428
2459
|
/**
|
|
2429
2460
|
* Viewport resize
|
|
2430
2461
|
*/
|
|
@@ -2465,6 +2496,7 @@ declare namespace LocalJSX {
|
|
|
2465
2496
|
"range": boolean;
|
|
2466
2497
|
"readonly": boolean;
|
|
2467
2498
|
"resize": boolean;
|
|
2499
|
+
"noHorizontalScrollTransfer": boolean;
|
|
2468
2500
|
"canFocus": boolean;
|
|
2469
2501
|
"useClipboard": boolean;
|
|
2470
2502
|
"applyOnClose": boolean;
|
|
@@ -2542,6 +2574,7 @@ declare namespace LocalJSX {
|
|
|
2542
2574
|
"contentWidth": number;
|
|
2543
2575
|
"contentHeight": number;
|
|
2544
2576
|
"colType": DimensionCols | 'rowHeaders';
|
|
2577
|
+
"noHorizontalScrollTransfer": boolean;
|
|
2545
2578
|
}
|
|
2546
2579
|
|
|
2547
2580
|
interface IntrinsicElements {
|
|
@@ -14,11 +14,25 @@ export declare class DataProvider {
|
|
|
14
14
|
private dimensionProvider;
|
|
15
15
|
readonly stores: RowDataSources;
|
|
16
16
|
constructor(dimensionProvider: DimensionProvider);
|
|
17
|
+
/**
|
|
18
|
+
* Replaces the data source for a row type and synchronizes the related dimension metadata.
|
|
19
|
+
*
|
|
20
|
+
* `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
|
|
21
|
+
* Pinned row types skip virtual row recalculation because they are rendered directly.
|
|
22
|
+
*
|
|
23
|
+
* @param data Full source data assigned to the target row store.
|
|
24
|
+
* @param type Row collection to update. Defaults to the main body rows.
|
|
25
|
+
* @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
|
|
26
|
+
* @param grouping Optional grouping metadata applied together with the new data set.
|
|
27
|
+
* @param silent Preserves the current trimmed state instead of resetting it during the update.
|
|
28
|
+
* @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
|
|
29
|
+
* @returns The same `data` array that was provided to the method.
|
|
30
|
+
*/
|
|
17
31
|
setData(data: DataType[], type?: DimensionRows, disableVirtualRows?: boolean, grouping?: {
|
|
18
32
|
depth: number;
|
|
19
33
|
groups?: Groups;
|
|
20
34
|
customRenderer?: GroupLabelTemplateFunc;
|
|
21
|
-
}, silent?: boolean): DataType[];
|
|
35
|
+
}, silent?: boolean, preserveTrimmed?: boolean): DataType[];
|
|
22
36
|
getModel(virtualIndex: number, type?: DimensionRows): DataType;
|
|
23
37
|
changeOrder({ rowType, from, to }: {
|
|
24
38
|
rowType: DimensionRows;
|
|
@@ -25,12 +25,14 @@ export declare class DataStore<T extends GDataType, ST extends GDimension> {
|
|
|
25
25
|
* full data source update
|
|
26
26
|
* @param source - data column/rgRow source
|
|
27
27
|
* @param grouping - grouping information if present
|
|
28
|
+
* @param silent - if true, store will be updated without resetting trimmed state
|
|
29
|
+
* @param preserveTrimmed - if true, current trimmed indexes will be re-applied to the new source, use with caution because physical indexes may change across full data refreshes
|
|
28
30
|
*/
|
|
29
31
|
updateData(source: T[], grouping?: {
|
|
30
32
|
depth: number;
|
|
31
33
|
groups?: Groups;
|
|
32
34
|
customRenderer?: GroupLabelTemplateFunc;
|
|
33
|
-
}, silent?: boolean): void;
|
|
35
|
+
}, silent?: boolean, preserveTrimmed?: boolean): void;
|
|
34
36
|
addTrimmed(some: Partial<Trimmed>): void;
|
|
35
37
|
setSourceData(items: Record<number, any>, mutate?: boolean): void;
|
|
36
38
|
setData(input: Partial<DSourceState<T, ST>>): void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type RevogridEvents = 'contentsizechanged' | 'beforeedit' | 'beforerangeedit' | 'afteredit' | 'beforeautofill' | 'beforerange' | 'afterfocus' | 'roworderchanged' | 'beforesorting' | 'beforesourcesortingapply' | 'beforesortingapply' | 'rowdragstart' | 'headerclick' | 'beforecellfocus' | 'beforefocuslost' | 'beforesourceset' | 'beforeanysource' | 'aftersourceset' | 'afteranysource' | 'beforecolumnsset' | 'beforecolumnapplied' | 'aftercolumnsset' | 'beforefilterapply' | 'beforefiltertrimmed' | 'beforetrimmed' | 'aftertrimmed' | 'viewportscroll' | 'beforeexport' | 'beforeeditstart' | 'aftercolumnresize' | 'beforerowdefinition' | 'filterconfigchanged' | 'sortingconfigchanged' | 'rowheaderschanged' | 'beforegridrender' | 'aftergridrender' | 'aftergridinit' | 'additionaldatachanged' | 'afterthemechanged' | 'created' | 'beforepaste' | 'beforepasteapply' | 'pasteregion' | 'afterpasteapply' | 'beforecut' | 'clearregion' | 'beforecopy' | 'beforecopyapply' | 'copyregion' | 'beforerowrender' | 'afterrender' | 'beforecellrender' | 'beforedatarender' | 'dragstartcell' | 'celleditinit' | 'closeedit' | 'filterChange' | 'resetChange' | 'beforefocusrender' | 'beforescrollintoview' | 'afterfocus' | 'beforeheaderclick' | 'headerresize' | 'beforeheaderresize' | 'headerdblclick' | 'beforeheaderrender' | 'beforegroupheaderrender' | 'afterheaderrender' | 'rowdragstartinit' | 'rowdragendinit' | 'rowdragmoveinit' | 'rowdragmousemove' | 'rowdropinit' | 'roworderchange' | 'beforecopyregion' | 'beforepasteregion' | 'celleditapply' | 'beforecellfocusinit' | 'beforenextvpfocus' | 'setedit' | 'beforeapplyrange' | 'beforesetrange' | 'setrange' | 'beforeeditrender' | 'selectall' | 'canceledit' | 'settemprange' | 'beforesettemprange' | 'applyfocus' | 'focuscell' | 'beforerangedataapply' | 'selectionchangeinit' | 'beforerangecopyapply' | 'rangeeditapply' | 'clipboardrangecopy' | 'clipboardrangepaste' | 'beforekeydown' | 'beforekeyup' | 'beforecellsave' | 'celledit' | 'scrollview' | 'ref' | 'scrollvirtual' | 'scrollviewport' | 'resizeviewport' | 'scrollchange' | 'scrollviewportsilent' | 'html';
|
|
1
|
+
export type RevogridEvents = 'contentsizechanged' | 'beforeedit' | 'beforerangeedit' | 'afteredit' | 'beforeautofill' | 'beforerange' | 'afterfocus' | 'roworderchanged' | 'beforesorting' | 'beforesourcesortingapply' | 'beforesortingapply' | 'rowdragstart' | 'headerclick' | 'beforecellfocus' | 'beforefocuslost' | 'beforesourceset' | 'beforeanysource' | 'aftersourceset' | 'afteranysource' | 'beforecolumnsgather' | 'beforecolumnsset' | 'beforecolumnapplied' | 'aftercolumnsset' | 'beforefilterapply' | 'beforefiltertrimmed' | 'beforetrimmed' | 'aftertrimmed' | 'viewportscroll' | 'beforeexport' | 'beforeeditstart' | 'aftercolumnresize' | 'beforerowdefinition' | 'filterconfigchanged' | 'sortingconfigchanged' | 'rowheaderschanged' | 'beforegridrender' | 'aftergridrender' | 'aftergridinit' | 'additionaldatachanged' | 'afterthemechanged' | 'created' | 'beforepaste' | 'beforepasteapply' | 'pasteregion' | 'afterpasteapply' | 'beforecut' | 'clearregion' | 'beforecopy' | 'beforecopyapply' | 'copyregion' | 'beforerowrender' | 'afterrender' | 'beforecellrender' | 'beforedatarender' | 'dragstartcell' | 'celleditinit' | 'closeedit' | 'filterChange' | 'resetChange' | 'beforefocusrender' | 'beforescrollintoview' | 'afterfocus' | 'beforeheaderclick' | 'headerresize' | 'beforeheaderresize' | 'headerdblclick' | 'beforeheaderrender' | 'beforegroupheaderrender' | 'afterheaderrender' | 'rowdragstartinit' | 'rowdragendinit' | 'rowdragmoveinit' | 'rowdragmousemove' | 'rowdropinit' | 'roworderchange' | 'beforecopyregion' | 'beforepasteregion' | 'celleditapply' | 'beforecellfocusinit' | 'beforenextvpfocus' | 'setedit' | 'beforeapplyrange' | 'beforesetrange' | 'setrange' | 'beforeeditrender' | 'selectall' | 'canceledit' | 'settemprange' | 'beforesettemprange' | 'applyfocus' | 'focuscell' | 'beforerangedataapply' | 'selectionchangeinit' | 'beforerangecopyapply' | 'rangeeditapply' | 'clipboardrangecopy' | 'clipboardrangepaste' | 'beforekeydown' | 'beforekeyup' | 'beforecellsave' | 'celledit' | 'scrollview' | 'ref' | 'scrollvirtual' | 'scrollviewport' | 'resizeviewport' | 'scrollchange' | 'scrollviewportsilent' | 'html';
|
|
2
2
|
export declare const REVOGRID_EVENTS: Map<RevogridEvents, RevogridEvents>;
|
|
@@ -6,6 +6,7 @@ import type { RowDataSources } from '../services/data.provider';
|
|
|
6
6
|
import type { JSX } from '..';
|
|
7
7
|
export type SlotType = 'content' | 'header' | 'footer';
|
|
8
8
|
export interface ElementScroll {
|
|
9
|
+
noHorizontalScrollTransfer?: boolean;
|
|
9
10
|
changeScroll?(e: ViewPortScrollEvent, silent?: boolean): Promise<ViewPortScrollEvent | undefined>;
|
|
10
11
|
setScroll?(e: ViewPortScrollEvent): Promise<void>;
|
|
11
12
|
}
|
|
@@ -13,7 +14,9 @@ export type ElementsScroll = {
|
|
|
13
14
|
[key: string]: ElementScroll[];
|
|
14
15
|
};
|
|
15
16
|
export type HeaderProperties = JSX.RevogrHeader;
|
|
16
|
-
export type ViewportProperties = JSX.RevogrViewportScroll &
|
|
17
|
+
export type ViewportProperties = JSX.RevogrViewportScroll & {
|
|
18
|
+
noHorizontalScrollTransfer?: boolean;
|
|
19
|
+
} & JSXBase.HTMLAttributes<HTMLRevogrViewportScrollElement>;
|
|
17
20
|
export type ViewportColumn = {
|
|
18
21
|
colType: DimensionCols;
|
|
19
22
|
position: Cell;
|
|
@@ -22,7 +25,9 @@ export type ViewportColumn = {
|
|
|
22
25
|
dimensions: DimensionStoreCollection;
|
|
23
26
|
rowStores: RowDataSources;
|
|
24
27
|
colStore: Observable<DSourceState<ColumnRegular, DimensionCols>>;
|
|
25
|
-
} & Partial<JSX.RevogrViewportScroll> &
|
|
28
|
+
} & Partial<JSX.RevogrViewportScroll> & {
|
|
29
|
+
noHorizontalScrollTransfer?: boolean;
|
|
30
|
+
} & Partial<JSX.RevogrHeader>;
|
|
26
31
|
export type ViewportData = {
|
|
27
32
|
/** Slot to put data */
|
|
28
33
|
slot: SlotType;
|
package/hydrate/index.js
CHANGED
|
@@ -6769,6 +6769,7 @@ class Clipboard {
|
|
|
6769
6769
|
const beforePasteApply = this.beforePasteApply.emit({
|
|
6770
6770
|
raw: data,
|
|
6771
6771
|
parsed: parsedData,
|
|
6772
|
+
dataText,
|
|
6772
6773
|
event: e,
|
|
6773
6774
|
});
|
|
6774
6775
|
if (beforePasteApply.defaultPrevented) {
|
|
@@ -6779,6 +6780,7 @@ class Clipboard {
|
|
|
6779
6780
|
const afterPasteApply = this.afterPasteApply.emit({
|
|
6780
6781
|
raw: data,
|
|
6781
6782
|
parsed: parsedData,
|
|
6783
|
+
dataText,
|
|
6782
6784
|
event: e,
|
|
6783
6785
|
});
|
|
6784
6786
|
// keep default behavior if needed
|
|
@@ -11357,8 +11359,16 @@ class DataStore {
|
|
|
11357
11359
|
* full data source update
|
|
11358
11360
|
* @param source - data column/rgRow source
|
|
11359
11361
|
* @param grouping - grouping information if present
|
|
11362
|
+
* @param silent - if true, store will be updated without resetting trimmed state
|
|
11363
|
+
* @param preserveTrimmed - if true, current trimmed indexes will be re-applied to the new source, use with caution because physical indexes may change across full data refreshes
|
|
11360
11364
|
*/
|
|
11361
|
-
updateData(source, grouping,
|
|
11365
|
+
updateData(source, grouping,
|
|
11366
|
+
// if true, store will be updated without resetting trimmed state
|
|
11367
|
+
silent = false,
|
|
11368
|
+
// if true, current trimmed indexes will be re-applied to the new source
|
|
11369
|
+
preserveTrimmed = false) {
|
|
11370
|
+
const trimmed = this.store.get('trimmed');
|
|
11371
|
+
const trimmedItems = silent && preserveTrimmed ? gatherTrimmedItems(trimmed) : null;
|
|
11362
11372
|
// during full update we do drop trim
|
|
11363
11373
|
if (!silent) {
|
|
11364
11374
|
this.store.set('trimmed', {});
|
|
@@ -11371,12 +11381,14 @@ class DataStore {
|
|
|
11371
11381
|
source,
|
|
11372
11382
|
proxyItems: [...items],
|
|
11373
11383
|
});
|
|
11374
|
-
//
|
|
11375
|
-
|
|
11384
|
+
// Explicit trim preservation is opt-in because physical indexes may change
|
|
11385
|
+
// across full data refreshes.
|
|
11386
|
+
this.store.set('items', trimmedItems ? items.filter(i => !trimmedItems[i]) : items);
|
|
11376
11387
|
// apply grouping if present
|
|
11377
11388
|
if (grouping) {
|
|
11378
11389
|
setStore(this.store, {
|
|
11379
11390
|
groupingDepth: grouping.depth,
|
|
11391
|
+
// if groups are not provided, we will consider that there is only one group with all items
|
|
11380
11392
|
groups: grouping.groups,
|
|
11381
11393
|
groupingCustomRenderer: grouping.customRenderer,
|
|
11382
11394
|
});
|
|
@@ -14569,9 +14581,25 @@ class DataProvider {
|
|
|
14569
14581
|
return sources;
|
|
14570
14582
|
}, {});
|
|
14571
14583
|
}
|
|
14572
|
-
|
|
14584
|
+
/**
|
|
14585
|
+
* Replaces the data source for a row type and synchronizes the related dimension metadata.
|
|
14586
|
+
*
|
|
14587
|
+
* `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
|
|
14588
|
+
* Pinned row types skip virtual row recalculation because they are rendered directly.
|
|
14589
|
+
*
|
|
14590
|
+
* @param data Full source data assigned to the target row store.
|
|
14591
|
+
* @param type Row collection to update. Defaults to the main body rows.
|
|
14592
|
+
* @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
|
|
14593
|
+
* @param grouping Optional grouping metadata applied together with the new data set.
|
|
14594
|
+
* @param silent Preserves the current trimmed state instead of resetting it during the update.
|
|
14595
|
+
* @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
|
|
14596
|
+
* @returns The same `data` array that was provided to the method.
|
|
14597
|
+
*/
|
|
14598
|
+
setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
|
|
14599
|
+
// if true, store will be updated without resetting trimmed state
|
|
14600
|
+
silent = false, preserveTrimmed = false) {
|
|
14573
14601
|
// set rgRow data
|
|
14574
|
-
this.stores[type].updateData([...data], grouping, silent);
|
|
14602
|
+
this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
|
|
14575
14603
|
// for pinned row no need virtual data
|
|
14576
14604
|
const noVirtual = type !== 'rgRow' || disableVirtualRows;
|
|
14577
14605
|
this.dimensionProvider.setData(data.length, type, noVirtual);
|
|
@@ -16928,6 +16956,7 @@ function gatherColumnData(data) {
|
|
|
16928
16956
|
contentHeight: data.contentHeight,
|
|
16929
16957
|
key: data.colType,
|
|
16930
16958
|
colType: data.colType,
|
|
16959
|
+
noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
|
|
16931
16960
|
onResizeviewport: data.onResizeviewport,
|
|
16932
16961
|
// set viewport size to real size
|
|
16933
16962
|
style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
|
|
@@ -16972,6 +17001,7 @@ class ViewportService {
|
|
|
16972
17001
|
viewports: config.viewportProvider.stores,
|
|
16973
17002
|
dimensions: config.dimensionProvider.stores,
|
|
16974
17003
|
rowStores: config.dataProvider.stores,
|
|
17004
|
+
noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
|
|
16975
17005
|
colStore,
|
|
16976
17006
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
16977
17007
|
};
|
|
@@ -17150,11 +17180,11 @@ class GridScrollingService {
|
|
|
17150
17180
|
this.setViewport = setViewport;
|
|
17151
17181
|
this.elements = {};
|
|
17152
17182
|
}
|
|
17153
|
-
async proxyScroll(e, key) {
|
|
17183
|
+
async proxyScroll(e, key, skipEvent) {
|
|
17154
17184
|
var _a;
|
|
17155
17185
|
let newEventPromise;
|
|
17156
17186
|
let event = e;
|
|
17157
|
-
for (let elKey in this.elements) {
|
|
17187
|
+
for (let elKey in (skipEvent ? {} : this.elements)) {
|
|
17158
17188
|
// skip
|
|
17159
17189
|
if (e.dimension === 'rgCol' && elKey === 'headerRow') {
|
|
17160
17190
|
continue;
|
|
@@ -18512,6 +18542,7 @@ class RevoGridComponent {
|
|
|
18512
18542
|
this.beforeanysource = createEvent(this, "beforeanysource", 7);
|
|
18513
18543
|
this.aftersourceset = createEvent(this, "aftersourceset", 7);
|
|
18514
18544
|
this.afteranysource = createEvent(this, "afteranysource", 7);
|
|
18545
|
+
this.beforecolumnsgather = createEvent(this, "beforecolumnsgather", 7);
|
|
18515
18546
|
this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
|
|
18516
18547
|
this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
|
|
18517
18548
|
this.aftercolumnsset = createEvent(this, "aftercolumnsset", 7);
|
|
@@ -18552,6 +18583,10 @@ class RevoGridComponent {
|
|
|
18552
18583
|
this.readonly = false;
|
|
18553
18584
|
/** When true, columns are resizable. */
|
|
18554
18585
|
this.resize = false;
|
|
18586
|
+
/**
|
|
18587
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
18588
|
+
*/
|
|
18589
|
+
this.noHorizontalScrollTransfer = false;
|
|
18555
18590
|
/** When true cell focus appear. */
|
|
18556
18591
|
this.canFocus = true;
|
|
18557
18592
|
/** When true enable clipboard. */
|
|
@@ -19087,7 +19122,13 @@ class RevoGridComponent {
|
|
|
19087
19122
|
if (!this.dimensionProvider || !this.columnProvider) {
|
|
19088
19123
|
return;
|
|
19089
19124
|
}
|
|
19090
|
-
const
|
|
19125
|
+
const beforeGatherEvent = this.beforecolumnsgather.emit({
|
|
19126
|
+
columns: [...newVal],
|
|
19127
|
+
});
|
|
19128
|
+
if (beforeGatherEvent.defaultPrevented) {
|
|
19129
|
+
return;
|
|
19130
|
+
}
|
|
19131
|
+
const columnGather = getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
|
|
19091
19132
|
const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
|
|
19092
19133
|
if (beforeSetEvent.defaultPrevented) {
|
|
19093
19134
|
return;
|
|
@@ -19434,6 +19475,7 @@ class RevoGridComponent {
|
|
|
19434
19475
|
scrollingService: this.scrollingService,
|
|
19435
19476
|
orderService: this.orderService,
|
|
19436
19477
|
selectionStoreConnector: this.selectionStoreConnector,
|
|
19478
|
+
noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
|
|
19437
19479
|
disableVirtualX: this.disableVirtualX,
|
|
19438
19480
|
disableVirtualY: this.disableVirtualY,
|
|
19439
19481
|
resize: c => this.aftercolumnresize.emit(c),
|
|
@@ -19474,7 +19516,9 @@ class RevoGridComponent {
|
|
|
19474
19516
|
dataViews.push(dataView);
|
|
19475
19517
|
});
|
|
19476
19518
|
// Add viewport scroll in the end
|
|
19477
|
-
viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e =>
|
|
19519
|
+
viewPortHtml.push(hAsync("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
|
|
19520
|
+
this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
|
|
19521
|
+
}, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
|
|
19478
19522
|
}
|
|
19479
19523
|
viewportSections.push(viewPortHtml);
|
|
19480
19524
|
// #endregion
|
|
@@ -19571,6 +19615,7 @@ class RevoGridComponent {
|
|
|
19571
19615
|
"range": [4],
|
|
19572
19616
|
"readonly": [4],
|
|
19573
19617
|
"resize": [4],
|
|
19618
|
+
"noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
|
|
19574
19619
|
"canFocus": [4, "can-focus"],
|
|
19575
19620
|
"useClipboard": [4, "use-clipboard"],
|
|
19576
19621
|
"columns": [16],
|
|
@@ -21123,6 +21168,7 @@ class RevogrViewportScroll {
|
|
|
21123
21168
|
* Height of inner content
|
|
21124
21169
|
*/
|
|
21125
21170
|
this.contentHeight = 0;
|
|
21171
|
+
this.noHorizontalScrollTransfer = false;
|
|
21126
21172
|
}
|
|
21127
21173
|
async setScroll(e) {
|
|
21128
21174
|
var _a;
|
|
@@ -21307,7 +21353,7 @@ class RevogrViewportScroll {
|
|
|
21307
21353
|
this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
|
|
21308
21354
|
}
|
|
21309
21355
|
render() {
|
|
21310
|
-
return (hAsync(Host, { key: '
|
|
21356
|
+
return (hAsync(Host, { key: 'adc7378dba1794ca2ec263d52b09abefe50bcbfd', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '7b57a8a0ea44629fefcfe4d2cd77bf0f048d8e06', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: 'cca3de158bc2a7f0651f578a281819be5698b257', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '1d170147dabe034f2c35481a8e2fedd6de2b6aed', name: HEADER_SLOT })), hAsync("div", { key: 'b6dd29a91bb1f380a83a035dfdb749ca669936f2', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: '9bce27bf8ec4d3b679aa9a34eb6379a8c2d46cac', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: 'b44a082c9fbb948fd87bd235b4cd4356fd4a3536', name: CONTENT_SLOT }))), hAsync("div", { key: '28c305ff6bc664f1d1bbb117e8b8565c8d4bb6b2', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '96312fb7f18198fd1feb9dcc00c79cde74ba9c9f', name: FOOTER_SLOT })))));
|
|
21311
21357
|
}
|
|
21312
21358
|
/**
|
|
21313
21359
|
* Extra layer for scroll event monitoring, where MouseWheel event is not passing
|
|
@@ -21386,7 +21432,7 @@ class RevogrViewportScroll {
|
|
|
21386
21432
|
const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;
|
|
21387
21433
|
// Detect if the user has reached the left end
|
|
21388
21434
|
const atLeft = scrollLeft === 0 && e.deltaX < 0;
|
|
21389
|
-
if (!atRight && !atLeft) {
|
|
21435
|
+
if (!atRight && !atLeft && !this.noHorizontalScrollTransfer) {
|
|
21390
21436
|
(_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
|
|
21391
21437
|
}
|
|
21392
21438
|
const pos = scrollLeft + e[delta];
|
|
@@ -21403,6 +21449,7 @@ class RevogrViewportScroll {
|
|
|
21403
21449
|
"contentWidth": [2, "content-width"],
|
|
21404
21450
|
"contentHeight": [2, "content-height"],
|
|
21405
21451
|
"colType": [1, "col-type"],
|
|
21452
|
+
"noHorizontalScrollTransfer": [4, "no-horizontal-scroll-transfer"],
|
|
21406
21453
|
"setScroll": [64],
|
|
21407
21454
|
"changeScroll": [64],
|
|
21408
21455
|
"applyScroll": [64]
|