@revolist/revogrid 4.23.20 → 4.23.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{column.drag.plugin-ByDJ7Rk3.js → column.drag.plugin-Cz-T4y3M.js} +43 -31
- package/dist/cjs/index.cjs.js +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +44 -19
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +1 -1
- package/dist/collection/components/editors/revogr-edit-style.css +2 -1
- package/dist/collection/components/revoGrid/revo-grid.js +65 -2
- package/dist/collection/components/revoGrid/viewport.service.js +17 -13
- package/dist/collection/plugins/base.plugin.js +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +42 -30
- package/dist/collection/services/dimension.provider.js +8 -4
- package/dist/collection/types/events.js +1 -0
- package/dist/esm/{column.drag.plugin-BZacA8n_.js → column.drag.plugin-DKkf7Zqb.js} +43 -31
- package/dist/esm/index.js +3 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +44 -19
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/{column.drag.plugin-BZacA8n_.js → column.drag.plugin-DKkf7Zqb.js} +43 -31
- package/dist/revo-grid/index.esm.js +3 -2
- package/dist/revo-grid/revo-grid.entry.js +44 -19
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +15 -1
- package/dist/types/components/revoGrid/viewport.service.d.ts +3 -1
- package/dist/types/components.d.ts +17 -2
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +3 -1
- package/dist/types/plugins/sorting/sorting.types.d.ts +22 -1
- package/dist/types/services/dimension.provider.d.ts +4 -1
- package/dist/types/types/events.d.ts +1 -1
- package/hydrate/index.js +88 -50
- package/hydrate/index.mjs +88 -50
- package/package.json +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-edit2.js +1 -1
|
@@ -352,7 +352,7 @@ class BasePlugin {
|
|
|
352
352
|
},
|
|
353
353
|
});
|
|
354
354
|
if (immediate) {
|
|
355
|
-
callback(nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.value);
|
|
355
|
+
callback((nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.get) ? nativeValueDesc.get.call(this.revogrid) : nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.value);
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
358
|
/**
|
|
@@ -1877,7 +1877,7 @@ function mergeSortedRowsWithGroups(indexes, source, sortedRows) {
|
|
|
1877
1877
|
* 1. @event `beforesorting` - Triggered when sorting just starts. Nothing has happened yet. This can be triggered from a column or from the source. If the type is from rows, the column will be undefined.
|
|
1878
1878
|
* 2. @event `beforesourcesortingapply` - Triggered before the sorting data is applied to the data source. You can prevent this event, and the data will not be sorted.
|
|
1879
1879
|
* 3. @event `beforesortingapply` - Triggered before the sorting data is applied to the data source. You can prevent this event, and the data will not be sorted. This event is only called from a column sorting click.
|
|
1880
|
-
* 4. @event `aftersortingapply` - Triggered after sorting has been applied and completed.
|
|
1880
|
+
* 4. @event `aftersortingapply` - Triggered after sorting has been applied and completed. The event detail includes the final sorting state and sorting column metadata when available.
|
|
1881
1881
|
*
|
|
1882
1882
|
* Note: If you prevent an event, it will not proceed to the subsequent steps.
|
|
1883
1883
|
*/
|
|
@@ -2019,6 +2019,38 @@ class SortingPlugin extends BasePlugin {
|
|
|
2019
2019
|
});
|
|
2020
2020
|
this.setSortingState(state);
|
|
2021
2021
|
}
|
|
2022
|
+
resetSortingForStore(type) {
|
|
2023
|
+
const storeService = this.providers.data.stores[type];
|
|
2024
|
+
// row data
|
|
2025
|
+
const source = storeService.store.get('source');
|
|
2026
|
+
// row indexes
|
|
2027
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
2028
|
+
// row indexes
|
|
2029
|
+
const newItemsOrder = Array.from({ length: source.length }, (_, i) => i); // recover indexes range(0, source.length)
|
|
2030
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
2031
|
+
storeService.setData({ proxyItems: newItemsOrder });
|
|
2032
|
+
}
|
|
2033
|
+
applySortingForStore(type, sorting, sortingFunc, sortingColumns, sortingOrder, ignoreViewportUpdate) {
|
|
2034
|
+
const storeService = this.providers.data.stores[type];
|
|
2035
|
+
// row data
|
|
2036
|
+
const source = storeService.store.get('source');
|
|
2037
|
+
// row indexes
|
|
2038
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
2039
|
+
const sortItems = getSortableRowIndexes(proxyItems, source);
|
|
2040
|
+
const sortedItems = sortIndexByItems([...sortItems], source, sortingFunc, sorting, sortingColumns, sortingOrder);
|
|
2041
|
+
const newItemsOrder = mergeSortedRowsWithGroups(proxyItems, source, sortedItems);
|
|
2042
|
+
// take row indexes before trim applied and proxy items
|
|
2043
|
+
const prevItems = storeService.store.get('items');
|
|
2044
|
+
storeService.setData({
|
|
2045
|
+
proxyItems: newItemsOrder,
|
|
2046
|
+
});
|
|
2047
|
+
// take currently visible row indexes
|
|
2048
|
+
const newItems = storeService.store.get('items');
|
|
2049
|
+
if (!ignoreViewportUpdate) {
|
|
2050
|
+
this.providers.dimension
|
|
2051
|
+
.updateSizesPositionByNewDataIndexes(type, newItems, prevItems);
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2022
2054
|
startSorting(order, sortingFunc, sortingColumns, sortingOrder, ignoreViewportUpdate) {
|
|
2023
2055
|
if (!this.sortingPromise) {
|
|
2024
2056
|
// add job before render
|
|
@@ -2110,45 +2142,25 @@ class SortingPlugin extends BasePlugin {
|
|
|
2110
2142
|
// if no sorting - reset
|
|
2111
2143
|
if (!Object.keys(sorting || {}).length) {
|
|
2112
2144
|
for (let type of activeTypes) {
|
|
2113
|
-
|
|
2114
|
-
// row data
|
|
2115
|
-
const source = storeService.store.get('source');
|
|
2116
|
-
// row indexes
|
|
2117
|
-
const proxyItems = storeService.store.get('proxyItems');
|
|
2118
|
-
// row indexes
|
|
2119
|
-
const newItemsOrder = Array.from({ length: source.length }, (_, i) => i); // recover indexes range(0, source.length)
|
|
2120
|
-
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
2121
|
-
storeService.setData({ proxyItems: newItemsOrder });
|
|
2145
|
+
this.resetSortingForStore(type);
|
|
2122
2146
|
}
|
|
2123
2147
|
}
|
|
2124
2148
|
else {
|
|
2125
2149
|
for (let type of activeTypes) {
|
|
2126
|
-
|
|
2127
|
-
// row data
|
|
2128
|
-
const source = storeService.store.get('source');
|
|
2129
|
-
// row indexes
|
|
2130
|
-
const proxyItems = storeService.store.get('proxyItems');
|
|
2131
|
-
const sortItems = getSortableRowIndexes(proxyItems, source);
|
|
2132
|
-
const sortedItems = sortIndexByItems([...sortItems], source, sortingFunc, sorting, activeSortingColumns, activeSortingOrder);
|
|
2133
|
-
const newItemsOrder = mergeSortedRowsWithGroups(proxyItems, source, sortedItems);
|
|
2134
|
-
// take row indexes before trim applied and proxy items
|
|
2135
|
-
const prevItems = storeService.store.get('items');
|
|
2136
|
-
storeService.setData({
|
|
2137
|
-
proxyItems: newItemsOrder,
|
|
2138
|
-
});
|
|
2139
|
-
// take currently visible row indexes
|
|
2140
|
-
const newItems = storeService.store.get('items');
|
|
2141
|
-
if (!activeIgnoreViewportUpdate) {
|
|
2142
|
-
this.providers.dimension
|
|
2143
|
-
.updateSizesPositionByNewDataIndexes(type, newItems, prevItems);
|
|
2144
|
-
}
|
|
2150
|
+
this.applySortingForStore(type, sorting, sortingFunc, activeSortingColumns, activeSortingOrder, activeIgnoreViewportUpdate);
|
|
2145
2151
|
}
|
|
2146
2152
|
}
|
|
2147
2153
|
// refresh columns to redraw column headers and show correct icon
|
|
2148
2154
|
column_service.columnTypes.forEach((type) => {
|
|
2149
2155
|
this.providers.column.dataSources[type].refresh();
|
|
2150
2156
|
});
|
|
2151
|
-
|
|
2157
|
+
const afterSortingDetail = {
|
|
2158
|
+
sorting: hasActiveSorting(sorting) ? sorting : undefined,
|
|
2159
|
+
sortingColumns: activeSortingColumns,
|
|
2160
|
+
sortingOrder: activeSortingOrder,
|
|
2161
|
+
types: activeTypes,
|
|
2162
|
+
};
|
|
2163
|
+
this.emit('aftersortingapply', afterSortingDetail);
|
|
2152
2164
|
}
|
|
2153
2165
|
}
|
|
2154
2166
|
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var column_service = require('./column.service-BNWNiJW3.js');
|
|
7
|
-
var column_drag_plugin = require('./column.drag.plugin-
|
|
7
|
+
var column_drag_plugin = require('./column.drag.plugin-Cz-T4y3M.js');
|
|
8
8
|
var headerCellRenderer = require('./header-cell-renderer-DyjOxArm.js');
|
|
9
9
|
var cellRenderer = require('./cell-renderer-DfUCisis.js');
|
|
10
10
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
@@ -28,6 +28,7 @@ const REVOGRID_EVENTS = new Map([
|
|
|
28
28
|
['beforesorting', 'beforesorting'],
|
|
29
29
|
['beforesourcesortingapply', 'beforesourcesortingapply'],
|
|
30
30
|
['beforesortingapply', 'beforesortingapply'],
|
|
31
|
+
['aftersortingapply', 'aftersortingapply'],
|
|
31
32
|
['rowdragstart', 'rowdragstart'],
|
|
32
33
|
['headerclick', 'headerclick'],
|
|
33
34
|
['beforecellfocus', 'beforecellfocus'],
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -10,7 +10,7 @@ require('./theme.service-BgnxGIjK.js');
|
|
|
10
10
|
const defineCustomElements = async (win, options) => {
|
|
11
11
|
if (typeof window === 'undefined') return undefined;
|
|
12
12
|
await appGlobals.globalScripts();
|
|
13
|
-
return index.bootstrapLazy([["revo-grid.cjs",[[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.cjs",[[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],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[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.cjs",[[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.cjs",[[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);
|
|
13
|
+
return index.bootstrapLazy([["revo-grid.cjs",[[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"],"virtualX":[16],"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}],"virtualX":[{"virtualXChanged":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.cjs",[[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],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[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.cjs",[[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.cjs",[[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);
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.setNonce = index.setNonce;
|
|
@@ -8,7 +8,7 @@ var column_service = require('./column.service-BNWNiJW3.js');
|
|
|
8
8
|
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
9
9
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
10
10
|
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
11
|
-
var column_drag_plugin = require('./column.drag.plugin-
|
|
11
|
+
var column_drag_plugin = require('./column.drag.plugin-Cz-T4y3M.js');
|
|
12
12
|
var viewport_store = require('./viewport.store-BscUCiUk.js');
|
|
13
13
|
var theme_service = require('./theme.service-BgnxGIjK.js');
|
|
14
14
|
var index$1 = require('./index-DxaSE5uZ.js');
|
|
@@ -232,6 +232,10 @@ class DataProvider {
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
const DEFAULT_VIRTUAL_X = ['rgCol'];
|
|
236
|
+
function isVirtualXDimension(type, disableVirtualX = false, virtualX = DEFAULT_VIRTUAL_X) {
|
|
237
|
+
return !disableVirtualX && virtualX.includes(type);
|
|
238
|
+
}
|
|
235
239
|
/**
|
|
236
240
|
* Dimension provider
|
|
237
241
|
* Stores dimension information and custom sizes
|
|
@@ -242,7 +246,7 @@ class DimensionProvider {
|
|
|
242
246
|
constructor(viewports, config) {
|
|
243
247
|
this.viewports = viewports;
|
|
244
248
|
const sizeChanged = debounce.debounce((k) => config.realSizeChanged(k), dimension_helpers.RESIZE_INTERVAL);
|
|
245
|
-
this.stores =
|
|
249
|
+
this.stores = [...column_service.rowTypes, ...column_service.columnTypes].reduce((sources, t) => {
|
|
246
250
|
sources[t] = new column_drag_plugin.DimensionStore(t);
|
|
247
251
|
sources[t].store.onChange('realSize', () => sizeChanged(t));
|
|
248
252
|
return sources;
|
|
@@ -318,8 +322,9 @@ class DimensionProvider {
|
|
|
318
322
|
* Applies new columns to the dimension provider
|
|
319
323
|
* @param columns - new columns data
|
|
320
324
|
* @param disableVirtualX - disable virtual data for X axis
|
|
325
|
+
* @param virtualX - column dimensions that should use virtual data
|
|
321
326
|
*/
|
|
322
|
-
applyNewColumns(columns, disableVirtualX, keepOld = false) {
|
|
327
|
+
applyNewColumns(columns, disableVirtualX, keepOld = false, virtualX = DEFAULT_VIRTUAL_X) {
|
|
323
328
|
// Apply new columns to dimension provider
|
|
324
329
|
for (let type of column_service.columnTypes) {
|
|
325
330
|
if (!keepOld) {
|
|
@@ -329,7 +334,7 @@ class DimensionProvider {
|
|
|
329
334
|
// Get the new columns for the current type
|
|
330
335
|
const items = columns[type];
|
|
331
336
|
// Determine if virtual data should be disabled for the current type
|
|
332
|
-
const noVirtual = type
|
|
337
|
+
const noVirtual = !isVirtualXDimension(type, disableVirtualX, virtualX);
|
|
333
338
|
// Set the items count in the dimension provider
|
|
334
339
|
this.stores[type].setStore({ count: items.length });
|
|
335
340
|
// Set the custom sizes for the columns
|
|
@@ -435,6 +440,9 @@ class ViewportProvider {
|
|
|
435
440
|
}
|
|
436
441
|
}
|
|
437
442
|
|
|
443
|
+
function getViewportResizeDimension(colType, dimension) {
|
|
444
|
+
return dimension === 'rgCol' ? colType : dimension;
|
|
445
|
+
}
|
|
438
446
|
/** Collect Column data */
|
|
439
447
|
function gatherColumnData(data) {
|
|
440
448
|
const colDimension = data.dimensions[data.colType].store;
|
|
@@ -494,20 +502,20 @@ class ViewportService {
|
|
|
494
502
|
colStore,
|
|
495
503
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
496
504
|
};
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
clientSize: e.detail.size,
|
|
502
|
-
};
|
|
503
|
-
// virtual size will be handled by dimension provider if disabled
|
|
504
|
-
if ((e.detail.dimension === 'rgRow' && !config.disableVirtualY)
|
|
505
|
-
|| (e.detail.dimension === 'rgCol' && !config.disableVirtualX)) {
|
|
506
|
-
vpState.virtualSize = e.detail.size;
|
|
507
|
-
}
|
|
508
|
-
(_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, vpState);
|
|
505
|
+
column.onResizeviewport = (e) => {
|
|
506
|
+
var _a;
|
|
507
|
+
const vpState = {
|
|
508
|
+
clientSize: e.detail.size,
|
|
509
509
|
};
|
|
510
|
-
|
|
510
|
+
const dimension = getViewportResizeDimension(val, e.detail.dimension);
|
|
511
|
+
const isVirtualColumn = column_service.columnTypes.includes(dimension)
|
|
512
|
+
&& isVirtualXDimension(dimension, config.disableVirtualX, config.virtualX);
|
|
513
|
+
// Keep virtual dimensions in sync with their viewport size.
|
|
514
|
+
if ((dimension === 'rgRow' && !config.disableVirtualY) || isVirtualColumn) {
|
|
515
|
+
vpState.virtualSize = e.detail.size;
|
|
516
|
+
}
|
|
517
|
+
(_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(dimension, vpState);
|
|
518
|
+
};
|
|
511
519
|
const colData = gatherColumnData(column);
|
|
512
520
|
const columnSelectionStore = this.registerCol(colData.position.x, val);
|
|
513
521
|
// render per each column data collections vertically
|
|
@@ -1407,6 +1415,7 @@ const RevoGridComponent = class {
|
|
|
1407
1415
|
this.beforesorting = index.createEvent(this, "beforesorting", 7);
|
|
1408
1416
|
this.beforesourcesortingapply = index.createEvent(this, "beforesourcesortingapply", 7);
|
|
1409
1417
|
this.beforesortingapply = index.createEvent(this, "beforesortingapply", 7);
|
|
1418
|
+
this.aftersortingapply = index.createEvent(this, "aftersortingapply", 7);
|
|
1410
1419
|
this.rowdragstart = index.createEvent(this, "rowdragstart", 7);
|
|
1411
1420
|
this.headerclick = index.createEvent(this, "headerclick", 7);
|
|
1412
1421
|
this.beforecellfocus = index.createEvent(this, "beforecellfocus", 7);
|
|
@@ -1556,6 +1565,12 @@ const RevoGridComponent = class {
|
|
|
1556
1565
|
* Can be used for initial rendering performance improvement.
|
|
1557
1566
|
*/
|
|
1558
1567
|
this.disableVirtualX = false;
|
|
1568
|
+
/**
|
|
1569
|
+
* Column dimensions that use X axis virtual rendering.
|
|
1570
|
+
* Defaults to regular columns only to preserve pinned column behavior.
|
|
1571
|
+
* Set to `['rgCol', 'colPinStart', 'colPinEnd']` to virtualize all column areas.
|
|
1572
|
+
*/
|
|
1573
|
+
this.virtualX = ['rgCol'];
|
|
1559
1574
|
/**
|
|
1560
1575
|
* Disable lazy rendering mode for the `Y axis`.
|
|
1561
1576
|
* Use when not many rows present and you don't need rerenader cells during scroll.
|
|
@@ -2007,7 +2022,7 @@ const RevoGridComponent = class {
|
|
|
2007
2022
|
if (beforeSetEvent.defaultPrevented) {
|
|
2008
2023
|
return;
|
|
2009
2024
|
}
|
|
2010
|
-
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX, init);
|
|
2025
|
+
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX, init, this.virtualX);
|
|
2011
2026
|
const beforeApplyEvent = this.beforecolumnapplied.emit(columnGather);
|
|
2012
2027
|
if (beforeApplyEvent.defaultPrevented) {
|
|
2013
2028
|
return;
|
|
@@ -2083,12 +2098,18 @@ const RevoGridComponent = class {
|
|
|
2083
2098
|
};
|
|
2084
2099
|
this.viewport.setFocus(colType, pending.rowType, cell, cell);
|
|
2085
2100
|
}
|
|
2086
|
-
|
|
2101
|
+
refreshColumnsOnConfigChange(newVal, prevVal) {
|
|
2087
2102
|
if (newVal === prevVal) {
|
|
2088
2103
|
return;
|
|
2089
2104
|
}
|
|
2090
2105
|
this.columnChanged(this.columns);
|
|
2091
2106
|
}
|
|
2107
|
+
disableVirtualXChanged(newVal = false, prevVal = false) {
|
|
2108
|
+
this.refreshColumnsOnConfigChange(newVal, prevVal);
|
|
2109
|
+
}
|
|
2110
|
+
virtualXChanged(newVal = ['rgCol'], prevVal = ['rgCol']) {
|
|
2111
|
+
this.refreshColumnsOnConfigChange(newVal, prevVal);
|
|
2112
|
+
}
|
|
2092
2113
|
rowSizeChanged(s) {
|
|
2093
2114
|
if (!this.dimensionProvider) {
|
|
2094
2115
|
return;
|
|
@@ -2414,6 +2435,7 @@ const RevoGridComponent = class {
|
|
|
2414
2435
|
selectionStoreConnector: this.selectionStoreConnector,
|
|
2415
2436
|
noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
|
|
2416
2437
|
disableVirtualX: this.disableVirtualX,
|
|
2438
|
+
virtualX: this.virtualX,
|
|
2417
2439
|
disableVirtualY: this.disableVirtualY,
|
|
2418
2440
|
resize: c => this.aftercolumnresize.emit(c),
|
|
2419
2441
|
}, contentHeight);
|
|
@@ -2488,6 +2510,9 @@ const RevoGridComponent = class {
|
|
|
2488
2510
|
"disableVirtualX": [{
|
|
2489
2511
|
"disableVirtualXChanged": 0
|
|
2490
2512
|
}],
|
|
2513
|
+
"virtualX": [{
|
|
2514
|
+
"virtualXChanged": 0
|
|
2515
|
+
}],
|
|
2491
2516
|
"rowSize": [{
|
|
2492
2517
|
"rowSizeChanged": 0
|
|
2493
2518
|
}],
|
|
@@ -50,7 +50,7 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
|
50
50
|
|
|
51
51
|
patchBrowser().then(async (options) => {
|
|
52
52
|
await appGlobals.globalScripts();
|
|
53
|
-
return index.bootstrapLazy([["revo-grid.cjs",[[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.cjs",[[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],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[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.cjs",[[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.cjs",[[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);
|
|
53
|
+
return index.bootstrapLazy([["revo-grid.cjs",[[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"],"virtualX":[16],"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}],"virtualX":[{"virtualXChanged":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.cjs",[[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],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[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.cjs",[[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.cjs",[[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);
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
exports.setNonce = index.setNonce;
|
|
@@ -149,7 +149,7 @@ const Clipboard = class {
|
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
151
|
|
|
152
|
-
const revogrEditStyleCss = () => `revogr-edit{display:block;position:absolute;background-color
|
|
152
|
+
const revogrEditStyleCss = () => `revogr-edit{display:block;position:absolute;background-color:var(--revo-grid-background, #fff)}revogr-edit input{height:100%;width:100%;box-sizing:border-box;background-color:var(--revo-grid-background, transparent)}revogr-edit revo-dropdown{height:100%}revogr-edit revo-dropdown.shrink fieldset legend>span{display:none}`;
|
|
153
153
|
|
|
154
154
|
const RevoEdit = class {
|
|
155
155
|
constructor(hostRef) {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
revogr-edit {
|
|
2
2
|
display: block;
|
|
3
3
|
position: absolute;
|
|
4
|
-
background-color: #fff;
|
|
4
|
+
background-color: var(--revo-grid-background, #fff);
|
|
5
5
|
}
|
|
6
6
|
revogr-edit input {
|
|
7
7
|
height: 100%;
|
|
8
8
|
width: 100%;
|
|
9
9
|
box-sizing: border-box;
|
|
10
|
+
background-color: var(--revo-grid-background, transparent);
|
|
10
11
|
}
|
|
11
12
|
revogr-edit revo-dropdown {
|
|
12
13
|
height: 100%;
|
|
@@ -170,6 +170,12 @@ export class RevoGridComponent {
|
|
|
170
170
|
* Can be used for initial rendering performance improvement.
|
|
171
171
|
*/
|
|
172
172
|
this.disableVirtualX = false;
|
|
173
|
+
/**
|
|
174
|
+
* Column dimensions that use X axis virtual rendering.
|
|
175
|
+
* Defaults to regular columns only to preserve pinned column behavior.
|
|
176
|
+
* Set to `['rgCol', 'colPinStart', 'colPinEnd']` to virtualize all column areas.
|
|
177
|
+
*/
|
|
178
|
+
this.virtualX = ['rgCol'];
|
|
173
179
|
/**
|
|
174
180
|
* Disable lazy rendering mode for the `Y axis`.
|
|
175
181
|
* Use when not many rows present and you don't need rerenader cells during scroll.
|
|
@@ -621,7 +627,7 @@ export class RevoGridComponent {
|
|
|
621
627
|
if (beforeSetEvent.defaultPrevented) {
|
|
622
628
|
return;
|
|
623
629
|
}
|
|
624
|
-
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX, init);
|
|
630
|
+
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX, init, this.virtualX);
|
|
625
631
|
const beforeApplyEvent = this.beforecolumnapplied.emit(columnGather);
|
|
626
632
|
if (beforeApplyEvent.defaultPrevented) {
|
|
627
633
|
return;
|
|
@@ -697,12 +703,18 @@ export class RevoGridComponent {
|
|
|
697
703
|
};
|
|
698
704
|
this.viewport.setFocus(colType, pending.rowType, cell, cell);
|
|
699
705
|
}
|
|
700
|
-
|
|
706
|
+
refreshColumnsOnConfigChange(newVal, prevVal) {
|
|
701
707
|
if (newVal === prevVal) {
|
|
702
708
|
return;
|
|
703
709
|
}
|
|
704
710
|
this.columnChanged(this.columns);
|
|
705
711
|
}
|
|
712
|
+
disableVirtualXChanged(newVal = false, prevVal = false) {
|
|
713
|
+
this.refreshColumnsOnConfigChange(newVal, prevVal);
|
|
714
|
+
}
|
|
715
|
+
virtualXChanged(newVal = ['rgCol'], prevVal = ['rgCol']) {
|
|
716
|
+
this.refreshColumnsOnConfigChange(newVal, prevVal);
|
|
717
|
+
}
|
|
706
718
|
rowSizeChanged(s) {
|
|
707
719
|
if (!this.dimensionProvider) {
|
|
708
720
|
return;
|
|
@@ -1028,6 +1040,7 @@ export class RevoGridComponent {
|
|
|
1028
1040
|
selectionStoreConnector: this.selectionStoreConnector,
|
|
1029
1041
|
noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
|
|
1030
1042
|
disableVirtualX: this.disableVirtualX,
|
|
1043
|
+
virtualX: this.virtualX,
|
|
1031
1044
|
disableVirtualY: this.disableVirtualY,
|
|
1032
1045
|
resize: c => this.aftercolumnresize.emit(c),
|
|
1033
1046
|
}, contentHeight);
|
|
@@ -1844,6 +1857,31 @@ export class RevoGridComponent {
|
|
|
1844
1857
|
"attribute": "disable-virtual-x",
|
|
1845
1858
|
"defaultValue": "false"
|
|
1846
1859
|
},
|
|
1860
|
+
"virtualX": {
|
|
1861
|
+
"type": "unknown",
|
|
1862
|
+
"mutable": false,
|
|
1863
|
+
"complexType": {
|
|
1864
|
+
"original": "DimensionCols[]",
|
|
1865
|
+
"resolved": "DimensionCols[]",
|
|
1866
|
+
"references": {
|
|
1867
|
+
"DimensionCols": {
|
|
1868
|
+
"location": "import",
|
|
1869
|
+
"path": "@type",
|
|
1870
|
+
"id": "src/types/index.ts::DimensionCols",
|
|
1871
|
+
"referenceLocation": "DimensionCols"
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
},
|
|
1875
|
+
"required": false,
|
|
1876
|
+
"optional": false,
|
|
1877
|
+
"docs": {
|
|
1878
|
+
"tags": [],
|
|
1879
|
+
"text": "Column dimensions that use X axis virtual rendering.\nDefaults to regular columns only to preserve pinned column behavior.\nSet to `['rgCol', 'colPinStart', 'colPinEnd']` to virtualize all column areas."
|
|
1880
|
+
},
|
|
1881
|
+
"getter": false,
|
|
1882
|
+
"setter": false,
|
|
1883
|
+
"defaultValue": "['rgCol']"
|
|
1884
|
+
},
|
|
1847
1885
|
"disableVirtualY": {
|
|
1848
1886
|
"type": "boolean",
|
|
1849
1887
|
"mutable": false,
|
|
@@ -2248,6 +2286,28 @@ export class RevoGridComponent {
|
|
|
2248
2286
|
}
|
|
2249
2287
|
}
|
|
2250
2288
|
}
|
|
2289
|
+
}, {
|
|
2290
|
+
"method": "aftersortingapply",
|
|
2291
|
+
"name": "aftersortingapply",
|
|
2292
|
+
"bubbles": true,
|
|
2293
|
+
"cancelable": true,
|
|
2294
|
+
"composed": true,
|
|
2295
|
+
"docs": {
|
|
2296
|
+
"tags": [],
|
|
2297
|
+
"text": "By `SortingPlugin`\n<br>Triggered after sorting has been applied and completed.\n<br>Provides final sorting state and sorting column metadata when available."
|
|
2298
|
+
},
|
|
2299
|
+
"complexType": {
|
|
2300
|
+
"original": "AfterSortingApplyEvent",
|
|
2301
|
+
"resolved": "{ sorting?: SortingOrder | undefined; sortingColumns?: SortingColumnMap | undefined; sortingOrder?: SortingColumnOrder | undefined; types: DimensionRows[]; }",
|
|
2302
|
+
"references": {
|
|
2303
|
+
"AfterSortingApplyEvent": {
|
|
2304
|
+
"location": "import",
|
|
2305
|
+
"path": "../../plugins",
|
|
2306
|
+
"id": "src/plugins/index.ts::AfterSortingApplyEvent",
|
|
2307
|
+
"referenceLocation": "AfterSortingApplyEvent"
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
}
|
|
2251
2311
|
}, {
|
|
2252
2312
|
"method": "rowdragstart",
|
|
2253
2313
|
"name": "rowdragstart",
|
|
@@ -3663,6 +3723,9 @@ export class RevoGridComponent {
|
|
|
3663
3723
|
}, {
|
|
3664
3724
|
"propName": "disableVirtualX",
|
|
3665
3725
|
"methodName": "disableVirtualXChanged"
|
|
3726
|
+
}, {
|
|
3727
|
+
"propName": "virtualX",
|
|
3728
|
+
"methodName": "virtualXChanged"
|
|
3666
3729
|
}, {
|
|
3667
3730
|
"propName": "rowSize",
|
|
3668
3731
|
"methodName": "rowSizeChanged"
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
+
import { isVirtualXDimension } from "../../services/dimension.provider";
|
|
4
5
|
import { columnTypes, getSourceItem, getVisibleSourceItem, rowTypes } from "../../store/index";
|
|
5
6
|
import { CONTENT_SLOT, FOOTER_SLOT, HEADER_SLOT, viewportDataPartition } from "./viewport.helpers";
|
|
7
|
+
export function getViewportResizeDimension(colType, dimension) {
|
|
8
|
+
return dimension === 'rgCol' ? colType : dimension;
|
|
9
|
+
}
|
|
6
10
|
/** Collect Column data */
|
|
7
11
|
function gatherColumnData(data) {
|
|
8
12
|
const colDimension = data.dimensions[data.colType].store;
|
|
@@ -62,20 +66,20 @@ export default class ViewportService {
|
|
|
62
66
|
colStore,
|
|
63
67
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
64
68
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
clientSize: e.detail.size,
|
|
70
|
-
};
|
|
71
|
-
// virtual size will be handled by dimension provider if disabled
|
|
72
|
-
if ((e.detail.dimension === 'rgRow' && !config.disableVirtualY)
|
|
73
|
-
|| (e.detail.dimension === 'rgCol' && !config.disableVirtualX)) {
|
|
74
|
-
vpState.virtualSize = e.detail.size;
|
|
75
|
-
}
|
|
76
|
-
(_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, vpState);
|
|
69
|
+
column.onResizeviewport = (e) => {
|
|
70
|
+
var _a;
|
|
71
|
+
const vpState = {
|
|
72
|
+
clientSize: e.detail.size,
|
|
77
73
|
};
|
|
78
|
-
|
|
74
|
+
const dimension = getViewportResizeDimension(val, e.detail.dimension);
|
|
75
|
+
const isVirtualColumn = columnTypes.includes(dimension)
|
|
76
|
+
&& isVirtualXDimension(dimension, config.disableVirtualX, config.virtualX);
|
|
77
|
+
// Keep virtual dimensions in sync with their viewport size.
|
|
78
|
+
if ((dimension === 'rgRow' && !config.disableVirtualY) || isVirtualColumn) {
|
|
79
|
+
vpState.virtualSize = e.detail.size;
|
|
80
|
+
}
|
|
81
|
+
(_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(dimension, vpState);
|
|
82
|
+
};
|
|
79
83
|
const colData = gatherColumnData(column);
|
|
80
84
|
const columnSelectionStore = this.registerCol(colData.position.x, val);
|
|
81
85
|
// render per each column data collections vertically
|
|
@@ -55,7 +55,7 @@ export class BasePlugin {
|
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
if (immediate) {
|
|
58
|
-
callback(nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.value);
|
|
58
|
+
callback((nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.get) ? nativeValueDesc.get.call(this.revogrid) : nativeValueDesc === null || nativeValueDesc === void 0 ? void 0 : nativeValueDesc.value);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
/**
|