@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
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
const FALLBACK_MAX_SCROLL_SIZE = 16000000;
|
|
5
|
+
const SCROLL_SIZE_GUARD = 1000000;
|
|
6
|
+
let detectedMaxScrollSize;
|
|
7
|
+
export function getMaxScrollSize(doc = typeof document === 'undefined' ? undefined : document) {
|
|
8
|
+
if (typeof detectedMaxScrollSize === 'number') {
|
|
9
|
+
return detectedMaxScrollSize;
|
|
10
|
+
}
|
|
11
|
+
const body = doc === null || doc === void 0 ? void 0 : doc.body;
|
|
12
|
+
if (body) {
|
|
13
|
+
const ownerDocument = body.ownerDocument;
|
|
14
|
+
const element = ownerDocument.createElement('div');
|
|
15
|
+
element.style.cssText = [
|
|
16
|
+
'height:1px',
|
|
17
|
+
'left:-10000px',
|
|
18
|
+
'overflow:scroll',
|
|
19
|
+
'position:absolute',
|
|
20
|
+
'top:-10000px',
|
|
21
|
+
'visibility:hidden',
|
|
22
|
+
'width:1px',
|
|
23
|
+
].join(';');
|
|
24
|
+
const content = ownerDocument.createElement('div');
|
|
25
|
+
content.style.height = `${FALLBACK_MAX_SCROLL_SIZE * 4}px`;
|
|
26
|
+
element.appendChild(content);
|
|
27
|
+
body.appendChild(element);
|
|
28
|
+
detectedMaxScrollSize = Math.max(0, Math.min(element.scrollHeight, FALLBACK_MAX_SCROLL_SIZE * 4) - SCROLL_SIZE_GUARD);
|
|
29
|
+
element.remove();
|
|
30
|
+
if (detectedMaxScrollSize > SCROLL_SIZE_GUARD) {
|
|
31
|
+
return detectedMaxScrollSize;
|
|
32
|
+
}
|
|
33
|
+
detectedMaxScrollSize = FALLBACK_MAX_SCROLL_SIZE;
|
|
34
|
+
return detectedMaxScrollSize;
|
|
35
|
+
}
|
|
36
|
+
return FALLBACK_MAX_SCROLL_SIZE;
|
|
37
|
+
}
|
|
38
|
+
export function getScrollDimension({ contentSize, clientSize, virtualSize = 0, maxScrollSize = getMaxScrollSize(), }) {
|
|
39
|
+
const safeContentSize = Math.max(0, maxScrollSize - SCROLL_SIZE_GUARD);
|
|
40
|
+
const size = Math.max(0, contentSize);
|
|
41
|
+
const client = Math.max(0, clientSize);
|
|
42
|
+
const viewport = Math.max(0, virtualSize || client);
|
|
43
|
+
const logicalScrollSize = Math.max(0, size - viewport);
|
|
44
|
+
const maxPhysicalScrollSize = Math.max(0, safeContentSize - client);
|
|
45
|
+
const physicalScrollSize = Math.min(logicalScrollSize, maxPhysicalScrollSize);
|
|
46
|
+
const physicalContentSize = client + physicalScrollSize;
|
|
47
|
+
const isCompressed = logicalScrollSize > physicalScrollSize && physicalScrollSize > 0;
|
|
48
|
+
const clampLogical = (coordinate) => Math.min(Math.max(0, coordinate || 0), logicalScrollSize);
|
|
49
|
+
const clampPhysical = (coordinate) => Math.min(Math.max(0, coordinate || 0), physicalScrollSize);
|
|
50
|
+
const toLogicalCoordinate = (coordinate) => {
|
|
51
|
+
if (!logicalScrollSize || !physicalScrollSize) {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
if (!isCompressed) {
|
|
55
|
+
return clampLogical(coordinate);
|
|
56
|
+
}
|
|
57
|
+
return clampLogical((clampPhysical(coordinate) / physicalScrollSize) * logicalScrollSize);
|
|
58
|
+
};
|
|
59
|
+
const toPhysicalCoordinate = (coordinate) => {
|
|
60
|
+
if (!logicalScrollSize || !physicalScrollSize) {
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
if (!isCompressed) {
|
|
64
|
+
return clampPhysical(coordinate);
|
|
65
|
+
}
|
|
66
|
+
return clampPhysical((clampLogical(coordinate) / logicalScrollSize) * physicalScrollSize);
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
contentSize: size,
|
|
70
|
+
clientSize: client,
|
|
71
|
+
viewportSize: viewport,
|
|
72
|
+
physicalContentSize,
|
|
73
|
+
logicalScrollSize,
|
|
74
|
+
physicalScrollSize,
|
|
75
|
+
isCompressed,
|
|
76
|
+
toLogicalCoordinate,
|
|
77
|
+
toPhysicalCoordinate,
|
|
78
|
+
getRenderOffset(coordinate) {
|
|
79
|
+
const logical = clampLogical(coordinate);
|
|
80
|
+
return logical - toPhysicalCoordinate(logical);
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
@@ -194,7 +194,10 @@ export class SelectionStoreConnector {
|
|
|
194
194
|
const nextItem = nextCell(focus, lastCell);
|
|
195
195
|
let nextStore;
|
|
196
196
|
if (nextItem) {
|
|
197
|
-
Object.
|
|
197
|
+
Object.keys(nextItem).forEach((t) => {
|
|
198
|
+
var _a;
|
|
199
|
+
const type = t;
|
|
200
|
+
const nextItemCoord = (_a = nextItem[type]) !== null && _a !== void 0 ? _a : 0;
|
|
198
201
|
let stores;
|
|
199
202
|
switch (type) {
|
|
200
203
|
case 'x':
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
+
function calculateRealSize({ count, originItemSize, sizes, }) {
|
|
5
|
+
const safeCount = Math.max(0, count);
|
|
6
|
+
let realSize = safeCount * originItemSize;
|
|
7
|
+
for (let index in sizes) {
|
|
8
|
+
const itemIndex = Number(index);
|
|
9
|
+
if (!Number.isInteger(itemIndex) ||
|
|
10
|
+
itemIndex < 0 ||
|
|
11
|
+
itemIndex >= safeCount ||
|
|
12
|
+
String(itemIndex) !== index) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
realSize += sizes[index] - originItemSize;
|
|
16
|
+
}
|
|
17
|
+
return realSize;
|
|
18
|
+
}
|
|
4
19
|
/**
|
|
5
20
|
* Plugin which recalculates realSize on changes of sizes, originItemSize and count
|
|
6
21
|
*/
|
|
@@ -13,20 +28,18 @@ export const recalculateRealSizePlugin = (storeService) => {
|
|
|
13
28
|
* Reacts on changes of count, sizes and originItemSize
|
|
14
29
|
*/
|
|
15
30
|
set(k) {
|
|
16
|
-
var _a;
|
|
17
31
|
switch (k) {
|
|
18
32
|
case 'count':
|
|
19
33
|
case 'sizes':
|
|
20
34
|
case 'originItemSize': {
|
|
21
35
|
// recalculate realSize
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
storeService.setStore({ realSize });
|
|
36
|
+
storeService.setStore({
|
|
37
|
+
realSize: calculateRealSize({
|
|
38
|
+
count: storeService.store.get('count'),
|
|
39
|
+
sizes: storeService.store.get('sizes'),
|
|
40
|
+
originItemSize: storeService.store.get('originItemSize'),
|
|
41
|
+
}),
|
|
42
|
+
});
|
|
30
43
|
break;
|
|
31
44
|
}
|
|
32
45
|
}
|
|
@@ -31,7 +31,9 @@ function initialState() {
|
|
|
31
31
|
// size which all items can take
|
|
32
32
|
realSize: 0,
|
|
33
33
|
// initial item size if it wasn't changed
|
|
34
|
-
originItemSize: 0
|
|
34
|
+
originItemSize: 0,
|
|
35
|
+
// logical-to-physical render offset used when scroll space is compressed
|
|
36
|
+
renderOffset: 0
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
export class DimensionStore {
|
|
@@ -63,7 +65,7 @@ export class DimensionStore {
|
|
|
63
65
|
setStore(this.store, data);
|
|
64
66
|
}
|
|
65
67
|
drop() {
|
|
66
|
-
setStore(this.store, initialBase());
|
|
68
|
+
setStore(this.store, Object.assign(Object.assign({}, initialBase()), { renderOffset: 0 }));
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
71
|
* Set custom dimension sizes and overwrite old
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { getItemByPosition } from "../dimension/dimension.helpers";
|
|
5
|
+
export function getViewportMaxCoordinate(dimension, viewportSize, frameOffset = 1) {
|
|
6
|
+
if (!viewportSize || dimension.realSize <= viewportSize) {
|
|
7
|
+
return 0;
|
|
8
|
+
}
|
|
9
|
+
return Math.max(0, dimension.realSize - viewportSize - dimension.originItemSize * frameOffset);
|
|
10
|
+
}
|
|
11
|
+
export function clampViewportCoordinate(coordinate, dimension, viewportSize, frameOffset = 1) {
|
|
12
|
+
return Math.min(Math.max(0, coordinate), getViewportMaxCoordinate(dimension, viewportSize, frameOffset));
|
|
13
|
+
}
|
|
5
14
|
/**
|
|
6
15
|
* Update items based on new scroll position
|
|
7
16
|
* If viewport wasn't changed fully simple recombination of positions
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { addMissingItems, getFirstItem, getLastItem, getUpdatedItemsByPosition, isActiveRange, setItemSizes, updateMissingAndRange, isActiveRangeOutsideLastItem, } from "./viewport.helpers";
|
|
4
|
+
import { addMissingItems, getFirstItem, getLastItem, getUpdatedItemsByPosition, clampViewportCoordinate, getViewportMaxCoordinate, isActiveRange, setItemSizes, updateMissingAndRange, isActiveRangeOutsideLastItem, } from "./viewport.helpers";
|
|
5
5
|
import { createStore } from "@stencil/store";
|
|
6
6
|
import { setStore } from "../../utils";
|
|
7
7
|
/**
|
|
@@ -22,6 +22,8 @@ function initialState() {
|
|
|
22
22
|
realCount: 0,
|
|
23
23
|
// size of viewport in px
|
|
24
24
|
clientSize: 0,
|
|
25
|
+
// logical-to-physical render offset used when scroll space is compressed
|
|
26
|
+
renderOffset: 0,
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
@@ -57,21 +59,8 @@ export class ViewportStore {
|
|
|
57
59
|
const outsize = singleOffsetInPx * 2;
|
|
58
60
|
// math virtual size is based on visible area + 2 items outside of visible area
|
|
59
61
|
const virtualSize = viewportSize + outsize;
|
|
60
|
-
|
|
61
|
-
let
|
|
62
|
-
// if there is nodes outside of viewport, max coordinate has to be adjusted
|
|
63
|
-
if (dimension.realSize > viewportSize) {
|
|
64
|
-
// max coordinate is real size minus virtual/rendered space
|
|
65
|
-
maxCoordinate = dimension.realSize - viewportSize - singleOffsetInPx;
|
|
66
|
-
}
|
|
67
|
-
let pos = position;
|
|
68
|
-
// limit position to max and min coordinates
|
|
69
|
-
if (pos < 0) {
|
|
70
|
-
pos = 0;
|
|
71
|
-
}
|
|
72
|
-
else if (pos > maxCoordinate) {
|
|
73
|
-
pos = maxCoordinate;
|
|
74
|
-
}
|
|
62
|
+
const maxCoordinate = getViewportMaxCoordinate(dimension, viewportSize, frameOffset);
|
|
63
|
+
let pos = clampViewportCoordinate(position, dimension, viewportSize, frameOffset);
|
|
75
64
|
// store last coordinate for further restore on redraw
|
|
76
65
|
this.lastCoordinate = pos;
|
|
77
66
|
// actual position is less than first item start based on offset
|
|
@@ -71,6 +71,10 @@ export const REVOGRID_EVENTS = new Map([
|
|
|
71
71
|
['beforeheaderrender', 'beforeheaderrender'],
|
|
72
72
|
['beforegroupheaderrender', 'beforegroupheaderrender'],
|
|
73
73
|
['afterheaderrender', 'afterheaderrender'],
|
|
74
|
+
['columndragstart', 'columndragstart'],
|
|
75
|
+
['columndragmousemove', 'columndragmousemove'],
|
|
76
|
+
['beforecolumndragend', 'beforecolumndragend'],
|
|
77
|
+
['columndragend', 'columndragend'],
|
|
74
78
|
['rowdragstartinit', 'rowdragstartinit'],
|
|
75
79
|
['rowdragendinit', 'rowdragendinit'],
|
|
76
80
|
['rowdragmoveinit', 'rowdragmoveinit'],
|
|
@@ -83,3 +83,23 @@ export function isAll(event) {
|
|
|
83
83
|
return ((event.ctrlKey && event.code === 'KeyA') || // Ctrl + A on Windows
|
|
84
84
|
(event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns true when a keyboard event represents a shortcut modifier that
|
|
88
|
+
* should not start cell editing from printable `event.key` input.
|
|
89
|
+
*
|
|
90
|
+
* AltGr is intentionally excluded because many Windows/Linux layouts expose
|
|
91
|
+
* printable AltGr characters as Ctrl+Alt key events.
|
|
92
|
+
*/
|
|
93
|
+
export function isShortcutModifier(event) {
|
|
94
|
+
var _a;
|
|
95
|
+
if ((_a = event.getModifierState) === null || _a === void 0 ? void 0 : _a.call(event, 'AltGraph')) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (event.ctrlKey &&
|
|
99
|
+
event.altKey &&
|
|
100
|
+
!event.metaKey &&
|
|
101
|
+
event.key.length === 1) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
return event.ctrlKey || event.metaKey;
|
|
105
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @param data - The data to set on the store.
|
|
9
9
|
*/
|
|
10
10
|
export function setStore(store, data) {
|
|
11
|
-
Object.
|
|
12
|
-
store.set(key,
|
|
13
|
-
}
|
|
11
|
+
for (const key of Object.keys(data)) {
|
|
12
|
+
store.set(key, data[key]);
|
|
13
|
+
}
|
|
14
14
|
}
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, f as Build } from './index-Chp_81rd.js';
|
|
5
|
-
import {
|
|
6
|
-
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-
|
|
5
|
+
import { n as DATA_ROW, w as DRAG_ICON_CLASS, x as DRAGGABLE_CLASS } from './dimension.helpers-CGKwSvw6.js';
|
|
6
|
+
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-DbpulTog.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Renders sorting direction and optional additive sorting rank.
|
|
10
|
+
*/
|
|
8
11
|
const SortingSign = ({ column }) => {
|
|
9
12
|
var _a;
|
|
10
|
-
|
|
13
|
+
const indicatorAttrs = { class: 'sort-indicator' };
|
|
14
|
+
const iconAttrs = { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' };
|
|
15
|
+
const orderIndexAttrs = { class: 'sort-order-index' };
|
|
16
|
+
return (h("span", Object.assign({}, indicatorAttrs), h("i", Object.assign({}, iconAttrs)), (column === null || column === void 0 ? void 0 : column.sortIndex) ? (h("sup", Object.assign({}, orderIndexAttrs), column.sortIndex)) : null));
|
|
11
17
|
};
|
|
12
18
|
|
|
13
19
|
const PADDING_DEPTH = 10;
|