@revolist/revogrid 4.26.2 → 4.27.0
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-Cf2Pu4S0.js → cell-renderer-C7rdgaov.js} +3 -3
- package/dist/cjs/{column.service-C7p5eC5V.js → column.service-Bbml5C2j.js} +3 -3
- package/dist/cjs/{dimension.helpers-CgHhnN1d.js → dimension.helpers-CptesQOZ.js} +52 -8
- package/dist/cjs/{edit.utils-rAcGublN.js → edit.utils-CBAbQhGP.js} +1 -1
- package/dist/cjs/{header-cell-renderer-DHClfIto.js → header-cell-renderer-BljFI6wj.js} +1 -1
- package/dist/cjs/{index--FdNLz1Z.js → index-BVESmpqW.js} +1 -1
- package/dist/cjs/index.cjs.js +71 -55
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +74 -49
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +51 -19
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +4 -4
- package/dist/cjs/revogr-data_4.cjs.entry.js +21 -15
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +9 -9
- package/dist/cjs/{column.drag.plugin-CK5HADlW.js → row-resize.plugin-BRQy_qNn.js} +573 -19
- package/dist/cjs/{text-editor-F04kTx53.js → text-editor-CJyQaYei.js} +2 -2
- package/dist/cjs/{throttle-fV6BUmM7.js → throttle-BsaP4fgu.js} +3 -3
- package/dist/cjs/{viewport.store-B4Clk4m9.js → viewport.store-mhsdi61t.js} +1 -1
- package/dist/collection/components/data/revogr-data-style.css +11 -0
- package/dist/collection/components/data/revogr-data.js +14 -8
- package/dist/collection/components/header/revogr-header-style.css +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +33 -3
- package/dist/collection/components/overlay/revogr-overlay-selection.js +12 -10
- package/dist/collection/components/revoGrid/plugin.service.js +2 -2
- package/dist/collection/components/revoGrid/revo-grid.js +44 -10
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +24 -13
- package/dist/collection/components/revoGrid/viewport.service.js +1 -1
- package/dist/collection/plugins/filter/filter.constants.js +9 -0
- package/dist/collection/plugins/filter/filter.panel.js +8 -8
- package/dist/collection/plugins/filter/filter.plugin.js +109 -10
- package/dist/collection/plugins/filter/filter.style.css +2 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +9 -2
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js +1 -1
- package/dist/collection/plugins/index.js +1 -0
- package/dist/collection/plugins/row-resize/index.js +6 -0
- package/dist/collection/plugins/row-resize/row-resize.plugin.js +385 -0
- package/dist/collection/plugins/row-resize/row-resize.types.js +1 -0
- package/dist/collection/plugins/row-resize/row-resize.utils.js +55 -0
- package/dist/collection/serve/controller.js +1 -1
- package/dist/collection/services/data.provider.js +8 -2
- package/dist/collection/services/local.scroll.timer.js +3 -3
- package/dist/collection/services/selection.store.connector.js +4 -2
- package/dist/collection/store/dataSource/data.pending.plugin.js +21 -0
- package/dist/collection/store/dataSource/data.store.js +25 -3
- package/dist/collection/store/dataSource/trimmed.plugin.js +9 -6
- package/dist/collection/store/dimension/dimension.trim.plugin.js +1 -3
- package/dist/collection/types/events.js +4 -1
- package/dist/collection/utils/column.utils.js +1 -1
- package/dist/esm/{cell-renderer-11cf-lu3.js → cell-renderer-BFpmdV8H.js} +3 -3
- package/dist/esm/{column.service-Cfw3L0PN.js → column.service-CM-wgGs8.js} +3 -3
- package/dist/{revo-grid/dimension.helpers-fl4HSSK9.js → esm/dimension.helpers-Cln9sALu.js} +52 -9
- package/dist/{revo-grid/edit.utils-4e9fsqOR.js → esm/edit.utils-3ZbhQCv_.js} +1 -1
- package/dist/esm/{header-cell-renderer-Cqtg1ETB.js → header-cell-renderer-Bqh1PrgH.js} +1 -1
- package/dist/esm/{index-D24ku9ej.js → index-BvMNbQyq.js} +1 -1
- package/dist/esm/index.js +14 -11
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +56 -31
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +51 -19
- package/dist/esm/revogr-clipboard_3.entry.js +4 -4
- package/dist/esm/revogr-data_4.entry.js +21 -15
- package/dist/esm/revogr-filter-panel.entry.js +9 -9
- package/dist/esm/{column.drag.plugin-DDBKeTGI.js → row-resize.plugin-BRiaHlHA.js} +562 -20
- package/dist/{revo-grid/text-editor-DlMnLkRK.js → esm/text-editor-eHtrwvxH.js} +2 -2
- package/dist/{revo-grid/throttle-Cpk1LoGk.js → esm/throttle-3rhqdcLy.js} +3 -3
- package/dist/{revo-grid/viewport.store-BSXmsiZc.js → esm/viewport.store-DWMKRDSH.js} +1 -1
- package/dist/revo-grid/{cell-renderer-11cf-lu3.js → cell-renderer-BFpmdV8H.js} +3 -3
- package/dist/revo-grid/{column.service-Cfw3L0PN.js → column.service-CM-wgGs8.js} +3 -3
- package/dist/{esm/dimension.helpers-fl4HSSK9.js → revo-grid/dimension.helpers-Cln9sALu.js} +52 -9
- package/dist/{esm/edit.utils-4e9fsqOR.js → revo-grid/edit.utils-3ZbhQCv_.js} +1 -1
- package/dist/revo-grid/{header-cell-renderer-Cqtg1ETB.js → header-cell-renderer-Bqh1PrgH.js} +1 -1
- package/dist/revo-grid/{index-D24ku9ej.js → index-BvMNbQyq.js} +1 -1
- package/dist/revo-grid/index.esm.js +14 -11
- package/dist/revo-grid/revo-grid.entry.js +56 -31
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +51 -19
- package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
- package/dist/revo-grid/revogr-data_4.entry.js +21 -15
- package/dist/revo-grid/revogr-filter-panel.entry.js +9 -9
- package/dist/revo-grid/{column.drag.plugin-DDBKeTGI.js → row-resize.plugin-BRiaHlHA.js} +562 -20
- package/dist/{esm/text-editor-DlMnLkRK.js → revo-grid/text-editor-eHtrwvxH.js} +2 -2
- package/dist/{esm/throttle-Cpk1LoGk.js → revo-grid/throttle-3rhqdcLy.js} +3 -3
- package/dist/{esm/viewport.store-BSXmsiZc.js → revo-grid/viewport.store-DWMKRDSH.js} +1 -1
- package/dist/types/components/data/revogr-data.d.ts +1 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +6 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +3 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +7 -1
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +3 -1
- package/dist/types/components.d.ts +23 -10
- package/dist/types/plugins/filter/filter.constants.d.ts +6 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +15 -0
- package/dist/types/plugins/index.d.ts +1 -0
- package/dist/types/plugins/row-resize/index.d.ts +3 -0
- package/dist/types/plugins/row-resize/row-resize.plugin.d.ts +44 -0
- package/dist/types/plugins/row-resize/row-resize.types.d.ts +40 -0
- package/dist/types/plugins/row-resize/row-resize.utils.d.ts +14 -0
- package/dist/types/services/data.provider.d.ts +2 -0
- package/dist/types/store/dataSource/data.pending.plugin.d.ts +9 -0
- package/dist/types/store/dataSource/data.store.d.ts +10 -0
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +5 -0
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +3 -1
- package/hydrate/index.js +734 -85
- package/hydrate/index.mjs +734 -85
- package/package.json +1 -1
- package/readme.md +4 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/local.scroll.timer.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-row-headers2.js +1 -1
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-DRvxCueo.js');
|
|
7
|
-
var column_service = require('./column.service-
|
|
8
|
-
var dimension_helpers = require('./dimension.helpers-
|
|
7
|
+
var column_service = require('./column.service-Bbml5C2j.js');
|
|
8
|
+
var dimension_helpers = require('./dimension.helpers-CptesQOZ.js');
|
|
9
9
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
10
10
|
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
11
|
-
var
|
|
12
|
-
var viewport_store = require('./viewport.store-
|
|
13
|
-
var index$1 = require('./index
|
|
11
|
+
var rowResize_plugin = require('./row-resize.plugin-BRQy_qNn.js');
|
|
12
|
+
var viewport_store = require('./viewport.store-mhsdi61t.js');
|
|
13
|
+
var index$1 = require('./index-BVESmpqW.js');
|
|
14
14
|
var events = require('./events-DeLDyZlb.js');
|
|
15
15
|
require('./filter.button-F2Bw3UAd.js');
|
|
16
|
-
require('./header-cell-renderer-
|
|
16
|
+
require('./header-cell-renderer-BljFI6wj.js');
|
|
17
17
|
|
|
18
18
|
class ColumnDataProvider {
|
|
19
19
|
get stores() {
|
|
@@ -230,9 +230,15 @@ class DataProvider {
|
|
|
230
230
|
store.addTrimmed(trimmed);
|
|
231
231
|
this.dimensionProvider.setTrimmed(trimmed, type);
|
|
232
232
|
if (type === 'rgRow') {
|
|
233
|
-
this.dimensionProvider.setData(
|
|
233
|
+
this.dimensionProvider.setData(store.store.get('items').length, type);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
+
/** Keep a row source empty until its current asynchronous update is ready. */
|
|
237
|
+
setItemsPending(pending, type = 'rgRow') {
|
|
238
|
+
const store = this.stores[type];
|
|
239
|
+
store.setItemsPending(pending);
|
|
240
|
+
this.dimensionProvider.setData(store.store.get('items').length, type, type !== 'rgRow');
|
|
241
|
+
}
|
|
236
242
|
}
|
|
237
243
|
|
|
238
244
|
const DEFAULT_VIRTUAL_X = ['rgCol'];
|
|
@@ -250,7 +256,7 @@ class DimensionProvider {
|
|
|
250
256
|
this.viewports = viewports;
|
|
251
257
|
const sizeChanged = debounce.debounce((k) => config.realSizeChanged(k), dimension_helpers.RESIZE_INTERVAL);
|
|
252
258
|
this.stores = [...column_service.rowTypes, ...column_service.columnTypes].reduce((sources, t) => {
|
|
253
|
-
sources[t] = new
|
|
259
|
+
sources[t] = new rowResize_plugin.DimensionStore(t);
|
|
254
260
|
sources[t].store.onChange('realSize', () => sizeChanged(t));
|
|
255
261
|
return sources;
|
|
256
262
|
}, {});
|
|
@@ -509,7 +515,7 @@ function getThemeTokens(tokens) {
|
|
|
509
515
|
}
|
|
510
516
|
const result = {};
|
|
511
517
|
for (const [name, value] of Object.entries(tokens)) {
|
|
512
|
-
if (Object.hasOwn(
|
|
518
|
+
if (Object.hasOwn(rowResize_plugin.themeTokenCssVariables, name) &&
|
|
513
519
|
typeof value === 'string' &&
|
|
514
520
|
value.trim()) {
|
|
515
521
|
result[name] = value;
|
|
@@ -722,7 +728,7 @@ class ViewportService {
|
|
|
722
728
|
const changedItems = {};
|
|
723
729
|
for (const i of Object.keys(detail || {})) {
|
|
724
730
|
const size = detail[i];
|
|
725
|
-
const virtualIndex = parseInt(i, 10);
|
|
731
|
+
const virtualIndex = Number.parseInt(i, 10);
|
|
726
732
|
const item = dimension_helpers.getSourceItem(store, virtualIndex);
|
|
727
733
|
if (item) {
|
|
728
734
|
changedItems[virtualIndex] = Object.assign(Object.assign({}, item), { size });
|
|
@@ -851,29 +857,25 @@ class GridScrollingService {
|
|
|
851
857
|
this.elements = {};
|
|
852
858
|
}
|
|
853
859
|
async proxyScroll(e, key, skipEvent) {
|
|
854
|
-
var _a;
|
|
855
860
|
let newEventPromise;
|
|
856
861
|
let event = e;
|
|
857
|
-
for (
|
|
862
|
+
for (const elKey in (skipEvent ? {} : this.elements)) {
|
|
858
863
|
// skip
|
|
859
864
|
if (e.dimension === 'rgCol' && elKey === 'headerRow') {
|
|
860
865
|
continue;
|
|
861
866
|
// pinned column only
|
|
862
867
|
}
|
|
863
|
-
|
|
868
|
+
if (this.isPinnedColumn(key) && e.dimension === 'rgCol') {
|
|
864
869
|
if (elKey === key || !e.delta) {
|
|
865
870
|
continue;
|
|
866
871
|
}
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
}
|
|
872
|
+
const changedEvent = this.changeScroll(this.elements[elKey], e);
|
|
873
|
+
if (changedEvent) {
|
|
874
|
+
newEventPromise = changedEvent;
|
|
871
875
|
}
|
|
872
876
|
}
|
|
873
877
|
else {
|
|
874
|
-
|
|
875
|
-
await ((_a = el.setScroll) === null || _a === void 0 ? void 0 : _a.call(el, e));
|
|
876
|
-
}
|
|
878
|
+
await this.setScroll(this.elements[elKey], e);
|
|
877
879
|
}
|
|
878
880
|
}
|
|
879
881
|
const newEvent = await newEventPromise;
|
|
@@ -883,12 +885,27 @@ class GridScrollingService {
|
|
|
883
885
|
this.setViewport(skipEvent && this.isPinnedColumn(key)
|
|
884
886
|
? Object.assign(Object.assign({}, event), { dimension: key }) : event);
|
|
885
887
|
}
|
|
888
|
+
changeScroll(elements, e) {
|
|
889
|
+
let changedEvent;
|
|
890
|
+
for (const element of elements) {
|
|
891
|
+
if (element.changeScroll) {
|
|
892
|
+
changedEvent = element.changeScroll(e);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
return changedEvent;
|
|
896
|
+
}
|
|
897
|
+
async setScroll(elements, e) {
|
|
898
|
+
var _a;
|
|
899
|
+
for (const element of elements) {
|
|
900
|
+
await ((_a = element.setScroll) === null || _a === void 0 ? void 0 : _a.call(element, e));
|
|
901
|
+
}
|
|
902
|
+
}
|
|
886
903
|
/**
|
|
887
904
|
* Silent scroll update for mobile devices when we have negative scroll top
|
|
888
905
|
*/
|
|
889
906
|
async scrollSilentService(e, key) {
|
|
890
907
|
var _a;
|
|
891
|
-
for (
|
|
908
|
+
for (const elKey in this.elements) {
|
|
892
909
|
// skip same element update
|
|
893
910
|
if (elKey === key) {
|
|
894
911
|
continue;
|
|
@@ -896,7 +913,7 @@ class GridScrollingService {
|
|
|
896
913
|
if (column_service.columnTypes.includes(key) &&
|
|
897
914
|
(elKey === 'headerRow' ||
|
|
898
915
|
column_service.columnTypes.includes(elKey))) {
|
|
899
|
-
for (
|
|
916
|
+
for (const el of this.elements[elKey]) {
|
|
900
917
|
await ((_a = el.changeScroll) === null || _a === void 0 ? void 0 : _a.call(el, e, true));
|
|
901
918
|
}
|
|
902
919
|
continue;
|
|
@@ -904,7 +921,7 @@ class GridScrollingService {
|
|
|
904
921
|
}
|
|
905
922
|
}
|
|
906
923
|
isPinnedColumn(key) {
|
|
907
|
-
return !!key && ['colPinStart', 'colPinEnd'].
|
|
924
|
+
return !!key && ['colPinStart', 'colPinEnd'].includes(key);
|
|
908
925
|
}
|
|
909
926
|
registerElements(els) {
|
|
910
927
|
this.elements = els;
|
|
@@ -980,14 +997,14 @@ class SelectionStoreConnector {
|
|
|
980
997
|
if (this.columnStores[x]) {
|
|
981
998
|
return this.columnStores[x];
|
|
982
999
|
}
|
|
983
|
-
this.columnStores[x] = new
|
|
1000
|
+
this.columnStores[x] = new rowResize_plugin.SelectionStore();
|
|
984
1001
|
return this.columnStores[x];
|
|
985
1002
|
}
|
|
986
1003
|
registerRow(y, type) {
|
|
987
1004
|
if (this.rowStores[y]) {
|
|
988
1005
|
return this.rowStores[y];
|
|
989
1006
|
}
|
|
990
|
-
this.rowStores[y] = new
|
|
1007
|
+
this.rowStores[y] = new rowResize_plugin.SelectionStore();
|
|
991
1008
|
// build cross linking type to position
|
|
992
1009
|
this.storesByType[type] = y;
|
|
993
1010
|
this.storesYToType[y] = type;
|
|
@@ -1005,7 +1022,7 @@ class SelectionStoreConnector {
|
|
|
1005
1022
|
// Store already registered. Do not register twice
|
|
1006
1023
|
return store;
|
|
1007
1024
|
}
|
|
1008
|
-
this.stores[y][x] = store = new
|
|
1025
|
+
this.stores[y][x] = store = new rowResize_plugin.SelectionStore();
|
|
1009
1026
|
// proxy update, column store trigger only range area
|
|
1010
1027
|
store.onChange('range', c => {
|
|
1011
1028
|
this.columnStores[x].setRangeArea(c);
|
|
@@ -1185,9 +1202,11 @@ class SelectionStoreConnector {
|
|
|
1185
1202
|
continue;
|
|
1186
1203
|
}
|
|
1187
1204
|
const lastCell = store.store.get('lastCell');
|
|
1188
|
-
if (lastCell) {
|
|
1189
|
-
store.
|
|
1205
|
+
if (!lastCell || lastCell.x <= 0 || lastCell.y <= 0) {
|
|
1206
|
+
store.setRangeArea(null);
|
|
1207
|
+
continue;
|
|
1190
1208
|
}
|
|
1209
|
+
store.setRange({ x: 0, y: 0 }, { x: lastCell.x - 1, y: lastCell.y - 1 });
|
|
1191
1210
|
}
|
|
1192
1211
|
}
|
|
1193
1212
|
}
|
|
@@ -1328,7 +1347,7 @@ function isMobileDevice() {
|
|
|
1328
1347
|
* Note: The WCAG Plugin should be added as the last plugin in the list of plugins, as it modifies the grid's
|
|
1329
1348
|
* default behavior and may conflict with other plugins if added earlier.
|
|
1330
1349
|
*/
|
|
1331
|
-
class WCAGPlugin extends
|
|
1350
|
+
class WCAGPlugin extends rowResize_plugin.BasePlugin {
|
|
1332
1351
|
constructor(revogrid, providers) {
|
|
1333
1352
|
super(revogrid, providers);
|
|
1334
1353
|
revogrid.setAttribute('role', 'treegrid');
|
|
@@ -1419,7 +1438,7 @@ class PluginService {
|
|
|
1419
1438
|
return;
|
|
1420
1439
|
}
|
|
1421
1440
|
// Step 1: Identify plugins to remove, compare new and old plugins
|
|
1422
|
-
const pluginsToRemove = (prevPlugins === null || prevPlugins === void 0 ? void 0 : prevPlugins.filter(prevPlugin => !plugins.
|
|
1441
|
+
const pluginsToRemove = (prevPlugins === null || prevPlugins === void 0 ? void 0 : prevPlugins.filter(prevPlugin => !plugins.includes(prevPlugin))) || [];
|
|
1423
1442
|
// Step 2: Remove old plugins
|
|
1424
1443
|
pluginsToRemove.forEach(plugin => {
|
|
1425
1444
|
var _a, _b;
|
|
@@ -1432,7 +1451,7 @@ class PluginService {
|
|
|
1432
1451
|
// Step 3: Register user plugins
|
|
1433
1452
|
plugins === null || plugins === void 0 ? void 0 : plugins.forEach(userPlugin => {
|
|
1434
1453
|
// check if plugin already exists, if so, skip
|
|
1435
|
-
const existingPlugin = this.internalPlugins.
|
|
1454
|
+
const existingPlugin = this.internalPlugins.some(createdPlugin => createdPlugin instanceof userPlugin);
|
|
1436
1455
|
if (existingPlugin) {
|
|
1437
1456
|
return;
|
|
1438
1457
|
}
|
|
@@ -1471,7 +1490,7 @@ class PluginService {
|
|
|
1471
1490
|
* This plugin handles RTL transformation by subscribing to the beforecolumnsset event
|
|
1472
1491
|
* and applying column order reversal when RTL mode is enabled.
|
|
1473
1492
|
*/
|
|
1474
|
-
class RTLPlugin extends
|
|
1493
|
+
class RTLPlugin extends rowResize_plugin.BasePlugin {
|
|
1475
1494
|
constructor(revogrid, providers) {
|
|
1476
1495
|
super(revogrid, providers);
|
|
1477
1496
|
this.isRTLEnabled = false;
|
|
@@ -1640,7 +1659,12 @@ const RevoGridComponent = class {
|
|
|
1640
1659
|
/** When true, grid in read only mode. */
|
|
1641
1660
|
this.readonly = false;
|
|
1642
1661
|
/** When true, columns are resizable. */
|
|
1643
|
-
this.resize =
|
|
1662
|
+
this.resize = true;
|
|
1663
|
+
/**
|
|
1664
|
+
* Enables row resizing. Pass a configuration object to customize the
|
|
1665
|
+
* height limits or enable resize edges across the full row.
|
|
1666
|
+
*/
|
|
1667
|
+
this.resizeRow = false;
|
|
1644
1668
|
/**
|
|
1645
1669
|
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
1646
1670
|
*/
|
|
@@ -1711,15 +1735,15 @@ const RevoGridComponent = class {
|
|
|
1711
1735
|
*/
|
|
1712
1736
|
this.autoSizeColumn = false;
|
|
1713
1737
|
/**
|
|
1714
|
-
* Enables filter plugin.
|
|
1738
|
+
* Enables filter plugin. Enabled by default; set to `false` to opt out.
|
|
1715
1739
|
* Can be boolean.
|
|
1716
1740
|
* Or can be filter collection See `FilterCollection` for more info.
|
|
1717
1741
|
*/
|
|
1718
|
-
this.filter =
|
|
1742
|
+
this.filter = true;
|
|
1719
1743
|
/**
|
|
1720
1744
|
* Enable column move plugin.
|
|
1721
1745
|
*/
|
|
1722
|
-
this.canMoveColumns =
|
|
1746
|
+
this.canMoveColumns = true;
|
|
1723
1747
|
/**
|
|
1724
1748
|
* Trimmed rows.
|
|
1725
1749
|
* Functionality which allows to hide rows from main data set.
|
|
@@ -1729,7 +1753,7 @@ const RevoGridComponent = class {
|
|
|
1729
1753
|
/**
|
|
1730
1754
|
* Enable export plugin.
|
|
1731
1755
|
*/
|
|
1732
|
-
this.exporting =
|
|
1756
|
+
this.exporting = true;
|
|
1733
1757
|
/**
|
|
1734
1758
|
* Stretch strategy for columns by `StretchColumn` plugin.
|
|
1735
1759
|
* For example if there are more space on the right last column size would be increased.
|
|
@@ -1821,7 +1845,7 @@ const RevoGridComponent = class {
|
|
|
1821
1845
|
var _a;
|
|
1822
1846
|
if (this.dataProvider && this.columnProvider && !skipDataUpdate) {
|
|
1823
1847
|
const columnProp = (_a = this.columnProvider.getColumn(col, colType)) === null || _a === void 0 ? void 0 : _a.prop;
|
|
1824
|
-
if (
|
|
1848
|
+
if (columnProp !== undefined) {
|
|
1825
1849
|
this.dataProvider.setCellData({
|
|
1826
1850
|
type: rowType,
|
|
1827
1851
|
rowIndex: row,
|
|
@@ -2351,7 +2375,7 @@ const RevoGridComponent = class {
|
|
|
2351
2375
|
'--rg-theme-row-size': `${this.themeService.rowSize}px`,
|
|
2352
2376
|
};
|
|
2353
2377
|
for (const [name, value] of Object.entries(this.themeService.theme.tokens)) {
|
|
2354
|
-
const cssVariable =
|
|
2378
|
+
const cssVariable = rowResize_plugin.themeTokenCssVariables[name];
|
|
2355
2379
|
if (cssVariable && value) {
|
|
2356
2380
|
styles[cssVariable] = value;
|
|
2357
2381
|
}
|
|
@@ -2450,7 +2474,7 @@ const RevoGridComponent = class {
|
|
|
2450
2474
|
*/
|
|
2451
2475
|
groupingChanged(newVal = {}) {
|
|
2452
2476
|
var _a;
|
|
2453
|
-
(_a = this.pluginService.getByClass(
|
|
2477
|
+
(_a = this.pluginService.getByClass(rowResize_plugin.GroupingRowPlugin)) === null || _a === void 0 ? void 0 : _a.setGrouping(newVal || {});
|
|
2454
2478
|
}
|
|
2455
2479
|
/**
|
|
2456
2480
|
* Stretch Plugin Apply
|
|
@@ -2466,12 +2490,12 @@ const RevoGridComponent = class {
|
|
|
2466
2490
|
if (!pluginData) {
|
|
2467
2491
|
return;
|
|
2468
2492
|
}
|
|
2469
|
-
const stretch = this.pluginService.getByClass(
|
|
2493
|
+
const stretch = this.pluginService.getByClass(rowResize_plugin.StretchColumn);
|
|
2470
2494
|
if ((typeof isStretch === 'boolean' && isStretch) || isStretch === 'true') {
|
|
2471
2495
|
if (!stretch) {
|
|
2472
|
-
this.pluginService.add(new
|
|
2496
|
+
this.pluginService.add(new rowResize_plugin.StretchColumn(this.element, pluginData));
|
|
2473
2497
|
}
|
|
2474
|
-
else if (
|
|
2498
|
+
else if (rowResize_plugin.isStretchPlugin(stretch)) {
|
|
2475
2499
|
stretch.applyStretch(this.columnProvider.getRawColumns());
|
|
2476
2500
|
}
|
|
2477
2501
|
}
|
|
@@ -2534,24 +2558,25 @@ const RevoGridComponent = class {
|
|
|
2534
2558
|
this.pluginService.add(new RTLPlugin(this.element, pluginData));
|
|
2535
2559
|
// register auto size plugin
|
|
2536
2560
|
if (this.autoSizeColumn) {
|
|
2537
|
-
this.pluginService.add(new
|
|
2561
|
+
this.pluginService.add(new rowResize_plugin.AutoSizeColumnPlugin(this.element, pluginData, typeof this.autoSizeColumn === 'object'
|
|
2538
2562
|
? this.autoSizeColumn
|
|
2539
2563
|
: undefined));
|
|
2540
2564
|
}
|
|
2541
2565
|
// register filter plugin
|
|
2542
2566
|
if (this.filter) {
|
|
2543
|
-
this.pluginService.add(new
|
|
2567
|
+
this.pluginService.add(new rowResize_plugin.FilterPlugin(this.element, pluginData, typeof this.filter === 'object' ? this.filter : undefined));
|
|
2544
2568
|
}
|
|
2545
2569
|
// register export plugin
|
|
2546
2570
|
if (this.exporting) {
|
|
2547
|
-
this.pluginService.add(new
|
|
2571
|
+
this.pluginService.add(new rowResize_plugin.ExportFilePlugin(this.element, pluginData));
|
|
2548
2572
|
}
|
|
2549
2573
|
// register sorting plugin
|
|
2550
|
-
this.pluginService.add(new
|
|
2574
|
+
this.pluginService.add(new rowResize_plugin.SortingPlugin(this.element, pluginData));
|
|
2551
2575
|
// register grouping plugin
|
|
2552
|
-
this.pluginService.add(new
|
|
2576
|
+
this.pluginService.add(new rowResize_plugin.GroupingRowPlugin(this.element, pluginData));
|
|
2577
|
+
this.pluginService.add(rowResize_plugin.RowResizePlugin.fromGridProperty(this.element, pluginData));
|
|
2553
2578
|
if (this.canMoveColumns) {
|
|
2554
|
-
this.pluginService.add(new
|
|
2579
|
+
this.pluginService.add(new rowResize_plugin.ColumnMovePlugin(this.element, pluginData));
|
|
2555
2580
|
}
|
|
2556
2581
|
}
|
|
2557
2582
|
getPluginData() {
|
|
@@ -49,7 +49,7 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
|
49
49
|
|
|
50
50
|
patchBrowser().then(async (options) => {
|
|
51
51
|
await appGlobals.globalScripts();
|
|
52
|
-
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],"themeDefinitions":[16],"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}],"colSize":[{"colSizeChanged":0}],"theme":[{"themeChanged":0}],"themeDefinitions":[{"themeDefinitionsChanged":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"],"allowDuplicateOperators":[4,"allow-duplicate-operators"],"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);
|
|
52
|
+
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],"resizeRow":[4,"resize-row"],"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],"themeDefinitions":[16],"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}],"colSize":[{"colSizeChanged":0}],"theme":[{"themeChanged":0}],"themeDefinitions":[{"themeDefinitionsChanged":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"],"allowDuplicateOperators":[4,"allow-duplicate-operators"],"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
53
|
});
|
|
54
54
|
|
|
55
55
|
exports.setNonce = index.setNonce;
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-DRvxCueo.js');
|
|
7
|
-
var dimension_helpers = require('./dimension.helpers-
|
|
7
|
+
var dimension_helpers = require('./dimension.helpers-CptesQOZ.js');
|
|
8
8
|
var events = require('./events-DeLDyZlb.js');
|
|
9
|
-
var column_service = require('./column.service-
|
|
10
|
-
var edit_utils = require('./edit.utils-
|
|
11
|
-
var index$1 = require('./index
|
|
9
|
+
var column_service = require('./column.service-Bbml5C2j.js');
|
|
10
|
+
var edit_utils = require('./edit.utils-CBAbQhGP.js');
|
|
11
|
+
var index$1 = require('./index-BVESmpqW.js');
|
|
12
12
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
13
|
-
var viewport_store = require('./viewport.store-
|
|
13
|
+
var viewport_store = require('./viewport.store-mhsdi61t.js');
|
|
14
14
|
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
15
|
-
var throttle = require('./throttle-
|
|
15
|
+
var throttle = require('./throttle-BsaP4fgu.js');
|
|
16
16
|
|
|
17
17
|
const Attribution = class {
|
|
18
18
|
constructor(hostRef) {
|
|
@@ -283,6 +283,16 @@ const DIRECTION_CODES = [
|
|
|
283
283
|
class KeyboardService {
|
|
284
284
|
constructor(sv) {
|
|
285
285
|
this.sv = sv;
|
|
286
|
+
/** Keep focus transitions in keydown order so rendering can scroll each cell into view. */
|
|
287
|
+
this.keyChangeQueue = Promise.resolve(false);
|
|
288
|
+
this.keyChangeGeneration = 0;
|
|
289
|
+
this.applyingKeyChange = false;
|
|
290
|
+
}
|
|
291
|
+
/** Cancel delayed directional input after focus or edit context changes externally. */
|
|
292
|
+
invalidatePendingChanges() {
|
|
293
|
+
if (!this.applyingKeyChange) {
|
|
294
|
+
this.keyChangeGeneration += 1;
|
|
295
|
+
}
|
|
286
296
|
}
|
|
287
297
|
/**
|
|
288
298
|
* Appends printable key input that arrives after edit mode was requested
|
|
@@ -385,13 +395,33 @@ class KeyboardService {
|
|
|
385
395
|
if (!data) {
|
|
386
396
|
return false;
|
|
387
397
|
}
|
|
398
|
+
const keyChangeGeneration = this.keyChangeGeneration;
|
|
388
399
|
// this interval needed for several cases
|
|
389
400
|
// grid could be resized before next click
|
|
390
401
|
// at this case to avoid screen jump we use this interval
|
|
391
402
|
await index$1.timeout(dimension_helpers.RESIZE_INTERVAL + 30);
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
|
|
403
|
+
const applyKeyChange = async () => {
|
|
404
|
+
if (keyChangeGeneration !== this.keyChangeGeneration) {
|
|
405
|
+
return false;
|
|
406
|
+
}
|
|
407
|
+
const range = this.sv.selectionStore.get('range');
|
|
408
|
+
const focus = this.sv.selectionStore.get('focus');
|
|
409
|
+
this.applyingKeyChange = true;
|
|
410
|
+
let changed;
|
|
411
|
+
try {
|
|
412
|
+
changed = this.keyPositionChange(data.changes, range, focus, data.isMulti);
|
|
413
|
+
}
|
|
414
|
+
finally {
|
|
415
|
+
this.applyingKeyChange = false;
|
|
416
|
+
}
|
|
417
|
+
await new Promise(resolve => requestAnimationFrame(() => {
|
|
418
|
+
requestAnimationFrame(() => resolve());
|
|
419
|
+
}));
|
|
420
|
+
return changed;
|
|
421
|
+
};
|
|
422
|
+
const queuedChange = this.keyChangeQueue.then(applyKeyChange, applyKeyChange);
|
|
423
|
+
this.keyChangeQueue = queuedChange.catch(() => false);
|
|
424
|
+
return queuedChange;
|
|
395
425
|
}
|
|
396
426
|
keyPositionChange(changes, range, focus, isMulti = false) {
|
|
397
427
|
if (!range || !focus) {
|
|
@@ -775,6 +805,8 @@ const OverlaySelection = class {
|
|
|
775
805
|
* Selection & Keyboard
|
|
776
806
|
*/
|
|
777
807
|
selectionServiceSet(selectionStore) {
|
|
808
|
+
var _a;
|
|
809
|
+
(_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.invalidatePendingChanges();
|
|
778
810
|
// clear subscriptions
|
|
779
811
|
this.unsubscribeSelectionStore.forEach(v => v());
|
|
780
812
|
this.unsubscribeSelectionStore.length = 0;
|
|
@@ -802,6 +834,7 @@ const OverlaySelection = class {
|
|
|
802
834
|
getData: () => this.getData(),
|
|
803
835
|
selectAll: () => this.selectAll.emit(),
|
|
804
836
|
});
|
|
837
|
+
this.unsubscribeSelectionStore.push(selectionStore.onChange('focus', () => { var _a; return (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.invalidatePendingChanges(); }), selectionStore.onChange('edit', () => { var _a; return (_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.invalidatePendingChanges(); }));
|
|
805
838
|
this.createAutoFillService();
|
|
806
839
|
}
|
|
807
840
|
/** Autofill */
|
|
@@ -838,11 +871,12 @@ const OverlaySelection = class {
|
|
|
838
871
|
this.selectionServiceSet(this.selectionStore);
|
|
839
872
|
}
|
|
840
873
|
disconnectedCallback() {
|
|
841
|
-
var _a;
|
|
874
|
+
var _a, _b;
|
|
842
875
|
// clear subscriptions
|
|
876
|
+
(_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.invalidatePendingChanges();
|
|
843
877
|
this.unsubscribeSelectionStore.forEach(v => v());
|
|
844
878
|
this.unsubscribeSelectionStore.length = 0;
|
|
845
|
-
(
|
|
879
|
+
(_b = this.columnService) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
846
880
|
}
|
|
847
881
|
async componentWillRender() {
|
|
848
882
|
var _a, _b;
|
|
@@ -854,9 +888,7 @@ const OverlaySelection = class {
|
|
|
854
888
|
renderRange(range) {
|
|
855
889
|
const cell = getCell(range, this.dimensionRow.state, this.dimensionCol.state);
|
|
856
890
|
const styles = styleByCellProps(cell);
|
|
857
|
-
return
|
|
858
|
-
index.h("div", { class: dimension_helpers.SELECTION_BORDER_CLASS, style: styles }, this.isMobileDevice && (index.h("div", { class: "range-handlers" }, index.h("span", { class: dimension_helpers.MOBILE_CLASS }), index.h("span", { class: dimension_helpers.MOBILE_CLASS })))),
|
|
859
|
-
];
|
|
891
|
+
return (index.h("div", { class: dimension_helpers.SELECTION_BORDER_CLASS, style: styles }, this.isMobileDevice && (index.h("div", { class: "range-handlers" }, index.h("span", { class: dimension_helpers.MOBILE_CLASS }), index.h("span", { class: dimension_helpers.MOBILE_CLASS })))));
|
|
860
892
|
}
|
|
861
893
|
renderEditor() {
|
|
862
894
|
// Check if edit access
|
|
@@ -909,7 +941,7 @@ const OverlaySelection = class {
|
|
|
909
941
|
}
|
|
910
942
|
// Range
|
|
911
943
|
if (range) {
|
|
912
|
-
nodes.push(
|
|
944
|
+
nodes.push(this.renderRange(range));
|
|
913
945
|
}
|
|
914
946
|
// Autofill
|
|
915
947
|
if (focus && !this.readonly && this.range) {
|
|
@@ -920,9 +952,9 @@ const OverlaySelection = class {
|
|
|
920
952
|
nodes.push(index.h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, rowType: this.types.rowType, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
921
953
|
}
|
|
922
954
|
}
|
|
923
|
-
return (index.h(index.Host, { key: '
|
|
955
|
+
return (index.h(index.Host, { key: '230e2122c5c7065c072f02019d616a64949d54d0', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true), onCloseedit: (e) => this.closeEdit(e),
|
|
924
956
|
// it's done to be able to throw events from different levels, not just from editor
|
|
925
|
-
onCelledit: (e) => this.onEditCell(e) }, nodes, index.h("slot", { key: '
|
|
957
|
+
onCelledit: (e) => this.onEditCell(e) }, nodes, index.h("slot", { key: '47740a79c605258b4024384510358be927d000b7', name: "data" })));
|
|
926
958
|
}
|
|
927
959
|
/**
|
|
928
960
|
* Executes the focus operation on the specified range of cells.
|
|
@@ -1119,12 +1151,12 @@ const OverlaySelection = class {
|
|
|
1119
1151
|
clearCell() {
|
|
1120
1152
|
var _a;
|
|
1121
1153
|
const range = this.selectionStore.get('range');
|
|
1122
|
-
|
|
1154
|
+
const focused = this.selectionStore.get('focus');
|
|
1155
|
+
if (range && (!column_service.isRangeSingleCell(range) || !focused)) {
|
|
1123
1156
|
const data = this.columnService.getRangeStaticData(range, '');
|
|
1124
1157
|
(_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(data, range, range);
|
|
1125
1158
|
}
|
|
1126
1159
|
else if (this.canEdit()) {
|
|
1127
|
-
const focused = this.selectionStore.get('focus');
|
|
1128
1160
|
if (!focused) {
|
|
1129
1161
|
return;
|
|
1130
1162
|
}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-DRvxCueo.js');
|
|
7
|
-
var dimension_helpers = require('./dimension.helpers-
|
|
8
|
-
var textEditor = require('./text-editor-
|
|
9
|
-
var edit_utils = require('./edit.utils-
|
|
7
|
+
var dimension_helpers = require('./dimension.helpers-CptesQOZ.js');
|
|
8
|
+
var textEditor = require('./text-editor-CJyQaYei.js');
|
|
9
|
+
var edit_utils = require('./edit.utils-CBAbQhGP.js');
|
|
10
10
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
11
|
-
require('./index
|
|
11
|
+
require('./index-BVESmpqW.js');
|
|
12
12
|
|
|
13
13
|
const Clipboard = class {
|
|
14
14
|
constructor(hostRef) {
|