@revolist/revogrid 4.22.1 → 4.23.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/{cell-renderer-BQdEGQXP.js → cell-renderer-Dcz022q7.js} +9 -3
- package/dist/cjs/{column.drag.plugin-RDjQhKCH.js → column.drag.plugin-DJueWxN_.js} +391 -256
- package/dist/cjs/{column.service-DXYMehqK.js → column.service-C1Qvcf5l.js} +10 -1
- package/dist/cjs/{dimension.helpers-CiiNnlLa.js → dimension.helpers-B9HgANnM.js} +14 -145
- package/dist/cjs/{edit.utils-CecCfA4E.js → edit.utils-pKeiYFLJ.js} +1 -1
- package/dist/cjs/{header-cell-renderer-DGyBrK8I.js → header-cell-renderer-QrcXXSkF.js} +1 -1
- package/dist/cjs/index-DxaSE5uZ.js +136 -0
- package/dist/cjs/index.cjs.js +37 -32
- package/dist/cjs/revo-grid.cjs.entry.js +124 -18
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +43 -25
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +10 -8
- package/dist/cjs/revogr-data_4.cjs.entry.js +74 -32
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -1
- package/dist/cjs/{text-editor-DnLZW1a-.js → text-editor-B4W-m-r-.js} +3 -3
- package/dist/cjs/{throttle-CfgQFkfR.js → throttle-BCwEuJJq.js} +59 -24
- package/dist/cjs/viewport.helpers-BND76K2j.js +140 -0
- package/dist/cjs/{viewport.store-q6YdR9mg.js → viewport.store-BlKQ4x9H.js} +16 -16
- package/dist/collection/components/data/revogr-data.js +5 -3
- package/dist/collection/components/header/header-group-renderer.js +1 -1
- package/dist/collection/components/header/header-renderer.js +1 -1
- package/dist/collection/components/header/revogr-header-style.css +13 -3
- package/dist/collection/components/header/revogr-header.js +53 -17
- package/dist/collection/components/order/order-row.service.js +6 -5
- package/dist/collection/components/overlay/keyboard.service.js +23 -1
- package/dist/collection/components/overlay/selection.utils.js +8 -6
- package/dist/collection/components/revoGrid/revo-grid.js +69 -5
- package/dist/collection/components/revoGrid/viewport.service.js +2 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +4 -10
- package/dist/collection/plugins/filter/filter.panel.js +2 -1
- package/dist/collection/plugins/filter/filter.plugin.js +11 -4
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +25 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js +9 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +4 -4
- package/dist/collection/plugins/sorting/sorting.func.js +173 -15
- package/dist/collection/plugins/sorting/sorting.plugin.js +167 -84
- package/dist/collection/plugins/sorting/sorting.sign.js +7 -1
- package/dist/collection/serve/controller.js +98 -37
- package/dist/collection/serve/data.js +273 -144
- package/dist/collection/services/dimension.provider.js +16 -1
- package/dist/collection/services/local.scroll.service.js +59 -24
- package/dist/collection/services/scroll.dimension.helpers.js +83 -0
- package/dist/collection/services/selection.store.connector.js +30 -4
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +22 -9
- package/dist/collection/store/dimension/dimension.store.js +4 -2
- package/dist/collection/store/vp/viewport.helpers.js +9 -0
- package/dist/collection/store/vp/viewport.store.js +5 -16
- package/dist/collection/utils/store.utils.js +3 -3
- package/dist/{revo-grid/cell-renderer-CALsEsnh.js → esm/cell-renderer-BtN-NGCk.js} +9 -3
- package/dist/esm/{column.drag.plugin-Dy5ztusn.js → column.drag.plugin-DCZW62Uc.js} +388 -255
- package/dist/esm/{column.service-CCvAi5l4.js → column.service-CC_SD8W3.js} +10 -1
- package/dist/{revo-grid/debounce-BfO9dz9v.js → esm/debounce-PCRWZliA.js} +1 -1
- package/dist/{revo-grid/dimension.helpers-DmIvjIa7.js → esm/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/esm/{edit.utils-DYN6XZh8.js → edit.utils-Dnnbd0xG.js} +1 -1
- package/dist/{revo-grid/header-cell-renderer-DU8wKAbg.js → esm/header-cell-renderer-BsvUQ8GS.js} +1 -1
- package/dist/esm/index-Db3qZoW5.js +127 -0
- package/dist/esm/index.js +11 -10
- package/dist/esm/revo-grid.entry.js +123 -17
- package/dist/esm/revogr-attribution_7.entry.js +42 -24
- package/dist/esm/revogr-clipboard_3.entry.js +11 -9
- package/dist/esm/revogr-data_4.entry.js +75 -33
- package/dist/esm/revogr-filter-panel.entry.js +3 -2
- package/dist/esm/{text-editor-DpCnd6Fq.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/esm/{throttle-ERvyruXb.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/esm/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{revo-grid/viewport.store-CFjDW-3l.js → esm/viewport.store-COAfzAyu.js} +15 -17
- package/dist/{esm/cell-renderer-CALsEsnh.js → revo-grid/cell-renderer-BtN-NGCk.js} +9 -3
- package/dist/revo-grid/{column.drag.plugin-Dy5ztusn.js → column.drag.plugin-DCZW62Uc.js} +388 -255
- package/dist/revo-grid/{column.service-CCvAi5l4.js → column.service-CC_SD8W3.js} +10 -1
- package/dist/{esm/debounce-BfO9dz9v.js → revo-grid/debounce-PCRWZliA.js} +1 -1
- package/dist/{esm/dimension.helpers-DmIvjIa7.js → revo-grid/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/revo-grid/{edit.utils-DYN6XZh8.js → edit.utils-Dnnbd0xG.js} +1 -1
- package/dist/{esm/header-cell-renderer-DU8wKAbg.js → revo-grid/header-cell-renderer-BsvUQ8GS.js} +1 -1
- package/dist/revo-grid/index-Db3qZoW5.js +127 -0
- package/dist/revo-grid/index.esm.js +11 -10
- package/dist/revo-grid/revo-grid.entry.js +123 -17
- package/dist/revo-grid/revogr-attribution_7.entry.js +42 -24
- package/dist/revo-grid/revogr-clipboard_3.entry.js +11 -9
- package/dist/revo-grid/revogr-data_4.entry.js +75 -33
- package/dist/revo-grid/revogr-filter-panel.entry.js +3 -2
- package/dist/revo-grid/{text-editor-DpCnd6Fq.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/revo-grid/{throttle-ERvyruXb.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/revo-grid/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{esm/viewport.store-CFjDW-3l.js → revo-grid/viewport.store-COAfzAyu.js} +15 -17
- package/dist/types/components/header/header-group-renderer.d.ts +2 -0
- package/dist/types/components/header/header-renderer.d.ts +1 -0
- package/dist/types/components/header/revogr-header.d.ts +2 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +5 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +12 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +8 -0
- package/dist/types/plugins/sorting/sorting.func.d.ts +25 -2
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +84 -9
- package/dist/types/plugins/sorting/sorting.sign.d.ts +5 -1
- package/dist/types/plugins/sorting/sorting.types.d.ts +46 -1
- package/dist/types/services/local.scroll.service.d.ts +10 -2
- package/dist/types/services/scroll.dimension.helpers.d.ts +20 -0
- package/dist/types/services/selection.store.connector.d.ts +6 -0
- package/dist/types/store/vp/viewport.helpers.d.ts +2 -0
- package/dist/types/types/interfaces.d.ts +11 -0
- package/dist/types/types/selection.d.ts +13 -0
- package/hydrate/index.js +795 -383
- package/hydrate/index.mjs +795 -383
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/debounce.js +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/local.scroll.timer.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-row-headers.js +1 -1
- package/standalone/revogr-row-headers2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/standalone/selection.utils.js +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +1 -1
- package/dist/cjs/viewport.helpers-BAovztDd.js +0 -58
- package/dist/esm/viewport.helpers-VXhsJZtn.js +0 -52
- package/dist/revo-grid/viewport.helpers-VXhsJZtn.js +0 -52
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var dimension_helpers = require('./dimension.helpers-
|
|
6
|
+
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Converts `value` to an integer.
|
|
@@ -439,6 +439,9 @@ const GROUPING_ROW_TYPE = 'rgRow';
|
|
|
439
439
|
function getGroupValueDefault(item, prop) {
|
|
440
440
|
return item[prop] || null;
|
|
441
441
|
}
|
|
442
|
+
function isDataRow(item) {
|
|
443
|
+
return item != null;
|
|
444
|
+
}
|
|
442
445
|
// get source based on proxy item collection to preserve rgRow order
|
|
443
446
|
function getSource(source, items, withoutGrouping = false) {
|
|
444
447
|
let index = 0;
|
|
@@ -460,6 +463,9 @@ function getSource(source, items, withoutGrouping = false) {
|
|
|
460
463
|
result.prevExpanded[model[PSEUDO_GROUP_ITEM_VALUE]] = true;
|
|
461
464
|
}
|
|
462
465
|
}
|
|
466
|
+
else if (!isDataRow(model)) {
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
463
469
|
else {
|
|
464
470
|
result.source.push(model);
|
|
465
471
|
result.oldNewIndexes[i] = index;
|
|
@@ -540,6 +546,9 @@ function flattenGroupMaps({ groupedValues, parentIds, isExpanded, itemIndex, exp
|
|
|
540
546
|
function gatherGrouping(array, columnProps, { prevExpanded = {}, expandedAll = false, getGroupValue = getGroupValueDefault, }) {
|
|
541
547
|
const groupedItems = new Map();
|
|
542
548
|
array.forEach((item, originalIndex) => {
|
|
549
|
+
if (!isDataRow(item)) {
|
|
550
|
+
return;
|
|
551
|
+
}
|
|
543
552
|
const groupLevelValues = columnProps.map(groupId => getGroupValue(item, groupId));
|
|
544
553
|
const lastLevelValue = groupLevelValues.pop();
|
|
545
554
|
let currentGroupLevel = groupedItems;
|
|
@@ -1774,15 +1774,15 @@ var dataViewCtorString = toSource(DataView),
|
|
|
1774
1774
|
* @param {*} value The value to query.
|
|
1775
1775
|
* @returns {string} Returns the `toStringTag`.
|
|
1776
1776
|
*/
|
|
1777
|
-
|
|
1777
|
+
var getTag = debounce$1.baseGetTag;
|
|
1778
1778
|
|
|
1779
1779
|
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
|
1780
|
-
if ((DataView &&
|
|
1781
|
-
(Map$1 &&
|
|
1782
|
-
(Promise$1 &&
|
|
1783
|
-
(Set$1 &&
|
|
1784
|
-
(WeakMap &&
|
|
1785
|
-
|
|
1780
|
+
if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
|
|
1781
|
+
(Map$1 && getTag(new Map$1) != mapTag) ||
|
|
1782
|
+
(Promise$1 && getTag(Promise$1.resolve()) != promiseTag) ||
|
|
1783
|
+
(Set$1 && getTag(new Set$1) != setTag) ||
|
|
1784
|
+
(WeakMap && getTag(new WeakMap) != weakMapTag)) {
|
|
1785
|
+
getTag = function(value) {
|
|
1786
1786
|
var result = debounce$1.baseGetTag(value),
|
|
1787
1787
|
Ctor = result == objectTag$1 ? value.constructor : undefined,
|
|
1788
1788
|
ctorString = Ctor ? toSource(Ctor) : '';
|
|
@@ -1831,8 +1831,8 @@ var hasOwnProperty = objectProto.hasOwnProperty;
|
|
|
1831
1831
|
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
|
1832
1832
|
var objIsArr = isArray(object),
|
|
1833
1833
|
othIsArr = isArray(other),
|
|
1834
|
-
objTag = objIsArr ? arrayTag :
|
|
1835
|
-
othTag = othIsArr ? arrayTag :
|
|
1834
|
+
objTag = objIsArr ? arrayTag : getTag(object),
|
|
1835
|
+
othTag = othIsArr ? arrayTag : getTag(other);
|
|
1836
1836
|
|
|
1837
1837
|
objTag = objTag == argsTag ? objectTag : objTag;
|
|
1838
1838
|
othTag = othTag == argsTag ? objectTag : othTag;
|
|
@@ -2708,7 +2708,7 @@ function createRange(fromRight) {
|
|
|
2708
2708
|
* _.range(0);
|
|
2709
2709
|
* // => []
|
|
2710
2710
|
*/
|
|
2711
|
-
var range
|
|
2711
|
+
var range = createRange();
|
|
2712
2712
|
|
|
2713
2713
|
const appendToMap = (map, propName, value) => {
|
|
2714
2714
|
let refs = map.get(propName);
|
|
@@ -3023,9 +3023,9 @@ function gatherTrimmedItems(trimmedItems) {
|
|
|
3023
3023
|
* @param data - The data to set on the store.
|
|
3024
3024
|
*/
|
|
3025
3025
|
function setStore(store, data) {
|
|
3026
|
-
Object.
|
|
3027
|
-
store.set(key,
|
|
3028
|
-
}
|
|
3026
|
+
for (const key of Object.keys(data)) {
|
|
3027
|
+
store.set(key, data[key]);
|
|
3028
|
+
}
|
|
3029
3029
|
}
|
|
3030
3030
|
|
|
3031
3031
|
const MIN_COL_SIZE = 30;
|
|
@@ -3134,127 +3134,6 @@ var osPlatform;
|
|
|
3134
3134
|
})(osPlatform || (osPlatform = {}));
|
|
3135
3135
|
var OsPlatform = osPlatform;
|
|
3136
3136
|
|
|
3137
|
-
/* Generate range on size
|
|
3138
|
-
*/
|
|
3139
|
-
function range(size, startAt = 0) {
|
|
3140
|
-
const res = [];
|
|
3141
|
-
const end = startAt + size;
|
|
3142
|
-
for (let i = startAt; i < end; i++) {
|
|
3143
|
-
res.push(i);
|
|
3144
|
-
}
|
|
3145
|
-
return res;
|
|
3146
|
-
}
|
|
3147
|
-
/* Find index position in array */
|
|
3148
|
-
function findPositionInArray(el, compareFn) {
|
|
3149
|
-
return (function (arr) {
|
|
3150
|
-
let m = 0;
|
|
3151
|
-
let n = arr.length - 1;
|
|
3152
|
-
while (m <= n) {
|
|
3153
|
-
const k = (n + m) >> 1;
|
|
3154
|
-
const cmp = compareFn(el, arr[k]);
|
|
3155
|
-
if (cmp > 0) {
|
|
3156
|
-
m = k + 1;
|
|
3157
|
-
}
|
|
3158
|
-
else if (cmp < 0) {
|
|
3159
|
-
n = k - 1;
|
|
3160
|
-
}
|
|
3161
|
-
else {
|
|
3162
|
-
return k;
|
|
3163
|
-
}
|
|
3164
|
-
}
|
|
3165
|
-
return -m - 1;
|
|
3166
|
-
})(this);
|
|
3167
|
-
}
|
|
3168
|
-
/**
|
|
3169
|
-
* Sorted push
|
|
3170
|
-
*/
|
|
3171
|
-
function pushSorted(arr, el, fn) {
|
|
3172
|
-
arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);
|
|
3173
|
-
return arr;
|
|
3174
|
-
}
|
|
3175
|
-
// (arr1[index1] < arr2[index2])
|
|
3176
|
-
function simpleCompare(el1, el2) {
|
|
3177
|
-
return el1 < el2;
|
|
3178
|
-
}
|
|
3179
|
-
/**
|
|
3180
|
-
* Merge sorted array helper function
|
|
3181
|
-
*/
|
|
3182
|
-
function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
|
|
3183
|
-
const merged = [];
|
|
3184
|
-
let index1 = 0;
|
|
3185
|
-
let index2 = 0;
|
|
3186
|
-
let current = 0;
|
|
3187
|
-
while (current < arr1.length + arr2.length) {
|
|
3188
|
-
let isArr1Depleted = index1 >= arr1.length;
|
|
3189
|
-
let isArr2Depleted = index2 >= arr2.length;
|
|
3190
|
-
if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
|
|
3191
|
-
merged[current] = arr1[index1];
|
|
3192
|
-
index1++;
|
|
3193
|
-
}
|
|
3194
|
-
else {
|
|
3195
|
-
merged[current] = arr2[index2];
|
|
3196
|
-
index2++;
|
|
3197
|
-
}
|
|
3198
|
-
current++;
|
|
3199
|
-
}
|
|
3200
|
-
return merged;
|
|
3201
|
-
}
|
|
3202
|
-
/**
|
|
3203
|
-
* Calculate system scrollbar size
|
|
3204
|
-
*/
|
|
3205
|
-
function getScrollbarSize(document) {
|
|
3206
|
-
// Create a temporary div container and append it to the body
|
|
3207
|
-
const container = document.createElement('div');
|
|
3208
|
-
// Apply styling to ensure the div is scrollable
|
|
3209
|
-
container.style.overflow = 'scroll';
|
|
3210
|
-
container.style.visibility = 'hidden'; // make sure the container isn't visible
|
|
3211
|
-
container.style.position = 'absolute';
|
|
3212
|
-
container.style.top = '-9999px'; // move it out of the screen
|
|
3213
|
-
container.style.width = '50px'; // arbitrary width
|
|
3214
|
-
container.style.height = '50px'; // arbitrary height
|
|
3215
|
-
// Append the div to the body
|
|
3216
|
-
document.body.appendChild(container);
|
|
3217
|
-
// Calculate the width of the scrollbar
|
|
3218
|
-
const scrollbarWidth = container.offsetWidth - container.clientWidth;
|
|
3219
|
-
// Remove the div from the body after calculation
|
|
3220
|
-
document.body.removeChild(container);
|
|
3221
|
-
// Return the calculated width of the scrollbar
|
|
3222
|
-
return scrollbarWidth;
|
|
3223
|
-
}
|
|
3224
|
-
/* Scale a value between 2 ranges
|
|
3225
|
-
*
|
|
3226
|
-
* Sample:
|
|
3227
|
-
* // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
|
|
3228
|
-
* const n = scaleValue(55, [0,100], [0,1000]);
|
|
3229
|
-
*
|
|
3230
|
-
* Ranges of two values
|
|
3231
|
-
* @from
|
|
3232
|
-
* @to
|
|
3233
|
-
*
|
|
3234
|
-
* ~~ return value does the equivalent of Math.floor but faster.
|
|
3235
|
-
*/
|
|
3236
|
-
function scaleValue(value, from, to) {
|
|
3237
|
-
return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
|
|
3238
|
-
}
|
|
3239
|
-
/**
|
|
3240
|
-
* Async timeout
|
|
3241
|
-
*/
|
|
3242
|
-
async function timeout(delay = 0) {
|
|
3243
|
-
await new Promise((r) => {
|
|
3244
|
-
setTimeout(() => r(), delay);
|
|
3245
|
-
});
|
|
3246
|
-
}
|
|
3247
|
-
/**
|
|
3248
|
-
* Type script mixins
|
|
3249
|
-
*/
|
|
3250
|
-
function applyMixins(derivedCtor, constructors) {
|
|
3251
|
-
constructors.forEach(baseCtor => {
|
|
3252
|
-
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
3253
|
-
Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));
|
|
3254
|
-
});
|
|
3255
|
-
});
|
|
3256
|
-
}
|
|
3257
|
-
|
|
3258
3137
|
/**
|
|
3259
3138
|
* Data store
|
|
3260
3139
|
* Manage the state of a data source and provide methods for updating, adding, and refreshing the data.
|
|
@@ -3288,7 +3167,7 @@ class DataStore {
|
|
|
3288
3167
|
}
|
|
3289
3168
|
// clear items
|
|
3290
3169
|
this.store.set('items', []);
|
|
3291
|
-
const items = range
|
|
3170
|
+
const items = range(0, (source === null || source === void 0 ? void 0 : source.length) || 0);
|
|
3292
3171
|
// set proxy first
|
|
3293
3172
|
setStore(this.store, {
|
|
3294
3173
|
source,
|
|
@@ -3644,18 +3523,13 @@ exports.ROW_FOCUSED_CLASS = ROW_FOCUSED_CLASS;
|
|
|
3644
3523
|
exports.ROW_HEADER_TYPE = ROW_HEADER_TYPE;
|
|
3645
3524
|
exports.SELECTION_BORDER_CLASS = SELECTION_BORDER_CLASS;
|
|
3646
3525
|
exports.TMP_SELECTION_BG_CLASS = TMP_SELECTION_BG_CLASS;
|
|
3647
|
-
exports.applyMixins = applyMixins;
|
|
3648
3526
|
exports.baseIteratee = baseIteratee;
|
|
3649
|
-
exports.baseKeys = baseKeys;
|
|
3650
|
-
exports.baseProperty = baseProperty;
|
|
3651
3527
|
exports.calculateDimensionData = calculateDimensionData;
|
|
3652
3528
|
exports.createStore = createStore;
|
|
3653
|
-
exports.findPositionInArray = findPositionInArray;
|
|
3654
3529
|
exports.gatherTrimmedItems = gatherTrimmedItems;
|
|
3655
3530
|
exports.getItemByIndex = getItemByIndex;
|
|
3656
3531
|
exports.getItemByPosition = getItemByPosition;
|
|
3657
3532
|
exports.getPhysical = getPhysical;
|
|
3658
|
-
exports.getScrollbarSize = getScrollbarSize;
|
|
3659
3533
|
exports.getSourceItem = getSourceItem;
|
|
3660
3534
|
exports.getSourceItemVirtualIndexByProp = getSourceItemVirtualIndexByProp;
|
|
3661
3535
|
exports.getSourcePhysicalIndex = getSourcePhysicalIndex;
|
|
@@ -3665,15 +3539,10 @@ exports.isArray = isArray;
|
|
|
3665
3539
|
exports.isArrayLike = isArrayLike;
|
|
3666
3540
|
exports.isIterateeCall = isIterateeCall;
|
|
3667
3541
|
exports.keys = keys;
|
|
3668
|
-
exports.mergeSortedArray = mergeSortedArray;
|
|
3669
3542
|
exports.proxyPlugin = proxyPlugin;
|
|
3670
|
-
exports.pushSorted = pushSorted;
|
|
3671
|
-
exports.range = range;
|
|
3672
|
-
exports.scaleValue = scaleValue;
|
|
3673
3543
|
exports.setItems = setItems;
|
|
3674
3544
|
exports.setSourceByPhysicalIndex = setSourceByPhysicalIndex;
|
|
3675
3545
|
exports.setSourceByVirtualIndex = setSourceByVirtualIndex;
|
|
3676
3546
|
exports.setStore = setStore;
|
|
3677
|
-
exports.timeout = timeout;
|
|
3678
3547
|
exports.toFinite = toFinite;
|
|
3679
3548
|
exports.trimmedPlugin = trimmedPlugin;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
require('./dimension.helpers-B9HgANnM.js');
|
|
7
|
+
|
|
8
|
+
/* Generate range on size
|
|
9
|
+
*/
|
|
10
|
+
function range(size, startAt = 0) {
|
|
11
|
+
const res = [];
|
|
12
|
+
const end = startAt + size;
|
|
13
|
+
for (let i = startAt; i < end; i++) {
|
|
14
|
+
res.push(i);
|
|
15
|
+
}
|
|
16
|
+
return res;
|
|
17
|
+
}
|
|
18
|
+
/* Find index position in array */
|
|
19
|
+
function findPositionInArray(el, compareFn) {
|
|
20
|
+
return (function (arr) {
|
|
21
|
+
let m = 0;
|
|
22
|
+
let n = arr.length - 1;
|
|
23
|
+
while (m <= n) {
|
|
24
|
+
const k = (n + m) >> 1;
|
|
25
|
+
const cmp = compareFn(el, arr[k]);
|
|
26
|
+
if (cmp > 0) {
|
|
27
|
+
m = k + 1;
|
|
28
|
+
}
|
|
29
|
+
else if (cmp < 0) {
|
|
30
|
+
n = k - 1;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return k;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return -m - 1;
|
|
37
|
+
})(this);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Sorted push
|
|
41
|
+
*/
|
|
42
|
+
function pushSorted(arr, el, fn) {
|
|
43
|
+
arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);
|
|
44
|
+
return arr;
|
|
45
|
+
}
|
|
46
|
+
// (arr1[index1] < arr2[index2])
|
|
47
|
+
function simpleCompare(el1, el2) {
|
|
48
|
+
return el1 < el2;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Merge sorted array helper function
|
|
52
|
+
*/
|
|
53
|
+
function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
|
|
54
|
+
const merged = [];
|
|
55
|
+
let index1 = 0;
|
|
56
|
+
let index2 = 0;
|
|
57
|
+
let current = 0;
|
|
58
|
+
while (current < arr1.length + arr2.length) {
|
|
59
|
+
let isArr1Depleted = index1 >= arr1.length;
|
|
60
|
+
let isArr2Depleted = index2 >= arr2.length;
|
|
61
|
+
if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
|
|
62
|
+
merged[current] = arr1[index1];
|
|
63
|
+
index1++;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
merged[current] = arr2[index2];
|
|
67
|
+
index2++;
|
|
68
|
+
}
|
|
69
|
+
current++;
|
|
70
|
+
}
|
|
71
|
+
return merged;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Calculate system scrollbar size
|
|
75
|
+
*/
|
|
76
|
+
function getScrollbarSize(document) {
|
|
77
|
+
// Create a temporary div container and append it to the body
|
|
78
|
+
const container = document.createElement('div');
|
|
79
|
+
// Apply styling to ensure the div is scrollable
|
|
80
|
+
container.style.overflow = 'scroll';
|
|
81
|
+
container.style.visibility = 'hidden'; // make sure the container isn't visible
|
|
82
|
+
container.style.position = 'absolute';
|
|
83
|
+
container.style.top = '-9999px'; // move it out of the screen
|
|
84
|
+
container.style.width = '50px'; // arbitrary width
|
|
85
|
+
container.style.height = '50px'; // arbitrary height
|
|
86
|
+
// Append the div to the body
|
|
87
|
+
document.body.appendChild(container);
|
|
88
|
+
// Calculate the width of the scrollbar
|
|
89
|
+
const scrollbarWidth = container.offsetWidth - container.clientWidth;
|
|
90
|
+
// Remove the div from the body after calculation
|
|
91
|
+
document.body.removeChild(container);
|
|
92
|
+
// Return the calculated width of the scrollbar
|
|
93
|
+
return scrollbarWidth;
|
|
94
|
+
}
|
|
95
|
+
/* Scale a value between 2 ranges
|
|
96
|
+
*
|
|
97
|
+
* Sample:
|
|
98
|
+
* // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
|
|
99
|
+
* const n = scaleValue(55, [0,100], [0,1000]);
|
|
100
|
+
*
|
|
101
|
+
* Ranges of two values
|
|
102
|
+
* @from
|
|
103
|
+
* @to
|
|
104
|
+
*
|
|
105
|
+
* ~~ return value does the equivalent of Math.floor but faster.
|
|
106
|
+
*/
|
|
107
|
+
function scaleValue(value, from, to) {
|
|
108
|
+
return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Async timeout
|
|
112
|
+
*/
|
|
113
|
+
async function timeout(delay = 0) {
|
|
114
|
+
await new Promise((r) => {
|
|
115
|
+
setTimeout(() => r(), delay);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Type script mixins
|
|
120
|
+
*/
|
|
121
|
+
function applyMixins(derivedCtor, constructors) {
|
|
122
|
+
constructors.forEach(baseCtor => {
|
|
123
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
124
|
+
Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
exports.applyMixins = applyMixins;
|
|
130
|
+
exports.findPositionInArray = findPositionInArray;
|
|
131
|
+
exports.getScrollbarSize = getScrollbarSize;
|
|
132
|
+
exports.mergeSortedArray = mergeSortedArray;
|
|
133
|
+
exports.pushSorted = pushSorted;
|
|
134
|
+
exports.range = range;
|
|
135
|
+
exports.scaleValue = scaleValue;
|
|
136
|
+
exports.timeout = timeout;
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var column_service = require('./column.service-
|
|
7
|
-
var column_drag_plugin = require('./column.drag.plugin-
|
|
8
|
-
var headerCellRenderer = require('./header-cell-renderer-
|
|
9
|
-
var cellRenderer = require('./cell-renderer-
|
|
10
|
-
var
|
|
11
|
-
var textEditor = require('./text-editor-
|
|
12
|
-
var edit_utils = require('./edit.utils-
|
|
6
|
+
var column_service = require('./column.service-C1Qvcf5l.js');
|
|
7
|
+
var column_drag_plugin = require('./column.drag.plugin-DJueWxN_.js');
|
|
8
|
+
var headerCellRenderer = require('./header-cell-renderer-QrcXXSkF.js');
|
|
9
|
+
var cellRenderer = require('./cell-renderer-Dcz022q7.js');
|
|
10
|
+
var index$1 = require('./index-DxaSE5uZ.js');
|
|
11
|
+
var textEditor = require('./text-editor-B4W-m-r-.js');
|
|
12
|
+
var edit_utils = require('./edit.utils-pKeiYFLJ.js');
|
|
13
13
|
var index = require('./index-Dq8Xzj5l.js');
|
|
14
|
-
var
|
|
14
|
+
var dimension_helpers = require('./dimension.helpers-B9HgANnM.js');
|
|
15
|
+
var viewport_store = require('./viewport.store-BlKQ4x9H.js');
|
|
15
16
|
var filter_button = require('./filter.button-w6LWnyhi.js');
|
|
16
17
|
require('./debounce-CcpHiH2p.js');
|
|
17
18
|
|
|
@@ -235,6 +236,8 @@ exports.filterTypes = column_drag_plugin.filterTypes;
|
|
|
235
236
|
exports.getComparer = column_drag_plugin.getComparer;
|
|
236
237
|
exports.getLeftRelative = column_drag_plugin.getLeftRelative;
|
|
237
238
|
exports.getNextOrder = column_drag_plugin.getNextOrder;
|
|
239
|
+
exports.getSortingIndex = column_drag_plugin.getSortingIndex;
|
|
240
|
+
exports.hasActiveSorting = column_drag_plugin.hasActiveSorting;
|
|
238
241
|
exports.isStretchPlugin = column_drag_plugin.isStretchPlugin;
|
|
239
242
|
exports.sortIndexByItems = column_drag_plugin.sortIndexByItems;
|
|
240
243
|
exports.dispatch = headerCellRenderer.dispatch;
|
|
@@ -244,6 +247,30 @@ exports.GroupingRowRenderer = cellRenderer.GroupingRowRenderer;
|
|
|
244
247
|
exports.SortingSign = cellRenderer.SortingSign;
|
|
245
248
|
exports.expandEvent = cellRenderer.expandEvent;
|
|
246
249
|
exports.expandSvgIconVNode = cellRenderer.expandSvgIconVNode;
|
|
250
|
+
exports.applyMixins = index$1.applyMixins;
|
|
251
|
+
exports.findPositionInArray = index$1.findPositionInArray;
|
|
252
|
+
exports.getScrollbarSize = index$1.getScrollbarSize;
|
|
253
|
+
exports.mergeSortedArray = index$1.mergeSortedArray;
|
|
254
|
+
exports.pushSorted = index$1.pushSorted;
|
|
255
|
+
exports.range = index$1.range;
|
|
256
|
+
exports.scaleValue = index$1.scaleValue;
|
|
257
|
+
exports.timeout = index$1.timeout;
|
|
258
|
+
exports.TextEditor = textEditor.TextEditor;
|
|
259
|
+
exports.isAll = edit_utils.isAll;
|
|
260
|
+
exports.isClear = edit_utils.isClear;
|
|
261
|
+
exports.isCopy = edit_utils.isCopy;
|
|
262
|
+
exports.isCtrlKey = edit_utils.isCtrlKey;
|
|
263
|
+
exports.isCtrlMetaKey = edit_utils.isCtrlMetaKey;
|
|
264
|
+
exports.isCut = edit_utils.isCut;
|
|
265
|
+
exports.isEditInput = edit_utils.isEditInput;
|
|
266
|
+
exports.isEditorCtrConstructible = edit_utils.isEditorCtrConstructible;
|
|
267
|
+
exports.isEnterKeyValue = edit_utils.isEnterKeyValue;
|
|
268
|
+
exports.isMetaKey = edit_utils.isMetaKey;
|
|
269
|
+
exports.isPaste = edit_utils.isPaste;
|
|
270
|
+
exports.isShortcutModifier = edit_utils.isShortcutModifier;
|
|
271
|
+
exports.isTab = edit_utils.isTab;
|
|
272
|
+
exports.isTabKeyValue = edit_utils.isTabKeyValue;
|
|
273
|
+
exports.h = index.h;
|
|
247
274
|
exports.CELL_CLASS = dimension_helpers.CELL_CLASS;
|
|
248
275
|
exports.CELL_HANDLER_CLASS = dimension_helpers.CELL_HANDLER_CLASS;
|
|
249
276
|
exports.DATA_COL = dimension_helpers.DATA_COL;
|
|
@@ -267,18 +294,15 @@ exports.ROW_FOCUSED_CLASS = dimension_helpers.ROW_FOCUSED_CLASS;
|
|
|
267
294
|
exports.ROW_HEADER_TYPE = dimension_helpers.ROW_HEADER_TYPE;
|
|
268
295
|
exports.SELECTION_BORDER_CLASS = dimension_helpers.SELECTION_BORDER_CLASS;
|
|
269
296
|
exports.TMP_SELECTION_BG_CLASS = dimension_helpers.TMP_SELECTION_BG_CLASS;
|
|
270
|
-
exports.applyMixins = dimension_helpers.applyMixins;
|
|
271
297
|
exports.calculateDimensionData = dimension_helpers.calculateDimensionData;
|
|
272
298
|
Object.defineProperty(exports, "codesLetter", {
|
|
273
299
|
enumerable: true,
|
|
274
300
|
get: function () { return dimension_helpers.codesLetter; }
|
|
275
301
|
});
|
|
276
|
-
exports.findPositionInArray = dimension_helpers.findPositionInArray;
|
|
277
302
|
exports.gatherTrimmedItems = dimension_helpers.gatherTrimmedItems;
|
|
278
303
|
exports.getItemByIndex = dimension_helpers.getItemByIndex;
|
|
279
304
|
exports.getItemByPosition = dimension_helpers.getItemByPosition;
|
|
280
305
|
exports.getPhysical = dimension_helpers.getPhysical;
|
|
281
|
-
exports.getScrollbarSize = dimension_helpers.getScrollbarSize;
|
|
282
306
|
exports.getSourceItem = dimension_helpers.getSourceItem;
|
|
283
307
|
exports.getSourceItemVirtualIndexByProp = dimension_helpers.getSourceItemVirtualIndexByProp;
|
|
284
308
|
exports.getSourcePhysicalIndex = dimension_helpers.getSourcePhysicalIndex;
|
|
@@ -287,40 +311,21 @@ Object.defineProperty(exports, "keyValues", {
|
|
|
287
311
|
enumerable: true,
|
|
288
312
|
get: function () { return dimension_helpers.keyValues; }
|
|
289
313
|
});
|
|
290
|
-
exports.mergeSortedArray = dimension_helpers.mergeSortedArray;
|
|
291
314
|
exports.proxyPlugin = dimension_helpers.proxyPlugin;
|
|
292
|
-
exports.pushSorted = dimension_helpers.pushSorted;
|
|
293
|
-
exports.range = dimension_helpers.range;
|
|
294
|
-
exports.scaleValue = dimension_helpers.scaleValue;
|
|
295
315
|
exports.setItems = dimension_helpers.setItems;
|
|
296
316
|
exports.setSourceByPhysicalIndex = dimension_helpers.setSourceByPhysicalIndex;
|
|
297
317
|
exports.setSourceByVirtualIndex = dimension_helpers.setSourceByVirtualIndex;
|
|
298
318
|
exports.setStore = dimension_helpers.setStore;
|
|
299
|
-
exports.timeout = dimension_helpers.timeout;
|
|
300
319
|
exports.trimmedPlugin = dimension_helpers.trimmedPlugin;
|
|
301
|
-
exports.TextEditor = textEditor.TextEditor;
|
|
302
|
-
exports.isAll = edit_utils.isAll;
|
|
303
|
-
exports.isClear = edit_utils.isClear;
|
|
304
|
-
exports.isCopy = edit_utils.isCopy;
|
|
305
|
-
exports.isCtrlKey = edit_utils.isCtrlKey;
|
|
306
|
-
exports.isCtrlMetaKey = edit_utils.isCtrlMetaKey;
|
|
307
|
-
exports.isCut = edit_utils.isCut;
|
|
308
|
-
exports.isEditInput = edit_utils.isEditInput;
|
|
309
|
-
exports.isEditorCtrConstructible = edit_utils.isEditorCtrConstructible;
|
|
310
|
-
exports.isEnterKeyValue = edit_utils.isEnterKeyValue;
|
|
311
|
-
exports.isMetaKey = edit_utils.isMetaKey;
|
|
312
|
-
exports.isPaste = edit_utils.isPaste;
|
|
313
|
-
exports.isShortcutModifier = edit_utils.isShortcutModifier;
|
|
314
|
-
exports.isTab = edit_utils.isTab;
|
|
315
|
-
exports.isTabKeyValue = edit_utils.isTabKeyValue;
|
|
316
|
-
exports.h = index.h;
|
|
317
320
|
exports.ViewportStore = viewport_store.ViewportStore;
|
|
318
321
|
exports.addMissingItems = viewport_store.addMissingItems;
|
|
319
322
|
exports.calculateRowHeaderSize = viewport_store.calculateRowHeaderSize;
|
|
323
|
+
exports.clampViewportCoordinate = viewport_store.clampViewportCoordinate;
|
|
320
324
|
exports.getFirstItem = viewport_store.getFirstItem;
|
|
321
325
|
exports.getItems = viewport_store.getItems;
|
|
322
326
|
exports.getLastItem = viewport_store.getLastItem;
|
|
323
327
|
exports.getUpdatedItemsByPosition = viewport_store.getUpdatedItemsByPosition;
|
|
328
|
+
exports.getViewportMaxCoordinate = viewport_store.getViewportMaxCoordinate;
|
|
324
329
|
exports.isActiveRange = viewport_store.isActiveRange;
|
|
325
330
|
exports.isActiveRangeOutsideLastItem = viewport_store.isActiveRangeOutsideLastItem;
|
|
326
331
|
exports.recombineByOffset = viewport_store.recombineByOffset;
|