@revolist/revogrid 4.21.2 → 4.21.4
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 +45 -12
- 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 +64 -3
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -3
- package/dist/collection/components/revoGrid/viewport.service.js +2 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +25 -4
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
- 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 +45 -12
- 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 +45 -12
- 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 +3 -3
- 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/interfaces.d.ts +2 -2
- package/dist/types/types/viewport.interfaces.d.ts +7 -2
- package/hydrate/index.js +60 -12
- package/hydrate/index.mjs +60 -12
- 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,16 +2,16 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, r as registerInstance, d as createEvent, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-
|
|
6
|
-
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-
|
|
5
|
+
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-8pPNyrKn.js';
|
|
6
|
+
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-B-5OBYes.js';
|
|
7
7
|
import { d as debounce } from './debounce-BfO9dz9v.js';
|
|
8
|
-
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-
|
|
9
|
-
import { V as ViewportStore } from './viewport.store-
|
|
8
|
+
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-C9lvlTfl.js';
|
|
9
|
+
import { V as ViewportStore } from './viewport.store-BGWR3XfI.js';
|
|
10
10
|
import { T as ThemeService } from './theme.service-BmnDvr6P.js';
|
|
11
11
|
import { v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT, H as HEADER_SLOT, D as DATA_SLOT } from './viewport.helpers-VXhsJZtn.js';
|
|
12
12
|
import { g as getPropertyFromEvent } from './events-BvSmBueA.js';
|
|
13
13
|
import './filter.button-C8XTWPU2.js';
|
|
14
|
-
import './header-cell-renderer-
|
|
14
|
+
import './header-cell-renderer-WkTbrmr7.js';
|
|
15
15
|
|
|
16
16
|
class ColumnDataProvider {
|
|
17
17
|
get stores() {
|
|
@@ -139,9 +139,25 @@ class DataProvider {
|
|
|
139
139
|
return sources;
|
|
140
140
|
}, {});
|
|
141
141
|
}
|
|
142
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Replaces the data source for a row type and synchronizes the related dimension metadata.
|
|
144
|
+
*
|
|
145
|
+
* `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
|
|
146
|
+
* Pinned row types skip virtual row recalculation because they are rendered directly.
|
|
147
|
+
*
|
|
148
|
+
* @param data Full source data assigned to the target row store.
|
|
149
|
+
* @param type Row collection to update. Defaults to the main body rows.
|
|
150
|
+
* @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
|
|
151
|
+
* @param grouping Optional grouping metadata applied together with the new data set.
|
|
152
|
+
* @param silent Preserves the current trimmed state instead of resetting it during the update.
|
|
153
|
+
* @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
|
|
154
|
+
* @returns The same `data` array that was provided to the method.
|
|
155
|
+
*/
|
|
156
|
+
setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
|
|
157
|
+
// if true, store will be updated without resetting trimmed state
|
|
158
|
+
silent = false, preserveTrimmed = false) {
|
|
143
159
|
// set rgRow data
|
|
144
|
-
this.stores[type].updateData([...data], grouping, silent);
|
|
160
|
+
this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
|
|
145
161
|
// for pinned row no need virtual data
|
|
146
162
|
const noVirtual = type !== 'rgRow' || disableVirtualRows;
|
|
147
163
|
this.dimensionProvider.setData(data.length, type, noVirtual);
|
|
@@ -400,6 +416,7 @@ function gatherColumnData(data) {
|
|
|
400
416
|
contentHeight: data.contentHeight,
|
|
401
417
|
key: data.colType,
|
|
402
418
|
colType: data.colType,
|
|
419
|
+
noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
|
|
403
420
|
onResizeviewport: data.onResizeviewport,
|
|
404
421
|
// set viewport size to real size
|
|
405
422
|
style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
|
|
@@ -444,6 +461,7 @@ class ViewportService {
|
|
|
444
461
|
viewports: config.viewportProvider.stores,
|
|
445
462
|
dimensions: config.dimensionProvider.stores,
|
|
446
463
|
rowStores: config.dataProvider.stores,
|
|
464
|
+
noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
|
|
447
465
|
colStore,
|
|
448
466
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
449
467
|
};
|
|
@@ -622,11 +640,11 @@ class GridScrollingService {
|
|
|
622
640
|
this.setViewport = setViewport;
|
|
623
641
|
this.elements = {};
|
|
624
642
|
}
|
|
625
|
-
async proxyScroll(e, key) {
|
|
643
|
+
async proxyScroll(e, key, skipEvent) {
|
|
626
644
|
var _a;
|
|
627
645
|
let newEventPromise;
|
|
628
646
|
let event = e;
|
|
629
|
-
for (let elKey in this.elements) {
|
|
647
|
+
for (let elKey in (skipEvent ? {} : this.elements)) {
|
|
630
648
|
// skip
|
|
631
649
|
if (e.dimension === 'rgCol' && elKey === 'headerRow') {
|
|
632
650
|
continue;
|
|
@@ -652,7 +670,8 @@ class GridScrollingService {
|
|
|
652
670
|
if (newEvent) {
|
|
653
671
|
event = newEvent;
|
|
654
672
|
}
|
|
655
|
-
this.setViewport(
|
|
673
|
+
this.setViewport(skipEvent && this.isPinnedColumn(key)
|
|
674
|
+
? Object.assign(Object.assign({}, event), { dimension: key }) : event);
|
|
656
675
|
}
|
|
657
676
|
/**
|
|
658
677
|
* Silent scroll update for mobile devices when we have negative scroll top
|
|
@@ -1340,6 +1359,7 @@ const RevoGridComponent = class {
|
|
|
1340
1359
|
this.beforeanysource = createEvent(this, "beforeanysource", 7);
|
|
1341
1360
|
this.aftersourceset = createEvent(this, "aftersourceset", 7);
|
|
1342
1361
|
this.afteranysource = createEvent(this, "afteranysource", 7);
|
|
1362
|
+
this.beforecolumnsgather = createEvent(this, "beforecolumnsgather", 7);
|
|
1343
1363
|
this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
|
|
1344
1364
|
this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
|
|
1345
1365
|
this.aftercolumnsset = createEvent(this, "aftercolumnsset", 7);
|
|
@@ -1380,6 +1400,10 @@ const RevoGridComponent = class {
|
|
|
1380
1400
|
this.readonly = false;
|
|
1381
1401
|
/** When true, columns are resizable. */
|
|
1382
1402
|
this.resize = false;
|
|
1403
|
+
/**
|
|
1404
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
1405
|
+
*/
|
|
1406
|
+
this.noHorizontalScrollTransfer = false;
|
|
1383
1407
|
/** When true cell focus appear. */
|
|
1384
1408
|
this.canFocus = true;
|
|
1385
1409
|
/** When true enable clipboard. */
|
|
@@ -1915,7 +1939,13 @@ const RevoGridComponent = class {
|
|
|
1915
1939
|
if (!this.dimensionProvider || !this.columnProvider) {
|
|
1916
1940
|
return;
|
|
1917
1941
|
}
|
|
1918
|
-
const
|
|
1942
|
+
const beforeGatherEvent = this.beforecolumnsgather.emit({
|
|
1943
|
+
columns: [...newVal],
|
|
1944
|
+
});
|
|
1945
|
+
if (beforeGatherEvent.defaultPrevented) {
|
|
1946
|
+
return;
|
|
1947
|
+
}
|
|
1948
|
+
const columnGather = getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
|
|
1919
1949
|
const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
|
|
1920
1950
|
if (beforeSetEvent.defaultPrevented) {
|
|
1921
1951
|
return;
|
|
@@ -2262,6 +2292,7 @@ const RevoGridComponent = class {
|
|
|
2262
2292
|
scrollingService: this.scrollingService,
|
|
2263
2293
|
orderService: this.orderService,
|
|
2264
2294
|
selectionStoreConnector: this.selectionStoreConnector,
|
|
2295
|
+
noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
|
|
2265
2296
|
disableVirtualX: this.disableVirtualX,
|
|
2266
2297
|
disableVirtualY: this.disableVirtualY,
|
|
2267
2298
|
resize: c => this.aftercolumnresize.emit(c),
|
|
@@ -2302,7 +2333,9 @@ const RevoGridComponent = class {
|
|
|
2302
2333
|
dataViews.push(dataView);
|
|
2303
2334
|
});
|
|
2304
2335
|
// Add viewport scroll in the end
|
|
2305
|
-
viewPortHtml.push(h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e =>
|
|
2336
|
+
viewPortHtml.push(h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
|
|
2337
|
+
this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
|
|
2338
|
+
}, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
|
|
2306
2339
|
}
|
|
2307
2340
|
viewportSections.push(viewPortHtml);
|
|
2308
2341
|
// #endregion
|
package/dist/esm/revo-grid.js
CHANGED
|
@@ -48,5 +48,5 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
|
48
48
|
|
|
49
49
|
patchBrowser().then(async (options) => {
|
|
50
50
|
await globalScripts();
|
|
51
|
-
return bootstrapLazy([["revo-grid",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
|
|
51
|
+
return bootstrapLazy([["revo-grid",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
|
|
52
52
|
});
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, e as Host, d as createEvent, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { k as getItemByIndex, b as getSourceItem, j as getItemByPosition, J as FOCUS_CLASS, U as codesLetter, u as timeout, R as RESIZE_INTERVAL, K as MOBILE_CLASS, L as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, A as ROW_HEADER_TYPE, o as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-
|
|
5
|
+
import { k as getItemByIndex, b as getSourceItem, j as getItemByPosition, J as FOCUS_CLASS, U as codesLetter, u as timeout, R as RESIZE_INTERVAL, K as MOBILE_CLASS, L as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, A as ROW_HEADER_TYPE, o as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-B-5OBYes.js';
|
|
6
6
|
import { g as getPropertyFromEvent, v as verifyTouchTarget } from './events-BvSmBueA.js';
|
|
7
|
-
import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-
|
|
8
|
-
import { c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll, l as isEditInput } from './edit.utils-
|
|
7
|
+
import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-8pPNyrKn.js';
|
|
8
|
+
import { c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll, l as isEditInput } from './edit.utils-CQjRmx5n.js';
|
|
9
9
|
import { d as debounce } from './debounce-BfO9dz9v.js';
|
|
10
|
-
import { V as ViewportStore, f as calculateRowHeaderSize } from './viewport.store-
|
|
10
|
+
import { V as ViewportStore, f as calculateRowHeaderSize } from './viewport.store-BGWR3XfI.js';
|
|
11
11
|
import { H as HEADER_SLOT } from './viewport.helpers-VXhsJZtn.js';
|
|
12
|
-
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from './throttle-
|
|
12
|
+
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from './throttle-CYM0qC3v.js';
|
|
13
13
|
|
|
14
14
|
const Attribution = class {
|
|
15
15
|
constructor(hostRef) {
|
|
@@ -2,9 +2,9 @@
|
|
|
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 { N as EDIT_INPUT_WR, j as getItemByPosition, b as getSourceItem, O as DRAGG_TEXT } from './dimension.helpers-
|
|
6
|
-
import { T as TextEditor } from './text-editor-
|
|
7
|
-
import { m as isEditorCtrConstructible } from './edit.utils-
|
|
5
|
+
import { N as EDIT_INPUT_WR, j as getItemByPosition, b as getSourceItem, O as DRAGG_TEXT } from './dimension.helpers-B-5OBYes.js';
|
|
6
|
+
import { T as TextEditor } from './text-editor-DZSx2pWr.js';
|
|
7
|
+
import { m as isEditorCtrConstructible } from './edit.utils-CQjRmx5n.js';
|
|
8
8
|
import { d as debounce } from './debounce-BfO9dz9v.js';
|
|
9
9
|
|
|
10
10
|
const Clipboard = class {
|
|
@@ -53,6 +53,7 @@ const Clipboard = class {
|
|
|
53
53
|
const beforePasteApply = this.beforePasteApply.emit({
|
|
54
54
|
raw: data,
|
|
55
55
|
parsed: parsedData,
|
|
56
|
+
dataText,
|
|
56
57
|
event: e,
|
|
57
58
|
});
|
|
58
59
|
if (beforePasteApply.defaultPrevented) {
|
|
@@ -63,6 +64,7 @@ const Clipboard = class {
|
|
|
63
64
|
const afterPasteApply = this.afterPasteApply.emit({
|
|
64
65
|
raw: data,
|
|
65
66
|
parsed: parsedData,
|
|
67
|
+
dataText,
|
|
66
68
|
event: e,
|
|
67
69
|
});
|
|
68
70
|
// keep default behavior if needed
|
|
@@ -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) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, f as Build } from './index-Chp_81rd.js';
|
|
5
|
-
import { y as DATA_ROW, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS } from './dimension.helpers-
|
|
6
|
-
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-
|
|
5
|
+
import { y as DATA_ROW, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS } from './dimension.helpers-B-5OBYes.js';
|
|
6
|
+
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-8pPNyrKn.js';
|
|
7
7
|
|
|
8
8
|
const SortingSign = ({ column }) => {
|
|
9
9
|
var _a;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-
|
|
5
|
-
import { W as createStore, w as setStore, i as calculateDimensionData, X as identity, Y as isArray, b as getSourceItem, o as getScrollbarSize, u as timeout, Z as baseProperty, _ as isArrayLike, $ as getTag, a0 as baseKeys, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-
|
|
6
|
-
import { f as calculateRowHeaderSize } from './viewport.store-
|
|
4
|
+
import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-8pPNyrKn.js';
|
|
5
|
+
import { W as createStore, w as setStore, i as calculateDimensionData, X as identity, Y as isArray, b as getSourceItem, o as getScrollbarSize, u as timeout, Z as baseProperty, _ as isArrayLike, $ as getTag, a0 as baseKeys, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-B-5OBYes.js';
|
|
6
|
+
import { f as calculateRowHeaderSize } from './viewport.store-BGWR3XfI.js';
|
|
7
7
|
import { h } from './index-Chp_81rd.js';
|
|
8
8
|
import { b as FILTER_PROP, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
|
|
9
9
|
import { i as isObjectLike, b as baseGetTag, d as debounce } from './debounce-BfO9dz9v.js';
|
|
10
|
-
import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-
|
|
10
|
+
import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-WkTbrmr7.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Plugin which recalculates realSize on changes of sizes, originItemSize and count
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { a5 as toFinite, a6 as keys, _ as isArrayLike, a4 as baseIteratee, Y as isArray, P as GRID_INTERNALS, a7 as isIterateeCall, a as getVisibleSourceItem, z as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-
|
|
4
|
+
import { a5 as toFinite, a6 as keys, _ as isArrayLike, a4 as baseIteratee, Y as isArray, P as GRID_INTERNALS, a7 as isIterateeCall, a as getVisibleSourceItem, z as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-B-5OBYes.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Converts `value` to an integer.
|
|
@@ -3270,8 +3270,16 @@ class DataStore {
|
|
|
3270
3270
|
* full data source update
|
|
3271
3271
|
* @param source - data column/rgRow source
|
|
3272
3272
|
* @param grouping - grouping information if present
|
|
3273
|
+
* @param silent - if true, store will be updated without resetting trimmed state
|
|
3274
|
+
* @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
|
|
3273
3275
|
*/
|
|
3274
|
-
updateData(source, grouping,
|
|
3276
|
+
updateData(source, grouping,
|
|
3277
|
+
// if true, store will be updated without resetting trimmed state
|
|
3278
|
+
silent = false,
|
|
3279
|
+
// if true, current trimmed indexes will be re-applied to the new source
|
|
3280
|
+
preserveTrimmed = false) {
|
|
3281
|
+
const trimmed = this.store.get('trimmed');
|
|
3282
|
+
const trimmedItems = silent && preserveTrimmed ? gatherTrimmedItems(trimmed) : null;
|
|
3275
3283
|
// during full update we do drop trim
|
|
3276
3284
|
if (!silent) {
|
|
3277
3285
|
this.store.set('trimmed', {});
|
|
@@ -3284,12 +3292,14 @@ class DataStore {
|
|
|
3284
3292
|
source,
|
|
3285
3293
|
proxyItems: [...items],
|
|
3286
3294
|
});
|
|
3287
|
-
//
|
|
3288
|
-
|
|
3295
|
+
// Explicit trim preservation is opt-in because physical indexes may change
|
|
3296
|
+
// across full data refreshes.
|
|
3297
|
+
this.store.set('items', trimmedItems ? items.filter(i => !trimmedItems[i]) : items);
|
|
3289
3298
|
// apply grouping if present
|
|
3290
3299
|
if (grouping) {
|
|
3291
3300
|
setStore(this.store, {
|
|
3292
3301
|
groupingDepth: grouping.depth,
|
|
3302
|
+
// if groups are not provided, we will consider that there is only one group with all items
|
|
3293
3303
|
groups: grouping.groups,
|
|
3294
3304
|
groupingCustomRenderer: grouping.customRenderer,
|
|
3295
3305
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { a1 as KeyCodesEnum, a2 as OsPlatform, U as codesLetter, V as keyValues, N as EDIT_INPUT_WR } from './dimension.helpers-
|
|
4
|
+
import { a1 as KeyCodesEnum, a2 as OsPlatform, U as codesLetter, V as keyValues, N as EDIT_INPUT_WR } from './dimension.helpers-B-5OBYes.js';
|
|
5
5
|
|
|
6
6
|
function isMetaKey(code) {
|
|
7
7
|
const keys = [
|
package/dist/{esm/header-cell-renderer-DO0jvvbw.js → revo-grid/header-cell-renderer-WkTbrmr7.js}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h } from './index-Chp_81rd.js';
|
|
5
|
-
import { Q as doPropMerge } from './column.service-
|
|
5
|
+
import { Q as doPropMerge } from './column.service-8pPNyrKn.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Dispatches a custom event to a specified target element.
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-
|
|
5
|
-
import { B as BasePlugin } from './column.drag.plugin-
|
|
6
|
-
export { A as AutoSizeColumnPlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, m as SortingPlugin, a as StretchColumn, n as defaultCellCompare, o as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, q as getComparer, l as getLeftRelative, p as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-
|
|
7
|
-
export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-
|
|
8
|
-
export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-
|
|
9
|
-
export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-
|
|
10
|
-
export { T as TextEditor } from './text-editor-
|
|
11
|
-
export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, l as isEditInput, m as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, d as isTab, e as isTabKeyValue } from './edit.utils-
|
|
4
|
+
export { o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-8pPNyrKn.js';
|
|
5
|
+
import { B as BasePlugin } from './column.drag.plugin-C9lvlTfl.js';
|
|
6
|
+
export { A as AutoSizeColumnPlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, m as SortingPlugin, a as StretchColumn, n as defaultCellCompare, o as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, q as getComparer, l as getLeftRelative, p as getNextOrder, i as isStretchPlugin, s as sortIndexByItems } from './column.drag.plugin-C9lvlTfl.js';
|
|
7
|
+
export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-WkTbrmr7.js';
|
|
8
|
+
export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-BNeaYjy6.js';
|
|
9
|
+
export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-B-5OBYes.js';
|
|
10
|
+
export { T as TextEditor } from './text-editor-DZSx2pWr.js';
|
|
11
|
+
export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, l as isEditInput, m as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, d as isTab, e as isTabKeyValue } from './edit.utils-CQjRmx5n.js';
|
|
12
12
|
export { h } from './index-Chp_81rd.js';
|
|
13
|
-
export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-
|
|
13
|
+
export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-BGWR3XfI.js';
|
|
14
14
|
export { A as AND_OR_BUTTON, e as AndOrButton, a as FILTER_BUTTON_ACTIVE, F as FILTER_BUTTON_CLASS, b as FILTER_PROP, c as FilterButton, T as TRASH_BUTTON, d as TrashButton, i as isFilterBtn } from './filter.button-C8XTWPU2.js';
|
|
15
15
|
import './debounce-BfO9dz9v.js';
|
|
16
16
|
|
|
@@ -34,6 +34,7 @@ const REVOGRID_EVENTS = new Map([
|
|
|
34
34
|
['beforeanysource', 'beforeanysource'],
|
|
35
35
|
['aftersourceset', 'aftersourceset'],
|
|
36
36
|
['afteranysource', 'afteranysource'],
|
|
37
|
+
['beforecolumnsgather', 'beforecolumnsgather'],
|
|
37
38
|
['beforecolumnsset', 'beforecolumnsset'],
|
|
38
39
|
['beforecolumnapplied', 'beforecolumnapplied'],
|
|
39
40
|
['aftercolumnsset', 'aftercolumnsset'],
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, r as registerInstance, d as createEvent, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-
|
|
6
|
-
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-
|
|
5
|
+
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-8pPNyrKn.js';
|
|
6
|
+
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-B-5OBYes.js';
|
|
7
7
|
import { d as debounce } from './debounce-BfO9dz9v.js';
|
|
8
|
-
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-
|
|
9
|
-
import { V as ViewportStore } from './viewport.store-
|
|
8
|
+
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, m as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-C9lvlTfl.js';
|
|
9
|
+
import { V as ViewportStore } from './viewport.store-BGWR3XfI.js';
|
|
10
10
|
import { T as ThemeService } from './theme.service-BmnDvr6P.js';
|
|
11
11
|
import { v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT, H as HEADER_SLOT, D as DATA_SLOT } from './viewport.helpers-VXhsJZtn.js';
|
|
12
12
|
import { g as getPropertyFromEvent } from './events-BvSmBueA.js';
|
|
13
13
|
import './filter.button-C8XTWPU2.js';
|
|
14
|
-
import './header-cell-renderer-
|
|
14
|
+
import './header-cell-renderer-WkTbrmr7.js';
|
|
15
15
|
|
|
16
16
|
class ColumnDataProvider {
|
|
17
17
|
get stores() {
|
|
@@ -139,9 +139,25 @@ class DataProvider {
|
|
|
139
139
|
return sources;
|
|
140
140
|
}, {});
|
|
141
141
|
}
|
|
142
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Replaces the data source for a row type and synchronizes the related dimension metadata.
|
|
144
|
+
*
|
|
145
|
+
* `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
|
|
146
|
+
* Pinned row types skip virtual row recalculation because they are rendered directly.
|
|
147
|
+
*
|
|
148
|
+
* @param data Full source data assigned to the target row store.
|
|
149
|
+
* @param type Row collection to update. Defaults to the main body rows.
|
|
150
|
+
* @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
|
|
151
|
+
* @param grouping Optional grouping metadata applied together with the new data set.
|
|
152
|
+
* @param silent Preserves the current trimmed state instead of resetting it during the update.
|
|
153
|
+
* @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
|
|
154
|
+
* @returns The same `data` array that was provided to the method.
|
|
155
|
+
*/
|
|
156
|
+
setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
|
|
157
|
+
// if true, store will be updated without resetting trimmed state
|
|
158
|
+
silent = false, preserveTrimmed = false) {
|
|
143
159
|
// set rgRow data
|
|
144
|
-
this.stores[type].updateData([...data], grouping, silent);
|
|
160
|
+
this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
|
|
145
161
|
// for pinned row no need virtual data
|
|
146
162
|
const noVirtual = type !== 'rgRow' || disableVirtualRows;
|
|
147
163
|
this.dimensionProvider.setData(data.length, type, noVirtual);
|
|
@@ -400,6 +416,7 @@ function gatherColumnData(data) {
|
|
|
400
416
|
contentHeight: data.contentHeight,
|
|
401
417
|
key: data.colType,
|
|
402
418
|
colType: data.colType,
|
|
419
|
+
noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
|
|
403
420
|
onResizeviewport: data.onResizeviewport,
|
|
404
421
|
// set viewport size to real size
|
|
405
422
|
style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
|
|
@@ -444,6 +461,7 @@ class ViewportService {
|
|
|
444
461
|
viewports: config.viewportProvider.stores,
|
|
445
462
|
dimensions: config.dimensionProvider.stores,
|
|
446
463
|
rowStores: config.dataProvider.stores,
|
|
464
|
+
noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
|
|
447
465
|
colStore,
|
|
448
466
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
449
467
|
};
|
|
@@ -622,11 +640,11 @@ class GridScrollingService {
|
|
|
622
640
|
this.setViewport = setViewport;
|
|
623
641
|
this.elements = {};
|
|
624
642
|
}
|
|
625
|
-
async proxyScroll(e, key) {
|
|
643
|
+
async proxyScroll(e, key, skipEvent) {
|
|
626
644
|
var _a;
|
|
627
645
|
let newEventPromise;
|
|
628
646
|
let event = e;
|
|
629
|
-
for (let elKey in this.elements) {
|
|
647
|
+
for (let elKey in (skipEvent ? {} : this.elements)) {
|
|
630
648
|
// skip
|
|
631
649
|
if (e.dimension === 'rgCol' && elKey === 'headerRow') {
|
|
632
650
|
continue;
|
|
@@ -652,7 +670,8 @@ class GridScrollingService {
|
|
|
652
670
|
if (newEvent) {
|
|
653
671
|
event = newEvent;
|
|
654
672
|
}
|
|
655
|
-
this.setViewport(
|
|
673
|
+
this.setViewport(skipEvent && this.isPinnedColumn(key)
|
|
674
|
+
? Object.assign(Object.assign({}, event), { dimension: key }) : event);
|
|
656
675
|
}
|
|
657
676
|
/**
|
|
658
677
|
* Silent scroll update for mobile devices when we have negative scroll top
|
|
@@ -1340,6 +1359,7 @@ const RevoGridComponent = class {
|
|
|
1340
1359
|
this.beforeanysource = createEvent(this, "beforeanysource", 7);
|
|
1341
1360
|
this.aftersourceset = createEvent(this, "aftersourceset", 7);
|
|
1342
1361
|
this.afteranysource = createEvent(this, "afteranysource", 7);
|
|
1362
|
+
this.beforecolumnsgather = createEvent(this, "beforecolumnsgather", 7);
|
|
1343
1363
|
this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
|
|
1344
1364
|
this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
|
|
1345
1365
|
this.aftercolumnsset = createEvent(this, "aftercolumnsset", 7);
|
|
@@ -1380,6 +1400,10 @@ const RevoGridComponent = class {
|
|
|
1380
1400
|
this.readonly = false;
|
|
1381
1401
|
/** When true, columns are resizable. */
|
|
1382
1402
|
this.resize = false;
|
|
1403
|
+
/**
|
|
1404
|
+
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
1405
|
+
*/
|
|
1406
|
+
this.noHorizontalScrollTransfer = false;
|
|
1383
1407
|
/** When true cell focus appear. */
|
|
1384
1408
|
this.canFocus = true;
|
|
1385
1409
|
/** When true enable clipboard. */
|
|
@@ -1915,7 +1939,13 @@ const RevoGridComponent = class {
|
|
|
1915
1939
|
if (!this.dimensionProvider || !this.columnProvider) {
|
|
1916
1940
|
return;
|
|
1917
1941
|
}
|
|
1918
|
-
const
|
|
1942
|
+
const beforeGatherEvent = this.beforecolumnsgather.emit({
|
|
1943
|
+
columns: [...newVal],
|
|
1944
|
+
});
|
|
1945
|
+
if (beforeGatherEvent.defaultPrevented) {
|
|
1946
|
+
return;
|
|
1947
|
+
}
|
|
1948
|
+
const columnGather = getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
|
|
1919
1949
|
const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
|
|
1920
1950
|
if (beforeSetEvent.defaultPrevented) {
|
|
1921
1951
|
return;
|
|
@@ -2262,6 +2292,7 @@ const RevoGridComponent = class {
|
|
|
2262
2292
|
scrollingService: this.scrollingService,
|
|
2263
2293
|
orderService: this.orderService,
|
|
2264
2294
|
selectionStoreConnector: this.selectionStoreConnector,
|
|
2295
|
+
noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
|
|
2265
2296
|
disableVirtualX: this.disableVirtualX,
|
|
2266
2297
|
disableVirtualY: this.disableVirtualY,
|
|
2267
2298
|
resize: c => this.aftercolumnresize.emit(c),
|
|
@@ -2302,7 +2333,9 @@ const RevoGridComponent = class {
|
|
|
2302
2333
|
dataViews.push(dataView);
|
|
2303
2334
|
});
|
|
2304
2335
|
// Add viewport scroll in the end
|
|
2305
|
-
viewPortHtml.push(h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e =>
|
|
2336
|
+
viewPortHtml.push(h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
|
|
2337
|
+
this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
|
|
2338
|
+
}, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
|
|
2306
2339
|
}
|
|
2307
2340
|
viewportSections.push(viewPortHtml);
|
|
2308
2341
|
// #endregion
|