@revolist/revogrid 4.9.41 → 4.10.1
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-fcd892ec.js → column.drag.plugin-08ca04f4.js} +129 -58
- package/dist/cjs/column.drag.plugin-08ca04f4.js.map +1 -0
- package/dist/cjs/column.service-2670e6e7.js +1286 -0
- package/dist/cjs/column.service-2670e6e7.js.map +1 -0
- package/dist/cjs/{edit.utils-179c0800.js → edit.utils-4a790cf8.js} +2 -2
- package/dist/cjs/{edit.utils-179c0800.js.map → edit.utils-4a790cf8.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-d879d95e.js → header-cell-renderer-db089f54.js} +2 -2
- package/dist/cjs/{header-cell-renderer-d879d95e.js.map → header-cell-renderer-db089f54.js.map} +1 -1
- package/dist/cjs/{column.service-26c61ed6.js → index-91e92bea.js} +455 -1235
- package/dist/cjs/index-91e92bea.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-f49d7bee.js → key.utils-e65c24e6.js} +2 -2
- package/dist/cjs/{key.utils-f49d7bee.js.map → key.utils-e65c24e6.js.map} +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +47 -56
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +11 -11
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -4
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +41 -18
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-c37f76e4.js → row-header-utils-dc3d3185.js} +5 -6
- package/dist/cjs/row-header-utils-dc3d3185.js.map +1 -0
- package/dist/cjs/{text-editor-b756d6b3.js → text-editor-a32a3993.js} +3 -3
- package/dist/cjs/{text-editor-b756d6b3.js.map → text-editor-a32a3993.js.map} +1 -1
- package/dist/cjs/{throttle-a57f51f9.js → throttle-da92b75d.js} +2 -2
- package/dist/cjs/{throttle-a57f51f9.js.map → throttle-da92b75d.js.map} +1 -1
- package/dist/collection/components/data/revogr-data.js +28 -3
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +4 -2
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +7 -4
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +26 -8
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/plugins/filter/filter.plugin.js +3 -0
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +7 -4
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +7 -22
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dataSource/trimmed.plugin.js +3 -8
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
- package/dist/collection/store/dimension/dimension.helpers.js +2 -5
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +35 -0
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.store.js +46 -66
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
- package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
- package/dist/collection/types/events.js +1 -0
- package/dist/collection/types/events.js.map +1 -1
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/esm/{column.drag.plugin-3cc77986.js → column.drag.plugin-b7bba0da.js} +118 -47
- package/dist/esm/column.drag.plugin-b7bba0da.js.map +1 -0
- package/dist/esm/column.service-9b0603f4.js +1249 -0
- package/dist/esm/column.service-9b0603f4.js.map +1 -0
- package/dist/esm/{debounce-72878ced.js → debounce-7b511afc.js} +2 -2
- package/dist/esm/{debounce-72878ced.js.map → debounce-7b511afc.js.map} +1 -1
- package/dist/esm/{edit.utils-6fc686b9.js → edit.utils-abcd0152.js} +2 -2
- package/dist/esm/{edit.utils-6fc686b9.js.map → edit.utils-abcd0152.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-32d2ed96.js → header-cell-renderer-fce020c3.js} +2 -2
- package/dist/esm/{header-cell-renderer-32d2ed96.js.map → header-cell-renderer-fce020c3.js.map} +1 -1
- package/dist/esm/{column.service-751345b2.js → index-b1e05212.js} +414 -1195
- package/dist/esm/index-b1e05212.js.map +1 -0
- package/dist/esm/index.js +9 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{key.utils-17273f42.js → key.utils-ea9aec31.js} +2 -2
- package/dist/esm/{key.utils-17273f42.js.map → key.utils-ea9aec31.js.map} +1 -1
- package/dist/esm/revo-grid.entry.js +27 -36
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +7 -7
- package/dist/esm/revogr-clipboard_3.entry.js +6 -5
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +37 -14
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +1 -1
- package/dist/esm/{row-header-utils-3dfbb81f.js → row-header-utils-7af8fcbf.js} +2 -3
- package/dist/esm/row-header-utils-7af8fcbf.js.map +1 -0
- package/dist/esm/{text-editor-901c3eb8.js → text-editor-fb3f24fe.js} +3 -3
- package/dist/esm/{text-editor-901c3eb8.js.map → text-editor-fb3f24fe.js.map} +1 -1
- package/dist/esm/{throttle-138d69c3.js → throttle-1f5772ef.js} +3 -3
- package/dist/esm/{throttle-138d69c3.js.map → throttle-1f5772ef.js.map} +1 -1
- package/dist/revo-grid/column.drag.plugin-b7bba0da.js +5 -0
- package/dist/revo-grid/column.drag.plugin-b7bba0da.js.map +1 -0
- package/dist/revo-grid/column.service-9b0603f4.js +5 -0
- package/dist/revo-grid/column.service-9b0603f4.js.map +1 -0
- package/dist/revo-grid/{debounce-72878ced.js → debounce-7b511afc.js} +2 -2
- package/dist/revo-grid/{edit.utils-6fc686b9.js → edit.utils-abcd0152.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-32d2ed96.js → header-cell-renderer-fce020c3.js} +2 -2
- package/dist/revo-grid/index-b1e05212.js +5 -0
- package/dist/revo-grid/index-b1e05212.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-ea9aec31.js +5 -0
- package/dist/revo-grid/{key.utils-17273f42.js.map → key.utils-ea9aec31.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/revogr-attribution_7.entry.js +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-7af8fcbf.js +5 -0
- package/dist/revo-grid/{row-header-utils-3dfbb81f.js.map → row-header-utils-7af8fcbf.js.map} +1 -1
- package/dist/revo-grid/text-editor-fb3f24fe.js +5 -0
- package/dist/revo-grid/{throttle-138d69c3.js → throttle-1f5772ef.js} +2 -2
- package/dist/types/components/data/revogr-data.d.ts +6 -2
- package/dist/types/components/order/revogr-order-editor.d.ts +1 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +2 -6
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +1 -1
- package/dist/types/components.d.ts +9 -2
- package/dist/types/services/dimension.provider.d.ts +1 -1
- package/dist/types/store/dimension/dimension.helpers.d.ts +0 -3
- package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
- package/dist/types/store/dimension/dimension.store.d.ts +2 -1
- package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +6 -1
- package/hydrate/index.js +194 -116
- package/hydrate/index.mjs +194 -116
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +24 -10
- package/standalone/data.store.js.map +1 -1
- package/standalone/dimension.helpers.js +3 -6
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/index.js +1 -0
- package/standalone/index.js.map +1 -1
- package/standalone/revo-grid.js +134 -73
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +6 -1
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +2 -0
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +26 -8
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/dist/cjs/column.drag.plugin-fcd892ec.js.map +0 -1
- package/dist/cjs/column.service-26c61ed6.js.map +0 -1
- package/dist/cjs/index-3ab26ab9.js +0 -513
- package/dist/cjs/index-3ab26ab9.js.map +0 -1
- package/dist/cjs/row-header-utils-c37f76e4.js.map +0 -1
- package/dist/esm/column.drag.plugin-3cc77986.js.map +0 -1
- package/dist/esm/column.service-751345b2.js.map +0 -1
- package/dist/esm/index-1dcad6ef.js +0 -476
- package/dist/esm/index-1dcad6ef.js.map +0 -1
- package/dist/esm/row-header-utils-3dfbb81f.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-3cc77986.js +0 -5
- package/dist/revo-grid/column.drag.plugin-3cc77986.js.map +0 -1
- package/dist/revo-grid/column.service-751345b2.js +0 -5
- package/dist/revo-grid/column.service-751345b2.js.map +0 -1
- package/dist/revo-grid/index-1dcad6ef.js +0 -5
- package/dist/revo-grid/index-1dcad6ef.js.map +0 -1
- package/dist/revo-grid/key.utils-17273f42.js +0 -5
- package/dist/revo-grid/row-header-utils-3dfbb81f.js +0 -5
- package/dist/revo-grid/text-editor-901c3eb8.js +0 -5
- package/standalone/identity.js +0 -26
- package/standalone/identity.js.map +0 -1
- /package/dist/revo-grid/{debounce-72878ced.js.map → debounce-7b511afc.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-6fc686b9.js.map → edit.utils-abcd0152.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-32d2ed96.js.map → header-cell-renderer-fce020c3.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-901c3eb8.js.map → text-editor-fb3f24fe.js.map} +0 -0
- /package/dist/revo-grid/{throttle-138d69c3.js.map → throttle-1f5772ef.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -3295,29 +3295,6 @@ class FilterPanel {
|
|
|
3295
3295
|
}; }
|
|
3296
3296
|
}
|
|
3297
3297
|
|
|
3298
|
-
const MIN_COL_SIZE = 30;
|
|
3299
|
-
const RESIZE_INTERVAL = 40;
|
|
3300
|
-
const DATA_COL = 'data-rgCol';
|
|
3301
|
-
const DATA_ROW = 'data-rgRow';
|
|
3302
|
-
const DISABLED_CLASS = 'disabled';
|
|
3303
|
-
const CELL_CLASS = 'rgCell';
|
|
3304
|
-
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
3305
|
-
const HEADER_CLASS = 'rgHeaderCell';
|
|
3306
|
-
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
3307
|
-
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
3308
|
-
const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
|
|
3309
|
-
const DRAG_ICON_CLASS = 'revo-drag-icon';
|
|
3310
|
-
const DRAGGABLE_CLASS = 'revo-draggable';
|
|
3311
|
-
const FOCUS_CLASS = 'focused-cell';
|
|
3312
|
-
const SELECTION_BORDER_CLASS = 'selection-border-range';
|
|
3313
|
-
const MOBILE_CLASS = 'mobile-handler';
|
|
3314
|
-
const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
|
|
3315
|
-
const CELL_HANDLER_CLASS = 'autofill-handle';
|
|
3316
|
-
const EDIT_INPUT_WR = 'edit-input-wrapper';
|
|
3317
|
-
const DRAGG_TEXT = 'Draggable item';
|
|
3318
|
-
const GRID_INTERNALS = '__rvgr';
|
|
3319
|
-
const ROW_FOCUSED_CLASS = 'focused-rgRow';
|
|
3320
|
-
|
|
3321
3298
|
/**
|
|
3322
3299
|
* Proxy plugin for data source.
|
|
3323
3300
|
* This plugin is used to sort the data source.
|
|
@@ -6310,18 +6287,13 @@ const createStore = (defaultState, shouldUpdate) => {
|
|
|
6310
6287
|
const trimmedPlugin$1 = (store) => ({
|
|
6311
6288
|
set(k, newVal) {
|
|
6312
6289
|
switch (k) {
|
|
6313
|
-
case 'trimmed':
|
|
6290
|
+
case 'trimmed': {
|
|
6314
6291
|
const proxy = store.get('proxyItems');
|
|
6315
6292
|
const trimmed = gatherTrimmedItems(newVal);
|
|
6316
|
-
const newItems = proxy.
|
|
6317
|
-
// check if present in new trimmed remove from items (filter)
|
|
6318
|
-
if (!trimmed[v]) {
|
|
6319
|
-
result.push(v);
|
|
6320
|
-
}
|
|
6321
|
-
return result;
|
|
6322
|
-
}, []);
|
|
6293
|
+
const newItems = proxy.filter(v => !trimmed[v]);
|
|
6323
6294
|
store.set('items', newItems);
|
|
6324
6295
|
break;
|
|
6296
|
+
}
|
|
6325
6297
|
}
|
|
6326
6298
|
},
|
|
6327
6299
|
});
|
|
@@ -6797,10 +6769,8 @@ function calculateDimensionData(originItemSize, newSizes = {}) {
|
|
|
6797
6769
|
const positionIndexes = [];
|
|
6798
6770
|
const positionIndexToItem = {};
|
|
6799
6771
|
const indexToItem = {};
|
|
6800
|
-
// combine all new sizes
|
|
6801
|
-
const sizes = Object.assign({}, newSizes);
|
|
6802
6772
|
// prepare order sorted new sizes and calculate changed real size
|
|
6803
|
-
const newIndexes = Object.keys(
|
|
6773
|
+
const newIndexes = Object.keys(newSizes).map(Number).sort((a, b) => a - b);
|
|
6804
6774
|
// fill new coordinates based on what is changed
|
|
6805
6775
|
newIndexes.reduce((previous, itemIndex, i) => {
|
|
6806
6776
|
const newItem = {
|
|
@@ -6816,7 +6786,7 @@ function calculateDimensionData(originItemSize, newSizes = {}) {
|
|
|
6816
6786
|
else {
|
|
6817
6787
|
newItem.start = itemIndex * originItemSize;
|
|
6818
6788
|
}
|
|
6819
|
-
newItem.end = newItem.start +
|
|
6789
|
+
newItem.end = newItem.start + newSizes[itemIndex];
|
|
6820
6790
|
positionIndexes.push(newItem.start);
|
|
6821
6791
|
indexToItem[itemIndex] = positionIndexToItem[i] = newItem;
|
|
6822
6792
|
return newItem;
|
|
@@ -6826,7 +6796,6 @@ function calculateDimensionData(originItemSize, newSizes = {}) {
|
|
|
6826
6796
|
positionIndexes: [...positionIndexes],
|
|
6827
6797
|
positionIndexToItem: Object.assign({}, positionIndexToItem),
|
|
6828
6798
|
indexToItem,
|
|
6829
|
-
sizes,
|
|
6830
6799
|
};
|
|
6831
6800
|
}
|
|
6832
6801
|
/**
|
|
@@ -6887,37 +6856,6 @@ function getItemByIndex(dimension, index) {
|
|
|
6887
6856
|
return item;
|
|
6888
6857
|
}
|
|
6889
6858
|
|
|
6890
|
-
/**
|
|
6891
|
-
* Storing pre-calculated
|
|
6892
|
-
* Dimension information and sizes
|
|
6893
|
-
*/
|
|
6894
|
-
const trimmedPlugin = (store) => {
|
|
6895
|
-
let trimmedSize = {};
|
|
6896
|
-
const setTrimmed = (sizes, trimmed) => {
|
|
6897
|
-
const newSize = Object.assign({}, sizes);
|
|
6898
|
-
trimmedSize = {};
|
|
6899
|
-
for (const [index, v] of Object.entries(trimmed)) {
|
|
6900
|
-
const i = index;
|
|
6901
|
-
if (v && newSize[i]) {
|
|
6902
|
-
trimmedSize[i] = newSize[i];
|
|
6903
|
-
delete newSize[i];
|
|
6904
|
-
}
|
|
6905
|
-
}
|
|
6906
|
-
store.setDimensionSize(newSize);
|
|
6907
|
-
};
|
|
6908
|
-
return {
|
|
6909
|
-
set(key, val) {
|
|
6910
|
-
switch (key) {
|
|
6911
|
-
case 'trimmed':
|
|
6912
|
-
const trim = val;
|
|
6913
|
-
const sizes = store.store.get('sizes');
|
|
6914
|
-
// recover trimmed, apply new trim
|
|
6915
|
-
setTrimmed(Object.assign(Object.assign({}, sizes), trimmedSize), trim);
|
|
6916
|
-
break;
|
|
6917
|
-
}
|
|
6918
|
-
},
|
|
6919
|
-
};
|
|
6920
|
-
};
|
|
6921
6859
|
/**
|
|
6922
6860
|
* Plugin which recalculates realSize on changes of sizes, originItemSize and count
|
|
6923
6861
|
*/
|
|
@@ -6933,7 +6871,7 @@ const recalculateRealSizePlugin = (storeService) => {
|
|
|
6933
6871
|
switch (k) {
|
|
6934
6872
|
case 'count':
|
|
6935
6873
|
case 'sizes':
|
|
6936
|
-
case 'originItemSize':
|
|
6874
|
+
case 'originItemSize': {
|
|
6937
6875
|
// recalculate realSize
|
|
6938
6876
|
let realSize = 0;
|
|
6939
6877
|
const count = storeService.store.get('count');
|
|
@@ -6944,19 +6882,81 @@ const recalculateRealSizePlugin = (storeService) => {
|
|
|
6944
6882
|
}
|
|
6945
6883
|
storeService.setStore({ realSize });
|
|
6946
6884
|
break;
|
|
6885
|
+
}
|
|
6947
6886
|
}
|
|
6948
6887
|
},
|
|
6949
6888
|
};
|
|
6950
6889
|
};
|
|
6890
|
+
|
|
6891
|
+
/**
|
|
6892
|
+
* Plugin for trimming
|
|
6893
|
+
*
|
|
6894
|
+
* 1.a. Retrieves the previous sizes value. Saves the resulting trimmed data as a new sizes value.
|
|
6895
|
+
* 1.b. Stores a reference to the trimmed data to prevent further changes.
|
|
6896
|
+
* 2. Removes multiple and shifts the data based on the trimmed value.
|
|
6897
|
+
*/
|
|
6898
|
+
const trimmedPlugin = (storeService) => {
|
|
6899
|
+
let trimmingObject = null;
|
|
6900
|
+
let trimmedPreviousSizes = null;
|
|
6901
|
+
return {
|
|
6902
|
+
set(key, val) {
|
|
6903
|
+
switch (key) {
|
|
6904
|
+
case 'sizes': {
|
|
6905
|
+
// prevent changes after trimming
|
|
6906
|
+
if (trimmingObject && trimmingObject === val) {
|
|
6907
|
+
trimmingObject = null;
|
|
6908
|
+
return;
|
|
6909
|
+
}
|
|
6910
|
+
trimmedPreviousSizes = null;
|
|
6911
|
+
break;
|
|
6912
|
+
}
|
|
6913
|
+
case 'trimmed': {
|
|
6914
|
+
const trim = val;
|
|
6915
|
+
if (!trimmedPreviousSizes) {
|
|
6916
|
+
trimmedPreviousSizes = storeService.store.get('sizes');
|
|
6917
|
+
}
|
|
6918
|
+
trimmingObject = removeMultipleAndShift(trimmedPreviousSizes, trim || {});
|
|
6919
|
+
// save a reference to the trimmed object to prevent changes after trimming
|
|
6920
|
+
storeService.setSizes(trimmingObject);
|
|
6921
|
+
break;
|
|
6922
|
+
}
|
|
6923
|
+
}
|
|
6924
|
+
},
|
|
6925
|
+
};
|
|
6926
|
+
};
|
|
6927
|
+
function removeMultipleAndShift(items, toRemove) {
|
|
6928
|
+
const newItems = {};
|
|
6929
|
+
const sortedIndexes = Object.keys(items || {})
|
|
6930
|
+
.map(Number)
|
|
6931
|
+
.sort((a, b) => a - b);
|
|
6932
|
+
const lastIndex = sortedIndexes[sortedIndexes.length - 1];
|
|
6933
|
+
let shift = 0;
|
|
6934
|
+
for (let i = 0; i <= lastIndex; i++) {
|
|
6935
|
+
if (toRemove[i] !== undefined) {
|
|
6936
|
+
shift++;
|
|
6937
|
+
// skip already removed
|
|
6938
|
+
if (items[i] !== undefined) {
|
|
6939
|
+
continue;
|
|
6940
|
+
}
|
|
6941
|
+
}
|
|
6942
|
+
if (items[i] !== undefined) {
|
|
6943
|
+
newItems[i - shift] = items[i];
|
|
6944
|
+
}
|
|
6945
|
+
}
|
|
6946
|
+
return newItems;
|
|
6947
|
+
}
|
|
6948
|
+
|
|
6949
|
+
/**
|
|
6950
|
+
* Storing pre-calculated
|
|
6951
|
+
* Dimension information and sizes
|
|
6952
|
+
*/
|
|
6951
6953
|
function initialBase() {
|
|
6952
6954
|
return {
|
|
6953
6955
|
indexes: [],
|
|
6954
6956
|
count: 0,
|
|
6955
|
-
//
|
|
6956
|
-
trimmed:
|
|
6957
|
-
//
|
|
6958
|
-
// same as indexes but for sizes and positions
|
|
6959
|
-
// item index to size
|
|
6957
|
+
// hidden items
|
|
6958
|
+
trimmed: null,
|
|
6959
|
+
// virtual item index to size
|
|
6960
6960
|
sizes: {},
|
|
6961
6961
|
// order in indexes[] to coordinate
|
|
6962
6962
|
positionIndexToItem: {},
|
|
@@ -6976,8 +6976,14 @@ class DimensionStore {
|
|
|
6976
6976
|
constructor(type) {
|
|
6977
6977
|
this.type = type;
|
|
6978
6978
|
this.store = createStore(initialState$1());
|
|
6979
|
-
this.store.use(trimmedPlugin(
|
|
6980
|
-
|
|
6979
|
+
this.store.use(trimmedPlugin({
|
|
6980
|
+
store: this.store,
|
|
6981
|
+
setSizes: this.setDimensionSize.bind(this),
|
|
6982
|
+
}));
|
|
6983
|
+
this.store.use(recalculateRealSizePlugin({
|
|
6984
|
+
store: this.store,
|
|
6985
|
+
setStore: this.setStore.bind(this),
|
|
6986
|
+
}));
|
|
6981
6987
|
}
|
|
6982
6988
|
getCurrentState() {
|
|
6983
6989
|
const state = initialState$1();
|
|
@@ -7002,9 +7008,40 @@ class DimensionStore {
|
|
|
7002
7008
|
* Generates new indexes based on sizes
|
|
7003
7009
|
* @param sizes - sizes to set
|
|
7004
7010
|
*/
|
|
7005
|
-
setDimensionSize(sizes) {
|
|
7011
|
+
setDimensionSize(sizes = {}) {
|
|
7006
7012
|
const dimensionData = calculateDimensionData(this.store.get('originItemSize'), sizes);
|
|
7007
|
-
setStore(this.store, dimensionData);
|
|
7013
|
+
setStore(this.store, Object.assign(Object.assign({}, dimensionData), { sizes }));
|
|
7014
|
+
}
|
|
7015
|
+
updateSizesPositionByIndexes(newItemsOrder, prevItemsOrder = []) {
|
|
7016
|
+
// Move custom sizes to new order
|
|
7017
|
+
const customSizes = Object.assign({}, this.store.get('sizes'));
|
|
7018
|
+
if (!Object.keys(customSizes).length) {
|
|
7019
|
+
return;
|
|
7020
|
+
}
|
|
7021
|
+
// Step 1: Create a map of original indices, but allow duplicates by storing arrays of indices
|
|
7022
|
+
const originalIndices = {};
|
|
7023
|
+
prevItemsOrder.forEach((physIndex, virtIndex) => {
|
|
7024
|
+
if (!originalIndices[physIndex]) {
|
|
7025
|
+
originalIndices[physIndex] = [];
|
|
7026
|
+
}
|
|
7027
|
+
originalIndices[physIndex].push(virtIndex); // Store all indices for each value
|
|
7028
|
+
});
|
|
7029
|
+
// Step 2: Create new sizes based on new item order
|
|
7030
|
+
const newSizes = {};
|
|
7031
|
+
newItemsOrder.forEach((physIndex, virtIndex) => {
|
|
7032
|
+
const indices = originalIndices[physIndex]; // Get all original indices for this value
|
|
7033
|
+
if (indices && indices.length > 0) {
|
|
7034
|
+
const originalIndex = indices.shift(); // Get the first available original index
|
|
7035
|
+
if (originalIndex !== undefined && originalIndex !== virtIndex && customSizes[originalIndex]) {
|
|
7036
|
+
newSizes[virtIndex] = customSizes[originalIndex];
|
|
7037
|
+
delete customSizes[originalIndex];
|
|
7038
|
+
}
|
|
7039
|
+
}
|
|
7040
|
+
});
|
|
7041
|
+
// Step 3: Set new sizes if there are changes
|
|
7042
|
+
if (Object.keys(newSizes).length) {
|
|
7043
|
+
this.setDimensionSize(Object.assign(Object.assign({}, customSizes), newSizes));
|
|
7044
|
+
}
|
|
7008
7045
|
}
|
|
7009
7046
|
}
|
|
7010
7047
|
|
|
@@ -7839,6 +7876,29 @@ function isRowType(type) {
|
|
|
7839
7876
|
return rowTypes.indexOf(type) > -1;
|
|
7840
7877
|
}
|
|
7841
7878
|
|
|
7879
|
+
const MIN_COL_SIZE = 30;
|
|
7880
|
+
const RESIZE_INTERVAL = 40;
|
|
7881
|
+
const DATA_COL = 'data-rgCol';
|
|
7882
|
+
const DATA_ROW = 'data-rgRow';
|
|
7883
|
+
const DISABLED_CLASS = 'disabled';
|
|
7884
|
+
const CELL_CLASS = 'rgCell';
|
|
7885
|
+
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
7886
|
+
const HEADER_CLASS = 'rgHeaderCell';
|
|
7887
|
+
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
7888
|
+
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
7889
|
+
const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
|
|
7890
|
+
const DRAG_ICON_CLASS = 'revo-drag-icon';
|
|
7891
|
+
const DRAGGABLE_CLASS = 'revo-draggable';
|
|
7892
|
+
const FOCUS_CLASS = 'focused-cell';
|
|
7893
|
+
const SELECTION_BORDER_CLASS = 'selection-border-range';
|
|
7894
|
+
const MOBILE_CLASS = 'mobile-handler';
|
|
7895
|
+
const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
|
|
7896
|
+
const CELL_HANDLER_CLASS = 'autofill-handle';
|
|
7897
|
+
const EDIT_INPUT_WR = 'edit-input-wrapper';
|
|
7898
|
+
const DRAGG_TEXT = 'Draggable item';
|
|
7899
|
+
const GRID_INTERNALS = '__rvgr';
|
|
7900
|
+
const ROW_FOCUSED_CLASS = 'focused-rgRow';
|
|
7901
|
+
|
|
7842
7902
|
class RowOrderService {
|
|
7843
7903
|
constructor(config) {
|
|
7844
7904
|
this.config = config;
|
|
@@ -7949,6 +8009,7 @@ class OrderEditor {
|
|
|
7949
8009
|
pos,
|
|
7950
8010
|
event: e.originalEvent,
|
|
7951
8011
|
rowType: this.rowType,
|
|
8012
|
+
model: getSourceItem(this.dataStore, pos.itemIndex),
|
|
7952
8013
|
});
|
|
7953
8014
|
if (dragStartEvent.defaultPrevented) {
|
|
7954
8015
|
return;
|
|
@@ -10472,11 +10533,13 @@ class DimensionProvider {
|
|
|
10472
10533
|
* @param columns - new columns data
|
|
10473
10534
|
* @param disableVirtualX - disable virtual data for X axis
|
|
10474
10535
|
*/
|
|
10475
|
-
applyNewColumns(columns, disableVirtualX) {
|
|
10536
|
+
applyNewColumns(columns, disableVirtualX, keepOld = false) {
|
|
10476
10537
|
// Apply new columns to dimension provider
|
|
10477
10538
|
for (let type of columnTypes) {
|
|
10478
|
-
|
|
10479
|
-
|
|
10539
|
+
if (!keepOld) {
|
|
10540
|
+
// Clear existing data in the dimension provider
|
|
10541
|
+
this.stores[type].drop();
|
|
10542
|
+
}
|
|
10480
10543
|
// Get the new columns for the current type
|
|
10481
10544
|
const items = columns[type];
|
|
10482
10545
|
// Determine if virtual data should be disabled for the current type
|
|
@@ -10547,25 +10610,8 @@ class DimensionProvider {
|
|
|
10547
10610
|
}
|
|
10548
10611
|
updateSizesPositionByNewDataIndexes(type, newItemsOrder, prevItemsOrder = []) {
|
|
10549
10612
|
// Move custom sizes to new order
|
|
10550
|
-
|
|
10551
|
-
|
|
10552
|
-
if (Object.keys(customSizes).length) {
|
|
10553
|
-
const originalIndices = new Map();
|
|
10554
|
-
prevItemsOrder.forEach((value, index) => {
|
|
10555
|
-
originalIndices.set(value, index);
|
|
10556
|
-
});
|
|
10557
|
-
const newSizes = {};
|
|
10558
|
-
newItemsOrder.forEach((value, newIndex) => {
|
|
10559
|
-
const originalIndex = originalIndices.get(value);
|
|
10560
|
-
if (originalIndex !== newIndex && customSizes[originalIndex]) {
|
|
10561
|
-
newSizes[newIndex] = customSizes[originalIndex];
|
|
10562
|
-
delete customSizes[originalIndex];
|
|
10563
|
-
}
|
|
10564
|
-
});
|
|
10565
|
-
if (Object.keys(newSizes).length) {
|
|
10566
|
-
this.setCustomSizes(type, Object.assign(Object.assign({}, customSizes), newSizes));
|
|
10567
|
-
}
|
|
10568
|
-
}
|
|
10613
|
+
this.stores[type].updateSizesPositionByIndexes(newItemsOrder, prevItemsOrder);
|
|
10614
|
+
this.updateViewport(type, true);
|
|
10569
10615
|
}
|
|
10570
10616
|
}
|
|
10571
10617
|
|
|
@@ -11142,6 +11188,9 @@ class FilterPlugin extends BasePlugin {
|
|
|
11142
11188
|
}
|
|
11143
11189
|
});
|
|
11144
11190
|
}
|
|
11191
|
+
if (Object.keys(this.multiFilterItems).length === 0) {
|
|
11192
|
+
return;
|
|
11193
|
+
}
|
|
11145
11194
|
await this.runFiltering(this.multiFilterItems);
|
|
11146
11195
|
};
|
|
11147
11196
|
this.addEventListener('headerclick', (e) => this.headerclick(e));
|
|
@@ -11680,9 +11729,8 @@ class SortingPlugin extends BasePlugin {
|
|
|
11680
11729
|
if (beforeApplyEvent.defaultPrevented) {
|
|
11681
11730
|
return;
|
|
11682
11731
|
}
|
|
11683
|
-
|
|
11684
|
-
|
|
11685
|
-
if (additive && this.sorting) {
|
|
11732
|
+
const cmp = this.getComparer(beforeApplyEvent.detail.column, beforeApplyEvent.detail.order);
|
|
11733
|
+
if (beforeApplyEvent.detail.additive && this.sorting) {
|
|
11686
11734
|
const sorting = {};
|
|
11687
11735
|
const sortingFunc = {};
|
|
11688
11736
|
this.sorting = Object.assign(Object.assign({}, this.sorting), sorting);
|
|
@@ -11746,11 +11794,15 @@ class SortingPlugin extends BasePlugin {
|
|
|
11746
11794
|
// row indexes
|
|
11747
11795
|
const proxyItems = storeService.store.get('proxyItems');
|
|
11748
11796
|
const newItemsOrder = this.sortIndexByItems([...proxyItems], source, sortingFunc);
|
|
11749
|
-
|
|
11797
|
+
// take row indexes before trim applied and proxy items
|
|
11798
|
+
const prevItems = storeService.store.get('items');
|
|
11750
11799
|
storeService.setData({
|
|
11751
11800
|
proxyItems: newItemsOrder,
|
|
11752
11801
|
source: [...source],
|
|
11753
11802
|
});
|
|
11803
|
+
// take currently visible row indexes
|
|
11804
|
+
const newItems = storeService.store.get('items');
|
|
11805
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItems, prevItems);
|
|
11754
11806
|
}
|
|
11755
11807
|
}
|
|
11756
11808
|
this.emit('aftersortingapply');
|
|
@@ -14124,7 +14176,7 @@ class RevoGridComponent {
|
|
|
14124
14176
|
// Column format change will trigger column structure update
|
|
14125
14177
|
this.columnChanged(this.columns);
|
|
14126
14178
|
}
|
|
14127
|
-
columnChanged(newVal = []) {
|
|
14179
|
+
columnChanged(newVal = [], _prevVal = undefined, __watchName = 'columns', init = false) {
|
|
14128
14180
|
if (!this.dimensionProvider || !this.columnProvider) {
|
|
14129
14181
|
return;
|
|
14130
14182
|
}
|
|
@@ -14133,7 +14185,7 @@ class RevoGridComponent {
|
|
|
14133
14185
|
if (beforeSetEvent.defaultPrevented) {
|
|
14134
14186
|
return;
|
|
14135
14187
|
}
|
|
14136
|
-
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX);
|
|
14188
|
+
this.dimensionProvider.applyNewColumns(beforeSetEvent.detail.columns, this.disableVirtualX, init);
|
|
14137
14189
|
const beforeApplyEvent = this.beforecolumnapplied.emit(columnGather);
|
|
14138
14190
|
if (beforeApplyEvent.defaultPrevented) {
|
|
14139
14191
|
return;
|
|
@@ -14422,7 +14474,7 @@ class RevoGridComponent {
|
|
|
14422
14474
|
// set data
|
|
14423
14475
|
this.applyStretch(this.stretch);
|
|
14424
14476
|
this.themeChanged(this.theme, undefined, undefined, true);
|
|
14425
|
-
this.columnChanged(this.columns);
|
|
14477
|
+
this.columnChanged(this.columns, undefined, undefined, true);
|
|
14426
14478
|
this.dataSourceChanged(this.source, undefined, 'source');
|
|
14427
14479
|
this.dataSourceChanged(this.pinnedTopSource, undefined, 'pinnedTopSource');
|
|
14428
14480
|
this.dataSourceChanged(this.pinnedBottomSource, undefined, 'pinnedBottomSource');
|
|
@@ -14430,7 +14482,10 @@ class RevoGridComponent {
|
|
|
14430
14482
|
this.trimmedRowsChanged(this.trimmedRows);
|
|
14431
14483
|
}
|
|
14432
14484
|
this.rowDefChanged(this.rowDefinitions);
|
|
14433
|
-
|
|
14485
|
+
// init grouping
|
|
14486
|
+
if (this.grouping && Object.keys(this.grouping).length > 0) {
|
|
14487
|
+
this.groupingChanged(this.grouping);
|
|
14488
|
+
}
|
|
14434
14489
|
// init scrolling service
|
|
14435
14490
|
this.scrollingService = new GridScrollingService((e) => {
|
|
14436
14491
|
var _a;
|
|
@@ -14803,6 +14858,7 @@ class RevogrData {
|
|
|
14803
14858
|
this.beforerowrender = createEvent(this, "beforerowrender", 7);
|
|
14804
14859
|
this.afterrender = createEvent(this, "afterrender", 7);
|
|
14805
14860
|
this.beforeCellRender = createEvent(this, "beforecellrender", 7);
|
|
14861
|
+
this.beforeDataRender = createEvent(this, "beforedatarender", 7);
|
|
14806
14862
|
this.dragStartCell = createEvent(this, "dragstartcell", 7);
|
|
14807
14863
|
/**
|
|
14808
14864
|
* Rendered rows - virtual index vs vnode
|
|
@@ -14868,7 +14924,11 @@ class RevogrData {
|
|
|
14868
14924
|
(_b = this.rangeUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
14869
14925
|
}
|
|
14870
14926
|
async componentWillRender() {
|
|
14871
|
-
|
|
14927
|
+
this.beforeDataRender.emit({
|
|
14928
|
+
rowType: this.type,
|
|
14929
|
+
colType: this.colType,
|
|
14930
|
+
});
|
|
14931
|
+
return Promise.all(this.jobsBeforeRender.map(p => typeof p === 'function' ? p() : p));
|
|
14872
14932
|
}
|
|
14873
14933
|
componentDidRender() {
|
|
14874
14934
|
this.afterrender.emit({ type: this.type });
|
|
@@ -16211,7 +16271,8 @@ class RevogrViewportScroll {
|
|
|
16211
16271
|
this.scrollchange.emit({ type, hasScroll });
|
|
16212
16272
|
}
|
|
16213
16273
|
disconnectedCallback() {
|
|
16214
|
-
|
|
16274
|
+
var _a;
|
|
16275
|
+
(_a = this.resizeService) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
16215
16276
|
}
|
|
16216
16277
|
async componentDidRender() {
|
|
16217
16278
|
var _a, _b, _c, _d;
|
|
@@ -16239,7 +16300,7 @@ class RevogrViewportScroll {
|
|
|
16239
16300
|
this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
|
|
16240
16301
|
}
|
|
16241
16302
|
render() {
|
|
16242
|
-
return (hAsync(Host, { key: '
|
|
16303
|
+
return (hAsync(Host, { key: '2bd41b077bb8baff6405cf6d071b48f22928879c', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, hAsync("div", { key: '84367a3fc244706e2d027f8c9e59ea3a6f8fc984', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, hAsync("div", { key: 'cbb8a1fa15139f07f9061f81e79218d00c14b8e6', class: "header-wrapper", ref: e => (this.header = e) }, hAsync("slot", { key: '521618b45cf787bcc160532d01e9e1fcdd06823b', name: HEADER_SLOT })), hAsync("div", { key: '2b381270fe97e949fb876603be364cc647ebc2d5', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, hAsync("div", { key: 'a0a13d79b5d329132421571fdf2ab7b2e36e440e', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, hAsync("slot", { key: '10279a0876aa194959da09309f914e6ce39b94fd', name: CONTENT_SLOT }))), hAsync("div", { key: '619446ea77a713a8e157ff0f1a9afd0e5dfa356f', class: "footer-wrapper", ref: e => (this.footer = e) }, hAsync("slot", { key: '43966ad2fde89f09c606173abf837672d8d4f822', name: FOOTER_SLOT })))));
|
|
16243
16304
|
}
|
|
16244
16305
|
/**
|
|
16245
16306
|
* Extra layer for scroll event monitoring, where MouseWheel event is not passing
|
|
@@ -16282,11 +16343,18 @@ class RevogrViewportScroll {
|
|
|
16282
16343
|
* @param e
|
|
16283
16344
|
*/
|
|
16284
16345
|
onVerticalMouseWheel(type, delta, e) {
|
|
16285
|
-
var _a, _b, _c, _d;
|
|
16286
|
-
(_a =
|
|
16287
|
-
const
|
|
16346
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
16347
|
+
const scrollTop = (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.scrollTop) !== null && _b !== void 0 ? _b : 0;
|
|
16348
|
+
const clientHeight = (_d = (_c = this.verticalScroll) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0;
|
|
16349
|
+
const scrollHeight = (_f = (_e = this.verticalScroll) === null || _e === void 0 ? void 0 : _e.scrollHeight) !== null && _f !== void 0 ? _f : 0;
|
|
16350
|
+
// Detect if the user has reached the bottom
|
|
16351
|
+
const atBottom = (scrollTop + clientHeight >= scrollHeight) && e.deltaY > 0;
|
|
16352
|
+
const atTop = scrollTop === 0 && e.deltaY < 0;
|
|
16353
|
+
if (!atBottom && !atTop) {
|
|
16354
|
+
(_g = e.preventDefault) === null || _g === void 0 ? void 0 : _g.call(e);
|
|
16355
|
+
}
|
|
16288
16356
|
const pos = scrollTop + e[delta];
|
|
16289
|
-
(
|
|
16357
|
+
(_h = this.localScrollService) === null || _h === void 0 ? void 0 : _h.scroll(pos, type, undefined, e[delta]);
|
|
16290
16358
|
this.localScrollTimer.latestScrollUpdate(type);
|
|
16291
16359
|
}
|
|
16292
16360
|
/**
|
|
@@ -16297,8 +16365,18 @@ class RevogrViewportScroll {
|
|
|
16297
16365
|
*/
|
|
16298
16366
|
onHorizontalMouseWheel(type, delta, e) {
|
|
16299
16367
|
var _a, _b;
|
|
16300
|
-
(
|
|
16301
|
-
|
|
16368
|
+
if (!e.deltaX) {
|
|
16369
|
+
return;
|
|
16370
|
+
}
|
|
16371
|
+
const { scrollLeft, scrollWidth, clientWidth } = this.horizontalScroll;
|
|
16372
|
+
// Detect if the user has reached the right end
|
|
16373
|
+
const atRight = (scrollLeft + clientWidth >= scrollWidth) && e.deltaX > 0;
|
|
16374
|
+
// Detect if the user has reached the left end
|
|
16375
|
+
const atLeft = scrollLeft === 0 && e.deltaX < 0;
|
|
16376
|
+
if (!atRight && !atLeft) {
|
|
16377
|
+
(_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
|
|
16378
|
+
}
|
|
16379
|
+
const pos = scrollLeft + e[delta];
|
|
16302
16380
|
(_b = this.localScrollService) === null || _b === void 0 ? void 0 : _b.scroll(pos, type, undefined, e[delta]);
|
|
16303
16381
|
this.localScrollTimer.latestScrollUpdate(type);
|
|
16304
16382
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { y as keys, q as isArrayLike, x as baseIteratee, l as isArray, j as createStore, i as setStore, n as isIterateeCall, m as toInteger, a as getVisibleSourceItem, b as getSourceItem } from './data.store.js';
|
|
5
5
|
import '@stencil/core/internal/client';
|
|
6
6
|
import { G as GRID_INTERNALS, C as CELL_CLASS, b as DISABLED_CLASS } from './consts.js';
|
|
7
7
|
import './platform.js';
|
package/standalone/data.store.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { a as isObject, b as baseGetTag, r as root, S as Symbol, i as isObjectLike, f as freeGlobal, c as isSymbol, t as toNumber } from './toNumber.js';
|
|
5
|
-
import { i as identity } from './identity.js';
|
|
6
5
|
import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -2460,6 +2459,26 @@ function baseMatchesProperty(path, srcValue) {
|
|
|
2460
2459
|
};
|
|
2461
2460
|
}
|
|
2462
2461
|
|
|
2462
|
+
/**
|
|
2463
|
+
* This method returns the first argument it receives.
|
|
2464
|
+
*
|
|
2465
|
+
* @static
|
|
2466
|
+
* @since 0.1.0
|
|
2467
|
+
* @memberOf _
|
|
2468
|
+
* @category Util
|
|
2469
|
+
* @param {*} value Any value.
|
|
2470
|
+
* @returns {*} Returns `value`.
|
|
2471
|
+
* @example
|
|
2472
|
+
*
|
|
2473
|
+
* var object = { 'a': 1 };
|
|
2474
|
+
*
|
|
2475
|
+
* console.log(_.identity(object) === object);
|
|
2476
|
+
* // => true
|
|
2477
|
+
*/
|
|
2478
|
+
function identity(value) {
|
|
2479
|
+
return value;
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2463
2482
|
/**
|
|
2464
2483
|
* The base implementation of `_.property` without support for deep paths.
|
|
2465
2484
|
*
|
|
@@ -2977,18 +2996,13 @@ const createStore = (defaultState, shouldUpdate) => {
|
|
|
2977
2996
|
const trimmedPlugin = (store) => ({
|
|
2978
2997
|
set(k, newVal) {
|
|
2979
2998
|
switch (k) {
|
|
2980
|
-
case 'trimmed':
|
|
2999
|
+
case 'trimmed': {
|
|
2981
3000
|
const proxy = store.get('proxyItems');
|
|
2982
3001
|
const trimmed = gatherTrimmedItems(newVal);
|
|
2983
|
-
const newItems = proxy.
|
|
2984
|
-
// check if present in new trimmed remove from items (filter)
|
|
2985
|
-
if (!trimmed[v]) {
|
|
2986
|
-
result.push(v);
|
|
2987
|
-
}
|
|
2988
|
-
return result;
|
|
2989
|
-
}, []);
|
|
3002
|
+
const newItems = proxy.filter(v => !trimmed[v]);
|
|
2990
3003
|
store.set('items', newItems);
|
|
2991
3004
|
break;
|
|
3005
|
+
}
|
|
2992
3006
|
}
|
|
2993
3007
|
},
|
|
2994
3008
|
});
|
|
@@ -3150,6 +3164,6 @@ function getSourceItemVirtualIndexByProp(store, prop) {
|
|
|
3150
3164
|
return items.indexOf(physicalIndex);
|
|
3151
3165
|
}
|
|
3152
3166
|
|
|
3153
|
-
export { DataStore as D, getVisibleSourceItem as a, getSourceItem as b, getSourcePhysicalIndex as c, setSourceByPhysicalIndex as d, setItems as e, getSourceItemVirtualIndexByProp as f, getPhysical as g, gatherTrimmedItems as h, setStore as i, createStore as j,
|
|
3167
|
+
export { DataStore as D, getVisibleSourceItem as a, getSourceItem as b, getSourcePhysicalIndex as c, setSourceByPhysicalIndex as d, setItems as e, getSourceItemVirtualIndexByProp as f, getPhysical as g, gatherTrimmedItems as h, setStore as i, createStore as j, identity as k, isArray$1 as l, toInteger as m, isIterateeCall as n, baseProperty as o, proxyPlugin as p, isArrayLike as q, getTag$1 as r, setSourceByVirtualIndex as s, trimmedPlugin as t, baseKeys as u, findIndex as v, getNative as w, baseIteratee as x, keys as y };
|
|
3154
3168
|
|
|
3155
3169
|
//# sourceMappingURL=data.store.js.map
|