@revolist/revogrid 4.22.0 → 4.23.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-uZmDBXz7.js → cell-renderer-DWJ9Px9f.js} +9 -3
- package/dist/cjs/{column.drag.plugin-CM_5mKV3.js → column.drag.plugin-CaEBDG-Q.js} +409 -267
- package/dist/cjs/{column.service-DvQDqxxx.js → column.service-f612L4ql.js} +1 -1
- package/dist/cjs/{dimension.helpers-CaIsYC99.js → dimension.helpers-B9HgANnM.js} +14 -146
- package/dist/cjs/{edit.utils-CwMzSIVF.js → edit.utils-pKeiYFLJ.js} +22 -1
- package/dist/cjs/{header-cell-renderer-B1dJwgTO.js → header-cell-renderer-4yq9_WbM.js} +1 -1
- package/dist/cjs/index-DxaSE5uZ.js +136 -0
- package/dist/cjs/index.cjs.js +45 -31
- package/dist/cjs/revo-grid.cjs.entry.js +35 -15
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +44 -26
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +11 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js +132 -178
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -1
- package/dist/cjs/{text-editor-BTnGaIl3.js → text-editor-B4W-m-r-.js} +3 -3
- package/dist/cjs/{throttle-CI4MsAqs.js → throttle-BCwEuJJq.js} +59 -24
- package/dist/cjs/viewport.helpers-BND76K2j.js +140 -0
- package/dist/cjs/{viewport.store-Dcjud-a-.js → viewport.store-BlKQ4x9H.js} +16 -16
- package/dist/collection/components/clipboard/revogr-clipboard.js +1 -1
- package/dist/collection/components/data/revogr-data.js +5 -3
- package/dist/collection/components/header/header-group-renderer.js +2 -1
- package/dist/collection/components/header/header-renderer.js +6 -5
- package/dist/collection/components/header/revogr-header-style.css +13 -3
- package/dist/collection/components/header/revogr-header.js +105 -42
- package/dist/collection/components/order/order-row.service.js +6 -5
- package/dist/collection/components/overlay/keyboard.service.js +25 -3
- package/dist/collection/components/overlay/selection.utils.js +8 -6
- package/dist/collection/components/revoGrid/revo-grid.js +6 -5
- package/dist/collection/components/revoGrid/viewport.service.js +2 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +4 -10
- package/dist/collection/plugins/filter/filter.panel.js +2 -1
- package/dist/collection/plugins/filter/filter.plugin.js +11 -4
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +25 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +18 -15
- package/dist/collection/plugins/sorting/sorting.func.js +173 -15
- package/dist/collection/plugins/sorting/sorting.plugin.js +167 -84
- package/dist/collection/plugins/sorting/sorting.sign.js +7 -1
- package/dist/collection/serve/controller.js +98 -37
- package/dist/collection/serve/data.js +273 -144
- package/dist/collection/services/dimension.provider.js +16 -1
- package/dist/collection/services/local.scroll.service.js +59 -24
- package/dist/collection/services/scroll.dimension.helpers.js +83 -0
- package/dist/collection/services/selection.store.connector.js +4 -1
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +22 -9
- package/dist/collection/store/dimension/dimension.store.js +4 -2
- package/dist/collection/store/vp/viewport.helpers.js +9 -0
- package/dist/collection/store/vp/viewport.store.js +5 -16
- package/dist/collection/types/events.js +4 -0
- package/dist/collection/utils/key.utils.js +20 -0
- package/dist/collection/utils/store.utils.js +3 -3
- package/dist/{revo-grid/cell-renderer-K_BKH7Kx.js → esm/cell-renderer-8UiGd-s7.js} +9 -3
- package/dist/esm/{column.drag.plugin-DEqZ2qXJ.js → column.drag.plugin-BsfhsfmB.js} +402 -266
- package/dist/esm/{column.service-Cdz3dYqZ.js → column.service-DbpulTog.js} +1 -1
- package/dist/{revo-grid/debounce-BfO9dz9v.js → esm/debounce-PCRWZliA.js} +1 -1
- package/dist/{revo-grid/dimension.helpers-DzxqJQqN.js → esm/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/esm/{edit.utils-CzfeG98N.js → edit.utils-Dnnbd0xG.js} +22 -2
- package/dist/{revo-grid/header-cell-renderer-DXhxZMly.js → esm/header-cell-renderer-DGI2FAD8.js} +1 -1
- package/dist/esm/index-Db3qZoW5.js +127 -0
- package/dist/esm/index.js +15 -10
- package/dist/esm/revo-grid.entry.js +34 -14
- package/dist/esm/revogr-attribution_7.entry.js +43 -25
- package/dist/esm/revogr-clipboard_3.entry.js +12 -10
- package/dist/esm/revogr-data_4.entry.js +133 -179
- package/dist/esm/revogr-filter-panel.entry.js +3 -2
- package/dist/esm/{text-editor-C1ks5eQ4.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/esm/{throttle-BEjFQa2l.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/esm/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{revo-grid/viewport.store-saAZJHRo.js → esm/viewport.store-COAfzAyu.js} +15 -17
- package/dist/{esm/cell-renderer-K_BKH7Kx.js → revo-grid/cell-renderer-8UiGd-s7.js} +9 -3
- package/dist/revo-grid/{column.drag.plugin-DEqZ2qXJ.js → column.drag.plugin-BsfhsfmB.js} +402 -266
- package/dist/revo-grid/{column.service-Cdz3dYqZ.js → column.service-DbpulTog.js} +1 -1
- package/dist/{esm/debounce-BfO9dz9v.js → revo-grid/debounce-PCRWZliA.js} +1 -1
- package/dist/{esm/dimension.helpers-DzxqJQqN.js → revo-grid/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/revo-grid/{edit.utils-CzfeG98N.js → edit.utils-Dnnbd0xG.js} +22 -2
- package/dist/{esm/header-cell-renderer-DXhxZMly.js → revo-grid/header-cell-renderer-DGI2FAD8.js} +1 -1
- package/dist/revo-grid/index-Db3qZoW5.js +127 -0
- package/dist/revo-grid/index.esm.js +15 -10
- package/dist/revo-grid/revo-grid.entry.js +34 -14
- package/dist/revo-grid/revogr-attribution_7.entry.js +43 -25
- package/dist/revo-grid/revogr-clipboard_3.entry.js +12 -10
- package/dist/revo-grid/revogr-data_4.entry.js +133 -179
- package/dist/revo-grid/revogr-filter-panel.entry.js +3 -2
- package/dist/revo-grid/{text-editor-C1ks5eQ4.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/revo-grid/{throttle-BEjFQa2l.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/revo-grid/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{esm/viewport.store-saAZJHRo.js → revo-grid/viewport.store-COAfzAyu.js} +15 -17
- package/dist/types/components/header/header-group-renderer.d.ts +1 -0
- package/dist/types/components/header/header-renderer.d.ts +1 -0
- package/dist/types/components/header/revogr-header.d.ts +6 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +5 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +8 -0
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +29 -3
- package/dist/types/plugins/sorting/sorting.func.d.ts +25 -2
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +84 -9
- package/dist/types/plugins/sorting/sorting.sign.d.ts +5 -1
- package/dist/types/plugins/sorting/sorting.types.d.ts +46 -1
- package/dist/types/services/local.scroll.service.d.ts +10 -2
- package/dist/types/services/scroll.dimension.helpers.d.ts +20 -0
- package/dist/types/store/vp/viewport.helpers.d.ts +2 -0
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +11 -0
- package/dist/types/utils/key.utils.d.ts +8 -0
- package/hydrate/index.js +791 -539
- package/hydrate/index.mjs +791 -539
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/debounce.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-clipboard2.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-edit.js +1 -1
- package/standalone/revogr-edit2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-row-headers.js +1 -1
- package/standalone/revogr-row-headers2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/standalone/selection.utils.js +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +1 -1
- package/dist/cjs/viewport.helpers-BAovztDd.js +0 -58
- package/dist/esm/viewport.helpers-VXhsJZtn.js +0 -52
- package/dist/revo-grid/viewport.helpers-VXhsJZtn.js +0 -52
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.js');
|
|
7
|
-
var dimension_helpers = require('./dimension.helpers-
|
|
7
|
+
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
8
8
|
var events = require('./events-DeLDyZlb.js');
|
|
9
|
-
var column_service = require('./column.service-
|
|
10
|
-
var edit_utils = require('./edit.utils-
|
|
9
|
+
var column_service = require('./column.service-f612L4ql.js');
|
|
10
|
+
var edit_utils = require('./edit.utils-pKeiYFLJ.js');
|
|
11
|
+
var index$1 = require('./index-DxaSE5uZ.js');
|
|
11
12
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
12
|
-
var viewport_store = require('./viewport.store-
|
|
13
|
-
var viewport_helpers = require('./viewport.helpers-
|
|
14
|
-
var throttle = require('./throttle-
|
|
13
|
+
var viewport_store = require('./viewport.store-BlKQ4x9H.js');
|
|
14
|
+
var viewport_helpers = require('./viewport.helpers-BND76K2j.js');
|
|
15
|
+
var throttle = require('./throttle-BCwEuJJq.js');
|
|
15
16
|
|
|
16
17
|
const Attribution = class {
|
|
17
18
|
constructor(hostRef) {
|
|
@@ -109,8 +110,8 @@ function getCurrentCell({ x, y }, { el, rows, cols }) {
|
|
|
109
110
|
cellX = width - 1;
|
|
110
111
|
}
|
|
111
112
|
// Get the row and column items based on the cell position
|
|
112
|
-
const rgRow = dimension_helpers.getItemByPosition(rows, cellY);
|
|
113
|
-
const rgCol = dimension_helpers.getItemByPosition(cols, cellX);
|
|
113
|
+
const rgRow = dimension_helpers.getItemByPosition(rows, cellY + (rows.renderOffset || 0));
|
|
114
|
+
const rgCol = dimension_helpers.getItemByPosition(cols, cellX + (cols.renderOffset || 0));
|
|
114
115
|
// Set the row and column index to 0 if they are before the first item
|
|
115
116
|
if (rgCol.itemIndex < 0) {
|
|
116
117
|
rgCol.itemIndex = 0;
|
|
@@ -180,10 +181,12 @@ function styleByCellProps(styles) {
|
|
|
180
181
|
};
|
|
181
182
|
}
|
|
182
183
|
function getCell({ x, y, x1, y1 }, dimensionRow, dimensionCol) {
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
const
|
|
186
|
-
const
|
|
184
|
+
const rowOffset = dimensionRow.renderOffset || 0;
|
|
185
|
+
const colOffset = dimensionCol.renderOffset || 0;
|
|
186
|
+
const top = dimension_helpers.getItemByIndex(dimensionRow, y).start - rowOffset;
|
|
187
|
+
const left = dimension_helpers.getItemByIndex(dimensionCol, x).start - colOffset;
|
|
188
|
+
const bottom = dimension_helpers.getItemByIndex(dimensionRow, y1).end - rowOffset;
|
|
189
|
+
const right = dimension_helpers.getItemByIndex(dimensionCol, x1).end - colOffset;
|
|
187
190
|
return {
|
|
188
191
|
left,
|
|
189
192
|
right,
|
|
@@ -281,9 +284,29 @@ class KeyboardService {
|
|
|
281
284
|
constructor(sv) {
|
|
282
285
|
this.sv = sv;
|
|
283
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Appends printable key input that arrives after edit mode was requested
|
|
289
|
+
* but before the editor input has mounted or received focus.
|
|
290
|
+
*/
|
|
291
|
+
appendPendingEditValue(e) {
|
|
292
|
+
if (edit_utils.isShortcutModifier(e) ||
|
|
293
|
+
e.key.length !== 1 ||
|
|
294
|
+
(e.target instanceof HTMLElement && edit_utils.isEditInput(e.target))) {
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
const editCell = this.sv.selectionStore.get('edit');
|
|
298
|
+
if (typeof (editCell === null || editCell === void 0 ? void 0 : editCell.val) !== 'string') {
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
this.sv.selectionStore.set('edit', Object.assign(Object.assign({}, editCell), { val: `${editCell.val}${e.key}` }));
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
284
304
|
async keyDown(e, canRange, isEditMode, { range, focus }) {
|
|
285
305
|
// IF EDIT MODE
|
|
286
306
|
if (isEditMode) {
|
|
307
|
+
if (this.appendPendingEditValue(e)) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
287
310
|
switch (e.code) {
|
|
288
311
|
case dimension_helpers.codesLetter.ESCAPE:
|
|
289
312
|
this.sv.cancel();
|
|
@@ -335,7 +358,7 @@ class KeyboardService {
|
|
|
335
358
|
return;
|
|
336
359
|
}
|
|
337
360
|
// pressed letter key
|
|
338
|
-
if (e.key.length === 1) {
|
|
361
|
+
if (!edit_utils.isShortcutModifier(e) && e.key.length === 1) {
|
|
339
362
|
this.sv.change(e.key);
|
|
340
363
|
return;
|
|
341
364
|
}
|
|
@@ -362,7 +385,7 @@ class KeyboardService {
|
|
|
362
385
|
// this interval needed for several cases
|
|
363
386
|
// grid could be resized before next click
|
|
364
387
|
// at this case to avoid screen jump we use this interval
|
|
365
|
-
await
|
|
388
|
+
await index$1.timeout(dimension_helpers.RESIZE_INTERVAL + 30);
|
|
366
389
|
const range = this.sv.selectionStore.get('range');
|
|
367
390
|
const focus = this.sv.selectionStore.get('focus');
|
|
368
391
|
return this.keyPositionChange(data.changes, range, focus, data.isMulti);
|
|
@@ -377,7 +400,8 @@ class KeyboardService {
|
|
|
377
400
|
}
|
|
378
401
|
const eData = this.sv.getData();
|
|
379
402
|
if (isMulti) {
|
|
380
|
-
|
|
403
|
+
const isOutOfBounds = [data.start, data.end].some(cell => isAfterLast(cell, eData.lastCell) || isBeforeFirst(cell));
|
|
404
|
+
if (isOutOfBounds) {
|
|
381
405
|
return false;
|
|
382
406
|
}
|
|
383
407
|
const range = column_service.getRange(data.start, data.end);
|
|
@@ -1288,15 +1312,9 @@ const RevogrScrollVirtual = class {
|
|
|
1288
1312
|
*/
|
|
1289
1313
|
async changeScroll(e) {
|
|
1290
1314
|
if (e.delta) {
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
break;
|
|
1295
|
-
case 'rgRow':
|
|
1296
|
-
e.coordinate = this.element.scrollTop + e.delta;
|
|
1297
|
-
break;
|
|
1298
|
-
}
|
|
1299
|
-
this.setScroll(e);
|
|
1315
|
+
const scrollProperty = e.dimension === 'rgRow' ? 'scrollTop' : 'scrollLeft';
|
|
1316
|
+
const currentPhysicalCoordinate = this.element[scrollProperty];
|
|
1317
|
+
return this.localScrollService.setScrollByDelta(e, currentPhysicalCoordinate);
|
|
1300
1318
|
}
|
|
1301
1319
|
return e;
|
|
1302
1320
|
}
|
|
@@ -1317,7 +1335,7 @@ const RevogrScrollVirtual = class {
|
|
|
1317
1335
|
this.autohideScrollPlugin.clear();
|
|
1318
1336
|
}
|
|
1319
1337
|
componentWillLoad() {
|
|
1320
|
-
this.scrollSize =
|
|
1338
|
+
this.scrollSize = index$1.getScrollbarSize(document);
|
|
1321
1339
|
}
|
|
1322
1340
|
componentDidRender() {
|
|
1323
1341
|
let scrollSize = 0;
|
|
@@ -1359,7 +1377,7 @@ const RevogrScrollVirtual = class {
|
|
|
1359
1377
|
}
|
|
1360
1378
|
render() {
|
|
1361
1379
|
const size = throttle.getContentSize(this.realSize, this.dimension === 'rgRow' ? this.element.clientHeight : this.element.clientWidth, this.clientSize);
|
|
1362
|
-
return (index.h(index.Host, { key: '
|
|
1380
|
+
return (index.h(index.Host, { key: '7213817ef941eee4050b714266598ec0c2961ee9', onScroll: (e) => this.onScroll(e) }, index.h("div", { key: '501da49c63253ab943172494b9dbf5399be56cee', style: {
|
|
1363
1381
|
[this.dimension === 'rgRow' ? 'height' : 'width']: `${size}px`,
|
|
1364
1382
|
} })));
|
|
1365
1383
|
}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index = require('./index-Dq8Xzj5l.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-B9HgANnM.js');
|
|
8
|
+
var textEditor = require('./text-editor-B4W-m-r-.js');
|
|
9
|
+
var edit_utils = require('./edit.utils-pKeiYFLJ.js');
|
|
10
10
|
var debounce = require('./debounce-CcpHiH2p.js');
|
|
11
|
+
require('./index-DxaSE5uZ.js');
|
|
11
12
|
|
|
12
13
|
const Clipboard = class {
|
|
13
14
|
constructor(hostRef) {
|
|
@@ -86,8 +87,8 @@ const Clipboard = class {
|
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
89
|
const data = this.getData(beforeCopy.detail.event);
|
|
89
|
-
this.copyRegion.emit(data || undefined);
|
|
90
90
|
e.preventDefault();
|
|
91
|
+
this.copyRegion.emit(data || undefined);
|
|
91
92
|
}
|
|
92
93
|
/**
|
|
93
94
|
* Listen to copy event and emit copy region event
|
|
@@ -334,11 +335,12 @@ class RowOrderService {
|
|
|
334
335
|
getRow(y, { el, rows }) {
|
|
335
336
|
const { top } = el.getBoundingClientRect();
|
|
336
337
|
const topRelative = y - top;
|
|
337
|
-
const
|
|
338
|
+
const rowOffset = rows.renderOffset || 0;
|
|
339
|
+
const rgRow = dimension_helpers.getItemByPosition(rows, topRelative + rowOffset);
|
|
338
340
|
const absolutePosition = {
|
|
339
341
|
itemIndex: rgRow.itemIndex,
|
|
340
|
-
start: rgRow.start + top,
|
|
341
|
-
end: rgRow.end + top,
|
|
342
|
+
start: rgRow.start - rowOffset + top,
|
|
343
|
+
end: rgRow.end - rowOffset + top,
|
|
342
344
|
};
|
|
343
345
|
return absolutePosition;
|
|
344
346
|
}
|
|
@@ -347,8 +349,8 @@ class RowOrderService {
|
|
|
347
349
|
const { top, left } = el.getBoundingClientRect();
|
|
348
350
|
const topRelative = y - top;
|
|
349
351
|
const leftRelative = x - left;
|
|
350
|
-
const rgRow = dimension_helpers.getItemByPosition(rows, topRelative);
|
|
351
|
-
const rgCol = dimension_helpers.getItemByPosition(cols, leftRelative);
|
|
352
|
+
const rgRow = dimension_helpers.getItemByPosition(rows, topRelative + (rows.renderOffset || 0));
|
|
353
|
+
const rgCol = dimension_helpers.getItemByPosition(cols, leftRelative + (cols.renderOffset || 0));
|
|
352
354
|
return { x: rgCol.itemIndex, y: rgRow.itemIndex };
|
|
353
355
|
}
|
|
354
356
|
}
|