@revolist/revogrid 4.9.22 → 4.9.23
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/{app-globals-a6bcda2f.js → app-globals-c0b20747.js} +2 -2
- package/dist/cjs/{app-globals-a6bcda2f.js.map → app-globals-c0b20747.js.map} +1 -1
- package/dist/cjs/{column.drag.plugin-3644bda6.js → column.drag.plugin-eb1db875.js} +50 -55
- package/dist/cjs/column.drag.plugin-eb1db875.js.map +1 -0
- package/dist/cjs/{column.service-caec759a.js → column.service-6089b047.js} +10 -20
- package/dist/cjs/column.service-6089b047.js.map +1 -0
- package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
- package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
- package/dist/cjs/{edit.utils-18840bb3.js → edit.utils-093fe9cd.js} +2 -2
- package/dist/cjs/{edit.utils-18840bb3.js.map → edit.utils-093fe9cd.js.map} +1 -1
- package/dist/cjs/{filter.button-1e1e16be.js → filter.button-afb16244.js} +2 -2
- package/dist/cjs/{filter.button-1e1e16be.js.map → filter.button-afb16244.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-4fd62cec.js → header-cell-renderer-2d56e8f5.js} +3 -3
- package/dist/cjs/{header-cell-renderer-4fd62cec.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
- package/dist/cjs/{index-34dfb0db.js → index-10d10c55.js} +14 -20
- package/dist/cjs/index-10d10c55.js.map +1 -0
- package/dist/cjs/{index-71b783e2.js → index-a9ee8eef.js} +290 -854
- package/dist/cjs/index-a9ee8eef.js.map +1 -0
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
- package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/revo-grid.cjs.entry.js +43 -74
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +3 -3
- package/dist/cjs/revo-grid.cjs.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +4 -4
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
- package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
- package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-8bf92449.js} +2 -2
- package/dist/cjs/{sorting.sign-54938069.js.map → sorting.sign-8bf92449.js.map} +1 -1
- package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
- package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
- package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
- package/dist/cjs/throttle-6fecba1e.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +9 -13
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +4 -3
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dimension/dimension.store.js +19 -6
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/vp/viewport.store.js +5 -7
- package/dist/collection/store/vp/viewport.store.js.map +1 -1
- package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
- package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
- package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-cb25a5e1.js} +47 -52
- package/dist/esm/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
- package/dist/esm/column.service-407956dd.js.map +1 -0
- package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
- package/dist/esm/debounce-7b511afc.js.map +1 -0
- package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
- package/dist/esm/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
- package/dist/esm/{filter.button-91088160.js.map → filter.button-37373672.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
- package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
- package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
- package/dist/esm/index-a61f225b.js.map +1 -0
- package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
- package/dist/esm/index-b6586f9b.js.map +1 -0
- package/dist/esm/index.js +11 -11
- package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
- package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/revo-grid.entry.js +39 -70
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +4 -4
- package/dist/esm/revo-grid.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +10 -10
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +7 -7
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +20 -43
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +4 -4
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
- package/dist/esm/row-header-utils-e043f744.js.map +1 -0
- package/dist/esm/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
- package/dist/esm/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +1 -1
- package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
- package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
- package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
- package/dist/esm/throttle-bb3169c7.js.map +1 -0
- package/dist/revo-grid/app-globals-3a760941.js +5 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js +5 -0
- package/dist/revo-grid/column.drag.plugin-cb25a5e1.js.map +1 -0
- package/dist/revo-grid/column.service-407956dd.js +5 -0
- package/dist/revo-grid/column.service-407956dd.js.map +1 -0
- package/dist/revo-grid/debounce-7b511afc.js +5 -0
- package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
- package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
- package/dist/revo-grid/{filter.button-91088160.js → filter.button-37373672.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
- package/dist/revo-grid/index-a61f225b.js +6 -0
- package/dist/revo-grid/index-a61f225b.js.map +1 -0
- package/dist/revo-grid/index-b6586f9b.js +5 -0
- package/dist/revo-grid/index-b6586f9b.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
- package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
- package/dist/revo-grid/{sorting.sign-569a1f3c.js → sorting.sign-1afddea1.js} +2 -2
- package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
- package/dist/revo-grid/throttle-bb3169c7.js +5 -0
- package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
- package/dist/types/store/dimension/dimension.store.d.ts +2 -1
- package/dist/types/store/vp/viewport.store.d.ts +0 -1
- package/hydrate/index.d.ts +4 -4
- package/hydrate/index.js +426 -1128
- package/hydrate/index.mjs +426 -1128
- package/package.json +3 -3
- package/standalone/column.service.js +5 -16
- package/standalone/column.service.js.map +1 -1
- package/standalone/debounce.js +7 -16
- package/standalone/debounce.js.map +1 -1
- package/standalone/dimension.helpers.js +15 -45
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/index.js +0 -2
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +0 -2
- package/standalone/index2.js.map +1 -1
- package/standalone/reduce.js +1319 -474
- package/standalone/reduce.js.map +1 -1
- package/standalone/revo-grid.js +74 -111
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +0 -2
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +2 -2
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +0 -2
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +12 -37
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +2 -4
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -4
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +5 -9
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-temp-range2.js +2 -2
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +2 -2
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +0 -2
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +3 -8
- package/standalone/throttle.js.map +1 -1
- package/standalone/toNumber.js +165 -22
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
- package/dist/cjs/column.service-caec759a.js.map +0 -1
- package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
- package/dist/cjs/index-34dfb0db.js.map +0 -1
- package/dist/cjs/index-71b783e2.js.map +0 -1
- package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
- package/dist/cjs/throttle-b5d436ca.js.map +0 -1
- package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
- package/dist/esm/column.service-dc98409c.js.map +0 -1
- package/dist/esm/debounce-e8e9464a.js.map +0 -1
- package/dist/esm/index-29a9a87a.js.map +0 -1
- package/dist/esm/index-70354f39.js.map +0 -1
- package/dist/esm/row-header-utils-32049c13.js.map +0 -1
- package/dist/esm/throttle-c6f34cc0.js.map +0 -1
- package/dist/revo-grid/app-globals-43714036.js +0 -5
- package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
- package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
- package/dist/revo-grid/column.service-dc98409c.js +0 -5
- package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
- package/dist/revo-grid/debounce-e8e9464a.js +0 -5
- package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
- package/dist/revo-grid/index-29a9a87a.js +0 -5
- package/dist/revo-grid/index-29a9a87a.js.map +0 -1
- package/dist/revo-grid/index-70354f39.js +0 -6
- package/dist/revo-grid/index-70354f39.js.map +0 -1
- package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
- package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
- package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
- package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
- package/standalone/_stringToPath.js +0 -1389
- package/standalone/_stringToPath.js.map +0 -1
- package/standalone/isObjectLike.js +0 -195
- package/standalone/isObjectLike.js.map +0 -1
- /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
- /package/dist/revo-grid/{filter.button-91088160.js.map → filter.button-37373672.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
- /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
- /package/dist/revo-grid/{sorting.sign-569a1f3c.js.map → sorting.sign-1afddea1.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
package/standalone/revo-grid.js
CHANGED
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { i as createStore, r as
|
|
6
|
-
import { c as calculateDimensionData, e as each, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
|
|
7
|
-
import { _ as _getTag } from './_stringToPath.js';
|
|
8
|
-
import { _ as _baseGetTag, i as isObjectLike_1 } from './isObjectLike.js';
|
|
5
|
+
import { i as createStore, r as reduce, h as setStore, b as getSourceItem, j as toInteger, k as isIterateeCall, g as getPhysical, d as setItems, l as isArray, m as baseProperty, n as isArrayLike, o as getTag, q as baseKeys, u as range, D as DataStore, e as getSourceItemVirtualIndexByProp, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems } from './reduce.js';
|
|
9
6
|
import { e as getColumnType, m as isGrouping, o as getGroupingName, d as getCellDataParsed, G as GROUP_EXPANDED, p as getParsedGroup, q as isSameGroup, r as GROUP_DEPTH, P as PSEUDO_GROUP_ITEM_VALUE, s as PSEUDO_GROUP_ITEM_ID, t as GROUPING_ROW_TYPE, u as PSEUDO_GROUP_COLUMN, v as GROUP_EXPAND_EVENT, w as gatherGrouping, x as isGroupingColumn, h as isColGrouping, l as getColumnByProp, f as getColumnSizes, E as EMPTY_INDEX, j as getColumns, y as SelectionStoreConnector } from './column.service.js';
|
|
10
|
-
import {
|
|
7
|
+
import { c as calculateDimensionData, f as forEach, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
|
|
8
|
+
import { d as debounce } from './debounce.js';
|
|
11
9
|
import { R as RESIZE_INTERVAL } from './consts.js';
|
|
12
10
|
import { f as calculateRowHeaderSize, V as ViewportStore, h as defineCustomElement$6 } from './revogr-row-headers2.js';
|
|
13
11
|
import { g as getScrollbarSize, t as timeout } from './index2.js';
|
|
14
12
|
import { F as FILTER_PROP, i as isFilterBtn } from './filter.button.js';
|
|
15
13
|
import './platform.js';
|
|
14
|
+
import { i as isObjectLike, b as baseGetTag } from './toNumber.js';
|
|
16
15
|
import { v as viewportDataPartition, H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT, D as DATA_SLOT, d as defineCustomElement$3 } from './revogr-viewport-scroll2.js';
|
|
17
16
|
import { d as dispatch, O as ON_COLUMN_CLICK, c as defineCustomElement$9 } from './revogr-header2.js';
|
|
18
17
|
import { g as getPropertyFromEvent } from './selection.utils.js';
|
|
@@ -123,20 +122,32 @@ const trimmedPlugin = (store) => {
|
|
|
123
122
|
},
|
|
124
123
|
};
|
|
125
124
|
};
|
|
126
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Plugin which recalculates realSize on changes of sizes, originItemSize and count
|
|
127
|
+
*/
|
|
128
|
+
const recalculateRealSizePlugin = (storeService) => {
|
|
129
|
+
/**
|
|
130
|
+
* Recalculates realSize if size, origin size or count changes
|
|
131
|
+
*/
|
|
127
132
|
return {
|
|
133
|
+
/**
|
|
134
|
+
* Reacts on changes of count, sizes and originItemSize
|
|
135
|
+
*/
|
|
128
136
|
set(k) {
|
|
129
137
|
switch (k) {
|
|
130
138
|
case 'count':
|
|
131
139
|
case 'sizes':
|
|
132
140
|
case 'originItemSize':
|
|
141
|
+
// recalculate realSize
|
|
133
142
|
let realSize = 0;
|
|
134
|
-
const count =
|
|
143
|
+
const count = storeService.store.get('count');
|
|
135
144
|
for (let i = 0; i < count; i++) {
|
|
136
145
|
realSize +=
|
|
137
|
-
|
|
146
|
+
storeService.store.get('sizes')[i] ||
|
|
147
|
+
storeService.store.get('originItemSize');
|
|
138
148
|
}
|
|
139
|
-
|
|
149
|
+
storeService.setStore({ realSize });
|
|
150
|
+
break;
|
|
140
151
|
}
|
|
141
152
|
},
|
|
142
153
|
};
|
|
@@ -166,15 +177,16 @@ function initialState() {
|
|
|
166
177
|
originItemSize: 0 });
|
|
167
178
|
}
|
|
168
179
|
class DimensionStore {
|
|
169
|
-
constructor() {
|
|
180
|
+
constructor(type) {
|
|
181
|
+
this.type = type;
|
|
170
182
|
this.store = createStore(initialState());
|
|
171
183
|
this.store.use(trimmedPlugin(this));
|
|
172
|
-
this.store.use(
|
|
184
|
+
this.store.use(recalculateRealSizePlugin(this));
|
|
173
185
|
}
|
|
174
186
|
getCurrentState() {
|
|
175
187
|
const state = initialState();
|
|
176
188
|
const keys = Object.keys(state);
|
|
177
|
-
return
|
|
189
|
+
return reduce(keys, (r, k) => {
|
|
178
190
|
const data = this.store.get(k);
|
|
179
191
|
r[k] = data;
|
|
180
192
|
return r;
|
|
@@ -381,9 +393,9 @@ class AutoSizeColumnPlugin extends BasePlugin {
|
|
|
381
393
|
}
|
|
382
394
|
}
|
|
383
395
|
// calculate sizes
|
|
384
|
-
|
|
396
|
+
forEach(autoSize, (_v, type) => {
|
|
385
397
|
const sizes = {};
|
|
386
|
-
|
|
398
|
+
forEach(autoSize[type], rgCol => {
|
|
387
399
|
// calculate size
|
|
388
400
|
rgCol.size = sizes[rgCol.index] = source.reduce((prev, rgRow) => Math.max(prev, this.getLength(rgRow[rgCol.prop])), this.getLength(rgCol.name || ''));
|
|
389
401
|
});
|
|
@@ -417,12 +429,12 @@ class AutoSizeColumnPlugin extends BasePlugin {
|
|
|
417
429
|
else {
|
|
418
430
|
data = { 0: { [e.prop]: e.val } };
|
|
419
431
|
}
|
|
420
|
-
|
|
432
|
+
forEach(this.autoSizeColumns, (columns, type) => {
|
|
421
433
|
const sizes = {};
|
|
422
|
-
|
|
434
|
+
forEach(columns, rgCol => {
|
|
423
435
|
var _a;
|
|
424
436
|
// calculate size
|
|
425
|
-
const size =
|
|
437
|
+
const size = reduce(data, (prev, rgRow) => {
|
|
426
438
|
if (typeof rgRow[rgCol.prop] === 'undefined') {
|
|
427
439
|
return prev;
|
|
428
440
|
}
|
|
@@ -438,14 +450,14 @@ class AutoSizeColumnPlugin extends BasePlugin {
|
|
|
438
450
|
afterEditAll(e) {
|
|
439
451
|
const props = {};
|
|
440
452
|
if (this.isRangeEdit(e)) {
|
|
441
|
-
|
|
453
|
+
forEach(e.data, r => forEach(r, (_v, p) => (props[p] = true)));
|
|
442
454
|
}
|
|
443
455
|
else {
|
|
444
456
|
props[e.prop] = true;
|
|
445
457
|
}
|
|
446
|
-
|
|
458
|
+
forEach(this.autoSizeColumns, (columns, type) => {
|
|
447
459
|
const sizes = {};
|
|
448
|
-
|
|
460
|
+
forEach(columns, rgCol => {
|
|
449
461
|
if (props[rgCol.prop]) {
|
|
450
462
|
const size = this.getColumnSize(rgCol.index, type);
|
|
451
463
|
if (size) {
|
|
@@ -462,8 +474,8 @@ class AutoSizeColumnPlugin extends BasePlugin {
|
|
|
462
474
|
if (!rgCol) {
|
|
463
475
|
return 0;
|
|
464
476
|
}
|
|
465
|
-
return
|
|
466
|
-
const perStore =
|
|
477
|
+
return reduce(this.providers.data.stores, (r, s) => {
|
|
478
|
+
const perStore = reduce(s.store.get('items'), (prev, _row, i) => {
|
|
467
479
|
const item = getSourceItem(s.store, i);
|
|
468
480
|
return Math.max(prev || 0, this.getLength(item === null || item === void 0 ? void 0 : item[rgCol.prop]));
|
|
469
481
|
}, 0);
|
|
@@ -571,7 +583,7 @@ class StretchColumn extends BasePlugin {
|
|
|
571
583
|
this.dropChanges();
|
|
572
584
|
// calculate grid size
|
|
573
585
|
let sizeDifference = this.revogrid.clientWidth - 1;
|
|
574
|
-
|
|
586
|
+
forEach(columns, (_, type) => {
|
|
575
587
|
const realSize = this.providers.dimension.stores[type].store.get('realSize');
|
|
576
588
|
sizeDifference -= realSize;
|
|
577
589
|
});
|
|
@@ -622,8 +634,7 @@ function isStretchPlugin(plugin) {
|
|
|
622
634
|
* @param {number} upper The upper bound.
|
|
623
635
|
* @returns {number} Returns the clamped number.
|
|
624
636
|
*/
|
|
625
|
-
|
|
626
|
-
function baseClamp$1(number, lower, upper) {
|
|
637
|
+
function baseClamp(number, lower, upper) {
|
|
627
638
|
if (number === number) {
|
|
628
639
|
if (upper !== undefined) {
|
|
629
640
|
number = number <= upper ? number : upper;
|
|
@@ -635,11 +646,6 @@ function baseClamp$1(number, lower, upper) {
|
|
|
635
646
|
return number;
|
|
636
647
|
}
|
|
637
648
|
|
|
638
|
-
var _baseClamp = baseClamp$1;
|
|
639
|
-
|
|
640
|
-
var baseClamp = _baseClamp,
|
|
641
|
-
toInteger$1 = toInteger_1;
|
|
642
|
-
|
|
643
649
|
/** Used as references for the maximum length and index of an array. */
|
|
644
650
|
var MAX_ARRAY_LENGTH = 4294967295;
|
|
645
651
|
|
|
@@ -670,15 +676,10 @@ var MAX_ARRAY_LENGTH = 4294967295;
|
|
|
670
676
|
* _.toLength('3.2');
|
|
671
677
|
* // => 3
|
|
672
678
|
*/
|
|
673
|
-
function toLength
|
|
674
|
-
return value ? baseClamp(toInteger
|
|
679
|
+
function toLength(value) {
|
|
680
|
+
return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
|
|
675
681
|
}
|
|
676
682
|
|
|
677
|
-
var toLength_1 = toLength$1;
|
|
678
|
-
|
|
679
|
-
var toInteger = toInteger_1,
|
|
680
|
-
toLength = toLength_1;
|
|
681
|
-
|
|
682
683
|
/**
|
|
683
684
|
* The base implementation of `_.fill` without an iteratee call guard.
|
|
684
685
|
*
|
|
@@ -689,7 +690,7 @@ var toInteger = toInteger_1,
|
|
|
689
690
|
* @param {number} [end=array.length] The end position.
|
|
690
691
|
* @returns {Array} Returns `array`.
|
|
691
692
|
*/
|
|
692
|
-
function baseFill
|
|
693
|
+
function baseFill(array, value, start, end) {
|
|
693
694
|
var length = array.length;
|
|
694
695
|
|
|
695
696
|
start = toInteger(start);
|
|
@@ -707,11 +708,6 @@ function baseFill$1(array, value, start, end) {
|
|
|
707
708
|
return array;
|
|
708
709
|
}
|
|
709
710
|
|
|
710
|
-
var _baseFill = baseFill$1;
|
|
711
|
-
|
|
712
|
-
var baseFill = _baseFill,
|
|
713
|
-
isIterateeCall = _isIterateeCall;
|
|
714
|
-
|
|
715
711
|
/**
|
|
716
712
|
* Fills elements of `array` with `value` from `start` up to, but not
|
|
717
713
|
* including, `end`.
|
|
@@ -753,8 +749,6 @@ function fill(array, value, start, end) {
|
|
|
753
749
|
return baseFill(array, value, start, end);
|
|
754
750
|
}
|
|
755
751
|
|
|
756
|
-
var fill_1 = fill;
|
|
757
|
-
|
|
758
752
|
const INITIAL = {
|
|
759
753
|
mime: 'text/csv',
|
|
760
754
|
fileKind: 'csv',
|
|
@@ -928,7 +922,7 @@ class ExportFilePlugin extends BasePlugin {
|
|
|
928
922
|
}
|
|
929
923
|
getGroupHeaders(depth, groups, items, visibleItems) {
|
|
930
924
|
const rows = [];
|
|
931
|
-
const template =
|
|
925
|
+
const template = fill(new Array(items.length), '');
|
|
932
926
|
for (let d = 0; d < depth; d++) {
|
|
933
927
|
const rgRow = [...template];
|
|
934
928
|
rows.push(rgRow);
|
|
@@ -1219,7 +1213,7 @@ class FilterPlugin extends BasePlugin {
|
|
|
1219
1213
|
}
|
|
1220
1214
|
}
|
|
1221
1215
|
if (config.collection) {
|
|
1222
|
-
this.filterCollection =
|
|
1216
|
+
this.filterCollection = reduce(config.collection, (result, item, prop) => {
|
|
1223
1217
|
if (this.filterFunctionsIndexedByType[item.type]) {
|
|
1224
1218
|
result[prop] = item;
|
|
1225
1219
|
}
|
|
@@ -1895,7 +1889,7 @@ class ColumnPlugin extends BasePlugin {
|
|
|
1895
1889
|
super(revogrid, providers);
|
|
1896
1890
|
this.revogrid = revogrid;
|
|
1897
1891
|
this.providers = providers;
|
|
1898
|
-
this.moveFunc =
|
|
1892
|
+
this.moveFunc = debounce((e) => this.doMove(e), 5);
|
|
1899
1893
|
this.staticDragData = null;
|
|
1900
1894
|
this.dragData = null;
|
|
1901
1895
|
this.localSubscriptions = {};
|
|
@@ -2003,7 +1997,7 @@ class ColumnPlugin extends BasePlugin {
|
|
|
2003
1997
|
this.clearOrder();
|
|
2004
1998
|
}
|
|
2005
1999
|
clearLocalSubscriptions() {
|
|
2006
|
-
|
|
2000
|
+
forEach(this.localSubscriptions, ({ target, callback }, key) => target.removeEventListener(key, callback));
|
|
2007
2001
|
}
|
|
2008
2002
|
clearOrder() {
|
|
2009
2003
|
this.staticDragData = null;
|
|
@@ -2037,10 +2031,6 @@ function getLeftRelative(absoluteX, gridPos, offset) {
|
|
|
2037
2031
|
return absoluteX - gridPos - offset;
|
|
2038
2032
|
}
|
|
2039
2033
|
|
|
2040
|
-
var baseGetTag = _baseGetTag,
|
|
2041
|
-
isArray = isArray_1,
|
|
2042
|
-
isObjectLike = isObjectLike_1;
|
|
2043
|
-
|
|
2044
2034
|
/** `Object#toString` result references. */
|
|
2045
2035
|
var stringTag = '[object String]';
|
|
2046
2036
|
|
|
@@ -2061,15 +2051,11 @@ var stringTag = '[object String]';
|
|
|
2061
2051
|
* _.isString(1);
|
|
2062
2052
|
* // => false
|
|
2063
2053
|
*/
|
|
2064
|
-
function isString
|
|
2054
|
+
function isString(value) {
|
|
2065
2055
|
return typeof value == 'string' ||
|
|
2066
2056
|
(!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
|
|
2067
2057
|
}
|
|
2068
2058
|
|
|
2069
|
-
var isString_1 = isString$1;
|
|
2070
|
-
|
|
2071
|
-
var baseProperty = _baseProperty;
|
|
2072
|
-
|
|
2073
2059
|
/**
|
|
2074
2060
|
* Gets the size of an ASCII `string`.
|
|
2075
2061
|
*
|
|
@@ -2077,12 +2063,11 @@ var baseProperty = _baseProperty;
|
|
|
2077
2063
|
* @param {string} string The string inspect.
|
|
2078
2064
|
* @returns {number} Returns the string size.
|
|
2079
2065
|
*/
|
|
2080
|
-
var asciiSize
|
|
2066
|
+
var asciiSize = baseProperty('length');
|
|
2081
2067
|
|
|
2082
|
-
|
|
2068
|
+
const asciiSize$1 = asciiSize;
|
|
2083
2069
|
|
|
2084
2070
|
/** Used to compose unicode character classes. */
|
|
2085
|
-
|
|
2086
2071
|
var rsAstralRange$1 = '\\ud800-\\udfff',
|
|
2087
2072
|
rsComboMarksRange$1 = '\\u0300-\\u036f',
|
|
2088
2073
|
reComboHalfMarksRange$1 = '\\ufe20-\\ufe2f',
|
|
@@ -2103,14 +2088,11 @@ var reHasUnicode = RegExp('[' + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1 + rs
|
|
|
2103
2088
|
* @param {string} string The string to inspect.
|
|
2104
2089
|
* @returns {boolean} Returns `true` if a symbol is found, else `false`.
|
|
2105
2090
|
*/
|
|
2106
|
-
function hasUnicode
|
|
2091
|
+
function hasUnicode(string) {
|
|
2107
2092
|
return reHasUnicode.test(string);
|
|
2108
2093
|
}
|
|
2109
2094
|
|
|
2110
|
-
var _hasUnicode = hasUnicode$1;
|
|
2111
|
-
|
|
2112
2095
|
/** Used to compose unicode character classes. */
|
|
2113
|
-
|
|
2114
2096
|
var rsAstralRange = '\\ud800-\\udfff',
|
|
2115
2097
|
rsComboMarksRange = '\\u0300-\\u036f',
|
|
2116
2098
|
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
|
@@ -2145,7 +2127,7 @@ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
|
|
|
2145
2127
|
* @param {string} string The string inspect.
|
|
2146
2128
|
* @returns {number} Returns the string size.
|
|
2147
2129
|
*/
|
|
2148
|
-
function unicodeSize
|
|
2130
|
+
function unicodeSize(string) {
|
|
2149
2131
|
var result = reUnicode.lastIndex = 0;
|
|
2150
2132
|
while (reUnicode.test(string)) {
|
|
2151
2133
|
++result;
|
|
@@ -2153,12 +2135,6 @@ function unicodeSize$1(string) {
|
|
|
2153
2135
|
return result;
|
|
2154
2136
|
}
|
|
2155
2137
|
|
|
2156
|
-
var _unicodeSize = unicodeSize$1;
|
|
2157
|
-
|
|
2158
|
-
var asciiSize = _asciiSize,
|
|
2159
|
-
hasUnicode = _hasUnicode,
|
|
2160
|
-
unicodeSize = _unicodeSize;
|
|
2161
|
-
|
|
2162
2138
|
/**
|
|
2163
2139
|
* Gets the number of symbols in `string`.
|
|
2164
2140
|
*
|
|
@@ -2166,20 +2142,12 @@ var asciiSize = _asciiSize,
|
|
|
2166
2142
|
* @param {string} string The string to inspect.
|
|
2167
2143
|
* @returns {number} Returns the string size.
|
|
2168
2144
|
*/
|
|
2169
|
-
function stringSize
|
|
2145
|
+
function stringSize(string) {
|
|
2170
2146
|
return hasUnicode(string)
|
|
2171
2147
|
? unicodeSize(string)
|
|
2172
|
-
: asciiSize(string);
|
|
2148
|
+
: asciiSize$1(string);
|
|
2173
2149
|
}
|
|
2174
2150
|
|
|
2175
|
-
var _stringSize = stringSize$1;
|
|
2176
|
-
|
|
2177
|
-
var baseKeys = _baseKeys,
|
|
2178
|
-
getTag = _getTag,
|
|
2179
|
-
isArrayLike = isArrayLike_1,
|
|
2180
|
-
isString = isString_1,
|
|
2181
|
-
stringSize = _stringSize;
|
|
2182
|
-
|
|
2183
2151
|
/** `Object#toString` result references. */
|
|
2184
2152
|
var mapTag = '[object Map]',
|
|
2185
2153
|
setTag = '[object Set]';
|
|
@@ -2219,8 +2187,6 @@ function size(collection) {
|
|
|
2219
2187
|
return baseKeys(collection).length;
|
|
2220
2188
|
}
|
|
2221
2189
|
|
|
2222
|
-
var size_1 = size;
|
|
2223
|
-
|
|
2224
2190
|
/**
|
|
2225
2191
|
* Lifecycle
|
|
2226
2192
|
* 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.
|
|
@@ -2241,7 +2207,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
2241
2207
|
super(revogrid, providers);
|
|
2242
2208
|
this.revogrid = revogrid;
|
|
2243
2209
|
this.sortingPromise = null;
|
|
2244
|
-
this.postponeSort =
|
|
2210
|
+
this.postponeSort = debounce(async (order, comparison) => this.runSorting(order, comparison), 50);
|
|
2245
2211
|
const beforeanysource = async ({ detail: { type }, }) => {
|
|
2246
2212
|
// if sorting was provided - sort data
|
|
2247
2213
|
if (!!this.sorting && this.sortingFunc) {
|
|
@@ -2324,7 +2290,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
2324
2290
|
this.sorting = Object.assign(Object.assign({}, this.sorting), sorting);
|
|
2325
2291
|
// extend sorting function with new sorting for multiple columns sorting
|
|
2326
2292
|
this.sortingFunc = Object.assign(Object.assign({}, this.sortingFunc), sortingFunc);
|
|
2327
|
-
if (column.prop in sorting &&
|
|
2293
|
+
if (column.prop in sorting && size(sorting) > 1 && order === undefined) {
|
|
2328
2294
|
delete sorting[column.prop];
|
|
2329
2295
|
delete sortingFunc[column.prop];
|
|
2330
2296
|
}
|
|
@@ -2356,7 +2322,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
2356
2322
|
*/
|
|
2357
2323
|
async sort(sorting, sortingFunc, types = ['rgRow', 'rowPinStart', 'rowPinEnd']) {
|
|
2358
2324
|
// if no sorting - reset
|
|
2359
|
-
if (!
|
|
2325
|
+
if (!size(sorting)) {
|
|
2360
2326
|
this.sorting = undefined;
|
|
2361
2327
|
this.sortingFunc = undefined;
|
|
2362
2328
|
for (let type of types) {
|
|
@@ -2364,7 +2330,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
2364
2330
|
// row data
|
|
2365
2331
|
const source = store.get('source');
|
|
2366
2332
|
// row indexes
|
|
2367
|
-
const proxyItems =
|
|
2333
|
+
const proxyItems = range(0, source.length);
|
|
2368
2334
|
setStore(store, {
|
|
2369
2335
|
proxyItems,
|
|
2370
2336
|
source: [...source],
|
|
@@ -2471,7 +2437,7 @@ class ColumnDataProvider {
|
|
|
2471
2437
|
return getSourceItem(this.dataSources[type].store, virtualIndex);
|
|
2472
2438
|
}
|
|
2473
2439
|
getRawColumns() {
|
|
2474
|
-
return
|
|
2440
|
+
return reduce(this.dataSources, (result, item, type) => {
|
|
2475
2441
|
result[type] = item.store.get('source');
|
|
2476
2442
|
return result;
|
|
2477
2443
|
}, {
|
|
@@ -2572,14 +2538,14 @@ class ColumnDataProvider {
|
|
|
2572
2538
|
return column;
|
|
2573
2539
|
}
|
|
2574
2540
|
clearSorting() {
|
|
2575
|
-
const types =
|
|
2541
|
+
const types = reduce(this.sorting, (r, c) => {
|
|
2576
2542
|
const k = getColumnType(c);
|
|
2577
2543
|
r[k] = true;
|
|
2578
2544
|
return r;
|
|
2579
2545
|
}, {});
|
|
2580
|
-
|
|
2546
|
+
forEach(types, (_, type) => {
|
|
2581
2547
|
const cols = this.dataSources[type].store.get('source');
|
|
2582
|
-
|
|
2548
|
+
forEach(cols, (c) => (c.order = undefined));
|
|
2583
2549
|
this.dataSources[type].setData({ source: [...cols] });
|
|
2584
2550
|
});
|
|
2585
2551
|
this.sorting = {};
|
|
@@ -2592,7 +2558,7 @@ class ColumnDataProvider {
|
|
|
2592
2558
|
class DataProvider {
|
|
2593
2559
|
constructor(dimensionProvider) {
|
|
2594
2560
|
this.dimensionProvider = dimensionProvider;
|
|
2595
|
-
this.stores =
|
|
2561
|
+
this.stores = reduce(rowTypes, (sources, k) => {
|
|
2596
2562
|
sources[k] = new DataStore(k);
|
|
2597
2563
|
return sources;
|
|
2598
2564
|
}, {});
|
|
@@ -2659,10 +2625,10 @@ class DataProvider {
|
|
|
2659
2625
|
class DimensionProvider {
|
|
2660
2626
|
constructor(viewports, config) {
|
|
2661
2627
|
this.viewports = viewports;
|
|
2662
|
-
const sizeChanged =
|
|
2663
|
-
this.stores =
|
|
2664
|
-
sources[
|
|
2665
|
-
sources[
|
|
2628
|
+
const sizeChanged = debounce((k) => config.realSizeChanged(k), RESIZE_INTERVAL);
|
|
2629
|
+
this.stores = reduce([...rowTypes, ...columnTypes], (sources, t) => {
|
|
2630
|
+
sources[t] = new DimensionStore(t);
|
|
2631
|
+
sources[t].store.onChange('realSize', () => sizeChanged(t));
|
|
2666
2632
|
return sources;
|
|
2667
2633
|
}, {});
|
|
2668
2634
|
}
|
|
@@ -2744,6 +2710,7 @@ class DimensionProvider {
|
|
|
2744
2710
|
if (noVirtual) {
|
|
2745
2711
|
vpUpdate.virtualSize = this.stores[type].getCurrentState().realSize;
|
|
2746
2712
|
}
|
|
2713
|
+
// if virtualSize present this would trigger viewport clear
|
|
2747
2714
|
this.viewports.stores[type].setViewport(vpUpdate);
|
|
2748
2715
|
this.setViewPortCoordinate({
|
|
2749
2716
|
coordinate: this.viewports.stores[type].lastCoordinate,
|
|
@@ -2797,7 +2764,7 @@ class DimensionProvider {
|
|
|
2797
2764
|
|
|
2798
2765
|
class ViewportProvider {
|
|
2799
2766
|
constructor() {
|
|
2800
|
-
this.stores =
|
|
2767
|
+
this.stores = reduce([...rowTypes, ...columnTypes], (sources, k) => {
|
|
2801
2768
|
sources[k] = new ViewportStore(k);
|
|
2802
2769
|
return sources;
|
|
2803
2770
|
}, {});
|
|
@@ -2909,7 +2876,7 @@ class ViewportService {
|
|
|
2909
2876
|
onColumnResize(type, { detail }, store) {
|
|
2910
2877
|
var _a;
|
|
2911
2878
|
(_a = this.config.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, detail, true);
|
|
2912
|
-
const changedItems =
|
|
2879
|
+
const changedItems = reduce(detail || {}, (r, size, i) => {
|
|
2913
2880
|
const index = parseInt(i, 10);
|
|
2914
2881
|
const item = getSourceItem(store, index);
|
|
2915
2882
|
if (item) {
|
|
@@ -3796,7 +3763,7 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
|
|
|
3796
3763
|
vals: after,
|
|
3797
3764
|
oldVals: before,
|
|
3798
3765
|
});
|
|
3799
|
-
// apply new
|
|
3766
|
+
// apply new values
|
|
3800
3767
|
const newRows = rowDefinitionByType(newVal);
|
|
3801
3768
|
// clear current defs
|
|
3802
3769
|
if (oldVal) {
|
|
@@ -3811,18 +3778,14 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
|
|
|
3811
3778
|
}
|
|
3812
3779
|
}
|
|
3813
3780
|
}
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
this.dimensionProvider.setCustomSizes('rgRow', {});
|
|
3817
|
-
}
|
|
3818
|
-
else {
|
|
3819
|
-
return;
|
|
3820
|
-
}
|
|
3821
|
-
}
|
|
3822
|
-
Object.entries(newRows).forEach(([k, r]) => {
|
|
3781
|
+
// set new sizes
|
|
3782
|
+
rowTypes.forEach((t) => {
|
|
3823
3783
|
var _a;
|
|
3824
|
-
const
|
|
3825
|
-
|
|
3784
|
+
const newSizes = newRows[t];
|
|
3785
|
+
// apply new sizes or force update
|
|
3786
|
+
if (newSizes || forceUpdate) {
|
|
3787
|
+
(_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(t, (newSizes === null || newSizes === void 0 ? void 0 : newSizes.sizes) || {});
|
|
3788
|
+
}
|
|
3826
3789
|
});
|
|
3827
3790
|
}
|
|
3828
3791
|
trimmedRowsChanged(newVal = {}) {
|