@revolist/revogrid 4.9.37 → 4.9.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{column.drag.plugin-ffe1918f.js → column.drag.plugin-fcd892ec.js} +18 -18
- package/dist/cjs/column.drag.plugin-fcd892ec.js.map +1 -0
- package/dist/cjs/{index-947f3534.js → column.service-26c61ed6.js} +1256 -469
- package/dist/cjs/column.service-26c61ed6.js.map +1 -0
- package/dist/cjs/{edit.utils-68a4f1c4.js → edit.utils-179c0800.js} +2 -2
- package/dist/cjs/{edit.utils-68a4f1c4.js.map → edit.utils-179c0800.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-57fb8f18.js → header-cell-renderer-d879d95e.js} +2 -2
- package/dist/cjs/{header-cell-renderer-57fb8f18.js.map → header-cell-renderer-d879d95e.js.map} +1 -1
- package/dist/cjs/index-3ab26ab9.js +513 -0
- package/dist/cjs/index-3ab26ab9.js.map +1 -0
- package/dist/cjs/index.cjs.js +21 -20
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{key.utils-da2ead49.js → key.utils-f49d7bee.js} +2 -2
- package/dist/cjs/{key.utils-da2ead49.js.map → key.utils-f49d7bee.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +87 -55
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +13 -13
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +21 -18
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +9 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-fe2264e7.js → row-header-utils-c37f76e4.js} +6 -5
- package/dist/cjs/row-header-utils-c37f76e4.js.map +1 -0
- package/dist/cjs/{text-editor-55511a6a.js → text-editor-b756d6b3.js} +3 -3
- package/dist/cjs/{text-editor-55511a6a.js.map → text-editor-b756d6b3.js.map} +1 -1
- package/dist/cjs/{throttle-2ae258fb.js → throttle-a57f51f9.js} +2 -2
- package/dist/cjs/{throttle-2ae258fb.js.map → throttle-a57f51f9.js.map} +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +99 -27
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +10 -0
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +25 -27
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/services/data.provider.js +12 -5
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +22 -0
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dataSource/data.proxy.js +19 -6
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
- package/dist/collection/store/dataSource/data.store.js +3 -0
- package/dist/collection/store/dataSource/data.store.js.map +1 -1
- package/dist/collection/types/events.js +1 -0
- package/dist/collection/types/events.js.map +1 -1
- package/dist/esm/{column.drag.plugin-bbd79520.js → column.drag.plugin-3cc77986.js} +6 -6
- package/dist/esm/{column.drag.plugin-bbd79520.js.map → column.drag.plugin-3cc77986.js.map} +1 -1
- package/dist/esm/{index-8eeaa30d.js → column.service-751345b2.js} +1216 -427
- package/dist/esm/column.service-751345b2.js.map +1 -0
- package/dist/esm/{debounce-7b511afc.js → debounce-72878ced.js} +2 -2
- package/dist/esm/{debounce-7b511afc.js.map → debounce-72878ced.js.map} +1 -1
- package/dist/esm/{edit.utils-aeb2dc7c.js → edit.utils-6fc686b9.js} +2 -2
- package/dist/esm/{edit.utils-aeb2dc7c.js.map → edit.utils-6fc686b9.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-1aec2328.js → header-cell-renderer-32d2ed96.js} +2 -2
- package/dist/esm/{header-cell-renderer-1aec2328.js.map → header-cell-renderer-32d2ed96.js.map} +1 -1
- package/dist/esm/index-1dcad6ef.js +476 -0
- package/dist/esm/index-1dcad6ef.js.map +1 -0
- package/dist/esm/index.js +9 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{key.utils-9ee5fa40.js → key.utils-17273f42.js} +2 -2
- package/dist/esm/{key.utils-9ee5fa40.js.map → key.utils-17273f42.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +67 -35
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +9 -9
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +22 -19
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +5 -5
- package/dist/esm/revogr-filter-panel.entry.js +1 -1
- package/dist/esm/{row-header-utils-3220f80d.js → row-header-utils-3dfbb81f.js} +3 -2
- package/dist/esm/row-header-utils-3dfbb81f.js.map +1 -0
- package/dist/esm/{text-editor-d9dcf56d.js → text-editor-901c3eb8.js} +3 -3
- package/dist/esm/{text-editor-d9dcf56d.js.map → text-editor-901c3eb8.js.map} +1 -1
- package/dist/esm/{throttle-ce8e57c9.js → throttle-138d69c3.js} +3 -3
- package/dist/esm/{throttle-ce8e57c9.js.map → throttle-138d69c3.js.map} +1 -1
- package/dist/revo-grid/column.drag.plugin-3cc77986.js +5 -0
- package/dist/revo-grid/{column.drag.plugin-bbd79520.js.map → column.drag.plugin-3cc77986.js.map} +1 -1
- package/dist/revo-grid/column.service-751345b2.js +5 -0
- package/dist/revo-grid/column.service-751345b2.js.map +1 -0
- package/dist/revo-grid/{debounce-7b511afc.js → debounce-72878ced.js} +2 -2
- package/dist/revo-grid/{edit.utils-aeb2dc7c.js → edit.utils-6fc686b9.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-1aec2328.js → header-cell-renderer-32d2ed96.js} +2 -2
- package/dist/revo-grid/index-1dcad6ef.js +5 -0
- package/dist/revo-grid/index-1dcad6ef.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/index.esm.js.map +1 -1
- package/dist/revo-grid/key.utils-17273f42.js +5 -0
- package/dist/revo-grid/{key.utils-9ee5fa40.js.map → key.utils-17273f42.js.map} +1 -1
- 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_7.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +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-3dfbb81f.js +5 -0
- package/dist/revo-grid/{row-header-utils-3220f80d.js.map → row-header-utils-3dfbb81f.js.map} +1 -1
- package/dist/revo-grid/text-editor-901c3eb8.js +5 -0
- package/dist/revo-grid/{throttle-ce8e57c9.js → throttle-138d69c3.js} +2 -2
- package/dist/types/components/order/revogr-order-editor.d.ts +18 -4
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +2 -4
- package/dist/types/components/revoGrid/revo-grid.d.ts +1 -0
- package/dist/types/components.d.ts +25 -6
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +4 -4
- package/dist/types/services/data.provider.d.ts +5 -0
- package/dist/types/services/dimension.provider.d.ts +1 -0
- package/dist/types/store/dataSource/data.proxy.d.ts +9 -3
- package/dist/types/store/dataSource/data.store.d.ts +1 -0
- package/dist/types/types/events.d.ts +1 -1
- package/hydrate/index.js +127 -75
- package/hydrate/index.mjs +127 -75
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +28 -31
- package/standalone/data.store.js.map +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/identity.js +26 -0
- package/standalone/identity.js.map +1 -0
- package/standalone/index.js +2 -1
- package/standalone/index.js.map +1 -1
- package/standalone/revo-grid.js +64 -31
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +18 -15
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -2
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/dist/cjs/column.drag.plugin-ffe1918f.js.map +0 -1
- package/dist/cjs/column.service-e9ab1aa3.js +0 -1286
- package/dist/cjs/column.service-e9ab1aa3.js.map +0 -1
- package/dist/cjs/index-947f3534.js.map +0 -1
- package/dist/cjs/row-header-utils-fe2264e7.js.map +0 -1
- package/dist/esm/column.service-397b7249.js +0 -1249
- package/dist/esm/column.service-397b7249.js.map +0 -1
- package/dist/esm/index-8eeaa30d.js.map +0 -1
- package/dist/esm/row-header-utils-3220f80d.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-bbd79520.js +0 -5
- package/dist/revo-grid/column.service-397b7249.js +0 -5
- package/dist/revo-grid/column.service-397b7249.js.map +0 -1
- package/dist/revo-grid/index-8eeaa30d.js +0 -5
- package/dist/revo-grid/index-8eeaa30d.js.map +0 -1
- package/dist/revo-grid/key.utils-9ee5fa40.js +0 -5
- package/dist/revo-grid/row-header-utils-3220f80d.js +0 -5
- package/dist/revo-grid/text-editor-d9dcf56d.js +0 -5
- /package/dist/revo-grid/{debounce-7b511afc.js.map → debounce-72878ced.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-aeb2dc7c.js.map → edit.utils-6fc686b9.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-1aec2328.js.map → header-cell-renderer-32d2ed96.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-d9dcf56d.js.map → text-editor-901c3eb8.js.map} +0 -0
- /package/dist/revo-grid/{throttle-ce8e57c9.js.map → throttle-138d69c3.js.map} +0 -0
package/hydrate/index.js
CHANGED
|
@@ -3299,12 +3299,48 @@ class FilterPanel {
|
|
|
3299
3299
|
}; }
|
|
3300
3300
|
}
|
|
3301
3301
|
|
|
3302
|
+
const MIN_COL_SIZE = 30;
|
|
3303
|
+
const RESIZE_INTERVAL = 40;
|
|
3304
|
+
const DATA_COL = 'data-rgCol';
|
|
3305
|
+
const DATA_ROW = 'data-rgRow';
|
|
3306
|
+
const DISABLED_CLASS = 'disabled';
|
|
3307
|
+
const CELL_CLASS = 'rgCell';
|
|
3308
|
+
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
3309
|
+
const HEADER_CLASS = 'rgHeaderCell';
|
|
3310
|
+
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
3311
|
+
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
3312
|
+
const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
|
|
3313
|
+
const DRAG_ICON_CLASS = 'revo-drag-icon';
|
|
3314
|
+
const DRAGGABLE_CLASS = 'revo-draggable';
|
|
3315
|
+
const FOCUS_CLASS = 'focused-cell';
|
|
3316
|
+
const SELECTION_BORDER_CLASS = 'selection-border-range';
|
|
3317
|
+
const MOBILE_CLASS = 'mobile-handler';
|
|
3318
|
+
const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
|
|
3319
|
+
const CELL_HANDLER_CLASS = 'autofill-handle';
|
|
3320
|
+
const EDIT_INPUT_WR = 'edit-input-wrapper';
|
|
3321
|
+
const DRAGG_TEXT = 'Draggable item';
|
|
3322
|
+
const GRID_INTERNALS = '__rvgr';
|
|
3323
|
+
const ROW_FOCUSED_CLASS = 'focused-rgRow';
|
|
3324
|
+
|
|
3302
3325
|
/**
|
|
3303
|
-
*
|
|
3304
|
-
*
|
|
3305
|
-
*
|
|
3326
|
+
* Proxy plugin for data source.
|
|
3327
|
+
* This plugin is used to sort the data source.
|
|
3328
|
+
* It keeps the order of the items but does not modify the final source.
|
|
3329
|
+
* It is also used to filter the items in the data source.
|
|
3330
|
+
* The `set` method takes a key and a new value as arguments.
|
|
3331
|
+
* If the key is 'proxyItems' it will filter the items in the data source according to the new value.
|
|
3332
|
+
* The new value should be an array of numbers representing the indexes of the items that should be visible.
|
|
3333
|
+
* The method will return a new array of numbers with the indexes of the items that should be visible.
|
|
3334
|
+
* The method will also update the 'items' property of the store with the new array.
|
|
3306
3335
|
*/
|
|
3307
3336
|
const proxyPlugin = (store) => ({
|
|
3337
|
+
/**
|
|
3338
|
+
* Set the value of a property in the store.
|
|
3339
|
+
* If the key is 'proxyItems' it will filter the items in the data source according to the new value.
|
|
3340
|
+
* The new value should be an array of numbers representing the indexes of the items that should be visible.
|
|
3341
|
+
* The method will return a new array of numbers with the indexes of the items that should be visible.
|
|
3342
|
+
* The method will also update the 'items' property of the store with the new array.
|
|
3343
|
+
*/
|
|
3308
3344
|
set(k, newVal) {
|
|
3309
3345
|
if (!isProxy(k)) {
|
|
3310
3346
|
return;
|
|
@@ -3314,15 +3350,15 @@ const proxyPlugin = (store) => ({
|
|
|
3314
3350
|
* Mark indexes as visible
|
|
3315
3351
|
*/
|
|
3316
3352
|
const oldItems = store.get('items').reduce((r, v) => {
|
|
3317
|
-
r
|
|
3353
|
+
r.add(v);
|
|
3318
3354
|
return r;
|
|
3319
|
-
},
|
|
3355
|
+
}, new Set());
|
|
3320
3356
|
/**
|
|
3321
3357
|
* Check if new values where present in items
|
|
3322
3358
|
* Filter item collection according presense
|
|
3323
3359
|
*/
|
|
3324
3360
|
const newItems = newVal.reduce((r, i) => {
|
|
3325
|
-
if (oldItems
|
|
3361
|
+
if (oldItems.has(i)) {
|
|
3326
3362
|
r.push(i);
|
|
3327
3363
|
}
|
|
3328
3364
|
return r;
|
|
@@ -6363,6 +6399,9 @@ class DataStore {
|
|
|
6363
6399
|
trimmed = Object.assign(Object.assign({}, trimmed), some);
|
|
6364
6400
|
setStore(this.store, { trimmed });
|
|
6365
6401
|
}
|
|
6402
|
+
setSourceData(items, mutate = true) {
|
|
6403
|
+
setSourceByVirtualIndex(this.store, items, mutate);
|
|
6404
|
+
}
|
|
6366
6405
|
// local data update
|
|
6367
6406
|
setData(input) {
|
|
6368
6407
|
const data = Object.assign({}, input);
|
|
@@ -7804,29 +7843,6 @@ function isRowType(type) {
|
|
|
7804
7843
|
return rowTypes.indexOf(type) > -1;
|
|
7805
7844
|
}
|
|
7806
7845
|
|
|
7807
|
-
const MIN_COL_SIZE = 30;
|
|
7808
|
-
const RESIZE_INTERVAL = 40;
|
|
7809
|
-
const DATA_COL = 'data-rgCol';
|
|
7810
|
-
const DATA_ROW = 'data-rgRow';
|
|
7811
|
-
const DISABLED_CLASS = 'disabled';
|
|
7812
|
-
const CELL_CLASS = 'rgCell';
|
|
7813
|
-
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
7814
|
-
const HEADER_CLASS = 'rgHeaderCell';
|
|
7815
|
-
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
7816
|
-
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
7817
|
-
const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
|
|
7818
|
-
const DRAG_ICON_CLASS = 'revo-drag-icon';
|
|
7819
|
-
const DRAGGABLE_CLASS = 'revo-draggable';
|
|
7820
|
-
const FOCUS_CLASS = 'focused-cell';
|
|
7821
|
-
const SELECTION_BORDER_CLASS = 'selection-border-range';
|
|
7822
|
-
const MOBILE_CLASS = 'mobile-handler';
|
|
7823
|
-
const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
|
|
7824
|
-
const CELL_HANDLER_CLASS = 'autofill-handle';
|
|
7825
|
-
const EDIT_INPUT_WR = 'edit-input-wrapper';
|
|
7826
|
-
const DRAGG_TEXT = 'Draggable item';
|
|
7827
|
-
const GRID_INTERNALS = '__rvgr';
|
|
7828
|
-
const ROW_FOCUSED_CLASS = 'focused-rgRow';
|
|
7829
|
-
|
|
7830
7846
|
class RowOrderService {
|
|
7831
7847
|
constructor(config) {
|
|
7832
7848
|
this.config = config;
|
|
@@ -7906,17 +7922,19 @@ class OrderEditor {
|
|
|
7906
7922
|
this.rowDrag = createEvent(this, "rowdragmoveinit", 7);
|
|
7907
7923
|
this.rowMouseMove = createEvent(this, "rowdragmousemove", 7);
|
|
7908
7924
|
this.rowDropped = createEvent(this, "rowdropinit", 7);
|
|
7925
|
+
this.rowOrderChange = createEvent(this, "roworderchange", 7);
|
|
7909
7926
|
this.events = [];
|
|
7910
7927
|
this.rowMoveFunc = debounce$1((y) => {
|
|
7911
7928
|
const rgRow = this.rowOrderService.move(y, this.getData());
|
|
7912
7929
|
if (rgRow !== null) {
|
|
7913
|
-
this.rowDrag.emit(rgRow);
|
|
7930
|
+
this.rowDrag.emit(Object.assign(Object.assign({}, rgRow), { rowType: this.rowType }));
|
|
7914
7931
|
}
|
|
7915
7932
|
}, 5);
|
|
7916
7933
|
this.parent = undefined;
|
|
7917
7934
|
this.dimensionRow = undefined;
|
|
7918
7935
|
this.dimensionCol = undefined;
|
|
7919
7936
|
this.dataStore = undefined;
|
|
7937
|
+
this.rowType = undefined;
|
|
7920
7938
|
}
|
|
7921
7939
|
// #endregion
|
|
7922
7940
|
// #region Methods
|
|
@@ -7934,6 +7952,7 @@ class OrderEditor {
|
|
|
7934
7952
|
text: DRAGG_TEXT,
|
|
7935
7953
|
pos,
|
|
7936
7954
|
event: e.originalEvent,
|
|
7955
|
+
rowType: this.rowType,
|
|
7937
7956
|
});
|
|
7938
7957
|
if (dragStartEvent.defaultPrevented) {
|
|
7939
7958
|
return;
|
|
@@ -7964,28 +7983,28 @@ class OrderEditor {
|
|
|
7964
7983
|
this.rowOrderService.clear();
|
|
7965
7984
|
this.events.forEach(v => document.removeEventListener(v.name, v.listener));
|
|
7966
7985
|
this.events.length = 0;
|
|
7967
|
-
this.rowDragEnd.emit();
|
|
7986
|
+
this.rowDragEnd.emit({ rowType: this.rowType });
|
|
7968
7987
|
}
|
|
7969
7988
|
// #endregion
|
|
7970
7989
|
move({ x, y }) {
|
|
7971
|
-
this.rowMouseMove.emit({ x, y });
|
|
7990
|
+
this.rowMouseMove.emit({ x, y, rowType: this.rowType });
|
|
7972
7991
|
this.rowMoveFunc(y);
|
|
7973
7992
|
}
|
|
7974
7993
|
connectedCallback() {
|
|
7975
7994
|
this.rowOrderService = new RowOrderService({
|
|
7976
|
-
positionChanged: (
|
|
7995
|
+
positionChanged: (from, to) => {
|
|
7996
|
+
const dropEvent = this.rowDropped.emit({
|
|
7997
|
+
from,
|
|
7998
|
+
to,
|
|
7999
|
+
rowType: this.rowType,
|
|
8000
|
+
});
|
|
8001
|
+
if (dropEvent.defaultPrevented) {
|
|
8002
|
+
return;
|
|
8003
|
+
}
|
|
8004
|
+
this.rowOrderChange.emit(dropEvent.detail);
|
|
8005
|
+
},
|
|
7977
8006
|
});
|
|
7978
8007
|
}
|
|
7979
|
-
onPositionChanged(from, to) {
|
|
7980
|
-
const dropEvent = this.rowDropped.emit({ from, to });
|
|
7981
|
-
if (dropEvent.defaultPrevented) {
|
|
7982
|
-
return;
|
|
7983
|
-
}
|
|
7984
|
-
const items = [...this.dataStore.get('items')];
|
|
7985
|
-
const toMove = items.splice(from, 1);
|
|
7986
|
-
items.splice(to, 0, ...toMove);
|
|
7987
|
-
setItems(this.dataStore, items);
|
|
7988
|
-
}
|
|
7989
8008
|
getData() {
|
|
7990
8009
|
return {
|
|
7991
8010
|
el: this.parent,
|
|
@@ -8001,6 +8020,7 @@ class OrderEditor {
|
|
|
8001
8020
|
"dimensionRow": [16],
|
|
8002
8021
|
"dimensionCol": [16],
|
|
8003
8022
|
"dataStore": [16],
|
|
8023
|
+
"rowType": [1, "row-type"],
|
|
8004
8024
|
"dragStart": [64],
|
|
8005
8025
|
"endOrder": [64],
|
|
8006
8026
|
"clearOrder": [64]
|
|
@@ -9577,10 +9597,10 @@ class OverlaySelection {
|
|
|
9577
9597
|
}
|
|
9578
9598
|
// Order
|
|
9579
9599
|
if (this.canDrag) {
|
|
9580
|
-
nodes.push(hAsync("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
9600
|
+
nodes.push(hAsync("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) }));
|
|
9581
9601
|
}
|
|
9582
9602
|
}
|
|
9583
|
-
return (hAsync(Host, { key: '
|
|
9603
|
+
return (hAsync(Host, { key: '53847b6211a31f69b2f2df1b191544a3b6dfefd8', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, hAsync("slot", { key: '012c496c34954b7074a53a4d9e949ac9e3d072af', name: "data" })));
|
|
9584
9604
|
}
|
|
9585
9605
|
/**
|
|
9586
9606
|
* Executes the focus operation on the specified range of cells.
|
|
@@ -10329,11 +10349,19 @@ class DataProvider {
|
|
|
10329
10349
|
const store = this.stores[type].store;
|
|
10330
10350
|
return getSourceItem(store, virtualIndex);
|
|
10331
10351
|
}
|
|
10352
|
+
changeOrder({ rowType = 'rgRow', from, to }) {
|
|
10353
|
+
const service = this.stores[rowType];
|
|
10354
|
+
const items = [...service.store.get('items')];
|
|
10355
|
+
const prevItems = [...items];
|
|
10356
|
+
const toMove = items.splice(from, 1);
|
|
10357
|
+
items.splice(to, 0, ...toMove);
|
|
10358
|
+
this.dimensionProvider.updateSizesPositionByNewDataIndexes(rowType, items, prevItems);
|
|
10359
|
+
service.setData({ items });
|
|
10360
|
+
}
|
|
10332
10361
|
setCellData({ type, rowIndex, prop, val }, mutate = true) {
|
|
10333
10362
|
const model = this.getModel(rowIndex, type);
|
|
10334
10363
|
model[prop] = val;
|
|
10335
|
-
|
|
10336
|
-
setSourceByVirtualIndex(this.stores[type].store, { [rowIndex]: model }, mutate);
|
|
10364
|
+
this.stores[type].setSourceData({ [rowIndex]: model }, mutate);
|
|
10337
10365
|
}
|
|
10338
10366
|
setRangeData(data, type) {
|
|
10339
10367
|
const items = {};
|
|
@@ -10346,8 +10374,7 @@ class DataProvider {
|
|
|
10346
10374
|
oldModel[prop] = data[rowIndex][prop];
|
|
10347
10375
|
}
|
|
10348
10376
|
}
|
|
10349
|
-
|
|
10350
|
-
setSourceByVirtualIndex(this.stores[type].store, items);
|
|
10377
|
+
this.stores[type].setSourceData(items);
|
|
10351
10378
|
}
|
|
10352
10379
|
refresh(type = 'all') {
|
|
10353
10380
|
if (isRowType(type)) {
|
|
@@ -10522,6 +10549,28 @@ class DimensionProvider {
|
|
|
10522
10549
|
this.stores[s].setStore(data);
|
|
10523
10550
|
}
|
|
10524
10551
|
}
|
|
10552
|
+
updateSizesPositionByNewDataIndexes(type, newItemsOrder, prevItemsOrder = []) {
|
|
10553
|
+
// Move custom sizes to new order
|
|
10554
|
+
const dimService = this.stores[type];
|
|
10555
|
+
const customSizes = Object.assign({}, dimService.store.get('sizes'));
|
|
10556
|
+
if (Object.keys(customSizes).length) {
|
|
10557
|
+
const originalIndices = new Map();
|
|
10558
|
+
prevItemsOrder.forEach((value, index) => {
|
|
10559
|
+
originalIndices.set(value, index);
|
|
10560
|
+
});
|
|
10561
|
+
const newSizes = {};
|
|
10562
|
+
newItemsOrder.forEach((value, newIndex) => {
|
|
10563
|
+
const originalIndex = originalIndices.get(value);
|
|
10564
|
+
if (originalIndex !== newIndex && customSizes[originalIndex]) {
|
|
10565
|
+
newSizes[newIndex] = customSizes[originalIndex];
|
|
10566
|
+
delete customSizes[originalIndex];
|
|
10567
|
+
}
|
|
10568
|
+
});
|
|
10569
|
+
if (Object.keys(newSizes).length) {
|
|
10570
|
+
this.setCustomSizes(type, Object.assign(Object.assign({}, customSizes), newSizes));
|
|
10571
|
+
}
|
|
10572
|
+
}
|
|
10573
|
+
}
|
|
10525
10574
|
}
|
|
10526
10575
|
|
|
10527
10576
|
class ViewportProvider {
|
|
@@ -11550,9 +11599,9 @@ function size$1(collection) {
|
|
|
11550
11599
|
* Note: If you prevent an event, it will not proceed to the subsequent steps.
|
|
11551
11600
|
*/
|
|
11552
11601
|
class SortingPlugin extends BasePlugin {
|
|
11553
|
-
|
|
11602
|
+
runSorting(order, comparison) {
|
|
11554
11603
|
var _a;
|
|
11555
|
-
|
|
11604
|
+
this.sort(order, comparison);
|
|
11556
11605
|
(_a = this.sortingPromise) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
11557
11606
|
this.sortingPromise = null;
|
|
11558
11607
|
}
|
|
@@ -11560,8 +11609,8 @@ class SortingPlugin extends BasePlugin {
|
|
|
11560
11609
|
super(revogrid, providers);
|
|
11561
11610
|
this.revogrid = revogrid;
|
|
11562
11611
|
this.sortingPromise = null;
|
|
11563
|
-
this.postponeSort = debounce$1(
|
|
11564
|
-
const beforeanysource =
|
|
11612
|
+
this.postponeSort = debounce$1((order, comparison) => this.runSorting(order, comparison), 50);
|
|
11613
|
+
const beforeanysource = ({ detail: { type }, }) => {
|
|
11565
11614
|
// if sorting was provided - sort data
|
|
11566
11615
|
if (!!this.sorting && this.sortingFunc) {
|
|
11567
11616
|
const beforeEvent = this.emit('beforesorting', { type });
|
|
@@ -11571,8 +11620,8 @@ class SortingPlugin extends BasePlugin {
|
|
|
11571
11620
|
this.startSorting(this.sorting, this.sortingFunc);
|
|
11572
11621
|
}
|
|
11573
11622
|
};
|
|
11574
|
-
const aftercolumnsset =
|
|
11575
|
-
const columns =
|
|
11623
|
+
const aftercolumnsset = ({ detail: { order }, }) => {
|
|
11624
|
+
const columns = this.providers.column.getColumns();
|
|
11576
11625
|
const sortingFunc = {};
|
|
11577
11626
|
for (let prop in order) {
|
|
11578
11627
|
const cmp = this.getComparer(getColumnByProp(columns, prop), order[prop]);
|
|
@@ -11580,7 +11629,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
11580
11629
|
}
|
|
11581
11630
|
this.runSorting(order, sortingFunc);
|
|
11582
11631
|
};
|
|
11583
|
-
const headerclick =
|
|
11632
|
+
const headerclick = (e) => {
|
|
11584
11633
|
var _a, _b;
|
|
11585
11634
|
if (e.defaultPrevented) {
|
|
11586
11635
|
return;
|
|
@@ -11617,7 +11666,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
11617
11666
|
* Apply sorting to data on header click
|
|
11618
11667
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
11619
11668
|
*/
|
|
11620
|
-
|
|
11669
|
+
headerclick(column, index, additive) {
|
|
11621
11670
|
var _a, _b;
|
|
11622
11671
|
let order = this.getNextOrder(column.order);
|
|
11623
11672
|
const beforeEvent = this.emit('beforesorting', { column, order, additive });
|
|
@@ -11625,7 +11674,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
11625
11674
|
return;
|
|
11626
11675
|
}
|
|
11627
11676
|
order = beforeEvent.detail.order;
|
|
11628
|
-
const newCol =
|
|
11677
|
+
const newCol = this.providers.column.updateColumnSorting(beforeEvent.detail.column, index, order, additive);
|
|
11629
11678
|
// apply sort data
|
|
11630
11679
|
const beforeApplyEvent = this.emit('beforesortingapply', {
|
|
11631
11680
|
column: newCol,
|
|
@@ -11673,38 +11722,37 @@ class SortingPlugin extends BasePlugin {
|
|
|
11673
11722
|
* @param sorting - per column sorting
|
|
11674
11723
|
* @param data - this.stores['rgRow'].store.get('source')
|
|
11675
11724
|
*/
|
|
11676
|
-
|
|
11725
|
+
sort(sorting, sortingFunc, types = rowTypes) {
|
|
11677
11726
|
// if no sorting - reset
|
|
11678
11727
|
if (!size$1(sorting)) {
|
|
11679
11728
|
this.sorting = undefined;
|
|
11680
11729
|
this.sortingFunc = undefined;
|
|
11681
11730
|
for (let type of types) {
|
|
11682
|
-
const
|
|
11731
|
+
const storeService = this.providers.data.stores[type];
|
|
11683
11732
|
// row data
|
|
11684
|
-
const source = store.get('source');
|
|
11733
|
+
const source = storeService.store.get('source');
|
|
11685
11734
|
// row indexes
|
|
11686
|
-
const proxyItems =
|
|
11687
|
-
|
|
11688
|
-
|
|
11689
|
-
|
|
11690
|
-
});
|
|
11735
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
11736
|
+
// row indexes
|
|
11737
|
+
const newItemsOrder = storeService.store.get('items'); // recover indexes range(0, source.length)
|
|
11738
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
11739
|
+
storeService.setData({ proxyItems: newItemsOrder, source: [...source] });
|
|
11691
11740
|
}
|
|
11692
11741
|
}
|
|
11693
11742
|
else {
|
|
11694
11743
|
// set sorting
|
|
11695
11744
|
this.sorting = sorting;
|
|
11696
11745
|
this.sortingFunc = sortingFunc;
|
|
11697
|
-
// by default it'll sort by rgRow store
|
|
11698
|
-
// todo: support multiple stores
|
|
11699
11746
|
for (let type of types) {
|
|
11700
|
-
const
|
|
11747
|
+
const storeService = this.providers.data.stores[type];
|
|
11701
11748
|
// row data
|
|
11702
|
-
const source = store.get('source');
|
|
11749
|
+
const source = storeService.store.get('source');
|
|
11703
11750
|
// row indexes
|
|
11704
|
-
const proxyItems = store.get('proxyItems');
|
|
11705
|
-
const
|
|
11706
|
-
|
|
11707
|
-
|
|
11751
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
11752
|
+
const newItemsOrder = this.sortIndexByItems([...proxyItems], source, sortingFunc);
|
|
11753
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
11754
|
+
storeService.setData({
|
|
11755
|
+
proxyItems: newItemsOrder,
|
|
11708
11756
|
source: [...source],
|
|
11709
11757
|
});
|
|
11710
11758
|
}
|
|
@@ -14003,6 +14051,10 @@ class RevoGridComponent {
|
|
|
14003
14051
|
var _a;
|
|
14004
14052
|
(_a = this.orderService) === null || _a === void 0 ? void 0 : _a.end();
|
|
14005
14053
|
}
|
|
14054
|
+
onRowOrderChange(e) {
|
|
14055
|
+
var _a;
|
|
14056
|
+
(_a = this.dataProvider) === null || _a === void 0 ? void 0 : _a.changeOrder(e.detail);
|
|
14057
|
+
}
|
|
14006
14058
|
onRowDrag({ detail }) {
|
|
14007
14059
|
var _a;
|
|
14008
14060
|
(_a = this.orderService) === null || _a === void 0 ? void 0 : _a.move(detail);
|
|
@@ -14562,7 +14614,7 @@ class RevoGridComponent {
|
|
|
14562
14614
|
"getContentSize": [64],
|
|
14563
14615
|
"getSelectedRange": [64]
|
|
14564
14616
|
},
|
|
14565
|
-
"$listeners$": [[5, "touchstart", "mousedownHandle"], [5, "mousedown", "mousedownHandle"], [5, "touchend", "mouseupHandle"], [5, "mouseup", "mouseupHandle"], [0, "rowdragstartinit", "onRowDragStarted"], [0, "rowdragendinit", "onRowDragEnd"], [0, "rowdragmoveinit", "onRowDrag"], [0, "rowdragmousemove", "onRowMouseMove"], [0, "celleditapply", "onCellEdit"], [0, "rangeeditapply", "onRangeEdit"], [0, "selectionchangeinit", "onRangeChanged"], [0, "rowdropinit", "onRowDropped"], [0, "beforeheaderclick", "onHeaderClick"], [0, "beforecellfocusinit", "onCellFocus"]],
|
|
14617
|
+
"$listeners$": [[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"]],
|
|
14566
14618
|
"$lazyBundleId$": "-",
|
|
14567
14619
|
"$attrsToReflect$": [["theme", "theme"], ["rowClass", "row-class"]]
|
|
14568
14620
|
}; }
|