@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
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
const debounce = require('./debounce-ec7a04b4.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* This method returns the first argument it receives.
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @since 0.1.0
|
|
13
|
+
* @memberOf _
|
|
14
|
+
* @category Util
|
|
15
|
+
* @param {*} value Any value.
|
|
16
|
+
* @returns {*} Returns `value`.
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* var object = { 'a': 1 };
|
|
20
|
+
*
|
|
21
|
+
* console.log(_.identity(object) === object);
|
|
22
|
+
* // => true
|
|
23
|
+
*/
|
|
24
|
+
function identity(value) {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Used as references for the maximum length and index of an array. */
|
|
29
|
+
var MAX_ARRAY_LENGTH$1 = 4294967295,
|
|
30
|
+
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH$1 - 1;
|
|
31
|
+
|
|
32
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
33
|
+
var nativeFloor = Math.floor,
|
|
34
|
+
nativeMin = Math.min;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
|
|
38
|
+
* which invokes `iteratee` for `value` and each element of `array` to compute
|
|
39
|
+
* their sort ranking. The iteratee is invoked with one argument; (value).
|
|
40
|
+
*
|
|
41
|
+
* @private
|
|
42
|
+
* @param {Array} array The sorted array to inspect.
|
|
43
|
+
* @param {*} value The value to evaluate.
|
|
44
|
+
* @param {Function} iteratee The iteratee invoked per element.
|
|
45
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
46
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
47
|
+
* into `array`.
|
|
48
|
+
*/
|
|
49
|
+
function baseSortedIndexBy(array, value, iteratee, retHighest) {
|
|
50
|
+
var low = 0,
|
|
51
|
+
high = array == null ? 0 : array.length;
|
|
52
|
+
if (high === 0) {
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
value = iteratee(value);
|
|
57
|
+
var valIsNaN = value !== value,
|
|
58
|
+
valIsNull = value === null,
|
|
59
|
+
valIsSymbol = debounce.isSymbol(value),
|
|
60
|
+
valIsUndefined = value === undefined;
|
|
61
|
+
|
|
62
|
+
while (low < high) {
|
|
63
|
+
var mid = nativeFloor((low + high) / 2),
|
|
64
|
+
computed = iteratee(array[mid]),
|
|
65
|
+
othIsDefined = computed !== undefined,
|
|
66
|
+
othIsNull = computed === null,
|
|
67
|
+
othIsReflexive = computed === computed,
|
|
68
|
+
othIsSymbol = debounce.isSymbol(computed);
|
|
69
|
+
|
|
70
|
+
if (valIsNaN) {
|
|
71
|
+
var setLow = retHighest || othIsReflexive;
|
|
72
|
+
} else if (valIsUndefined) {
|
|
73
|
+
setLow = othIsReflexive && (retHighest || othIsDefined);
|
|
74
|
+
} else if (valIsNull) {
|
|
75
|
+
setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
|
|
76
|
+
} else if (valIsSymbol) {
|
|
77
|
+
setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
|
|
78
|
+
} else if (othIsNull || othIsSymbol) {
|
|
79
|
+
setLow = false;
|
|
80
|
+
} else {
|
|
81
|
+
setLow = retHighest ? (computed <= value) : (computed < value);
|
|
82
|
+
}
|
|
83
|
+
if (setLow) {
|
|
84
|
+
low = mid + 1;
|
|
85
|
+
} else {
|
|
86
|
+
high = mid;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return nativeMin(high, MAX_ARRAY_INDEX);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Used as references for the maximum length and index of an array. */
|
|
93
|
+
var MAX_ARRAY_LENGTH = 4294967295,
|
|
94
|
+
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
|
|
98
|
+
* performs a binary search of `array` to determine the index at which `value`
|
|
99
|
+
* should be inserted into `array` in order to maintain its sort order.
|
|
100
|
+
*
|
|
101
|
+
* @private
|
|
102
|
+
* @param {Array} array The sorted array to inspect.
|
|
103
|
+
* @param {*} value The value to evaluate.
|
|
104
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
105
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
106
|
+
* into `array`.
|
|
107
|
+
*/
|
|
108
|
+
function baseSortedIndex(array, value, retHighest) {
|
|
109
|
+
var low = 0,
|
|
110
|
+
high = array == null ? low : array.length;
|
|
111
|
+
|
|
112
|
+
if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
|
|
113
|
+
while (low < high) {
|
|
114
|
+
var mid = (low + high) >>> 1,
|
|
115
|
+
computed = array[mid];
|
|
116
|
+
|
|
117
|
+
if (computed !== null && !debounce.isSymbol(computed) &&
|
|
118
|
+
(retHighest ? (computed <= value) : (computed < value))) {
|
|
119
|
+
low = mid + 1;
|
|
120
|
+
} else {
|
|
121
|
+
high = mid;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return high;
|
|
125
|
+
}
|
|
126
|
+
return baseSortedIndexBy(array, value, identity, retHighest);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Uses a binary search to determine the lowest index at which `value`
|
|
131
|
+
* should be inserted into `array` in order to maintain its sort order.
|
|
132
|
+
*
|
|
133
|
+
* @static
|
|
134
|
+
* @memberOf _
|
|
135
|
+
* @since 0.1.0
|
|
136
|
+
* @category Array
|
|
137
|
+
* @param {Array} array The sorted array to inspect.
|
|
138
|
+
* @param {*} value The value to evaluate.
|
|
139
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
140
|
+
* into `array`.
|
|
141
|
+
* @example
|
|
142
|
+
*
|
|
143
|
+
* _.sortedIndex([30, 50], 40);
|
|
144
|
+
* // => 1
|
|
145
|
+
*/
|
|
146
|
+
function sortedIndex(array, value) {
|
|
147
|
+
return baseSortedIndex(array, value);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Pre-calculation
|
|
152
|
+
* Dimension custom sizes for each cell
|
|
153
|
+
* Keeps only changed sizes, skips origin size
|
|
154
|
+
*/
|
|
155
|
+
function calculateDimensionData(originItemSize, newSizes = {}) {
|
|
156
|
+
const positionIndexes = [];
|
|
157
|
+
const positionIndexToItem = {};
|
|
158
|
+
const indexToItem = {};
|
|
159
|
+
// combine all new sizes
|
|
160
|
+
const sizes = Object.assign({}, newSizes);
|
|
161
|
+
// prepare order sorted new sizes and calculate changed real size
|
|
162
|
+
const newIndexes = Object.keys(sizes).map(Number).sort((a, b) => a - b);
|
|
163
|
+
// fill new coordinates based on what is changed
|
|
164
|
+
newIndexes.reduce((previous, itemIndex, i) => {
|
|
165
|
+
const newItem = {
|
|
166
|
+
itemIndex,
|
|
167
|
+
start: 0,
|
|
168
|
+
end: 0,
|
|
169
|
+
};
|
|
170
|
+
// if previous item was changed too
|
|
171
|
+
if (previous) {
|
|
172
|
+
const itemsBetween = (itemIndex - previous.itemIndex - 1) * originItemSize;
|
|
173
|
+
newItem.start = itemsBetween + previous.end;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
newItem.start = itemIndex * originItemSize;
|
|
177
|
+
}
|
|
178
|
+
newItem.end = newItem.start + sizes[itemIndex];
|
|
179
|
+
positionIndexes.push(newItem.start);
|
|
180
|
+
indexToItem[itemIndex] = positionIndexToItem[i] = newItem;
|
|
181
|
+
return newItem;
|
|
182
|
+
}, undefined);
|
|
183
|
+
return {
|
|
184
|
+
indexes: newIndexes,
|
|
185
|
+
positionIndexes: [...positionIndexes],
|
|
186
|
+
positionIndexToItem: Object.assign({}, positionIndexToItem),
|
|
187
|
+
indexToItem,
|
|
188
|
+
sizes,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Calculate item by position
|
|
193
|
+
*/
|
|
194
|
+
const getItemByPosition = ({ indexes, positionIndexes, originItemSize, positionIndexToItem, }, pos) => {
|
|
195
|
+
const item = {
|
|
196
|
+
itemIndex: 0,
|
|
197
|
+
start: 0,
|
|
198
|
+
end: 0,
|
|
199
|
+
};
|
|
200
|
+
const currentPlace = indexes.length ? sortedIndex(positionIndexes, pos) : 0;
|
|
201
|
+
// not found or first index
|
|
202
|
+
if (!currentPlace) {
|
|
203
|
+
item.itemIndex = Math.floor(pos / originItemSize);
|
|
204
|
+
item.start = item.itemIndex * originItemSize;
|
|
205
|
+
item.end = item.start + originItemSize;
|
|
206
|
+
return item;
|
|
207
|
+
}
|
|
208
|
+
const positionItem = positionIndexToItem[currentPlace - 1];
|
|
209
|
+
// if item has specified size
|
|
210
|
+
if (positionItem.end > pos) {
|
|
211
|
+
return positionItem;
|
|
212
|
+
}
|
|
213
|
+
// special size item was present before
|
|
214
|
+
const relativePos = pos - positionItem.end;
|
|
215
|
+
const relativeIndex = Math.floor(relativePos / originItemSize);
|
|
216
|
+
item.itemIndex = positionItem.itemIndex + 1 + relativeIndex;
|
|
217
|
+
item.start = positionItem.end + relativeIndex * originItemSize;
|
|
218
|
+
item.end = item.start + originItemSize;
|
|
219
|
+
return item;
|
|
220
|
+
};
|
|
221
|
+
function getItemByIndex(dimension, index) {
|
|
222
|
+
let item = {
|
|
223
|
+
itemIndex: index,
|
|
224
|
+
start: 0,
|
|
225
|
+
end: 0,
|
|
226
|
+
};
|
|
227
|
+
// if item has specified size
|
|
228
|
+
if (dimension.indexToItem[index]) {
|
|
229
|
+
return dimension.indexToItem[index];
|
|
230
|
+
}
|
|
231
|
+
const currentPlace = dimension.indexes.length
|
|
232
|
+
? sortedIndex(dimension.indexes, index)
|
|
233
|
+
: 0;
|
|
234
|
+
// not found or first index
|
|
235
|
+
if (!currentPlace) {
|
|
236
|
+
item.start = item.itemIndex * dimension.originItemSize;
|
|
237
|
+
item.end = item.start + dimension.originItemSize;
|
|
238
|
+
return item;
|
|
239
|
+
}
|
|
240
|
+
// special size item was present before
|
|
241
|
+
const positionItem = dimension.indexToItem[dimension.indexes[currentPlace - 1]];
|
|
242
|
+
item.start =
|
|
243
|
+
positionItem.end +
|
|
244
|
+
(index - positionItem.itemIndex - 1) * dimension.originItemSize;
|
|
245
|
+
item.end = item.start + dimension.originItemSize;
|
|
246
|
+
return item;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
const MIN_COL_SIZE = 30;
|
|
250
|
+
const RESIZE_INTERVAL = 40;
|
|
251
|
+
const DATA_COL = 'data-rgCol';
|
|
252
|
+
const DATA_ROW = 'data-rgRow';
|
|
253
|
+
const DISABLED_CLASS = 'disabled';
|
|
254
|
+
const CELL_CLASS = 'rgCell';
|
|
255
|
+
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
256
|
+
const HEADER_CLASS = 'rgHeaderCell';
|
|
257
|
+
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
258
|
+
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
259
|
+
const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';
|
|
260
|
+
const DRAG_ICON_CLASS = 'revo-drag-icon';
|
|
261
|
+
const DRAGGABLE_CLASS = 'revo-draggable';
|
|
262
|
+
const FOCUS_CLASS = 'focused-cell';
|
|
263
|
+
const SELECTION_BORDER_CLASS = 'selection-border-range';
|
|
264
|
+
const MOBILE_CLASS = 'mobile-handler';
|
|
265
|
+
const TMP_SELECTION_BG_CLASS = 'temp-bg-range';
|
|
266
|
+
const CELL_HANDLER_CLASS = 'autofill-handle';
|
|
267
|
+
const EDIT_INPUT_WR = 'edit-input-wrapper';
|
|
268
|
+
const DRAGG_TEXT = 'Draggable item';
|
|
269
|
+
const GRID_INTERNALS = '__rvgr';
|
|
270
|
+
const ROW_FOCUSED_CLASS = 'focused-rgRow';
|
|
271
|
+
|
|
272
|
+
var codes;
|
|
273
|
+
(function (codes) {
|
|
274
|
+
codes[codes["MOUSE_LEFT"] = 1] = "MOUSE_LEFT";
|
|
275
|
+
codes[codes["MOUSE_RIGHT"] = 3] = "MOUSE_RIGHT";
|
|
276
|
+
codes[codes["MOUSE_MIDDLE"] = 2] = "MOUSE_MIDDLE";
|
|
277
|
+
codes[codes["BACKSPACE"] = 8] = "BACKSPACE";
|
|
278
|
+
codes[codes["COMMA"] = 188] = "COMMA";
|
|
279
|
+
codes[codes["INSERT"] = 45] = "INSERT";
|
|
280
|
+
codes[codes["DELETE"] = 46] = "DELETE";
|
|
281
|
+
codes[codes["END"] = 35] = "END";
|
|
282
|
+
codes[codes["ENTER"] = 13] = "ENTER";
|
|
283
|
+
codes[codes["ESCAPE"] = 27] = "ESCAPE";
|
|
284
|
+
codes[codes["CONTROL"] = 17] = "CONTROL";
|
|
285
|
+
codes[codes["COMMAND_LEFT"] = 91] = "COMMAND_LEFT";
|
|
286
|
+
codes[codes["COMMAND_RIGHT"] = 93] = "COMMAND_RIGHT";
|
|
287
|
+
codes[codes["COMMAND_FIREFOX"] = 224] = "COMMAND_FIREFOX";
|
|
288
|
+
codes[codes["ALT"] = 18] = "ALT";
|
|
289
|
+
codes[codes["HOME"] = 36] = "HOME";
|
|
290
|
+
codes[codes["PAGE_DOWN"] = 34] = "PAGE_DOWN";
|
|
291
|
+
codes[codes["PAGE_UP"] = 33] = "PAGE_UP";
|
|
292
|
+
codes[codes["PERIOD"] = 190] = "PERIOD";
|
|
293
|
+
codes[codes["SPACE"] = 32] = "SPACE";
|
|
294
|
+
codes[codes["SHIFT"] = 16] = "SHIFT";
|
|
295
|
+
codes[codes["CAPS_LOCK"] = 20] = "CAPS_LOCK";
|
|
296
|
+
codes[codes["TAB"] = 9] = "TAB";
|
|
297
|
+
codes[codes["ARROW_RIGHT"] = 39] = "ARROW_RIGHT";
|
|
298
|
+
codes[codes["ARROW_LEFT"] = 37] = "ARROW_LEFT";
|
|
299
|
+
codes[codes["ARROW_UP"] = 38] = "ARROW_UP";
|
|
300
|
+
codes[codes["ARROW_DOWN"] = 40] = "ARROW_DOWN";
|
|
301
|
+
codes[codes["F1"] = 112] = "F1";
|
|
302
|
+
codes[codes["F2"] = 113] = "F2";
|
|
303
|
+
codes[codes["F3"] = 114] = "F3";
|
|
304
|
+
codes[codes["F4"] = 115] = "F4";
|
|
305
|
+
codes[codes["F5"] = 116] = "F5";
|
|
306
|
+
codes[codes["F6"] = 117] = "F6";
|
|
307
|
+
codes[codes["F7"] = 118] = "F7";
|
|
308
|
+
codes[codes["F8"] = 119] = "F8";
|
|
309
|
+
codes[codes["F9"] = 120] = "F9";
|
|
310
|
+
codes[codes["F10"] = 121] = "F10";
|
|
311
|
+
codes[codes["F11"] = 122] = "F11";
|
|
312
|
+
codes[codes["F12"] = 123] = "F12";
|
|
313
|
+
codes[codes["A"] = 65] = "A";
|
|
314
|
+
codes[codes["C"] = 67] = "C";
|
|
315
|
+
codes[codes["D"] = 68] = "D";
|
|
316
|
+
codes[codes["F"] = 70] = "F";
|
|
317
|
+
codes[codes["L"] = 76] = "L";
|
|
318
|
+
codes[codes["O"] = 79] = "O";
|
|
319
|
+
codes[codes["P"] = 80] = "P";
|
|
320
|
+
codes[codes["S"] = 83] = "S";
|
|
321
|
+
codes[codes["V"] = 86] = "V";
|
|
322
|
+
codes[codes["X"] = 88] = "X";
|
|
323
|
+
})(codes || (codes = {}));
|
|
324
|
+
exports.codesLetter = void 0;
|
|
325
|
+
(function (codesLetter) {
|
|
326
|
+
codesLetter["ENTER"] = "Enter";
|
|
327
|
+
codesLetter["ENTER_NUM"] = "NumpadEnter";
|
|
328
|
+
codesLetter["A"] = "KeyA";
|
|
329
|
+
codesLetter["C"] = "KeyC";
|
|
330
|
+
codesLetter["X"] = "KeyX";
|
|
331
|
+
codesLetter["V"] = "KeyV";
|
|
332
|
+
codesLetter["ESCAPE"] = "Escape";
|
|
333
|
+
codesLetter["TAB"] = "Tab";
|
|
334
|
+
codesLetter["BACKSPACE"] = "Backspace";
|
|
335
|
+
codesLetter["DELETE"] = "Delete";
|
|
336
|
+
codesLetter["ARROW_RIGHT"] = "ArrowRight";
|
|
337
|
+
codesLetter["ARROW_LEFT"] = "ArrowLeft";
|
|
338
|
+
codesLetter["ARROW_UP"] = "ArrowUp";
|
|
339
|
+
codesLetter["ARROW_DOWN"] = "ArrowDown";
|
|
340
|
+
codesLetter["SHIFT"] = "Shift";
|
|
341
|
+
})(exports.codesLetter || (exports.codesLetter = {}));
|
|
342
|
+
exports.keyValues = void 0;
|
|
343
|
+
(function (keyValues) {
|
|
344
|
+
keyValues["ENTER"] = "Enter";
|
|
345
|
+
keyValues["TAB"] = "Tab";
|
|
346
|
+
})(exports.keyValues || (exports.keyValues = {}));
|
|
347
|
+
const KeyCodesEnum = codes;
|
|
348
|
+
|
|
349
|
+
var osPlatform;
|
|
350
|
+
(function (osPlatform) {
|
|
351
|
+
osPlatform["mac"] = "Mac";
|
|
352
|
+
})(osPlatform || (osPlatform = {}));
|
|
353
|
+
const OsPlatform = osPlatform;
|
|
354
|
+
|
|
355
|
+
/* Generate range on size
|
|
356
|
+
*/
|
|
357
|
+
function range(size, startAt = 0) {
|
|
358
|
+
const res = [];
|
|
359
|
+
const end = startAt + size;
|
|
360
|
+
for (let i = startAt; i < end; i++) {
|
|
361
|
+
res.push(i);
|
|
362
|
+
}
|
|
363
|
+
return res;
|
|
364
|
+
}
|
|
365
|
+
/* Find index position in array */
|
|
366
|
+
function findPositionInArray(el, compareFn) {
|
|
367
|
+
return (function (arr) {
|
|
368
|
+
let m = 0;
|
|
369
|
+
let n = arr.length - 1;
|
|
370
|
+
while (m <= n) {
|
|
371
|
+
const k = (n + m) >> 1;
|
|
372
|
+
const cmp = compareFn(el, arr[k]);
|
|
373
|
+
if (cmp > 0) {
|
|
374
|
+
m = k + 1;
|
|
375
|
+
}
|
|
376
|
+
else if (cmp < 0) {
|
|
377
|
+
n = k - 1;
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
return k;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return -m - 1;
|
|
384
|
+
})(this);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Sorted push
|
|
388
|
+
*/
|
|
389
|
+
function pushSorted(arr, el, fn) {
|
|
390
|
+
arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);
|
|
391
|
+
return arr;
|
|
392
|
+
}
|
|
393
|
+
// (arr1[index1] < arr2[index2])
|
|
394
|
+
function simpleCompare(el1, el2) {
|
|
395
|
+
return el1 < el2;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Merge sorted array helper function
|
|
399
|
+
*/
|
|
400
|
+
function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
|
|
401
|
+
const merged = [];
|
|
402
|
+
let index1 = 0;
|
|
403
|
+
let index2 = 0;
|
|
404
|
+
let current = 0;
|
|
405
|
+
while (current < arr1.length + arr2.length) {
|
|
406
|
+
let isArr1Depleted = index1 >= arr1.length;
|
|
407
|
+
let isArr2Depleted = index2 >= arr2.length;
|
|
408
|
+
if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
|
|
409
|
+
merged[current] = arr1[index1];
|
|
410
|
+
index1++;
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
merged[current] = arr2[index2];
|
|
414
|
+
index2++;
|
|
415
|
+
}
|
|
416
|
+
current++;
|
|
417
|
+
}
|
|
418
|
+
return merged;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Calculate system scrollbar size
|
|
422
|
+
*/
|
|
423
|
+
function getScrollbarSize(document) {
|
|
424
|
+
// Create a temporary div container and append it to the body
|
|
425
|
+
const container = document.createElement('div');
|
|
426
|
+
// Apply styling to ensure the div is scrollable
|
|
427
|
+
container.style.overflow = 'scroll';
|
|
428
|
+
container.style.visibility = 'hidden'; // make sure the container isn't visible
|
|
429
|
+
container.style.position = 'absolute';
|
|
430
|
+
container.style.top = '-9999px'; // move it out of the screen
|
|
431
|
+
container.style.width = '50px'; // arbitrary width
|
|
432
|
+
container.style.height = '50px'; // arbitrary height
|
|
433
|
+
// Append the div to the body
|
|
434
|
+
document.body.appendChild(container);
|
|
435
|
+
// Calculate the width of the scrollbar
|
|
436
|
+
const scrollbarWidth = container.offsetWidth - container.clientWidth;
|
|
437
|
+
// Remove the div from the body after calculation
|
|
438
|
+
document.body.removeChild(container);
|
|
439
|
+
// Return the calculated width of the scrollbar
|
|
440
|
+
return scrollbarWidth;
|
|
441
|
+
}
|
|
442
|
+
/* Scale a value between 2 ranges
|
|
443
|
+
*
|
|
444
|
+
* Sample:
|
|
445
|
+
* // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
|
|
446
|
+
* const n = scaleValue(55, [0,100], [0,1000]);
|
|
447
|
+
*
|
|
448
|
+
* Ranges of two values
|
|
449
|
+
* @from
|
|
450
|
+
* @to
|
|
451
|
+
*
|
|
452
|
+
* ~~ return value does the equivalent of Math.floor but faster.
|
|
453
|
+
*/
|
|
454
|
+
function scaleValue(value, from, to) {
|
|
455
|
+
return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Async timeout
|
|
459
|
+
*/
|
|
460
|
+
async function timeout(delay = 0) {
|
|
461
|
+
await new Promise((r) => {
|
|
462
|
+
setTimeout(() => r(), delay);
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Type script mixins
|
|
467
|
+
*/
|
|
468
|
+
function applyMixins(derivedCtor, constructors) {
|
|
469
|
+
constructors.forEach(baseCtor => {
|
|
470
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
471
|
+
Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));
|
|
472
|
+
});
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
exports.CELL_CLASS = CELL_CLASS;
|
|
477
|
+
exports.CELL_HANDLER_CLASS = CELL_HANDLER_CLASS;
|
|
478
|
+
exports.DATA_COL = DATA_COL;
|
|
479
|
+
exports.DATA_ROW = DATA_ROW;
|
|
480
|
+
exports.DISABLED_CLASS = DISABLED_CLASS;
|
|
481
|
+
exports.DRAGGABLE_CLASS = DRAGGABLE_CLASS;
|
|
482
|
+
exports.DRAGG_TEXT = DRAGG_TEXT;
|
|
483
|
+
exports.DRAG_ICON_CLASS = DRAG_ICON_CLASS;
|
|
484
|
+
exports.EDIT_INPUT_WR = EDIT_INPUT_WR;
|
|
485
|
+
exports.FOCUS_CLASS = FOCUS_CLASS;
|
|
486
|
+
exports.GRID_INTERNALS = GRID_INTERNALS;
|
|
487
|
+
exports.HEADER_ACTUAL_ROW_CLASS = HEADER_ACTUAL_ROW_CLASS;
|
|
488
|
+
exports.HEADER_CLASS = HEADER_CLASS;
|
|
489
|
+
exports.HEADER_ROW_CLASS = HEADER_ROW_CLASS;
|
|
490
|
+
exports.HEADER_SORTABLE_CLASS = HEADER_SORTABLE_CLASS;
|
|
491
|
+
exports.KeyCodesEnum = KeyCodesEnum;
|
|
492
|
+
exports.MIN_COL_SIZE = MIN_COL_SIZE;
|
|
493
|
+
exports.MOBILE_CLASS = MOBILE_CLASS;
|
|
494
|
+
exports.OsPlatform = OsPlatform;
|
|
495
|
+
exports.RESIZE_INTERVAL = RESIZE_INTERVAL;
|
|
496
|
+
exports.ROW_FOCUSED_CLASS = ROW_FOCUSED_CLASS;
|
|
497
|
+
exports.ROW_HEADER_TYPE = ROW_HEADER_TYPE;
|
|
498
|
+
exports.SELECTION_BORDER_CLASS = SELECTION_BORDER_CLASS;
|
|
499
|
+
exports.TMP_SELECTION_BG_CLASS = TMP_SELECTION_BG_CLASS;
|
|
500
|
+
exports.applyMixins = applyMixins;
|
|
501
|
+
exports.calculateDimensionData = calculateDimensionData;
|
|
502
|
+
exports.findPositionInArray = findPositionInArray;
|
|
503
|
+
exports.getItemByIndex = getItemByIndex;
|
|
504
|
+
exports.getItemByPosition = getItemByPosition;
|
|
505
|
+
exports.getScrollbarSize = getScrollbarSize;
|
|
506
|
+
exports.identity = identity;
|
|
507
|
+
exports.mergeSortedArray = mergeSortedArray;
|
|
508
|
+
exports.pushSorted = pushSorted;
|
|
509
|
+
exports.range = range;
|
|
510
|
+
exports.scaleValue = scaleValue;
|
|
511
|
+
exports.timeout = timeout;
|
|
512
|
+
|
|
513
|
+
//# sourceMappingURL=index-3ab26ab9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"index-3ab26ab9.js","mappings":"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","names":["MAX_ARRAY_LENGTH","isSymbol","codesLetter","keyValues"],"sources":["node_modules/lodash/identity.js","node_modules/lodash/_baseSortedIndexBy.js","node_modules/lodash/_baseSortedIndex.js","node_modules/lodash/sortedIndex.js","src/store/dimension/dimension.helpers.ts","src/utils/consts.ts","src/utils/key.codes.ts","src/utils/platform.ts","src/utils/index.ts"],"sourcesContent":["/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n}\n\nexport default baseSortedIndexBy;\n","import baseSortedIndexBy from './_baseSortedIndexBy.js';\nimport identity from './identity.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n/**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\nfunction baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n}\n\nexport default baseSortedIndex;\n","import baseSortedIndex from './_baseSortedIndex.js';\n\n/**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\nfunction sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n}\n\nexport default sortedIndex;\n","import sortedIndex from 'lodash/sortedIndex';\n\nimport type {\n DimensionSettingsState,\n PositionItem,\n ViewSettingSizeProp,\n} from '@type';\n\nexport type DimensionPosition = Pick<\n DimensionSettingsState,\n 'indexes' | 'positionIndexes' | 'originItemSize' | 'positionIndexToItem'\n>;\nexport type DimensionIndexInput = Pick<\n DimensionSettingsState,\n 'indexes' | 'originItemSize' | 'indexToItem'\n>;\nexport type DimensionSize = Pick<\n DimensionSettingsState,\n | 'indexes'\n | 'positionIndexes'\n | 'positionIndexToItem'\n | 'indexToItem'\n | 'realSize'\n | 'sizes'\n>;\n/**\n * Pre-calculation\n * Dimension custom sizes for each cell\n * Keeps only changed sizes, skips origin size\n */\nexport function calculateDimensionData(\n originItemSize: number,\n newSizes: ViewSettingSizeProp = {},\n) {\n const positionIndexes: number[] = [];\n const positionIndexToItem: { [position: number]: PositionItem } = {};\n const indexToItem: { [index: number]: PositionItem } = {};\n\n // combine all new sizes\n const sizes = { ...newSizes };\n // prepare order sorted new sizes and calculate changed real size\n const newIndexes = Object.keys(sizes).map(Number).sort((a, b) => a - b);\n // fill new coordinates based on what is changed\n newIndexes.reduce(\n (previous: PositionItem | undefined, itemIndex: number, i: number) => {\n const newItem: PositionItem = {\n itemIndex,\n start: 0,\n end: 0,\n };\n // if previous item was changed too\n if (previous) {\n const itemsBetween =\n (itemIndex - previous.itemIndex - 1) * originItemSize;\n newItem.start = itemsBetween + previous.end;\n } else {\n newItem.start = itemIndex * originItemSize;\n }\n newItem.end = newItem.start + sizes[itemIndex];\n positionIndexes.push(newItem.start);\n indexToItem[itemIndex] = positionIndexToItem[i] = newItem;\n return newItem;\n },\n undefined,\n );\n\n return {\n indexes: newIndexes,\n positionIndexes: [...positionIndexes],\n positionIndexToItem: { ...positionIndexToItem },\n indexToItem,\n sizes,\n };\n}\n\n/**\n * Calculate item by position\n */\nexport const getItemByPosition = (\n {\n indexes,\n positionIndexes,\n originItemSize,\n positionIndexToItem,\n }: DimensionPosition,\n pos: number,\n) => {\n const item: PositionItem = {\n itemIndex: 0,\n start: 0,\n end: 0,\n };\n const currentPlace = indexes.length ? sortedIndex(positionIndexes, pos) : 0;\n // not found or first index\n if (!currentPlace) {\n item.itemIndex = Math.floor(pos / originItemSize);\n item.start = item.itemIndex * originItemSize;\n item.end = item.start + originItemSize;\n return item;\n }\n const positionItem = positionIndexToItem[currentPlace - 1];\n // if item has specified size\n if (positionItem.end > pos) {\n return positionItem;\n }\n // special size item was present before\n const relativePos = pos - positionItem.end;\n const relativeIndex = Math.floor(relativePos / originItemSize);\n item.itemIndex = positionItem.itemIndex + 1 + relativeIndex;\n item.start = positionItem.end + relativeIndex * originItemSize;\n item.end = item.start + originItemSize;\n return item;\n};\n\nexport function getItemByIndex(\n dimension: Pick<\n DimensionIndexInput,\n 'indexToItem' | 'indexes' | 'originItemSize'\n >,\n index: number,\n) {\n let item: PositionItem = {\n itemIndex: index,\n start: 0,\n end: 0,\n };\n // if item has specified size\n if (dimension.indexToItem[index]) {\n return dimension.indexToItem[index];\n }\n\n const currentPlace = dimension.indexes.length\n ? sortedIndex(dimension.indexes, index)\n : 0;\n // not found or first index\n if (!currentPlace) {\n item.start = item.itemIndex * dimension.originItemSize;\n item.end = item.start + dimension.originItemSize;\n return item;\n }\n // special size item was present before\n const positionItem =\n dimension.indexToItem[dimension.indexes[currentPlace - 1]];\n item.start =\n positionItem.end +\n (index - positionItem.itemIndex - 1) * dimension.originItemSize;\n item.end = item.start + dimension.originItemSize;\n return item;\n}\n","export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const MOBILE_CLASS = 'mobile-handler';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\nexport const ROW_FOCUSED_CLASS = 'focused-rgRow';\n","enum codes {\n MOUSE_LEFT = 1,\n MOUSE_RIGHT = 3,\n MOUSE_MIDDLE = 2,\n BACKSPACE = 8,\n COMMA = 188,\n INSERT = 45,\n DELETE = 46,\n END = 35,\n ENTER = 13,\n ESCAPE = 27,\n CONTROL = 17,\n COMMAND_LEFT = 91,\n COMMAND_RIGHT = 93,\n COMMAND_FIREFOX = 224,\n ALT = 18,\n HOME = 36,\n PAGE_DOWN = 34,\n PAGE_UP = 33,\n PERIOD = 190,\n SPACE = 32,\n SHIFT = 16,\n CAPS_LOCK = 20,\n TAB = 9,\n ARROW_RIGHT = 39,\n ARROW_LEFT = 37,\n ARROW_UP = 38,\n ARROW_DOWN = 40,\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n A = 65,\n C = 67,\n D = 68,\n F = 70,\n L = 76,\n O = 79,\n P = 80,\n S = 83,\n V = 86,\n X = 88,\n}\n\nexport enum codesLetter {\n ENTER = 'Enter',\n ENTER_NUM = 'NumpadEnter',\n A = 'KeyA',\n C = 'KeyC',\n X = 'KeyX',\n V = 'KeyV',\n ESCAPE = 'Escape',\n TAB = 'Tab',\n BACKSPACE = 'Backspace',\n DELETE = 'Delete',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_UP = 'ArrowUp',\n ARROW_DOWN = 'ArrowDown',\n SHIFT = 'Shift',\n}\n\nexport enum keyValues {\n ENTER = 'Enter', // Enter + NumpadEnter\n TAB = 'Tab',\n}\n\nexport default codes;\n","enum osPlatform {\n mac = 'Mac',\n}\nexport default osPlatform;\n","export * from './store.utils';\nexport * from './store.types';\nexport * from './column.utils';\nexport * from './consts';\nexport * from './key.utils';\nexport * from './key.codes';\nexport * from './row-header-utils';\n\n\n/* Generate range on size\n */\nexport function range(size: number, startAt = 0): number[] {\n const res: number[] = [];\n const end = startAt + size;\n for (let i = startAt; i < end; i++) {\n res.push(i);\n }\n return res;\n}\n\n/* Find index position in array */\nexport function findPositionInArray<T>(this: T[], el: T, compareFn: (el: T, el2: T) => number): number {\n return (function (arr): number {\n let m = 0;\n let n = arr.length - 1;\n\n while (m <= n) {\n const k = (n + m) >> 1;\n const cmp = compareFn(el, arr[k]);\n\n if (cmp > 0) {\n m = k + 1;\n } else if (cmp < 0) {\n n = k - 1;\n } else {\n return k;\n }\n }\n\n return -m - 1;\n })(this);\n}\n\n/**\n * Sorted push\n */\nexport function pushSorted<T>(arr: T[], el: T, fn: (el: T, el2: T) => number): T[] {\n arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);\n return arr;\n}\n\n// (arr1[index1] < arr2[index2])\nfunction simpleCompare<T>(el1: T, el2: T): boolean {\n return el1 < el2;\n}\n\n/**\n * Merge sorted array helper function\n */\nexport function mergeSortedArray<T>(arr1: T[], arr2: T[], compareFn: (el: T, el2: T) => boolean = simpleCompare): T[] {\n const merged: T[] = [];\n let index1 = 0;\n let index2 = 0;\n let current = 0;\n\n while (current < arr1.length + arr2.length) {\n let isArr1Depleted = index1 >= arr1.length;\n let isArr2Depleted = index2 >= arr2.length;\n\n if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {\n merged[current] = arr1[index1];\n index1++;\n } else {\n merged[current] = arr2[index2];\n index2++;\n }\n\n current++;\n }\n\n return merged;\n}\n\n/**\n * Calculate system scrollbar size\n */\nexport function getScrollbarSize(document: Document): number {\n // Create a temporary div container and append it to the body\n const container = document.createElement('div');\n\n // Apply styling to ensure the div is scrollable\n container.style.overflow = 'scroll';\n container.style.visibility = 'hidden'; // make sure the container isn't visible\n container.style.position = 'absolute';\n container.style.top = '-9999px'; // move it out of the screen\n container.style.width = '50px'; // arbitrary width\n container.style.height = '50px'; // arbitrary height\n\n // Append the div to the body\n document.body.appendChild(container);\n\n // Calculate the width of the scrollbar\n const scrollbarWidth = container.offsetWidth - container.clientWidth;\n\n // Remove the div from the body after calculation\n document.body.removeChild(container);\n\n // Return the calculated width of the scrollbar\n return scrollbarWidth;\n}\n\n/* Scale a value between 2 ranges\n *\n * Sample:\n * // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)\n * const n = scaleValue(55, [0,100], [0,1000]);\n *\n * Ranges of two values\n * @from\n * @to\n *\n * ~~ return value does the equivalent of Math.floor but faster.\n */\nexport function scaleValue(value: number, from: [number, number], to: [number, number]): number {\n return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];\n}\n\n/**\n * Async timeout\n */\nexport async function timeout(delay = 0): Promise<void> {\n await new Promise((r: (v?: any) => void) => {\n setTimeout(() => r(), delay);\n });\n}\n\n/**\n * Type script mixins\n */\nexport function applyMixins(derivedCtor: any, constructors: any[]) {\n constructors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));\n });\n });\n}\n"],"version":3}
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const column_drag_plugin = require('./column.drag.plugin-
|
|
9
|
-
const headerCellRenderer = require('./header-cell-renderer-
|
|
8
|
+
const column_drag_plugin = require('./column.drag.plugin-fcd892ec.js');
|
|
9
|
+
const headerCellRenderer = require('./header-cell-renderer-d879d95e.js');
|
|
10
10
|
const index = require('./index-10d10c55.js');
|
|
11
|
-
const index$1 = require('./index-
|
|
12
|
-
const column_service = require('./column.service-
|
|
11
|
+
const index$1 = require('./index-3ab26ab9.js');
|
|
12
|
+
const column_service = require('./column.service-26c61ed6.js');
|
|
13
13
|
const sorting_sign = require('./sorting.sign-ca5a1045.js');
|
|
14
|
-
const textEditor = require('./text-editor-
|
|
15
|
-
const rowHeaderUtils = require('./row-header-utils-
|
|
14
|
+
const textEditor = require('./text-editor-b756d6b3.js');
|
|
15
|
+
const rowHeaderUtils = require('./row-header-utils-c37f76e4.js');
|
|
16
16
|
const filter_button = require('./filter.button-b8debe72.js');
|
|
17
|
-
const key_utils = require('./key.utils-
|
|
17
|
+
const key_utils = require('./key.utils-f49d7bee.js');
|
|
18
18
|
require('./debounce-ec7a04b4.js');
|
|
19
19
|
|
|
20
20
|
const REVOGRID_EVENTS = new Map([
|
|
@@ -86,6 +86,7 @@ const REVOGRID_EVENTS = new Map([
|
|
|
86
86
|
['rowdragmoveinit', 'rowdragmoveinit'],
|
|
87
87
|
['rowdragmousemove', 'rowdragmousemove'],
|
|
88
88
|
['rowdropinit', 'rowdropinit'],
|
|
89
|
+
['roworderchange', 'roworderchange'],
|
|
89
90
|
['beforecopyregion', 'beforecopyregion'],
|
|
90
91
|
['beforepasteregion', 'beforepasteregion'],
|
|
91
92
|
['celleditapply', 'celleditapply'],
|
|
@@ -146,7 +147,6 @@ exports.DISABLED_CLASS = index$1.DISABLED_CLASS;
|
|
|
146
147
|
exports.DRAGGABLE_CLASS = index$1.DRAGGABLE_CLASS;
|
|
147
148
|
exports.DRAGG_TEXT = index$1.DRAGG_TEXT;
|
|
148
149
|
exports.DRAG_ICON_CLASS = index$1.DRAG_ICON_CLASS;
|
|
149
|
-
exports.DataStore = index$1.DataStore;
|
|
150
150
|
exports.EDIT_INPUT_WR = index$1.EDIT_INPUT_WR;
|
|
151
151
|
exports.FOCUS_CLASS = index$1.FOCUS_CLASS;
|
|
152
152
|
exports.GRID_INTERNALS = index$1.GRID_INTERNALS;
|
|
@@ -170,15 +170,9 @@ Object.defineProperty(exports, 'codesLetter', {
|
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
172
|
exports.findPositionInArray = index$1.findPositionInArray;
|
|
173
|
-
exports.gatherTrimmedItems = index$1.gatherTrimmedItems;
|
|
174
173
|
exports.getItemByIndex = index$1.getItemByIndex;
|
|
175
174
|
exports.getItemByPosition = index$1.getItemByPosition;
|
|
176
|
-
exports.getPhysical = index$1.getPhysical;
|
|
177
175
|
exports.getScrollbarSize = index$1.getScrollbarSize;
|
|
178
|
-
exports.getSourceItem = index$1.getSourceItem;
|
|
179
|
-
exports.getSourceItemVirtualIndexByProp = index$1.getSourceItemVirtualIndexByProp;
|
|
180
|
-
exports.getSourcePhysicalIndex = index$1.getSourcePhysicalIndex;
|
|
181
|
-
exports.getVisibleSourceItem = index$1.getVisibleSourceItem;
|
|
182
176
|
Object.defineProperty(exports, 'keyValues', {
|
|
183
177
|
enumerable: true,
|
|
184
178
|
get: function () {
|
|
@@ -186,30 +180,37 @@ Object.defineProperty(exports, 'keyValues', {
|
|
|
186
180
|
}
|
|
187
181
|
});
|
|
188
182
|
exports.mergeSortedArray = index$1.mergeSortedArray;
|
|
189
|
-
exports.proxyPlugin = index$1.proxyPlugin;
|
|
190
183
|
exports.pushSorted = index$1.pushSorted;
|
|
191
184
|
exports.range = index$1.range;
|
|
192
185
|
exports.scaleValue = index$1.scaleValue;
|
|
193
|
-
exports.setItems = index$1.setItems;
|
|
194
|
-
exports.setSourceByPhysicalIndex = index$1.setSourceByPhysicalIndex;
|
|
195
|
-
exports.setSourceByVirtualIndex = index$1.setSourceByVirtualIndex;
|
|
196
|
-
exports.setStore = index$1.setStore;
|
|
197
186
|
exports.timeout = index$1.timeout;
|
|
198
|
-
exports.
|
|
187
|
+
exports.DataStore = column_service.DataStore;
|
|
199
188
|
exports.SelectionStore = column_service.SelectionStore;
|
|
200
189
|
exports.cropCellToMax = column_service.cropCellToMax;
|
|
201
190
|
exports.gatherGroup = column_service.gatherGroup;
|
|
191
|
+
exports.gatherTrimmedItems = column_service.gatherTrimmedItems;
|
|
202
192
|
exports.getCellData = column_service.getCellData;
|
|
203
193
|
exports.getCellDataParsed = column_service.getCellDataParsed;
|
|
204
194
|
exports.getColumnByProp = column_service.getColumnByProp;
|
|
205
195
|
exports.getColumnSizes = column_service.getColumnSizes;
|
|
206
196
|
exports.getColumnType = column_service.getColumnType;
|
|
207
197
|
exports.getColumns = column_service.getColumns;
|
|
198
|
+
exports.getPhysical = column_service.getPhysical;
|
|
208
199
|
exports.getRange = column_service.getRange;
|
|
200
|
+
exports.getSourceItem = column_service.getSourceItem;
|
|
201
|
+
exports.getSourceItemVirtualIndexByProp = column_service.getSourceItemVirtualIndexByProp;
|
|
202
|
+
exports.getSourcePhysicalIndex = column_service.getSourcePhysicalIndex;
|
|
203
|
+
exports.getVisibleSourceItem = column_service.getVisibleSourceItem;
|
|
209
204
|
exports.isColGrouping = column_service.isColGrouping;
|
|
210
205
|
exports.isHiddenStore = column_service.isHiddenStore;
|
|
211
206
|
exports.isRangeSingleCell = column_service.isRangeSingleCell;
|
|
212
207
|
exports.nextCell = column_service.nextCell;
|
|
208
|
+
exports.proxyPlugin = column_service.proxyPlugin;
|
|
209
|
+
exports.setItems = column_service.setItems;
|
|
210
|
+
exports.setSourceByPhysicalIndex = column_service.setSourceByPhysicalIndex;
|
|
211
|
+
exports.setSourceByVirtualIndex = column_service.setSourceByVirtualIndex;
|
|
212
|
+
exports.setStore = column_service.setStore;
|
|
213
|
+
exports.trimmedPlugin = column_service.trimmedPlugin;
|
|
213
214
|
exports.SortingSign = sorting_sign.SortingSign;
|
|
214
215
|
exports.TextEditor = textEditor.TextEditor;
|
|
215
216
|
exports.ViewportStore = rowHeaderUtils.ViewportStore;
|