@revolist/revogrid 4.1.0-next.4 → 4.1.0-next.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/custom-element/index.js +778 -634
- package/dist/cjs/{css-shim-e33df79c.js → css-shim-9670f2f3.js} +1 -1
- package/dist/cjs/{dom-c8b6d1a7.js → dom-3e7d9c3b.js} +1 -1
- package/dist/cjs/{filter.button-2396a488.js → filter.button-0f120ce0.js} +1 -1
- package/dist/cjs/{index-d3f67f2e.js → index-416980db.js} +80 -30
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/revo-grid.cjs.js +10 -7
- package/dist/cjs/revo-grid_11.cjs.entry.js +777 -633
- package/dist/cjs/revogr-clipboard.cjs.entry.js +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/button/button.d.ts +5 -0
- package/dist/collection/components/clipboard/revogr-clipboard.d.ts +13 -0
- package/dist/collection/components/data/cellRenderer.d.ts +11 -0
- package/dist/collection/components/data/cellRenderer.js +1 -1
- package/dist/collection/components/data/columnService.d.ts +42 -0
- package/dist/collection/components/data/columnService.js +27 -11
- package/dist/collection/components/data/revogr-data.d.ts +28 -0
- package/dist/collection/components/data/revogr-data.js +55 -14
- package/dist/collection/components/data/rowRenderer.d.ts +11 -0
- package/dist/collection/components/header/headerCellRenderer.d.ts +8 -0
- package/dist/collection/components/header/headerRenderer.d.ts +15 -0
- package/dist/collection/components/header/revogr-header.d.ts +25 -0
- package/dist/collection/components/header/revogr-header.js +44 -0
- package/dist/collection/components/order/orderRenderer.d.ts +28 -0
- package/dist/collection/components/order/revogr-order-editor.d.ts +44 -0
- package/dist/collection/components/order/rowOrderService.d.ts +27 -0
- package/dist/collection/components/overlay/autofill.service.d.ts +61 -0
- package/dist/collection/components/overlay/autofill.service.js +6 -7
- package/dist/collection/components/overlay/clipboard.service.d.ts +20 -0
- package/dist/collection/components/overlay/editors/edit.utils.d.ts +1 -0
- package/dist/collection/components/overlay/editors/text.d.ts +13 -0
- package/dist/collection/components/overlay/editors/text.js +1 -1
- package/dist/collection/components/overlay/keyboard.service.d.ts +28 -0
- package/dist/collection/components/overlay/keyboard.service.js +11 -10
- package/dist/collection/components/overlay/revogr-edit.d.ts +19 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.d.ts +79 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +4 -4
- package/dist/collection/components/overlay/selection.utils.d.ts +36 -0
- package/dist/collection/components/revoGrid/grid.helpers.d.ts +17 -0
- package/dist/collection/components/revoGrid/grid.helpers.js +11 -0
- package/dist/collection/components/revoGrid/revo-grid-style.css +1 -0
- package/dist/collection/components/revoGrid/revo-grid.d.ts +430 -0
- package/dist/collection/components/revoGrid/revo-grid.js +112 -55
- package/dist/collection/components/revoGrid/viewport.d.ts +19 -0
- package/dist/collection/components/revoGrid/viewport.helpers.d.ts +9 -0
- package/dist/collection/components/revoGrid/viewport.interfaces.d.ts +67 -0
- package/dist/collection/components/revoGrid/viewport.js +4 -2
- package/dist/collection/components/revoGrid/viewport.resize.service.d.ts +12 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.d.ts +23 -0
- package/dist/collection/components/revoGrid/viewport.section.d.ts +24 -0
- package/dist/collection/components/revoGrid/viewport.section.js +2 -1
- package/dist/collection/components/revoGrid/viewport.service.d.ts +65 -0
- package/dist/collection/components/revoGrid/viewport.service.js +13 -22
- package/dist/collection/components/rowHeaders/revogr-row-headers.d.ts +19 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +5 -4
- package/dist/collection/components/rowHeaders/row-header-render.d.ts +9 -0
- package/dist/collection/components/rowHeaders/row-header-utils.d.ts +2 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.d.ts +89 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +14 -4
- package/dist/collection/components/scrollable/revogr-scroll-virtual.d.ts +25 -0
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus.d.ts +11 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range.d.ts +13 -0
- package/dist/collection/components.d.ts +892 -0
- package/dist/collection/global/global.d.ts +1 -0
- package/dist/collection/index.d.ts +1 -0
- package/dist/collection/interfaces.d.ts +339 -0
- package/dist/collection/plugins/autoSizeColumn.js +1 -1
- package/dist/collection/plugins/export/export.plugin.js +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +1 -1
- package/dist/collection/plugins/stretchPlugin.js +1 -1
- package/dist/collection/services/cell.helpers.d.ts +2 -0
- package/dist/collection/services/column.data.provider.d.ts +37 -0
- package/dist/collection/services/column.data.provider.js +19 -18
- package/dist/collection/services/data.provider.d.ts +26 -0
- package/dist/collection/services/dimension.provider.d.ts +37 -0
- package/dist/collection/services/dimension.provider.js +13 -10
- package/dist/collection/services/localScrollService.d.ts +28 -0
- package/dist/collection/services/localScrollService.js +1 -1
- package/dist/collection/services/resizable.directive.d.ts +55 -0
- package/dist/collection/services/selection.store.connector.d.ts +56 -0
- package/dist/collection/services/selection.store.connector.js +42 -17
- package/dist/collection/services/viewport.provider.d.ts +10 -0
- package/dist/collection/services/viewport.provider.js +1 -1
- package/dist/collection/stencil-public-runtime.d.ts +1563 -0
- package/dist/collection/store/dataSource/data.proxy.d.ts +10 -0
- package/dist/collection/store/dataSource/data.store.d.ts +58 -0
- package/dist/collection/store/dimension/dimension.helpers.d.ts +14 -0
- package/dist/collection/store/dimension/dimension.helpers.js +14 -11
- package/dist/collection/store/dimension/dimension.store.d.ts +15 -0
- package/dist/collection/store/dimension/dimension.store.js +4 -1
- package/dist/collection/store/selection/selection.helpers.d.ts +8 -0
- package/dist/collection/store/selection/selection.store.d.ts +19 -0
- package/dist/collection/store/selection/selection.store.js +11 -6
- package/dist/collection/store/selection/selection.store.service.d.ts +18 -0
- package/dist/collection/store/storeTypes.d.ts +4 -0
- package/dist/collection/store/viewPort/viewport.helpers.d.ts +30 -0
- package/dist/collection/store/viewPort/viewport.store.d.ts +21 -0
- package/dist/collection/store/viewPort/viewport.store.js +37 -6
- package/dist/collection/themeManager/theme.compact.d.ts +4 -0
- package/dist/collection/themeManager/theme.default.d.ts +4 -0
- package/dist/collection/themeManager/theme.material.d.ts +4 -0
- package/dist/collection/themeManager/themeService.d.ts +13 -0
- package/dist/{esm-es5/index.js → collection/utils/closestPolifill.d.ts} +0 -0
- package/dist/collection/utils/consts.d.ts +20 -0
- package/dist/collection/utils/consts.js +1 -0
- package/dist/collection/utils/generateAlphabetHeader.d.ts +2 -0
- package/dist/{types/utils/utils.d.ts → collection/utils/index.d.ts} +13 -0
- package/dist/collection/utils/{utils.js → index.js} +13 -0
- package/dist/collection/utils/keyCodes.d.ts +68 -0
- package/dist/collection/utils/keyCodes.utils.d.ts +8 -0
- package/dist/collection/utils/platform.d.ts +4 -0
- package/dist/collection/utils/resizeObserver.d.ts +1 -0
- package/dist/collection/utils/store.utils.d.ts +6 -0
- package/dist/esm/{css-shim-8d75038b.js → css-shim-a7f418e3.js} +1 -1
- package/dist/esm/{dom-1b195079.js → dom-1f98a75f.js} +1 -1
- package/dist/esm/{filter.button-53ebca66.js → filter.button-a5e248dd.js} +1 -1
- package/dist/esm/{index-42c84e7c.js → index-daa8bdd4.js} +80 -30
- package/dist/esm/loader.js +4 -4
- package/dist/esm/revo-grid.js +10 -7
- package/dist/esm/revo-grid_11.entry.js +777 -633
- package/dist/esm/revogr-clipboard.entry.js +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +2 -2
- package/dist/index.js +1 -1
- package/dist/revo-grid/{css-shim-8d75038b.js → css-shim-a7f418e3.js} +0 -0
- package/dist/revo-grid/{dom-1b195079.js → dom-1f98a75f.js} +0 -0
- package/dist/revo-grid/{filter.button-1509c206.js → filter.button-bd0e2b0e.js} +1 -1
- package/dist/revo-grid/index-51ec8665.js +1 -0
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid_11.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard.entry.js +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/types/components/data/cellRenderer.d.ts +4 -1
- package/dist/types/components/data/columnService.d.ts +9 -9
- package/dist/types/components/data/revogr-data.d.ts +5 -6
- package/dist/types/components/header/revogr-header.d.ts +3 -5
- package/dist/types/components/revoGrid/grid.helpers.d.ts +5 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +25 -9
- package/dist/types/components/revoGrid/viewport.interfaces.d.ts +3 -2
- package/dist/types/components/revoGrid/viewport.service.d.ts +4 -7
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +8 -0
- package/dist/types/components.d.ts +30 -12
- package/dist/types/interfaces.d.ts +70 -168
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +1 -1
- package/dist/types/services/column.data.provider.d.ts +17 -20
- package/dist/types/services/dimension.provider.d.ts +3 -4
- package/dist/types/services/selection.store.connector.d.ts +18 -4
- package/dist/types/stencil-public-runtime.d.ts +183 -182
- package/dist/types/store/dataSource/data.store.d.ts +4 -16
- package/dist/types/store/dimension/dimension.helpers.d.ts +5 -3
- package/dist/types/store/dimension/dimension.store.d.ts +3 -5
- package/dist/types/store/selection/selection.store.d.ts +1 -1
- package/dist/types/store/viewPort/viewport.helpers.d.ts +1 -1
- package/dist/types/store/viewPort/viewport.store.d.ts +5 -2
- package/dist/types/utils/consts.d.ts +1 -0
- package/dist/types/utils/index.d.ts +21 -0
- package/loader/index.js +1 -1
- package/package.json +7 -6
- package/dist/esm-es5/css-shim-8d75038b.js +0 -1
- package/dist/esm-es5/dom-1b195079.js +0 -21
- package/dist/esm-es5/filter.button-53ebca66.js +0 -1
- package/dist/esm-es5/index-42c84e7c.js +0 -1
- package/dist/esm-es5/loader.js +0 -1
- package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
- package/dist/esm-es5/revo-grid.js +0 -1
- package/dist/esm-es5/revo-grid_11.entry.js +0 -1
- package/dist/esm-es5/revogr-clipboard.entry.js +0 -1
- package/dist/esm-es5/revogr-filter-panel.entry.js +0 -1
- package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
- package/dist/revo-grid/dom-ee2dd1b3.system.js +0 -21
- package/dist/revo-grid/filter.button-4bd87101.system.js +0 -1
- package/dist/revo-grid/index-a15e7527.system.js +0 -1
- package/dist/revo-grid/index-a7f99799.js +0 -1
- package/dist/revo-grid/index.system.js +0 -1
- package/dist/revo-grid/plugins/autoSizeColumn.d.ts +0 -54
- package/dist/revo-grid/plugins/basePlugin.d.ts +0 -46
- package/dist/revo-grid/plugins/export/csv.d.ts +0 -9
- package/dist/revo-grid/plugins/export/export.plugin.d.ts +0 -24
- package/dist/revo-grid/plugins/export/types.d.ts +0 -23
- package/dist/revo-grid/plugins/filter/conditions/equal.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/lessThan.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/set.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/conditions/string/beginswith.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/string/contains.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/filter.button.d.ts +0 -10
- package/dist/revo-grid/plugins/filter/filter.plugin.d.ts +0 -59
- package/dist/revo-grid/plugins/filter/filter.pop.d.ts +0 -42
- package/dist/revo-grid/plugins/filter/filter.service.d.ts +0 -20
- package/dist/revo-grid/plugins/filter/filter.types.d.ts +0 -8
- package/dist/revo-grid/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
- package/dist/revo-grid/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
- package/dist/revo-grid/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
- package/dist/revo-grid/plugins/groupingRow/grouping.const.d.ts +0 -9
- package/dist/revo-grid/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
- package/dist/revo-grid/plugins/groupingRow/grouping.row.plugin.d.ts +0 -43
- package/dist/revo-grid/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
- package/dist/revo-grid/plugins/groupingRow/grouping.row.types.d.ts +0 -19
- package/dist/revo-grid/plugins/groupingRow/grouping.service.d.ts +0 -25
- package/dist/revo-grid/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
- package/dist/revo-grid/plugins/sorting/sorting.plugin.d.ts +0 -32
- package/dist/revo-grid/plugins/sorting/sorting.sign.d.ts +0 -8
- package/dist/revo-grid/plugins/stretchPlugin.d.ts +0 -29
- package/dist/revo-grid/plugins/trimmed/trimmed.plugin.d.ts +0 -10
- package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
- package/dist/revo-grid/revo-grid.js +0 -132
- package/dist/revo-grid/revo-grid.system.js +0 -1
- package/dist/revo-grid/revo-grid_11.system.entry.js +0 -1
- package/dist/revo-grid/revogr-clipboard.system.entry.js +0 -1
- package/dist/revo-grid/revogr-filter-panel.system.entry.js +0 -1
package/custom-element/index.js
CHANGED
|
@@ -4316,17 +4316,31 @@ class ColumnDataProvider {
|
|
|
4316
4316
|
}
|
|
4317
4317
|
// columns processing
|
|
4318
4318
|
static getColumns(columns, level = 0, types) {
|
|
4319
|
+
const collection = {
|
|
4320
|
+
columns: {
|
|
4321
|
+
rgCol: [],
|
|
4322
|
+
colPinStart: [],
|
|
4323
|
+
colPinEnd: [],
|
|
4324
|
+
},
|
|
4325
|
+
columnGrouping: {
|
|
4326
|
+
rgCol: [],
|
|
4327
|
+
colPinStart: [],
|
|
4328
|
+
colPinEnd: [],
|
|
4329
|
+
},
|
|
4330
|
+
maxLevel: level,
|
|
4331
|
+
sort: {},
|
|
4332
|
+
};
|
|
4319
4333
|
return reduce_1(columns, (res, colData) => {
|
|
4320
|
-
|
|
4334
|
+
// Grouped column
|
|
4321
4335
|
if (GroupingColumnPlugin.isColGrouping(colData)) {
|
|
4322
4336
|
return GroupingColumnPlugin.gatherGroup(res, colData, ColumnDataProvider.getColumns(colData.children, level + 1, types), level);
|
|
4323
4337
|
}
|
|
4324
|
-
|
|
4338
|
+
// Regular column
|
|
4325
4339
|
const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
|
|
4326
|
-
//
|
|
4340
|
+
// Regular column, no Pin
|
|
4327
4341
|
if (!regularColumn.pin) {
|
|
4328
4342
|
res.columns.rgCol.push(regularColumn);
|
|
4329
|
-
//
|
|
4343
|
+
// Pin
|
|
4330
4344
|
}
|
|
4331
4345
|
else {
|
|
4332
4346
|
res.columns[regularColumn.pin].push(regularColumn);
|
|
@@ -4337,20 +4351,7 @@ class ColumnDataProvider {
|
|
|
4337
4351
|
// trigger setup hook if present
|
|
4338
4352
|
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
4339
4353
|
return res;
|
|
4340
|
-
},
|
|
4341
|
-
columns: {
|
|
4342
|
-
rgCol: [],
|
|
4343
|
-
colPinStart: [],
|
|
4344
|
-
colPinEnd: [],
|
|
4345
|
-
},
|
|
4346
|
-
columnGrouping: {
|
|
4347
|
-
rgCol: [],
|
|
4348
|
-
colPinStart: [],
|
|
4349
|
-
colPinEnd: [],
|
|
4350
|
-
},
|
|
4351
|
-
maxLevel: level,
|
|
4352
|
-
sort: {},
|
|
4353
|
-
});
|
|
4354
|
+
}, collection);
|
|
4354
4355
|
}
|
|
4355
4356
|
static getColumnType(rgCol) {
|
|
4356
4357
|
if (rgCol.pin) {
|
|
@@ -4405,424 +4406,71 @@ class DataProvider {
|
|
|
4405
4406
|
}
|
|
4406
4407
|
}
|
|
4407
4408
|
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH$2 - 1;
|
|
4409
|
+
var lodash = createCommonjsModule(function (module, exports) {
|
|
4410
|
+
(function() {
|
|
4411
4411
|
|
|
4412
|
-
|
|
4413
|
-
var
|
|
4414
|
-
nativeMin$1 = Math.min;
|
|
4412
|
+
/** Used as a safe reference for `undefined` in pre-ES5 environments. */
|
|
4413
|
+
var undefined$1;
|
|
4415
4414
|
|
|
4416
|
-
/**
|
|
4417
|
-
|
|
4418
|
-
* which invokes `iteratee` for `value` and each element of `array` to compute
|
|
4419
|
-
* their sort ranking. The iteratee is invoked with one argument; (value).
|
|
4420
|
-
*
|
|
4421
|
-
* @private
|
|
4422
|
-
* @param {Array} array The sorted array to inspect.
|
|
4423
|
-
* @param {*} value The value to evaluate.
|
|
4424
|
-
* @param {Function} iteratee The iteratee invoked per element.
|
|
4425
|
-
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
4426
|
-
* @returns {number} Returns the index at which `value` should be inserted
|
|
4427
|
-
* into `array`.
|
|
4428
|
-
*/
|
|
4429
|
-
function baseSortedIndexBy(array, value, iteratee, retHighest) {
|
|
4430
|
-
var low = 0,
|
|
4431
|
-
high = array == null ? 0 : array.length;
|
|
4432
|
-
if (high === 0) {
|
|
4433
|
-
return 0;
|
|
4434
|
-
}
|
|
4415
|
+
/** Used as the semantic version number. */
|
|
4416
|
+
var VERSION = '4.17.21';
|
|
4435
4417
|
|
|
4436
|
-
|
|
4437
|
-
var
|
|
4438
|
-
valIsNull = value === null,
|
|
4439
|
-
valIsSymbol = isSymbol_1(value),
|
|
4440
|
-
valIsUndefined = value === undefined;
|
|
4418
|
+
/** Used as the size to enable large array optimizations. */
|
|
4419
|
+
var LARGE_ARRAY_SIZE = 200;
|
|
4441
4420
|
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
othIsNull = computed === null,
|
|
4447
|
-
othIsReflexive = computed === computed,
|
|
4448
|
-
othIsSymbol = isSymbol_1(computed);
|
|
4421
|
+
/** Error message constants. */
|
|
4422
|
+
var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
|
|
4423
|
+
FUNC_ERROR_TEXT = 'Expected a function',
|
|
4424
|
+
INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';
|
|
4449
4425
|
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
} else if (valIsUndefined) {
|
|
4453
|
-
setLow = othIsReflexive && (retHighest || othIsDefined);
|
|
4454
|
-
} else if (valIsNull) {
|
|
4455
|
-
setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
|
|
4456
|
-
} else if (valIsSymbol) {
|
|
4457
|
-
setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
|
|
4458
|
-
} else if (othIsNull || othIsSymbol) {
|
|
4459
|
-
setLow = false;
|
|
4460
|
-
} else {
|
|
4461
|
-
setLow = retHighest ? (computed <= value) : (computed < value);
|
|
4462
|
-
}
|
|
4463
|
-
if (setLow) {
|
|
4464
|
-
low = mid + 1;
|
|
4465
|
-
} else {
|
|
4466
|
-
high = mid;
|
|
4467
|
-
}
|
|
4468
|
-
}
|
|
4469
|
-
return nativeMin$1(high, MAX_ARRAY_INDEX);
|
|
4470
|
-
}
|
|
4426
|
+
/** Used to stand-in for `undefined` hash values. */
|
|
4427
|
+
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
|
4471
4428
|
|
|
4472
|
-
|
|
4429
|
+
/** Used as the maximum memoize cache size. */
|
|
4430
|
+
var MAX_MEMOIZE_SIZE = 500;
|
|
4473
4431
|
|
|
4474
|
-
/** Used as
|
|
4475
|
-
var
|
|
4476
|
-
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH$1 >>> 1;
|
|
4432
|
+
/** Used as the internal argument placeholder. */
|
|
4433
|
+
var PLACEHOLDER = '__lodash_placeholder__';
|
|
4477
4434
|
|
|
4478
|
-
/**
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
*
|
|
4483
|
-
* @private
|
|
4484
|
-
* @param {Array} array The sorted array to inspect.
|
|
4485
|
-
* @param {*} value The value to evaluate.
|
|
4486
|
-
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
4487
|
-
* @returns {number} Returns the index at which `value` should be inserted
|
|
4488
|
-
* into `array`.
|
|
4489
|
-
*/
|
|
4490
|
-
function baseSortedIndex(array, value, retHighest) {
|
|
4491
|
-
var low = 0,
|
|
4492
|
-
high = array == null ? low : array.length;
|
|
4435
|
+
/** Used to compose bitmasks for cloning. */
|
|
4436
|
+
var CLONE_DEEP_FLAG = 1,
|
|
4437
|
+
CLONE_FLAT_FLAG = 2,
|
|
4438
|
+
CLONE_SYMBOLS_FLAG = 4;
|
|
4493
4439
|
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
computed = array[mid];
|
|
4440
|
+
/** Used to compose bitmasks for value comparisons. */
|
|
4441
|
+
var COMPARE_PARTIAL_FLAG = 1,
|
|
4442
|
+
COMPARE_UNORDERED_FLAG = 2;
|
|
4498
4443
|
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4444
|
+
/** Used to compose bitmasks for function metadata. */
|
|
4445
|
+
var WRAP_BIND_FLAG = 1,
|
|
4446
|
+
WRAP_BIND_KEY_FLAG = 2,
|
|
4447
|
+
WRAP_CURRY_BOUND_FLAG = 4,
|
|
4448
|
+
WRAP_CURRY_FLAG = 8,
|
|
4449
|
+
WRAP_CURRY_RIGHT_FLAG = 16,
|
|
4450
|
+
WRAP_PARTIAL_FLAG = 32,
|
|
4451
|
+
WRAP_PARTIAL_RIGHT_FLAG = 64,
|
|
4452
|
+
WRAP_ARY_FLAG = 128,
|
|
4453
|
+
WRAP_REARG_FLAG = 256,
|
|
4454
|
+
WRAP_FLIP_FLAG = 512;
|
|
4510
4455
|
|
|
4511
|
-
|
|
4456
|
+
/** Used as default options for `_.truncate`. */
|
|
4457
|
+
var DEFAULT_TRUNC_LENGTH = 30,
|
|
4458
|
+
DEFAULT_TRUNC_OMISSION = '...';
|
|
4512
4459
|
|
|
4513
|
-
/**
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
*
|
|
4517
|
-
* @static
|
|
4518
|
-
* @memberOf _
|
|
4519
|
-
* @since 0.1.0
|
|
4520
|
-
* @category Array
|
|
4521
|
-
* @param {Array} array The sorted array to inspect.
|
|
4522
|
-
* @param {*} value The value to evaluate.
|
|
4523
|
-
* @returns {number} Returns the index at which `value` should be inserted
|
|
4524
|
-
* into `array`.
|
|
4525
|
-
* @example
|
|
4526
|
-
*
|
|
4527
|
-
* _.sortedIndex([30, 50], 40);
|
|
4528
|
-
* // => 1
|
|
4529
|
-
*/
|
|
4530
|
-
function sortedIndex(array, value) {
|
|
4531
|
-
return _baseSortedIndex(array, value);
|
|
4532
|
-
}
|
|
4460
|
+
/** Used to detect hot functions by number of calls within a span of milliseconds. */
|
|
4461
|
+
var HOT_COUNT = 800,
|
|
4462
|
+
HOT_SPAN = 16;
|
|
4533
4463
|
|
|
4534
|
-
|
|
4464
|
+
/** Used to indicate the type of lazy iteratees. */
|
|
4465
|
+
var LAZY_FILTER_FLAG = 1,
|
|
4466
|
+
LAZY_MAP_FLAG = 2,
|
|
4467
|
+
LAZY_WHILE_FLAG = 3;
|
|
4535
4468
|
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
}
|
|
4542
|
-
function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
|
|
4543
|
-
const merged = [];
|
|
4544
|
-
let index1 = 0;
|
|
4545
|
-
let index2 = 0;
|
|
4546
|
-
let current = 0;
|
|
4547
|
-
while (current < arr1.length + arr2.length) {
|
|
4548
|
-
let isArr1Depleted = index1 >= arr1.length;
|
|
4549
|
-
let isArr2Depleted = index2 >= arr2.length;
|
|
4550
|
-
if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
|
|
4551
|
-
merged[current] = arr1[index1];
|
|
4552
|
-
index1++;
|
|
4553
|
-
}
|
|
4554
|
-
else {
|
|
4555
|
-
merged[current] = arr2[index2];
|
|
4556
|
-
index2++;
|
|
4557
|
-
}
|
|
4558
|
-
current++;
|
|
4559
|
-
}
|
|
4560
|
-
return merged;
|
|
4561
|
-
}
|
|
4562
|
-
/* Calculate system scrollbar width */
|
|
4563
|
-
function getScrollbarWidth(doc) {
|
|
4564
|
-
// Creating invisible container
|
|
4565
|
-
const outer = doc.createElement('div');
|
|
4566
|
-
const styles = outer.style;
|
|
4567
|
-
styles.visibility = 'hidden';
|
|
4568
|
-
styles.overflow = 'scroll'; // forcing scrollbar to appear
|
|
4569
|
-
styles.msOverflowStyle = 'scrollbar'; // needed for WinJS apps
|
|
4570
|
-
doc.body.appendChild(outer);
|
|
4571
|
-
// Creating inner element and placing it in the container
|
|
4572
|
-
const inner = doc.createElement('div');
|
|
4573
|
-
outer.appendChild(inner);
|
|
4574
|
-
// Calculating difference between container's full width and the child width
|
|
4575
|
-
const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;
|
|
4576
|
-
// Removing temporary elements from the DOM
|
|
4577
|
-
outer.parentNode.removeChild(outer);
|
|
4578
|
-
return scrollbarWidth;
|
|
4579
|
-
}
|
|
4580
|
-
/* Scale a value between 2 ranges
|
|
4581
|
-
*
|
|
4582
|
-
* Sample:
|
|
4583
|
-
* // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
|
|
4584
|
-
* const n = scaleValue(55, [0,100], [0,1000]);
|
|
4585
|
-
*
|
|
4586
|
-
* Ranges of two values
|
|
4587
|
-
* @from
|
|
4588
|
-
* @to
|
|
4589
|
-
*
|
|
4590
|
-
* ~~ return value does the equivalent of Math.floor but faster.
|
|
4591
|
-
*/
|
|
4592
|
-
function scaleValue(value, from, to) {
|
|
4593
|
-
return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
|
|
4594
|
-
}
|
|
4595
|
-
async function timeout(delay = 0) {
|
|
4596
|
-
await new Promise((r) => {
|
|
4597
|
-
setTimeout(() => r(), delay);
|
|
4598
|
-
});
|
|
4599
|
-
}
|
|
4600
|
-
|
|
4601
|
-
/**
|
|
4602
|
-
* Pre-calculation
|
|
4603
|
-
* Dimension sizes for each cell
|
|
4604
|
-
*/
|
|
4605
|
-
function calculateDimensionData(state, newSizes) {
|
|
4606
|
-
let positionIndexes = [];
|
|
4607
|
-
const positionIndexToItem = {};
|
|
4608
|
-
const indexToItem = {};
|
|
4609
|
-
// to compare how real width changed
|
|
4610
|
-
let newTotal = 0;
|
|
4611
|
-
// combine all sizes
|
|
4612
|
-
const sizes = Object.assign(Object.assign({}, state.sizes), newSizes);
|
|
4613
|
-
// prepare order sorted new sizes and calculate changed real size
|
|
4614
|
-
let newIndexes = [];
|
|
4615
|
-
each(newSizes, (size, index) => {
|
|
4616
|
-
// if first introduced custom size
|
|
4617
|
-
if (!state.sizes[index]) {
|
|
4618
|
-
newTotal += size - (state.realSize ? state.originItemSize : 0);
|
|
4619
|
-
newIndexes.splice(sortedIndex_1(newIndexes, parseInt(index, 10)), 0, parseInt(index, 10));
|
|
4620
|
-
}
|
|
4621
|
-
else {
|
|
4622
|
-
newTotal += size - state.sizes[index];
|
|
4623
|
-
}
|
|
4624
|
-
});
|
|
4625
|
-
// add order to cached order collection for faster linking
|
|
4626
|
-
const updatedIndexesCache = mergeSortedArray(state.indexes, newIndexes);
|
|
4627
|
-
// fill new coordinates
|
|
4628
|
-
reduce_1(updatedIndexesCache, (previous, itemIndex, i) => {
|
|
4629
|
-
const newItem = {
|
|
4630
|
-
itemIndex,
|
|
4631
|
-
start: 0,
|
|
4632
|
-
end: 0,
|
|
4633
|
-
};
|
|
4634
|
-
if (previous) {
|
|
4635
|
-
newItem.start = (itemIndex - previous.itemIndex - 1) * state.originItemSize + previous.end;
|
|
4636
|
-
}
|
|
4637
|
-
else {
|
|
4638
|
-
newItem.start = itemIndex * state.originItemSize;
|
|
4639
|
-
}
|
|
4640
|
-
newItem.end = newItem.start + sizes[itemIndex];
|
|
4641
|
-
positionIndexes.push(newItem.start);
|
|
4642
|
-
indexToItem[itemIndex] = positionIndexToItem[i] = newItem;
|
|
4643
|
-
return newItem;
|
|
4644
|
-
}, undefined);
|
|
4645
|
-
return {
|
|
4646
|
-
indexes: updatedIndexesCache,
|
|
4647
|
-
positionIndexes: [...positionIndexes],
|
|
4648
|
-
positionIndexToItem: Object.assign({}, positionIndexToItem),
|
|
4649
|
-
indexToItem,
|
|
4650
|
-
realSize: state.realSize + newTotal,
|
|
4651
|
-
sizes,
|
|
4652
|
-
};
|
|
4653
|
-
}
|
|
4654
|
-
function getItemByPosition({ indexes, positionIndexes, originItemSize, positionIndexToItem }, pos) {
|
|
4655
|
-
const item = {
|
|
4656
|
-
itemIndex: 0,
|
|
4657
|
-
start: 0,
|
|
4658
|
-
end: 0,
|
|
4659
|
-
};
|
|
4660
|
-
const currentPlace = indexes.length ? sortedIndex_1(positionIndexes, pos) : 0;
|
|
4661
|
-
// not found or first index
|
|
4662
|
-
if (!currentPlace) {
|
|
4663
|
-
item.itemIndex = Math.floor(pos / originItemSize);
|
|
4664
|
-
item.start = item.itemIndex * originItemSize;
|
|
4665
|
-
item.end = item.start + originItemSize;
|
|
4666
|
-
return item;
|
|
4667
|
-
}
|
|
4668
|
-
const positionItem = positionIndexToItem[currentPlace - 1];
|
|
4669
|
-
// if item has specified size
|
|
4670
|
-
if (positionItem.end > pos) {
|
|
4671
|
-
return positionItem;
|
|
4672
|
-
}
|
|
4673
|
-
// special size item was present before
|
|
4674
|
-
const relativePos = pos - positionItem.end;
|
|
4675
|
-
const relativeIndex = Math.floor(relativePos / originItemSize);
|
|
4676
|
-
item.itemIndex = positionItem.itemIndex + 1 + relativeIndex;
|
|
4677
|
-
item.start = positionItem.end + relativeIndex * originItemSize;
|
|
4678
|
-
item.end = item.start + originItemSize;
|
|
4679
|
-
return item;
|
|
4680
|
-
}
|
|
4681
|
-
function getItemByIndex(dimension, index) {
|
|
4682
|
-
let item = {
|
|
4683
|
-
itemIndex: index,
|
|
4684
|
-
start: 0,
|
|
4685
|
-
end: 0,
|
|
4686
|
-
};
|
|
4687
|
-
// if item has specified size
|
|
4688
|
-
if (dimension.indexToItem[index]) {
|
|
4689
|
-
return dimension.indexToItem[index];
|
|
4690
|
-
}
|
|
4691
|
-
const currentPlace = dimension.indexes.length ? sortedIndex_1(dimension.indexes, index) : 0;
|
|
4692
|
-
// not found or first index
|
|
4693
|
-
if (!currentPlace) {
|
|
4694
|
-
item.start = item.itemIndex * dimension.originItemSize;
|
|
4695
|
-
item.end = item.start + dimension.originItemSize;
|
|
4696
|
-
return item;
|
|
4697
|
-
}
|
|
4698
|
-
// special size item was present before
|
|
4699
|
-
const positionItem = dimension.indexToItem[dimension.indexes[currentPlace - 1]];
|
|
4700
|
-
item.start = positionItem.end + (index - positionItem.itemIndex - 1) * dimension.originItemSize;
|
|
4701
|
-
item.end = item.start + dimension.originItemSize;
|
|
4702
|
-
return item;
|
|
4703
|
-
}
|
|
4704
|
-
|
|
4705
|
-
/**
|
|
4706
|
-
* Storing pre-calculated
|
|
4707
|
-
* Dimension information and sizes
|
|
4708
|
-
*/
|
|
4709
|
-
function initialBase() {
|
|
4710
|
-
return {
|
|
4711
|
-
indexes: [],
|
|
4712
|
-
// item index to size
|
|
4713
|
-
sizes: {},
|
|
4714
|
-
// order in indexes[] to coordinate
|
|
4715
|
-
positionIndexToItem: {},
|
|
4716
|
-
// initial element to coordinate ^
|
|
4717
|
-
indexToItem: {},
|
|
4718
|
-
positionIndexes: [],
|
|
4719
|
-
};
|
|
4720
|
-
}
|
|
4721
|
-
function initialState$1() {
|
|
4722
|
-
return Object.assign(Object.assign({}, initialBase()), {
|
|
4723
|
-
// size which all items can take
|
|
4724
|
-
realSize: 0,
|
|
4725
|
-
// initial item size if it wasn't changed
|
|
4726
|
-
originItemSize: 0, frameOffset: 0 });
|
|
4727
|
-
}
|
|
4728
|
-
class DimensionStore {
|
|
4729
|
-
constructor() {
|
|
4730
|
-
this.store = createStore(initialState$1());
|
|
4731
|
-
}
|
|
4732
|
-
getCurrentState() {
|
|
4733
|
-
const state = initialState$1();
|
|
4734
|
-
const keys = Object.keys(state);
|
|
4735
|
-
return reduce_1(keys, (r, k) => {
|
|
4736
|
-
const data = this.store.get(k);
|
|
4737
|
-
r[k] = data;
|
|
4738
|
-
return r;
|
|
4739
|
-
}, state);
|
|
4740
|
-
}
|
|
4741
|
-
setRealSize(count) {
|
|
4742
|
-
let realSize = 0;
|
|
4743
|
-
for (let i = 0; i < count; i++) {
|
|
4744
|
-
realSize += this.store.get('sizes')[i] || this.store.get('originItemSize');
|
|
4745
|
-
}
|
|
4746
|
-
setStore(this.store, { realSize });
|
|
4747
|
-
}
|
|
4748
|
-
setStore(data) {
|
|
4749
|
-
setStore(this.store, data);
|
|
4750
|
-
}
|
|
4751
|
-
drop() {
|
|
4752
|
-
setStore(this.store, initialBase());
|
|
4753
|
-
}
|
|
4754
|
-
setDimensionSize(sizes) {
|
|
4755
|
-
const dimensionData = calculateDimensionData(this.getCurrentState(), sizes);
|
|
4756
|
-
setStore(this.store, dimensionData);
|
|
4757
|
-
return dimensionData;
|
|
4758
|
-
}
|
|
4759
|
-
}
|
|
4760
|
-
|
|
4761
|
-
var lodash = createCommonjsModule(function (module, exports) {
|
|
4762
|
-
(function() {
|
|
4763
|
-
|
|
4764
|
-
/** Used as a safe reference for `undefined` in pre-ES5 environments. */
|
|
4765
|
-
var undefined$1;
|
|
4766
|
-
|
|
4767
|
-
/** Used as the semantic version number. */
|
|
4768
|
-
var VERSION = '4.17.21';
|
|
4769
|
-
|
|
4770
|
-
/** Used as the size to enable large array optimizations. */
|
|
4771
|
-
var LARGE_ARRAY_SIZE = 200;
|
|
4772
|
-
|
|
4773
|
-
/** Error message constants. */
|
|
4774
|
-
var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
|
|
4775
|
-
FUNC_ERROR_TEXT = 'Expected a function',
|
|
4776
|
-
INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';
|
|
4777
|
-
|
|
4778
|
-
/** Used to stand-in for `undefined` hash values. */
|
|
4779
|
-
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
|
4780
|
-
|
|
4781
|
-
/** Used as the maximum memoize cache size. */
|
|
4782
|
-
var MAX_MEMOIZE_SIZE = 500;
|
|
4783
|
-
|
|
4784
|
-
/** Used as the internal argument placeholder. */
|
|
4785
|
-
var PLACEHOLDER = '__lodash_placeholder__';
|
|
4786
|
-
|
|
4787
|
-
/** Used to compose bitmasks for cloning. */
|
|
4788
|
-
var CLONE_DEEP_FLAG = 1,
|
|
4789
|
-
CLONE_FLAT_FLAG = 2,
|
|
4790
|
-
CLONE_SYMBOLS_FLAG = 4;
|
|
4791
|
-
|
|
4792
|
-
/** Used to compose bitmasks for value comparisons. */
|
|
4793
|
-
var COMPARE_PARTIAL_FLAG = 1,
|
|
4794
|
-
COMPARE_UNORDERED_FLAG = 2;
|
|
4795
|
-
|
|
4796
|
-
/** Used to compose bitmasks for function metadata. */
|
|
4797
|
-
var WRAP_BIND_FLAG = 1,
|
|
4798
|
-
WRAP_BIND_KEY_FLAG = 2,
|
|
4799
|
-
WRAP_CURRY_BOUND_FLAG = 4,
|
|
4800
|
-
WRAP_CURRY_FLAG = 8,
|
|
4801
|
-
WRAP_CURRY_RIGHT_FLAG = 16,
|
|
4802
|
-
WRAP_PARTIAL_FLAG = 32,
|
|
4803
|
-
WRAP_PARTIAL_RIGHT_FLAG = 64,
|
|
4804
|
-
WRAP_ARY_FLAG = 128,
|
|
4805
|
-
WRAP_REARG_FLAG = 256,
|
|
4806
|
-
WRAP_FLIP_FLAG = 512;
|
|
4807
|
-
|
|
4808
|
-
/** Used as default options for `_.truncate`. */
|
|
4809
|
-
var DEFAULT_TRUNC_LENGTH = 30,
|
|
4810
|
-
DEFAULT_TRUNC_OMISSION = '...';
|
|
4811
|
-
|
|
4812
|
-
/** Used to detect hot functions by number of calls within a span of milliseconds. */
|
|
4813
|
-
var HOT_COUNT = 800,
|
|
4814
|
-
HOT_SPAN = 16;
|
|
4815
|
-
|
|
4816
|
-
/** Used to indicate the type of lazy iteratees. */
|
|
4817
|
-
var LAZY_FILTER_FLAG = 1,
|
|
4818
|
-
LAZY_MAP_FLAG = 2,
|
|
4819
|
-
LAZY_WHILE_FLAG = 3;
|
|
4820
|
-
|
|
4821
|
-
/** Used as references for various `Number` constants. */
|
|
4822
|
-
var INFINITY = 1 / 0,
|
|
4823
|
-
MAX_SAFE_INTEGER = 9007199254740991,
|
|
4824
|
-
MAX_INTEGER = 1.7976931348623157e+308,
|
|
4825
|
-
NAN = 0 / 0;
|
|
4469
|
+
/** Used as references for various `Number` constants. */
|
|
4470
|
+
var INFINITY = 1 / 0,
|
|
4471
|
+
MAX_SAFE_INTEGER = 9007199254740991,
|
|
4472
|
+
MAX_INTEGER = 1.7976931348623157e+308,
|
|
4473
|
+
NAN = 0 / 0;
|
|
4826
4474
|
|
|
4827
4475
|
/** Used as references for the maximum length and index of an array. */
|
|
4828
4476
|
var MAX_ARRAY_LENGTH = 4294967295,
|
|
@@ -21948,22 +21596,388 @@ var lodash = createCommonjsModule(function (module, exports) {
|
|
|
21948
21596
|
}.call(commonjsGlobal));
|
|
21949
21597
|
});
|
|
21950
21598
|
|
|
21599
|
+
/** Used as references for the maximum length and index of an array. */
|
|
21600
|
+
var MAX_ARRAY_LENGTH$2 = 4294967295,
|
|
21601
|
+
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH$2 - 1;
|
|
21602
|
+
|
|
21603
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
21604
|
+
var nativeFloor = Math.floor,
|
|
21605
|
+
nativeMin$1 = Math.min;
|
|
21606
|
+
|
|
21607
|
+
/**
|
|
21608
|
+
* The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
|
|
21609
|
+
* which invokes `iteratee` for `value` and each element of `array` to compute
|
|
21610
|
+
* their sort ranking. The iteratee is invoked with one argument; (value).
|
|
21611
|
+
*
|
|
21612
|
+
* @private
|
|
21613
|
+
* @param {Array} array The sorted array to inspect.
|
|
21614
|
+
* @param {*} value The value to evaluate.
|
|
21615
|
+
* @param {Function} iteratee The iteratee invoked per element.
|
|
21616
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
21617
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
21618
|
+
* into `array`.
|
|
21619
|
+
*/
|
|
21620
|
+
function baseSortedIndexBy(array, value, iteratee, retHighest) {
|
|
21621
|
+
var low = 0,
|
|
21622
|
+
high = array == null ? 0 : array.length;
|
|
21623
|
+
if (high === 0) {
|
|
21624
|
+
return 0;
|
|
21625
|
+
}
|
|
21626
|
+
|
|
21627
|
+
value = iteratee(value);
|
|
21628
|
+
var valIsNaN = value !== value,
|
|
21629
|
+
valIsNull = value === null,
|
|
21630
|
+
valIsSymbol = isSymbol_1(value),
|
|
21631
|
+
valIsUndefined = value === undefined;
|
|
21632
|
+
|
|
21633
|
+
while (low < high) {
|
|
21634
|
+
var mid = nativeFloor((low + high) / 2),
|
|
21635
|
+
computed = iteratee(array[mid]),
|
|
21636
|
+
othIsDefined = computed !== undefined,
|
|
21637
|
+
othIsNull = computed === null,
|
|
21638
|
+
othIsReflexive = computed === computed,
|
|
21639
|
+
othIsSymbol = isSymbol_1(computed);
|
|
21640
|
+
|
|
21641
|
+
if (valIsNaN) {
|
|
21642
|
+
var setLow = retHighest || othIsReflexive;
|
|
21643
|
+
} else if (valIsUndefined) {
|
|
21644
|
+
setLow = othIsReflexive && (retHighest || othIsDefined);
|
|
21645
|
+
} else if (valIsNull) {
|
|
21646
|
+
setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
|
|
21647
|
+
} else if (valIsSymbol) {
|
|
21648
|
+
setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
|
|
21649
|
+
} else if (othIsNull || othIsSymbol) {
|
|
21650
|
+
setLow = false;
|
|
21651
|
+
} else {
|
|
21652
|
+
setLow = retHighest ? (computed <= value) : (computed < value);
|
|
21653
|
+
}
|
|
21654
|
+
if (setLow) {
|
|
21655
|
+
low = mid + 1;
|
|
21656
|
+
} else {
|
|
21657
|
+
high = mid;
|
|
21658
|
+
}
|
|
21659
|
+
}
|
|
21660
|
+
return nativeMin$1(high, MAX_ARRAY_INDEX);
|
|
21661
|
+
}
|
|
21662
|
+
|
|
21663
|
+
var _baseSortedIndexBy = baseSortedIndexBy;
|
|
21664
|
+
|
|
21665
|
+
/** Used as references for the maximum length and index of an array. */
|
|
21666
|
+
var MAX_ARRAY_LENGTH$1 = 4294967295,
|
|
21667
|
+
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH$1 >>> 1;
|
|
21668
|
+
|
|
21669
|
+
/**
|
|
21670
|
+
* The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
|
|
21671
|
+
* performs a binary search of `array` to determine the index at which `value`
|
|
21672
|
+
* should be inserted into `array` in order to maintain its sort order.
|
|
21673
|
+
*
|
|
21674
|
+
* @private
|
|
21675
|
+
* @param {Array} array The sorted array to inspect.
|
|
21676
|
+
* @param {*} value The value to evaluate.
|
|
21677
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
21678
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
21679
|
+
* into `array`.
|
|
21680
|
+
*/
|
|
21681
|
+
function baseSortedIndex(array, value, retHighest) {
|
|
21682
|
+
var low = 0,
|
|
21683
|
+
high = array == null ? low : array.length;
|
|
21684
|
+
|
|
21685
|
+
if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
|
|
21686
|
+
while (low < high) {
|
|
21687
|
+
var mid = (low + high) >>> 1,
|
|
21688
|
+
computed = array[mid];
|
|
21689
|
+
|
|
21690
|
+
if (computed !== null && !isSymbol_1(computed) &&
|
|
21691
|
+
(retHighest ? (computed <= value) : (computed < value))) {
|
|
21692
|
+
low = mid + 1;
|
|
21693
|
+
} else {
|
|
21694
|
+
high = mid;
|
|
21695
|
+
}
|
|
21696
|
+
}
|
|
21697
|
+
return high;
|
|
21698
|
+
}
|
|
21699
|
+
return _baseSortedIndexBy(array, value, identity_1, retHighest);
|
|
21700
|
+
}
|
|
21701
|
+
|
|
21702
|
+
var _baseSortedIndex = baseSortedIndex;
|
|
21703
|
+
|
|
21704
|
+
/**
|
|
21705
|
+
* Uses a binary search to determine the lowest index at which `value`
|
|
21706
|
+
* should be inserted into `array` in order to maintain its sort order.
|
|
21707
|
+
*
|
|
21708
|
+
* @static
|
|
21709
|
+
* @memberOf _
|
|
21710
|
+
* @since 0.1.0
|
|
21711
|
+
* @category Array
|
|
21712
|
+
* @param {Array} array The sorted array to inspect.
|
|
21713
|
+
* @param {*} value The value to evaluate.
|
|
21714
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
21715
|
+
* into `array`.
|
|
21716
|
+
* @example
|
|
21717
|
+
*
|
|
21718
|
+
* _.sortedIndex([30, 50], 40);
|
|
21719
|
+
* // => 1
|
|
21720
|
+
*/
|
|
21721
|
+
function sortedIndex(array, value) {
|
|
21722
|
+
return _baseSortedIndex(array, value);
|
|
21723
|
+
}
|
|
21724
|
+
|
|
21725
|
+
var sortedIndex_1 = sortedIndex;
|
|
21726
|
+
|
|
21727
|
+
// (arr1[index1] < arr2[index2])
|
|
21728
|
+
function simpleCompare(el1, el2) {
|
|
21729
|
+
return el1 < el2;
|
|
21730
|
+
}
|
|
21731
|
+
/**
|
|
21732
|
+
* Merge sorted array helper function
|
|
21733
|
+
*/
|
|
21734
|
+
function mergeSortedArray(arr1, arr2, compareFn = simpleCompare) {
|
|
21735
|
+
const merged = [];
|
|
21736
|
+
let index1 = 0;
|
|
21737
|
+
let index2 = 0;
|
|
21738
|
+
let current = 0;
|
|
21739
|
+
while (current < arr1.length + arr2.length) {
|
|
21740
|
+
let isArr1Depleted = index1 >= arr1.length;
|
|
21741
|
+
let isArr2Depleted = index2 >= arr2.length;
|
|
21742
|
+
if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {
|
|
21743
|
+
merged[current] = arr1[index1];
|
|
21744
|
+
index1++;
|
|
21745
|
+
}
|
|
21746
|
+
else {
|
|
21747
|
+
merged[current] = arr2[index2];
|
|
21748
|
+
index2++;
|
|
21749
|
+
}
|
|
21750
|
+
current++;
|
|
21751
|
+
}
|
|
21752
|
+
return merged;
|
|
21753
|
+
}
|
|
21754
|
+
/* Calculate system scrollbar width */
|
|
21755
|
+
function getScrollbarWidth(doc) {
|
|
21756
|
+
// Creating invisible container
|
|
21757
|
+
const outer = doc.createElement('div');
|
|
21758
|
+
const styles = outer.style;
|
|
21759
|
+
styles.visibility = 'hidden';
|
|
21760
|
+
styles.overflow = 'scroll'; // forcing scrollbar to appear
|
|
21761
|
+
styles.msOverflowStyle = 'scrollbar'; // needed for WinJS apps
|
|
21762
|
+
doc.body.appendChild(outer);
|
|
21763
|
+
// Creating inner element and placing it in the container
|
|
21764
|
+
const inner = doc.createElement('div');
|
|
21765
|
+
outer.appendChild(inner);
|
|
21766
|
+
// Calculating difference between container's full width and the child width
|
|
21767
|
+
const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;
|
|
21768
|
+
// Removing temporary elements from the DOM
|
|
21769
|
+
outer.parentNode.removeChild(outer);
|
|
21770
|
+
return scrollbarWidth;
|
|
21771
|
+
}
|
|
21772
|
+
/* Scale a value between 2 ranges
|
|
21773
|
+
*
|
|
21774
|
+
* Sample:
|
|
21775
|
+
* // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)
|
|
21776
|
+
* const n = scaleValue(55, [0,100], [0,1000]);
|
|
21777
|
+
*
|
|
21778
|
+
* Ranges of two values
|
|
21779
|
+
* @from
|
|
21780
|
+
* @to
|
|
21781
|
+
*
|
|
21782
|
+
* ~~ return value does the equivalent of Math.floor but faster.
|
|
21783
|
+
*/
|
|
21784
|
+
function scaleValue(value, from, to) {
|
|
21785
|
+
return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];
|
|
21786
|
+
}
|
|
21787
|
+
/**
|
|
21788
|
+
* Async timeout
|
|
21789
|
+
*/
|
|
21790
|
+
async function timeout(delay = 0) {
|
|
21791
|
+
await new Promise((r) => {
|
|
21792
|
+
setTimeout(() => r(), delay);
|
|
21793
|
+
});
|
|
21794
|
+
}
|
|
21795
|
+
|
|
21796
|
+
/**
|
|
21797
|
+
* Pre-calculation
|
|
21798
|
+
* Dimension sizes for each cell
|
|
21799
|
+
*/
|
|
21800
|
+
function calculateDimensionData({ sizes: oldSizes, indexes: oldIndexes, originItemSize, realSize }, newSizes = {}) {
|
|
21801
|
+
const positionIndexes = [];
|
|
21802
|
+
const positionIndexToItem = {};
|
|
21803
|
+
const indexToItem = {};
|
|
21804
|
+
// to compare how real width changed
|
|
21805
|
+
let newTotal = 0;
|
|
21806
|
+
// combine all sizes
|
|
21807
|
+
const sizes = Object.assign(Object.assign({}, oldSizes), newSizes);
|
|
21808
|
+
// prepare order sorted new sizes and calculate changed real size
|
|
21809
|
+
let newIndexes = [];
|
|
21810
|
+
each(newSizes, (size, index) => {
|
|
21811
|
+
// if first introduced custom size
|
|
21812
|
+
if (!oldSizes[index]) {
|
|
21813
|
+
newTotal += size - (realSize ? originItemSize : 0);
|
|
21814
|
+
newIndexes.splice(sortedIndex_1(newIndexes, parseInt(index, 10)), 0, parseInt(index, 10));
|
|
21815
|
+
}
|
|
21816
|
+
else {
|
|
21817
|
+
newTotal += size - oldSizes[index];
|
|
21818
|
+
}
|
|
21819
|
+
});
|
|
21820
|
+
// add order to cached order collection for faster linking
|
|
21821
|
+
const updatedIndexesCache = mergeSortedArray(oldIndexes, newIndexes);
|
|
21822
|
+
// fill new coordinates
|
|
21823
|
+
reduce_1(updatedIndexesCache, (previous, itemIndex, i) => {
|
|
21824
|
+
const newItem = {
|
|
21825
|
+
itemIndex,
|
|
21826
|
+
start: 0,
|
|
21827
|
+
end: 0,
|
|
21828
|
+
};
|
|
21829
|
+
if (previous) {
|
|
21830
|
+
newItem.start = (itemIndex - previous.itemIndex - 1) * originItemSize + previous.end;
|
|
21831
|
+
}
|
|
21832
|
+
else {
|
|
21833
|
+
newItem.start = itemIndex * originItemSize;
|
|
21834
|
+
}
|
|
21835
|
+
newItem.end = newItem.start + sizes[itemIndex];
|
|
21836
|
+
positionIndexes.push(newItem.start);
|
|
21837
|
+
indexToItem[itemIndex] = positionIndexToItem[i] = newItem;
|
|
21838
|
+
return newItem;
|
|
21839
|
+
}, undefined);
|
|
21840
|
+
return {
|
|
21841
|
+
indexes: updatedIndexesCache,
|
|
21842
|
+
positionIndexes: [...positionIndexes],
|
|
21843
|
+
positionIndexToItem: Object.assign({}, positionIndexToItem),
|
|
21844
|
+
indexToItem,
|
|
21845
|
+
realSize: realSize + newTotal,
|
|
21846
|
+
sizes,
|
|
21847
|
+
};
|
|
21848
|
+
}
|
|
21849
|
+
/**
|
|
21850
|
+
* Calculate item by position
|
|
21851
|
+
*/
|
|
21852
|
+
function getItemByPosition({ indexes, positionIndexes, originItemSize, positionIndexToItem }, pos) {
|
|
21853
|
+
const item = {
|
|
21854
|
+
itemIndex: 0,
|
|
21855
|
+
start: 0,
|
|
21856
|
+
end: 0,
|
|
21857
|
+
};
|
|
21858
|
+
const currentPlace = indexes.length ? sortedIndex_1(positionIndexes, pos) : 0;
|
|
21859
|
+
// not found or first index
|
|
21860
|
+
if (!currentPlace) {
|
|
21861
|
+
item.itemIndex = Math.floor(pos / originItemSize);
|
|
21862
|
+
item.start = item.itemIndex * originItemSize;
|
|
21863
|
+
item.end = item.start + originItemSize;
|
|
21864
|
+
return item;
|
|
21865
|
+
}
|
|
21866
|
+
const positionItem = positionIndexToItem[currentPlace - 1];
|
|
21867
|
+
// if item has specified size
|
|
21868
|
+
if (positionItem.end > pos) {
|
|
21869
|
+
return positionItem;
|
|
21870
|
+
}
|
|
21871
|
+
// special size item was present before
|
|
21872
|
+
const relativePos = pos - positionItem.end;
|
|
21873
|
+
const relativeIndex = Math.floor(relativePos / originItemSize);
|
|
21874
|
+
item.itemIndex = positionItem.itemIndex + 1 + relativeIndex;
|
|
21875
|
+
item.start = positionItem.end + relativeIndex * originItemSize;
|
|
21876
|
+
item.end = item.start + originItemSize;
|
|
21877
|
+
return item;
|
|
21878
|
+
}
|
|
21879
|
+
function getItemByIndex(dimension, index) {
|
|
21880
|
+
let item = {
|
|
21881
|
+
itemIndex: index,
|
|
21882
|
+
start: 0,
|
|
21883
|
+
end: 0,
|
|
21884
|
+
};
|
|
21885
|
+
// if item has specified size
|
|
21886
|
+
if (dimension.indexToItem[index]) {
|
|
21887
|
+
return dimension.indexToItem[index];
|
|
21888
|
+
}
|
|
21889
|
+
const currentPlace = dimension.indexes.length ? sortedIndex_1(dimension.indexes, index) : 0;
|
|
21890
|
+
// not found or first index
|
|
21891
|
+
if (!currentPlace) {
|
|
21892
|
+
item.start = item.itemIndex * dimension.originItemSize;
|
|
21893
|
+
item.end = item.start + dimension.originItemSize;
|
|
21894
|
+
return item;
|
|
21895
|
+
}
|
|
21896
|
+
// special size item was present before
|
|
21897
|
+
const positionItem = dimension.indexToItem[dimension.indexes[currentPlace - 1]];
|
|
21898
|
+
item.start = positionItem.end + (index - positionItem.itemIndex - 1) * dimension.originItemSize;
|
|
21899
|
+
item.end = item.start + dimension.originItemSize;
|
|
21900
|
+
return item;
|
|
21901
|
+
}
|
|
21902
|
+
|
|
21903
|
+
/**
|
|
21904
|
+
* Storing pre-calculated
|
|
21905
|
+
* Dimension information and sizes
|
|
21906
|
+
*/
|
|
21907
|
+
function initialBase() {
|
|
21908
|
+
return {
|
|
21909
|
+
indexes: [],
|
|
21910
|
+
// item index to size
|
|
21911
|
+
sizes: {},
|
|
21912
|
+
// order in indexes[] to coordinate
|
|
21913
|
+
positionIndexToItem: {},
|
|
21914
|
+
// initial element to coordinate ^
|
|
21915
|
+
indexToItem: {},
|
|
21916
|
+
positionIndexes: [],
|
|
21917
|
+
};
|
|
21918
|
+
}
|
|
21919
|
+
function initialState$1() {
|
|
21920
|
+
return Object.assign(Object.assign({}, initialBase()), {
|
|
21921
|
+
// size which all items can take
|
|
21922
|
+
realSize: 0,
|
|
21923
|
+
// initial item size if it wasn't changed
|
|
21924
|
+
originItemSize: 0 });
|
|
21925
|
+
}
|
|
21926
|
+
class DimensionStore {
|
|
21927
|
+
constructor() {
|
|
21928
|
+
this.store = createStore(initialState$1());
|
|
21929
|
+
}
|
|
21930
|
+
getCurrentState() {
|
|
21931
|
+
const state = initialState$1();
|
|
21932
|
+
const keys = Object.keys(state);
|
|
21933
|
+
return reduce_1(keys, (r, k) => {
|
|
21934
|
+
const data = this.store.get(k);
|
|
21935
|
+
r[k] = data;
|
|
21936
|
+
return r;
|
|
21937
|
+
}, state);
|
|
21938
|
+
}
|
|
21939
|
+
setRealSize(count) {
|
|
21940
|
+
let realSize = 0;
|
|
21941
|
+
for (let i = 0; i < count; i++) {
|
|
21942
|
+
realSize += this.store.get('sizes')[i] || this.store.get('originItemSize');
|
|
21943
|
+
}
|
|
21944
|
+
setStore(this.store, { realSize });
|
|
21945
|
+
}
|
|
21946
|
+
dispose() {
|
|
21947
|
+
setStore(this.store, initialState$1());
|
|
21948
|
+
}
|
|
21949
|
+
setStore(data) {
|
|
21950
|
+
setStore(this.store, data);
|
|
21951
|
+
}
|
|
21952
|
+
drop() {
|
|
21953
|
+
setStore(this.store, initialBase());
|
|
21954
|
+
}
|
|
21955
|
+
setDimensionSize(sizes) {
|
|
21956
|
+
const dimensionData = calculateDimensionData(this.getCurrentState(), sizes);
|
|
21957
|
+
setStore(this.store, dimensionData);
|
|
21958
|
+
return dimensionData;
|
|
21959
|
+
}
|
|
21960
|
+
}
|
|
21961
|
+
|
|
21951
21962
|
class DimensionProvider {
|
|
21952
21963
|
constructor(viewports, config) {
|
|
21953
21964
|
this.viewports = viewports;
|
|
21954
|
-
const sizeChanged = lodash.debounce(() => config.realSizeChanged(), 100);
|
|
21965
|
+
const sizeChanged = lodash.debounce((k) => config.realSizeChanged(k), 100);
|
|
21955
21966
|
this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
|
|
21956
21967
|
sources[k] = new DimensionStore();
|
|
21957
|
-
sources[k].store.onChange('realSize', () => sizeChanged());
|
|
21968
|
+
sources[k].store.onChange('realSize', () => sizeChanged(k));
|
|
21958
21969
|
return sources;
|
|
21959
21970
|
}, {});
|
|
21960
21971
|
}
|
|
21961
|
-
|
|
21962
|
-
|
|
21972
|
+
clearSize(t, count) {
|
|
21973
|
+
this.stores[t].drop();
|
|
21974
|
+
// after we done with drop trigger viewport recalculaction
|
|
21975
|
+
this.viewports.stores[t].setOriginalSizes(this.stores[t].store.get('originItemSize'));
|
|
21976
|
+
this.setRealSize(count, t);
|
|
21963
21977
|
}
|
|
21964
|
-
setDimensionSize(
|
|
21965
|
-
this.stores[
|
|
21966
|
-
this.viewports.stores[
|
|
21978
|
+
setDimensionSize(type, sizes) {
|
|
21979
|
+
this.stores[type].setDimensionSize(sizes);
|
|
21980
|
+
this.viewports.stores[type].setViewPortDimension(sizes);
|
|
21967
21981
|
}
|
|
21968
21982
|
setRealSize(realCount, type) {
|
|
21969
21983
|
this.viewports.stores[type].setViewport({ realCount });
|
|
@@ -22006,7 +22020,7 @@ class DimensionProvider {
|
|
|
22006
22020
|
return { y, x };
|
|
22007
22021
|
}
|
|
22008
22022
|
setColumns(type, sizes, noVirtual = false) {
|
|
22009
|
-
this.
|
|
22023
|
+
this.setDimensionSize(type, sizes);
|
|
22010
22024
|
if (noVirtual) {
|
|
22011
22025
|
this.setNoVirtual(type);
|
|
22012
22026
|
}
|
|
@@ -22225,7 +22239,7 @@ function getLastItem(s) {
|
|
|
22225
22239
|
* Viewport information for each dimension
|
|
22226
22240
|
* Redraw items during scrolling
|
|
22227
22241
|
*/
|
|
22228
|
-
function initialState() {
|
|
22242
|
+
function initialState(type) {
|
|
22229
22243
|
return {
|
|
22230
22244
|
// virtual item information per rendered item
|
|
22231
22245
|
items: [],
|
|
@@ -22238,12 +22252,15 @@ function initialState() {
|
|
|
22238
22252
|
realCount: 0,
|
|
22239
22253
|
// last coordinate for store position restore
|
|
22240
22254
|
lastCoordinate: 0,
|
|
22255
|
+
type
|
|
22241
22256
|
};
|
|
22242
22257
|
}
|
|
22243
22258
|
class ViewportStore {
|
|
22244
|
-
constructor() {
|
|
22245
|
-
this.store = createStore(initialState());
|
|
22246
|
-
this.store.onChange('realCount', () =>
|
|
22259
|
+
constructor(type) {
|
|
22260
|
+
this.store = createStore(initialState(type));
|
|
22261
|
+
this.store.onChange('realCount', () => {
|
|
22262
|
+
this.clear();
|
|
22263
|
+
});
|
|
22247
22264
|
}
|
|
22248
22265
|
/** Render viewport based on coordinate, this is main method for draw */
|
|
22249
22266
|
setViewPortCoordinate(position, dimension) {
|
|
@@ -22252,7 +22269,7 @@ class ViewportStore {
|
|
|
22252
22269
|
if (!virtualSize) {
|
|
22253
22270
|
return;
|
|
22254
22271
|
}
|
|
22255
|
-
const frameOffset =
|
|
22272
|
+
const frameOffset = 1;
|
|
22256
22273
|
const outsize = frameOffset * 2 * dimension.originItemSize;
|
|
22257
22274
|
virtualSize += outsize;
|
|
22258
22275
|
let maxCoordinate = virtualSize;
|
|
@@ -22288,7 +22305,9 @@ class ViewportStore {
|
|
|
22288
22305
|
}
|
|
22289
22306
|
}
|
|
22290
22307
|
}
|
|
22291
|
-
/**
|
|
22308
|
+
/**
|
|
22309
|
+
* Update viewport sizes
|
|
22310
|
+
*/
|
|
22292
22311
|
setViewPortDimension(sizes) {
|
|
22293
22312
|
const items = this.store.get('items');
|
|
22294
22313
|
const count = items.length;
|
|
@@ -22324,6 +22343,32 @@ class ViewportStore {
|
|
|
22324
22343
|
}
|
|
22325
22344
|
setStore(this.store, { items: [...items] });
|
|
22326
22345
|
}
|
|
22346
|
+
setOriginalSizes(size) {
|
|
22347
|
+
const items = this.store.get('items');
|
|
22348
|
+
const count = items.length;
|
|
22349
|
+
// viewport not inited
|
|
22350
|
+
if (!count) {
|
|
22351
|
+
return;
|
|
22352
|
+
}
|
|
22353
|
+
let i = 0;
|
|
22354
|
+
let start = this.store.get('start');
|
|
22355
|
+
let pos = this.store.get('lastCoordinate');
|
|
22356
|
+
// loop through array from initial item after recombination
|
|
22357
|
+
while (i < count) {
|
|
22358
|
+
const item = items[start];
|
|
22359
|
+
item.start = pos;
|
|
22360
|
+
item.size = size;
|
|
22361
|
+
item.end = item.start + size;
|
|
22362
|
+
pos = item.end;
|
|
22363
|
+
// loop by start index
|
|
22364
|
+
start++;
|
|
22365
|
+
i++;
|
|
22366
|
+
if (start === count) {
|
|
22367
|
+
start = 0;
|
|
22368
|
+
}
|
|
22369
|
+
}
|
|
22370
|
+
setStore(this.store, { items: [...items] });
|
|
22371
|
+
}
|
|
22327
22372
|
getItems() {
|
|
22328
22373
|
return {
|
|
22329
22374
|
items: this.store.get('items'),
|
|
@@ -22342,7 +22387,7 @@ class ViewportStore {
|
|
|
22342
22387
|
class ViewportProvider {
|
|
22343
22388
|
constructor() {
|
|
22344
22389
|
this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
|
|
22345
|
-
sources[k] = new ViewportStore();
|
|
22390
|
+
sources[k] = new ViewportStore(k);
|
|
22346
22391
|
return sources;
|
|
22347
22392
|
}, {});
|
|
22348
22393
|
}
|
|
@@ -22393,7 +22438,7 @@ class AutoSizeColumn extends BasePlugin {
|
|
|
22393
22438
|
this.columnSet(columns);
|
|
22394
22439
|
};
|
|
22395
22440
|
const headerDblClick = ({ detail }) => {
|
|
22396
|
-
const type = ColumnDataProvider.getColumnType(detail);
|
|
22441
|
+
const type = ColumnDataProvider.getColumnType(detail.column);
|
|
22397
22442
|
const size = this.getColumnSize(detail.index, type);
|
|
22398
22443
|
if (size) {
|
|
22399
22444
|
this.providers.dimensionProvider.setDimensionSize(type, {
|
|
@@ -23394,6 +23439,7 @@ const DATA_ROW = 'data-rgRow';
|
|
|
23394
23439
|
const UUID = 'grid-uuid';
|
|
23395
23440
|
const DISABLED_CLASS = 'disabled';
|
|
23396
23441
|
const CELL_CLASS = 'rgCell';
|
|
23442
|
+
const ROW_HEADER_TYPE = 'rowHeaders';
|
|
23397
23443
|
const HEADER_CLASS = 'rgHeaderCell';
|
|
23398
23444
|
const HEADER_SORTABLE_CLASS = 'sortable';
|
|
23399
23445
|
const HEADER_ROW_CLASS = 'header-rgRow';
|
|
@@ -24229,13 +24275,15 @@ const RevoViewPort = ({ viewports, dimensions, orderRef, nakedClick, registerEle
|
|
|
24229
24275
|
}
|
|
24230
24276
|
};
|
|
24231
24277
|
let el;
|
|
24278
|
+
const typeRow = 'rgRow';
|
|
24279
|
+
const typeCol = 'rgCol';
|
|
24232
24280
|
return [
|
|
24233
24281
|
h("div", { class: "main-viewport", ref: e => (el = e), onClick: e => viewPortClick(e, el) },
|
|
24234
24282
|
h("div", { class: "viewports" },
|
|
24235
24283
|
children,
|
|
24236
|
-
h("revogr-scroll-virtual", { class: "vertical", dimension:
|
|
24284
|
+
h("revogr-scroll-virtual", { class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => registerElement(el, 'rowScroll'), onScrollVirtual: e => onScroll(e.detail) }),
|
|
24237
24285
|
h(OrderRenderer, { ref: orderRef }))),
|
|
24238
|
-
h("revogr-scroll-virtual", { class: "horizontal", dimension:
|
|
24286
|
+
h("revogr-scroll-virtual", { class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => registerElement(el, 'colScroll'), onScrollVirtual: e => onScroll(e.detail) }),
|
|
24239
24287
|
];
|
|
24240
24288
|
};
|
|
24241
24289
|
|
|
@@ -24319,12 +24367,17 @@ class SelectionStore {
|
|
|
24319
24367
|
setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });
|
|
24320
24368
|
}
|
|
24321
24369
|
setFocus(focus, end) {
|
|
24322
|
-
|
|
24323
|
-
focus
|
|
24324
|
-
|
|
24325
|
-
|
|
24326
|
-
|
|
24327
|
-
|
|
24370
|
+
if (!end) {
|
|
24371
|
+
setStore(this.store, { focus });
|
|
24372
|
+
}
|
|
24373
|
+
else {
|
|
24374
|
+
setStore(this.store, {
|
|
24375
|
+
focus,
|
|
24376
|
+
range: getRange(focus, end),
|
|
24377
|
+
edit: null,
|
|
24378
|
+
tempRange: null,
|
|
24379
|
+
});
|
|
24380
|
+
}
|
|
24328
24381
|
}
|
|
24329
24382
|
setTempArea(range) {
|
|
24330
24383
|
setStore(this.store, { tempRange: range === null || range === void 0 ? void 0 : range.area, tempRangeType: range === null || range === void 0 ? void 0 : range.type, edit: null });
|
|
@@ -24366,6 +24419,12 @@ class SelectionStoreConnector {
|
|
|
24366
24419
|
this.stores = {};
|
|
24367
24420
|
this.columnStores = {};
|
|
24368
24421
|
this.rowStores = {};
|
|
24422
|
+
/**
|
|
24423
|
+
* Helpers for data conversion
|
|
24424
|
+
*/
|
|
24425
|
+
this.storesByType = {};
|
|
24426
|
+
this.storesXToType = {};
|
|
24427
|
+
this.storesYToType = {};
|
|
24369
24428
|
this.sections = [];
|
|
24370
24429
|
}
|
|
24371
24430
|
get focusedStore() {
|
|
@@ -24417,8 +24476,8 @@ class SelectionStoreConnector {
|
|
|
24417
24476
|
this.dirty = false;
|
|
24418
24477
|
}
|
|
24419
24478
|
}
|
|
24420
|
-
registerColumn(x) {
|
|
24421
|
-
// if hidden just create store
|
|
24479
|
+
registerColumn(x, type) {
|
|
24480
|
+
// if hidden just create store but no operations needed
|
|
24422
24481
|
if (isHiddenStore(x)) {
|
|
24423
24482
|
return new SelectionStore();
|
|
24424
24483
|
}
|
|
@@ -24426,9 +24485,12 @@ class SelectionStoreConnector {
|
|
|
24426
24485
|
return this.columnStores[x];
|
|
24427
24486
|
}
|
|
24428
24487
|
this.columnStores[x] = new SelectionStore();
|
|
24488
|
+
// build cross linking type to position
|
|
24489
|
+
this.storesByType[type] = x;
|
|
24490
|
+
this.storesXToType[x] = type;
|
|
24429
24491
|
return this.columnStores[x];
|
|
24430
24492
|
}
|
|
24431
|
-
registerRow(y) {
|
|
24493
|
+
registerRow(y, type) {
|
|
24432
24494
|
// if hidden just create store
|
|
24433
24495
|
if (isHiddenStore(y)) {
|
|
24434
24496
|
return new SelectionStore();
|
|
@@ -24437,6 +24499,9 @@ class SelectionStoreConnector {
|
|
|
24437
24499
|
return this.rowStores[y];
|
|
24438
24500
|
}
|
|
24439
24501
|
this.rowStores[y] = new SelectionStore();
|
|
24502
|
+
// build cross linking type to position
|
|
24503
|
+
this.storesByType[type] = y;
|
|
24504
|
+
this.storesYToType[y] = type;
|
|
24440
24505
|
return this.rowStores[y];
|
|
24441
24506
|
}
|
|
24442
24507
|
/**
|
|
@@ -24462,22 +24527,35 @@ class SelectionStoreConnector {
|
|
|
24462
24527
|
this.rowStores[y].setRangeArea(c);
|
|
24463
24528
|
});
|
|
24464
24529
|
// clean up on remove
|
|
24465
|
-
(_b = this.stores[y][x]) === null || _b === void 0 ? void 0 : _b.store.on('dispose', () =>
|
|
24466
|
-
var _a, _b;
|
|
24467
|
-
(_a = this.columnStores[x]) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
24468
|
-
(_b = this.rowStores[y]) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
24469
|
-
delete this.rowStores[y];
|
|
24470
|
-
delete this.columnStores[x];
|
|
24471
|
-
if (this.stores[y]) {
|
|
24472
|
-
delete this.stores[y][x];
|
|
24473
|
-
}
|
|
24474
|
-
// clear empty rows
|
|
24475
|
-
if (!Object.keys(this.stores[y] || {}).length) {
|
|
24476
|
-
delete this.stores[y];
|
|
24477
|
-
}
|
|
24478
|
-
});
|
|
24530
|
+
(_b = this.stores[y][x]) === null || _b === void 0 ? void 0 : _b.store.on('dispose', () => this.destroy(x, y));
|
|
24479
24531
|
return this.stores[y][x];
|
|
24480
24532
|
}
|
|
24533
|
+
destroy(x, y) {
|
|
24534
|
+
var _a, _b;
|
|
24535
|
+
(_a = this.columnStores[x]) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
24536
|
+
(_b = this.rowStores[y]) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
24537
|
+
delete this.rowStores[y];
|
|
24538
|
+
delete this.columnStores[x];
|
|
24539
|
+
// clear x cross link
|
|
24540
|
+
if (this.storesXToType[x]) {
|
|
24541
|
+
const type = this.storesXToType[x];
|
|
24542
|
+
delete this.storesXToType[x];
|
|
24543
|
+
delete this.storesByType[type];
|
|
24544
|
+
}
|
|
24545
|
+
// clear y cross link
|
|
24546
|
+
if (this.storesYToType[y]) {
|
|
24547
|
+
const type = this.storesYToType[y];
|
|
24548
|
+
delete this.storesYToType[y];
|
|
24549
|
+
delete this.storesByType[type];
|
|
24550
|
+
}
|
|
24551
|
+
if (this.stores[y]) {
|
|
24552
|
+
delete this.stores[y][x];
|
|
24553
|
+
}
|
|
24554
|
+
// clear empty rows
|
|
24555
|
+
if (!Object.keys(this.stores[y] || {}).length) {
|
|
24556
|
+
delete this.stores[y];
|
|
24557
|
+
}
|
|
24558
|
+
}
|
|
24481
24559
|
setEditByCell(storePos, editCell) {
|
|
24482
24560
|
this.focusByCell(storePos, editCell, editCell);
|
|
24483
24561
|
this.setEdit('');
|
|
@@ -24585,20 +24663,18 @@ class ViewportService {
|
|
|
24585
24663
|
constructor(sv, contentHeight) {
|
|
24586
24664
|
var _a, _b;
|
|
24587
24665
|
this.sv = sv;
|
|
24588
|
-
this.storesByType = {};
|
|
24589
|
-
this.storesXToType = {};
|
|
24590
|
-
this.storesYToType = {};
|
|
24591
24666
|
(_a = this.sv.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.beforeUpdate();
|
|
24592
24667
|
this.columns = this.getViewportColumnData(contentHeight);
|
|
24593
24668
|
(_b = this.sv.scrollingService) === null || _b === void 0 ? void 0 : _b.unregister();
|
|
24594
24669
|
}
|
|
24595
|
-
onColumnResize(type,
|
|
24670
|
+
onColumnResize(type, { detail }, store) {
|
|
24596
24671
|
var _a;
|
|
24597
|
-
(_a = this.sv.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setDimensionSize(type,
|
|
24598
|
-
const changedItems = lodash.reduce(
|
|
24599
|
-
const
|
|
24672
|
+
(_a = this.sv.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setDimensionSize(type, detail);
|
|
24673
|
+
const changedItems = lodash.reduce(detail || {}, (r, size, i) => {
|
|
24674
|
+
const index = parseInt(i, 10);
|
|
24675
|
+
const item = getSourceItem(store, index);
|
|
24600
24676
|
if (item) {
|
|
24601
|
-
r[
|
|
24677
|
+
r[index] = Object.assign(Object.assign({}, item), { size });
|
|
24602
24678
|
}
|
|
24603
24679
|
return r;
|
|
24604
24680
|
}, {});
|
|
@@ -24628,9 +24704,7 @@ class ViewportService {
|
|
|
24628
24704
|
colStore,
|
|
24629
24705
|
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
24630
24706
|
};
|
|
24631
|
-
|
|
24632
|
-
column.onResizeViewport = (e) => { var _a; return (_a = this.sv.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, { virtualSize: e.detail.size }); };
|
|
24633
|
-
}
|
|
24707
|
+
column.onResizeViewport = (e) => { var _a; return (_a = this.sv.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, { virtualSize: e.detail.size }); };
|
|
24634
24708
|
const colData = this.gatherColumnData(column);
|
|
24635
24709
|
const columnSelectionStore = this.registerCol(colData.position.x, val);
|
|
24636
24710
|
// render per each column data collections vertically
|
|
@@ -24659,17 +24733,11 @@ class ViewportService {
|
|
|
24659
24733
|
}
|
|
24660
24734
|
/** register selection store for Row */
|
|
24661
24735
|
registerRow(y, type) {
|
|
24662
|
-
|
|
24663
|
-
this.storesByType[type] = y;
|
|
24664
|
-
this.storesYToType[y] = type;
|
|
24665
|
-
return this.sv.selectionStoreConnector.registerRow(y).store;
|
|
24736
|
+
return this.sv.selectionStoreConnector.registerRow(y, type).store;
|
|
24666
24737
|
}
|
|
24667
24738
|
/** register selection store for Column */
|
|
24668
24739
|
registerCol(x, type) {
|
|
24669
|
-
|
|
24670
|
-
this.storesByType[type] = x;
|
|
24671
|
-
this.storesXToType[x] = type;
|
|
24672
|
-
return this.sv.selectionStoreConnector.registerColumn(x).store;
|
|
24740
|
+
return this.sv.selectionStoreConnector.registerColumn(x, type).store;
|
|
24673
24741
|
}
|
|
24674
24742
|
/** Collect Column data */
|
|
24675
24743
|
gatherColumnData(data) {
|
|
@@ -24696,6 +24764,7 @@ class ViewportService {
|
|
|
24696
24764
|
};
|
|
24697
24765
|
return {
|
|
24698
24766
|
prop,
|
|
24767
|
+
type: data.colType,
|
|
24699
24768
|
position: data.position,
|
|
24700
24769
|
headerProp,
|
|
24701
24770
|
parent,
|
|
@@ -24759,9 +24828,9 @@ class ViewportService {
|
|
|
24759
24828
|
if (!focused) {
|
|
24760
24829
|
return null;
|
|
24761
24830
|
}
|
|
24762
|
-
const colType = this.storesXToType[focused.position.x];
|
|
24831
|
+
const colType = this.sv.selectionStoreConnector.storesXToType[focused.position.x];
|
|
24763
24832
|
const column = this.sv.columnProvider.getColumn(focused.cell.x, colType);
|
|
24764
|
-
const rowType = this.storesYToType[focused.position.x];
|
|
24833
|
+
const rowType = this.sv.selectionStoreConnector.storesYToType[focused.position.x];
|
|
24765
24834
|
const model = this.sv.dataProvider.getModel(focused.cell.x, rowType);
|
|
24766
24835
|
return {
|
|
24767
24836
|
column,
|
|
@@ -24772,7 +24841,7 @@ class ViewportService {
|
|
|
24772
24841
|
};
|
|
24773
24842
|
}
|
|
24774
24843
|
getStoreCoordinateByType(colType, rowType) {
|
|
24775
|
-
const stores = this.storesByType;
|
|
24844
|
+
const stores = this.sv.selectionStoreConnector.storesByType;
|
|
24776
24845
|
const storeCoordinate = {
|
|
24777
24846
|
x: stores[colType],
|
|
24778
24847
|
y: stores[rowType],
|
|
@@ -24799,8 +24868,9 @@ const ViewPortSections = ({ resize, editors, rowClass, readonly, range, columns,
|
|
|
24799
24868
|
/** render viewports columns */
|
|
24800
24869
|
for (let view of columns) {
|
|
24801
24870
|
/** render viewports rows */
|
|
24871
|
+
const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: resize, columnFilter });
|
|
24802
24872
|
const dataViews = [
|
|
24803
|
-
h("revogr-header", Object.assign({
|
|
24873
|
+
h("revogr-header", Object.assign({}, headerProperties, { slot: HEADER_SLOT })),
|
|
24804
24874
|
];
|
|
24805
24875
|
view.dataPorts.forEach((data, j) => {
|
|
24806
24876
|
const key = view.prop.key + (j + 1);
|
|
@@ -24981,8 +25051,19 @@ const rowDefinitionByType = (newVal = []) => {
|
|
|
24981
25051
|
return r;
|
|
24982
25052
|
}, {});
|
|
24983
25053
|
};
|
|
25054
|
+
const rowDefinitionRemoveByType = (oldVal = []) => {
|
|
25055
|
+
return reduce_1(oldVal, (r, v) => {
|
|
25056
|
+
if (!r[v.type]) {
|
|
25057
|
+
r[v.type] = [];
|
|
25058
|
+
}
|
|
25059
|
+
if (v.size) {
|
|
25060
|
+
r[v.type].push(v.index);
|
|
25061
|
+
}
|
|
25062
|
+
return r;
|
|
25063
|
+
}, {});
|
|
25064
|
+
};
|
|
24984
25065
|
|
|
24985
|
-
const revoGridStyleCss = ".revo-drag-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:7px;background-size:cover;background-repeat:no-repeat}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#2ee072;border:1px solid #20d565}.revo-button.light{border:2px solid #cedefa;line-height:32px;background:none;color:#4876ca;box-shadow:none}revo-grid[theme=default]{font-size:12px}revo-grid[theme=default] revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#61656a}revo-grid[theme=default] revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #c0c0c0, -1px 0 0 0 #c0c0c0 inset, 0 -1px 0 0 #c0c0c0, 0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell{color:#61656a;box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] .rowHeaders revogr-header{box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #c0c0c0 inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data{text-align:center}revo-grid[theme=default] revogr-data .rgRow{line-height:27px;box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .viewports{width:100%}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=material] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=material] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .viewports{width:100%}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .viewports{width:100%}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkCompact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .viewports{width:100%}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=compact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-height:100%;display:flex;flex-direction:row;align-items:flex-start;max-width:100%}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:red}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}";
|
|
25066
|
+
const revoGridStyleCss = ".revo-drag-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:7px;background-size:cover;background-repeat:no-repeat}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#2ee072;border:1px solid #20d565}.revo-button.light{border:2px solid #cedefa;line-height:32px;background:none;color:#4876ca;box-shadow:none}revo-grid[theme=default]{font-size:12px}revo-grid[theme=default] revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#61656a}revo-grid[theme=default] revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #c0c0c0, -1px 0 0 0 #c0c0c0 inset, 0 -1px 0 0 #c0c0c0, 0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell{color:#61656a;box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] .rowHeaders revogr-header{box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #c0c0c0 inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data{text-align:center}revo-grid[theme=default] revogr-data .rgRow{line-height:27px;box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .viewports{width:100%}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=material] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=material] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .viewports{width:100%}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .viewports{width:100%}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkCompact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .viewports{width:100%}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=compact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-height:100%;display:flex;flex-direction:row;align-items:flex-start;max-width:100%}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:red;pointer-events:none}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}";
|
|
24986
25067
|
|
|
24987
25068
|
const RevoGridComponent = class extends HTMLElement {
|
|
24988
25069
|
constructor() {
|
|
@@ -24993,7 +25074,7 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
24993
25074
|
this.beforerangeedit = createEvent(this, "beforerangeedit", 7);
|
|
24994
25075
|
this.afteredit = createEvent(this, "afteredit", 7);
|
|
24995
25076
|
this.beforeautofill = createEvent(this, "beforeautofill", 7);
|
|
24996
|
-
this.
|
|
25077
|
+
this.beforeange = createEvent(this, "beforeange", 7);
|
|
24997
25078
|
this.roworderchanged = createEvent(this, "roworderchanged", 7);
|
|
24998
25079
|
this.beforesourcesortingapply = createEvent(this, "beforesourcesortingapply", 7);
|
|
24999
25080
|
this.beforesortingapply = createEvent(this, "beforesortingapply", 7);
|
|
@@ -25003,6 +25084,7 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25003
25084
|
this.beforecellfocus = createEvent(this, "beforecellfocus", 7);
|
|
25004
25085
|
this.beforefocuslost = createEvent(this, "beforefocuslost", 7);
|
|
25005
25086
|
this.beforesourceset = createEvent(this, "beforesourceset", 7);
|
|
25087
|
+
this.beforeAnySource = createEvent(this, "before-any-source", 7);
|
|
25006
25088
|
this.aftersourceset = createEvent(this, "aftersourceset", 7);
|
|
25007
25089
|
this.beforecolumnsset = createEvent(this, "beforecolumnsset", 7);
|
|
25008
25090
|
this.beforecolumnapplied = createEvent(this, "beforecolumnapplied", 7);
|
|
@@ -25015,6 +25097,7 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25015
25097
|
this.beforeexport = createEvent(this, "beforeexport", 7);
|
|
25016
25098
|
this.beforeeditstart = createEvent(this, "beforeeditstart", 7);
|
|
25017
25099
|
this.aftercolumnresize = createEvent(this, "aftercolumnresize", 7);
|
|
25100
|
+
this.beforerowdefinition = createEvent(this, "beforerowdefinition", 7);
|
|
25018
25101
|
/**
|
|
25019
25102
|
* Defines how many rows/columns should be rendered outside visible area.
|
|
25020
25103
|
*/
|
|
@@ -25342,13 +25425,13 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25342
25425
|
}
|
|
25343
25426
|
onRangeChanged(e) {
|
|
25344
25427
|
e.cancelBubble = true;
|
|
25345
|
-
const
|
|
25346
|
-
if (
|
|
25428
|
+
const beforeange = this.beforeange.emit(e.detail);
|
|
25429
|
+
if (beforeange.defaultPrevented) {
|
|
25347
25430
|
e.preventDefault();
|
|
25348
25431
|
}
|
|
25349
25432
|
const beforeFill = this.beforeautofill.emit(e.detail);
|
|
25350
25433
|
if (beforeFill.defaultPrevented) {
|
|
25351
|
-
|
|
25434
|
+
e.preventDefault();
|
|
25352
25435
|
}
|
|
25353
25436
|
}
|
|
25354
25437
|
onRowDropped(e) {
|
|
@@ -25389,39 +25472,55 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25389
25472
|
}
|
|
25390
25473
|
themeChanged(t) {
|
|
25391
25474
|
this.themeService.register(t);
|
|
25392
|
-
this.dimensionProvider.setSettings({ originItemSize: this.themeService.rowSize
|
|
25393
|
-
this.dimensionProvider.setSettings({ originItemSize: this.colSize
|
|
25394
|
-
}
|
|
25395
|
-
|
|
25396
|
-
let
|
|
25397
|
-
|
|
25398
|
-
|
|
25399
|
-
|
|
25400
|
-
|
|
25401
|
-
|
|
25402
|
-
|
|
25403
|
-
|
|
25404
|
-
|
|
25405
|
-
|
|
25406
|
-
|
|
25407
|
-
|
|
25408
|
-
|
|
25409
|
-
|
|
25410
|
-
|
|
25411
|
-
|
|
25412
|
-
|
|
25475
|
+
this.dimensionProvider.setSettings({ originItemSize: this.themeService.rowSize }, 'rgRow');
|
|
25476
|
+
this.dimensionProvider.setSettings({ originItemSize: this.colSize }, 'rgCol');
|
|
25477
|
+
}
|
|
25478
|
+
dataSourceChanged(newVal = [], _, watchName) {
|
|
25479
|
+
let type = 'rgRow';
|
|
25480
|
+
switch (watchName) {
|
|
25481
|
+
case 'pinnedBottomSource':
|
|
25482
|
+
type = 'rowPinEnd';
|
|
25483
|
+
break;
|
|
25484
|
+
case 'pinnedTopSource':
|
|
25485
|
+
type = 'rowPinStart';
|
|
25486
|
+
break;
|
|
25487
|
+
case 'source':
|
|
25488
|
+
type = 'rgRow';
|
|
25489
|
+
/** applied for source only for cross compatability between plugins */
|
|
25490
|
+
const beforesourceset = this.beforesourceset.emit({
|
|
25491
|
+
type,
|
|
25492
|
+
source: newVal,
|
|
25493
|
+
});
|
|
25494
|
+
newVal = beforesourceset.detail.source;
|
|
25495
|
+
break;
|
|
25496
|
+
}
|
|
25497
|
+
this.dataSourceApply(newVal, type);
|
|
25498
|
+
/** applied for source only for cross compatability between plugins */
|
|
25499
|
+
if (watchName === 'source') {
|
|
25500
|
+
this.aftersourceset.emit({
|
|
25501
|
+
type,
|
|
25502
|
+
source: newVal,
|
|
25503
|
+
});
|
|
25504
|
+
}
|
|
25413
25505
|
}
|
|
25414
|
-
rowDefChanged(
|
|
25506
|
+
rowDefChanged(after, before) {
|
|
25507
|
+
const { detail: { vals: newVal, oldVals: oldVal } } = this.beforerowdefinition.emit({
|
|
25508
|
+
vals: after,
|
|
25509
|
+
oldVals: before
|
|
25510
|
+
});
|
|
25511
|
+
// apply new vals
|
|
25512
|
+
const newRows = rowDefinitionByType(newVal);
|
|
25415
25513
|
// clear current defs
|
|
25416
25514
|
if (oldVal) {
|
|
25417
|
-
|
|
25418
|
-
|
|
25515
|
+
const remove = rowDefinitionRemoveByType(oldVal);
|
|
25516
|
+
// clear all old data and drop sizes
|
|
25517
|
+
each(remove, (_, t) => {
|
|
25518
|
+
this.dimensionProvider.clearSize(t, this.dataProvider.stores[t].store.get('source').length);
|
|
25519
|
+
});
|
|
25419
25520
|
}
|
|
25420
25521
|
if (!newVal.length) {
|
|
25421
25522
|
return;
|
|
25422
25523
|
}
|
|
25423
|
-
// apply new vals
|
|
25424
|
-
const newRows = rowDefinitionByType(newVal);
|
|
25425
25524
|
each(newRows, (r, k) => this.dimensionProvider.setDimensionSize(k, r.sizes || {}));
|
|
25426
25525
|
}
|
|
25427
25526
|
trimmedRowsChanged(newVal = {}) {
|
|
@@ -25466,13 +25565,21 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25466
25565
|
this.internalPlugins.splice(index, 1);
|
|
25467
25566
|
}
|
|
25468
25567
|
}
|
|
25568
|
+
dataSourceApply(source = [], type = 'rgRow') {
|
|
25569
|
+
const beforesourceset = this.beforeAnySource.emit({
|
|
25570
|
+
type,
|
|
25571
|
+
source,
|
|
25572
|
+
});
|
|
25573
|
+
const newSource = [...beforesourceset.detail.source];
|
|
25574
|
+
return this.dataProvider.setData(newSource, type);
|
|
25575
|
+
}
|
|
25469
25576
|
connectedCallback() {
|
|
25470
25577
|
this.viewportProvider = new ViewportProvider();
|
|
25471
25578
|
this.themeService = new ThemeService({
|
|
25472
25579
|
rowSize: this.rowSize,
|
|
25473
25580
|
});
|
|
25474
25581
|
const dimensionProviderConfig = {
|
|
25475
|
-
realSizeChanged: () => this.contentsizechanged.emit(),
|
|
25582
|
+
realSizeChanged: (k) => this.contentsizechanged.emit(k),
|
|
25476
25583
|
};
|
|
25477
25584
|
this.dimensionProvider = new DimensionProvider(this.viewportProvider, dimensionProviderConfig);
|
|
25478
25585
|
this.columnProvider = new ColumnDataProvider();
|
|
@@ -25511,9 +25618,9 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25511
25618
|
this.applyStretch(this.stretch);
|
|
25512
25619
|
this.themeChanged(this.theme);
|
|
25513
25620
|
this.columnChanged(this.columns);
|
|
25514
|
-
this.
|
|
25515
|
-
this.
|
|
25516
|
-
this.
|
|
25621
|
+
this.dataSourceChanged(this.source, undefined, 'source');
|
|
25622
|
+
this.dataSourceChanged(this.pinnedTopSource, undefined, 'pinnedTopSource');
|
|
25623
|
+
this.dataSourceChanged(this.pinnedBottomSource, undefined, 'pinnedBottomSource');
|
|
25517
25624
|
this.trimmedRowsChanged(this.trimmedRows);
|
|
25518
25625
|
this.rowDefChanged(this.rowDefinitions);
|
|
25519
25626
|
this.groupingChanged(this.grouping);
|
|
@@ -25569,9 +25676,9 @@ const RevoGridComponent = class extends HTMLElement {
|
|
|
25569
25676
|
static get watchers() { return {
|
|
25570
25677
|
"columns": ["columnChanged"],
|
|
25571
25678
|
"theme": ["themeChanged"],
|
|
25572
|
-
"source": ["
|
|
25573
|
-
"pinnedBottomSource": ["
|
|
25574
|
-
"pinnedTopSource": ["
|
|
25679
|
+
"source": ["dataSourceChanged"],
|
|
25680
|
+
"pinnedBottomSource": ["dataSourceChanged"],
|
|
25681
|
+
"pinnedTopSource": ["dataSourceChanged"],
|
|
25575
25682
|
"rowDefinitions": ["rowDefChanged"],
|
|
25576
25683
|
"trimmedRows": ["trimmedRowsChanged"],
|
|
25577
25684
|
"grouping": ["groupingChanged"],
|
|
@@ -25694,7 +25801,7 @@ class ColumnService {
|
|
|
25694
25801
|
}
|
|
25695
25802
|
return props;
|
|
25696
25803
|
}
|
|
25697
|
-
customRenderer(
|
|
25804
|
+
customRenderer(_, c, model, providers) {
|
|
25698
25805
|
var _a;
|
|
25699
25806
|
const tpl = (_a = this.columns[c]) === null || _a === void 0 ? void 0 : _a.cellTemplate;
|
|
25700
25807
|
if (tpl) {
|
|
@@ -25747,16 +25854,17 @@ class ColumnService {
|
|
|
25747
25854
|
rowIndex,
|
|
25748
25855
|
};
|
|
25749
25856
|
}
|
|
25750
|
-
getRangeData(d) {
|
|
25857
|
+
getRangeData(d, columns) {
|
|
25751
25858
|
const changed = {};
|
|
25752
25859
|
// get original length sizes
|
|
25753
|
-
const copyColLength = d.
|
|
25754
|
-
const
|
|
25755
|
-
const
|
|
25860
|
+
const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;
|
|
25861
|
+
const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;
|
|
25862
|
+
const mapping = {};
|
|
25756
25863
|
// rows
|
|
25757
25864
|
for (let rowIndex = d.newRange.y, i = 0; rowIndex < d.newRange.y1 + 1; rowIndex++, i++) {
|
|
25758
25865
|
// copy original data link
|
|
25759
|
-
const
|
|
25866
|
+
const oldRowIndex = d.oldRange.y + i % copyRowLength;
|
|
25867
|
+
const copyRow = getSourceItem(this.dataStore, oldRowIndex);
|
|
25760
25868
|
// columns
|
|
25761
25869
|
for (let colIndex = d.newRange.x, j = 0; colIndex < d.newRange.x1 + 1; colIndex++, j++) {
|
|
25762
25870
|
// check if old range area
|
|
@@ -25764,18 +25872,30 @@ class ColumnService {
|
|
|
25764
25872
|
continue;
|
|
25765
25873
|
}
|
|
25766
25874
|
const p = this.columns[colIndex].prop;
|
|
25767
|
-
const
|
|
25875
|
+
const copyColIndex = d.oldRange.x + j % copyColLength;
|
|
25876
|
+
const copyColumnProp = columns[copyColIndex].prop;
|
|
25768
25877
|
/** if can write */
|
|
25769
25878
|
if (!this.isReadOnly(rowIndex, colIndex)) {
|
|
25770
25879
|
/** to show before save */
|
|
25771
25880
|
if (!changed[rowIndex]) {
|
|
25772
25881
|
changed[rowIndex] = {};
|
|
25773
25882
|
}
|
|
25774
|
-
changed[rowIndex][p] = copyRow[
|
|
25883
|
+
changed[rowIndex][p] = copyRow[copyColumnProp];
|
|
25884
|
+
/** Generate mapping object */
|
|
25885
|
+
if (!mapping[rowIndex]) {
|
|
25886
|
+
mapping[rowIndex] = {};
|
|
25887
|
+
}
|
|
25888
|
+
mapping[rowIndex][p] = {
|
|
25889
|
+
colProp: copyColumnProp,
|
|
25890
|
+
rowIndex: oldRowIndex
|
|
25891
|
+
};
|
|
25775
25892
|
}
|
|
25776
25893
|
}
|
|
25777
25894
|
}
|
|
25778
|
-
return
|
|
25895
|
+
return {
|
|
25896
|
+
changed,
|
|
25897
|
+
mapping,
|
|
25898
|
+
};
|
|
25779
25899
|
}
|
|
25780
25900
|
getTransformedDataToApply(start, data) {
|
|
25781
25901
|
const changed = {};
|
|
@@ -25818,6 +25938,9 @@ class ColumnService {
|
|
|
25818
25938
|
const items = {};
|
|
25819
25939
|
for (let rowIndex in data) {
|
|
25820
25940
|
const oldModel = (items[rowIndex] = getSourceItem(this.dataStore, parseInt(rowIndex, 10)));
|
|
25941
|
+
if (!oldModel) {
|
|
25942
|
+
continue;
|
|
25943
|
+
}
|
|
25821
25944
|
for (let prop in data[rowIndex]) {
|
|
25822
25945
|
oldModel[prop] = data[rowIndex][prop];
|
|
25823
25946
|
}
|
|
@@ -25845,7 +25968,7 @@ class ColumnService {
|
|
|
25845
25968
|
}
|
|
25846
25969
|
copyRangeArray(range, rangeProps, store) {
|
|
25847
25970
|
const toCopy = [];
|
|
25848
|
-
for (let i = range.y; i
|
|
25971
|
+
for (let i = range.y; i <= range.y1; i++) {
|
|
25849
25972
|
const rgRow = [];
|
|
25850
25973
|
for (let prop of rangeProps) {
|
|
25851
25974
|
const item = getSourceItem(store, i);
|
|
@@ -25859,7 +25982,7 @@ class ColumnService {
|
|
|
25859
25982
|
if (typeof val === 'undefined' || val === null) {
|
|
25860
25983
|
return '';
|
|
25861
25984
|
}
|
|
25862
|
-
return val
|
|
25985
|
+
return val;
|
|
25863
25986
|
}
|
|
25864
25987
|
destroy() {
|
|
25865
25988
|
this.unsubscribe.forEach(f => f());
|
|
@@ -25869,7 +25992,7 @@ class ColumnService {
|
|
|
25869
25992
|
const CellRenderer = ({ model, onDragStart }) => {
|
|
25870
25993
|
const els = [];
|
|
25871
25994
|
if (model.column.rowDrag && isRowDragService(model.column.rowDrag, model)) {
|
|
25872
|
-
els.push(h("span", { class: DRAGGABLE_CLASS, onMouseDown: e => onDragStart(e) },
|
|
25995
|
+
els.push(h("span", { class: DRAGGABLE_CLASS, onMouseDown: e => onDragStart(Object.assign(Object.assign({}, e), { model })) },
|
|
25873
25996
|
h("span", { class: DRAG_ICON_CLASS })));
|
|
25874
25997
|
}
|
|
25875
25998
|
els.push(`${ColumnService.getData(model.model[model.prop])}`);
|
|
@@ -25920,6 +26043,7 @@ const RevogrData$1 = class extends HTMLElement {
|
|
|
25920
26043
|
super();
|
|
25921
26044
|
this.__registerHost();
|
|
25922
26045
|
this.dragStartCell = createEvent(this, "dragStartCell", 7);
|
|
26046
|
+
this.beforeRowRender = createEvent(this, "beforeRowRender", 7);
|
|
25923
26047
|
}
|
|
25924
26048
|
onStoreChange() {
|
|
25925
26049
|
var _a;
|
|
@@ -25944,10 +26068,10 @@ const RevogrData$1 = class extends HTMLElement {
|
|
|
25944
26068
|
const rowsEls = [];
|
|
25945
26069
|
const depth = this.dataStore.get('groupingDepth');
|
|
25946
26070
|
for (let rgRow of rows) {
|
|
25947
|
-
const
|
|
26071
|
+
const dataItem = getSourceItem(this.dataStore, rgRow.itemIndex);
|
|
25948
26072
|
/** grouping */
|
|
25949
|
-
if (isGrouping(
|
|
25950
|
-
rowsEls.push(h(GroupingRowRenderer, Object.assign({}, rgRow, { model:
|
|
26073
|
+
if (isGrouping(dataItem)) {
|
|
26074
|
+
rowsEls.push(h(GroupingRowRenderer, Object.assign({}, rgRow, { model: dataItem, hasExpand: this.columnService.hasGrouping })));
|
|
25951
26075
|
continue;
|
|
25952
26076
|
}
|
|
25953
26077
|
/** grouping end */
|
|
@@ -25959,7 +26083,13 @@ const RevogrData$1 = class extends HTMLElement {
|
|
|
25959
26083
|
for (let rgCol of cols) {
|
|
25960
26084
|
cells.push(this.getCellRenderer(rgRow, rgCol, /** grouping apply*/ this.columnService.hasGrouping ? depth : 0));
|
|
25961
26085
|
}
|
|
25962
|
-
|
|
26086
|
+
const row = h(RowRenderer, { rowClass: rowClass, size: rgRow.size, start: rgRow.start }, cells);
|
|
26087
|
+
this.beforeRowRender.emit({
|
|
26088
|
+
node: row,
|
|
26089
|
+
item: rgRow,
|
|
26090
|
+
dataItem
|
|
26091
|
+
});
|
|
26092
|
+
rowsEls.push(row);
|
|
25963
26093
|
}
|
|
25964
26094
|
return rowsEls;
|
|
25965
26095
|
}
|
|
@@ -25992,6 +26122,8 @@ const RevogrData$1 = class extends HTMLElement {
|
|
|
25992
26122
|
}
|
|
25993
26123
|
get providers() {
|
|
25994
26124
|
return {
|
|
26125
|
+
type: this.type,
|
|
26126
|
+
data: this.dataStore,
|
|
25995
26127
|
viewport: this.viewportCol,
|
|
25996
26128
|
dimension: this.dimensionRow,
|
|
25997
26129
|
selection: this.rowSelectionStore,
|
|
@@ -27061,7 +27193,7 @@ const GroupHeaderRenderer = (p) => {
|
|
|
27061
27193
|
},
|
|
27062
27194
|
onResize: p.onResize,
|
|
27063
27195
|
};
|
|
27064
|
-
return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { providers: p.providers, index: p.start }), props: groupProps }));
|
|
27196
|
+
return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps }));
|
|
27065
27197
|
};
|
|
27066
27198
|
|
|
27067
27199
|
const ColumnGroupsRenderer = ({ providers, depth, groups, visibleProps, dimensionCol, canResize, onResize }) => {
|
|
@@ -27097,11 +27229,17 @@ const RevogrHeaderComponent = class extends HTMLElement {
|
|
|
27097
27229
|
this.__registerHost();
|
|
27098
27230
|
this.initialHeaderClick = createEvent(this, "initialHeaderClick", 7);
|
|
27099
27231
|
this.headerresize = createEvent(this, "headerresize", 7);
|
|
27232
|
+
this.beforeResize = createEvent(this, "before-resize", 7);
|
|
27100
27233
|
this.headerdblClick = createEvent(this, "headerdblClick", 7);
|
|
27101
27234
|
this.parent = '';
|
|
27102
27235
|
this.groupingDepth = 0;
|
|
27103
27236
|
}
|
|
27104
27237
|
onResize({ width }, index) {
|
|
27238
|
+
const col = this.colData[index];
|
|
27239
|
+
const event = this.beforeResize.emit([Object.assign(Object.assign({}, col), { size: width || undefined })]);
|
|
27240
|
+
if (event.defaultPrevented) {
|
|
27241
|
+
return;
|
|
27242
|
+
}
|
|
27105
27243
|
this.headerresize.emit({ [index]: width || 0 });
|
|
27106
27244
|
}
|
|
27107
27245
|
onResizeGroup(changedX, startIndex, endIndex) {
|
|
@@ -27135,6 +27273,8 @@ const RevogrHeaderComponent = class extends HTMLElement {
|
|
|
27135
27273
|
}
|
|
27136
27274
|
get providers() {
|
|
27137
27275
|
return {
|
|
27276
|
+
type: this.type,
|
|
27277
|
+
data: this.colData,
|
|
27138
27278
|
viewport: this.viewportCol,
|
|
27139
27279
|
dimension: this.dimensionCol,
|
|
27140
27280
|
selection: this.selectionStore,
|
|
@@ -27558,17 +27698,9 @@ class KeyboardService {
|
|
|
27558
27698
|
this.ctrlDown = false;
|
|
27559
27699
|
}
|
|
27560
27700
|
async keyDown(e, canRange) {
|
|
27561
|
-
if (!this.sv.selectionStoreService.focused) {
|
|
27562
|
-
return;
|
|
27563
|
-
}
|
|
27564
27701
|
if (isCtrlKey(e.keyCode, navigator.platform)) {
|
|
27565
27702
|
this.ctrlDown = true;
|
|
27566
27703
|
}
|
|
27567
|
-
// tab key means same as arrow right
|
|
27568
|
-
if (codesLetter.TAB === e.code) {
|
|
27569
|
-
this.keyChangeSelection(e, canRange);
|
|
27570
|
-
return;
|
|
27571
|
-
}
|
|
27572
27704
|
/**
|
|
27573
27705
|
* IF EDIT MODE
|
|
27574
27706
|
*/
|
|
@@ -27584,10 +27716,19 @@ class KeyboardService {
|
|
|
27584
27716
|
* IF NOT EDIT MODE
|
|
27585
27717
|
*/
|
|
27586
27718
|
// pressed clear key
|
|
27587
|
-
if (isClear(e.code)) {
|
|
27719
|
+
if (this.sv.selectionStoreService.ranged && isClear(e.code)) {
|
|
27588
27720
|
this.sv.clearCell();
|
|
27589
27721
|
return;
|
|
27590
27722
|
}
|
|
27723
|
+
// below works with focus only
|
|
27724
|
+
if (!this.sv.selectionStoreService.focused) {
|
|
27725
|
+
return;
|
|
27726
|
+
}
|
|
27727
|
+
// tab key means same as arrow right
|
|
27728
|
+
if (codesLetter.TAB === e.code) {
|
|
27729
|
+
this.keyChangeSelection(e, canRange);
|
|
27730
|
+
return;
|
|
27731
|
+
}
|
|
27591
27732
|
// pressed enter
|
|
27592
27733
|
if (isEnterKey(e.code)) {
|
|
27593
27734
|
this.sv.doEdit();
|
|
@@ -27676,72 +27817,6 @@ class KeyboardService {
|
|
|
27676
27817
|
}
|
|
27677
27818
|
}
|
|
27678
27819
|
|
|
27679
|
-
/**
|
|
27680
|
-
* The base implementation of `_.slice` without an iteratee call guard.
|
|
27681
|
-
*
|
|
27682
|
-
* @private
|
|
27683
|
-
* @param {Array} array The array to slice.
|
|
27684
|
-
* @param {number} [start=0] The start position.
|
|
27685
|
-
* @param {number} [end=array.length] The end position.
|
|
27686
|
-
* @returns {Array} Returns the slice of `array`.
|
|
27687
|
-
*/
|
|
27688
|
-
function baseSlice(array, start, end) {
|
|
27689
|
-
var index = -1,
|
|
27690
|
-
length = array.length;
|
|
27691
|
-
|
|
27692
|
-
if (start < 0) {
|
|
27693
|
-
start = -start > length ? 0 : (length + start);
|
|
27694
|
-
}
|
|
27695
|
-
end = end > length ? length : end;
|
|
27696
|
-
if (end < 0) {
|
|
27697
|
-
end += length;
|
|
27698
|
-
}
|
|
27699
|
-
length = start > end ? 0 : ((end - start) >>> 0);
|
|
27700
|
-
start >>>= 0;
|
|
27701
|
-
|
|
27702
|
-
var result = Array(length);
|
|
27703
|
-
while (++index < length) {
|
|
27704
|
-
result[index] = array[index + start];
|
|
27705
|
-
}
|
|
27706
|
-
return result;
|
|
27707
|
-
}
|
|
27708
|
-
|
|
27709
|
-
var _baseSlice = baseSlice;
|
|
27710
|
-
|
|
27711
|
-
/**
|
|
27712
|
-
* Creates a slice of `array` from `start` up to, but not including, `end`.
|
|
27713
|
-
*
|
|
27714
|
-
* **Note:** This method is used instead of
|
|
27715
|
-
* [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
|
|
27716
|
-
* returned.
|
|
27717
|
-
*
|
|
27718
|
-
* @static
|
|
27719
|
-
* @memberOf _
|
|
27720
|
-
* @since 3.0.0
|
|
27721
|
-
* @category Array
|
|
27722
|
-
* @param {Array} array The array to slice.
|
|
27723
|
-
* @param {number} [start=0] The start position.
|
|
27724
|
-
* @param {number} [end=array.length] The end position.
|
|
27725
|
-
* @returns {Array} Returns the slice of `array`.
|
|
27726
|
-
*/
|
|
27727
|
-
function slice(array, start, end) {
|
|
27728
|
-
var length = array == null ? 0 : array.length;
|
|
27729
|
-
if (!length) {
|
|
27730
|
-
return [];
|
|
27731
|
-
}
|
|
27732
|
-
if (end && typeof end != 'number' && _isIterateeCall(array, start, end)) {
|
|
27733
|
-
start = 0;
|
|
27734
|
-
end = length;
|
|
27735
|
-
}
|
|
27736
|
-
else {
|
|
27737
|
-
start = start == null ? 0 : toInteger_1(start);
|
|
27738
|
-
end = end === undefined ? length : toInteger_1(end);
|
|
27739
|
-
}
|
|
27740
|
-
return _baseSlice(array, start, end);
|
|
27741
|
-
}
|
|
27742
|
-
|
|
27743
|
-
var slice_1 = slice;
|
|
27744
|
-
|
|
27745
27820
|
var AutoFillType;
|
|
27746
27821
|
(function (AutoFillType) {
|
|
27747
27822
|
AutoFillType["selection"] = "Selection";
|
|
@@ -27889,18 +27964,18 @@ class AutoFillService {
|
|
|
27889
27964
|
}
|
|
27890
27965
|
const oldRange = this.sv.selectionStoreService.ranged;
|
|
27891
27966
|
const newRange = getRange(start, end);
|
|
27892
|
-
const columns = [...this.sv.columnService.columns];
|
|
27893
27967
|
const rangeData = {
|
|
27894
27968
|
type: this.sv.dataStore.get('type'),
|
|
27895
27969
|
newData: {},
|
|
27970
|
+
mapping: {},
|
|
27896
27971
|
newRange,
|
|
27897
27972
|
oldRange,
|
|
27898
|
-
newProps: slice_1(columns, newRange.x, newRange.x1 + 1).map(v => v.prop),
|
|
27899
|
-
oldProps: slice_1(columns, oldRange.x, oldRange.x1 + 1).map(v => v.prop),
|
|
27900
27973
|
};
|
|
27901
|
-
|
|
27902
|
-
|
|
27903
|
-
|
|
27974
|
+
const { mapping, changed } = this.sv.columnService.getRangeData(rangeData, this.sv.columnService.columns);
|
|
27975
|
+
rangeData.newData = changed;
|
|
27976
|
+
rangeData.mapping = mapping;
|
|
27977
|
+
const e = this.sv.internalSelectionChanged(rangeData);
|
|
27978
|
+
if (e.defaultPrevented) {
|
|
27904
27979
|
this.sv.setTempRange(null);
|
|
27905
27980
|
return;
|
|
27906
27981
|
}
|
|
@@ -27917,6 +27992,72 @@ class AutoFillService {
|
|
|
27917
27992
|
}
|
|
27918
27993
|
}
|
|
27919
27994
|
|
|
27995
|
+
/**
|
|
27996
|
+
* The base implementation of `_.slice` without an iteratee call guard.
|
|
27997
|
+
*
|
|
27998
|
+
* @private
|
|
27999
|
+
* @param {Array} array The array to slice.
|
|
28000
|
+
* @param {number} [start=0] The start position.
|
|
28001
|
+
* @param {number} [end=array.length] The end position.
|
|
28002
|
+
* @returns {Array} Returns the slice of `array`.
|
|
28003
|
+
*/
|
|
28004
|
+
function baseSlice(array, start, end) {
|
|
28005
|
+
var index = -1,
|
|
28006
|
+
length = array.length;
|
|
28007
|
+
|
|
28008
|
+
if (start < 0) {
|
|
28009
|
+
start = -start > length ? 0 : (length + start);
|
|
28010
|
+
}
|
|
28011
|
+
end = end > length ? length : end;
|
|
28012
|
+
if (end < 0) {
|
|
28013
|
+
end += length;
|
|
28014
|
+
}
|
|
28015
|
+
length = start > end ? 0 : ((end - start) >>> 0);
|
|
28016
|
+
start >>>= 0;
|
|
28017
|
+
|
|
28018
|
+
var result = Array(length);
|
|
28019
|
+
while (++index < length) {
|
|
28020
|
+
result[index] = array[index + start];
|
|
28021
|
+
}
|
|
28022
|
+
return result;
|
|
28023
|
+
}
|
|
28024
|
+
|
|
28025
|
+
var _baseSlice = baseSlice;
|
|
28026
|
+
|
|
28027
|
+
/**
|
|
28028
|
+
* Creates a slice of `array` from `start` up to, but not including, `end`.
|
|
28029
|
+
*
|
|
28030
|
+
* **Note:** This method is used instead of
|
|
28031
|
+
* [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
|
|
28032
|
+
* returned.
|
|
28033
|
+
*
|
|
28034
|
+
* @static
|
|
28035
|
+
* @memberOf _
|
|
28036
|
+
* @since 3.0.0
|
|
28037
|
+
* @category Array
|
|
28038
|
+
* @param {Array} array The array to slice.
|
|
28039
|
+
* @param {number} [start=0] The start position.
|
|
28040
|
+
* @param {number} [end=array.length] The end position.
|
|
28041
|
+
* @returns {Array} Returns the slice of `array`.
|
|
28042
|
+
*/
|
|
28043
|
+
function slice(array, start, end) {
|
|
28044
|
+
var length = array == null ? 0 : array.length;
|
|
28045
|
+
if (!length) {
|
|
28046
|
+
return [];
|
|
28047
|
+
}
|
|
28048
|
+
if (end && typeof end != 'number' && _isIterateeCall(array, start, end)) {
|
|
28049
|
+
start = 0;
|
|
28050
|
+
end = length;
|
|
28051
|
+
}
|
|
28052
|
+
else {
|
|
28053
|
+
start = start == null ? 0 : toInteger_1(start);
|
|
28054
|
+
end = end === undefined ? length : toInteger_1(end);
|
|
28055
|
+
}
|
|
28056
|
+
return _baseSlice(array, start, end);
|
|
28057
|
+
}
|
|
28058
|
+
|
|
28059
|
+
var slice_1 = slice;
|
|
28060
|
+
|
|
27920
28061
|
class ClipboardService {
|
|
27921
28062
|
constructor(sv) {
|
|
27922
28063
|
this.sv = sv;
|
|
@@ -28024,10 +28165,10 @@ const OverlaySelection = class extends HTMLElement {
|
|
|
28024
28165
|
this.keyboardService = new KeyboardService({
|
|
28025
28166
|
selectionStoreService: this.selectionStoreService,
|
|
28026
28167
|
selectionStore: s,
|
|
28027
|
-
doEdit: (v, c) => this.doEdit(v, c),
|
|
28028
|
-
clearCell: () => this.clearCell(),
|
|
28168
|
+
doEdit: (v, c) => !this.readonly && this.doEdit(v, c),
|
|
28169
|
+
clearCell: () => !this.readonly && this.clearCell(),
|
|
28170
|
+
internalPaste: () => !this.readonly && this.internalPaste.emit(),
|
|
28029
28171
|
getData: () => this.getData(),
|
|
28030
|
-
internalPaste: () => this.internalPaste.emit(),
|
|
28031
28172
|
});
|
|
28032
28173
|
this.createAutoFillService();
|
|
28033
28174
|
this.createClipboardService();
|
|
@@ -28209,7 +28350,7 @@ const RevogrRowHeaders$1 = class extends HTMLElement {
|
|
|
28209
28350
|
}
|
|
28210
28351
|
render() {
|
|
28211
28352
|
const dataViews = [];
|
|
28212
|
-
const viewport = new ViewportStore();
|
|
28353
|
+
const viewport = new ViewportStore('colPinStart');
|
|
28213
28354
|
/** render viewports rows */
|
|
28214
28355
|
let totalLength = 1;
|
|
28215
28356
|
for (let data of this.dataPorts) {
|
|
@@ -28247,8 +28388,8 @@ const RevogrRowHeaders$1 = class extends HTMLElement {
|
|
|
28247
28388
|
ref: (el) => this.elementToScroll.emit(el),
|
|
28248
28389
|
onScrollViewport: (e) => this.scrollViewport.emit(e.detail),
|
|
28249
28390
|
};
|
|
28250
|
-
const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, parent, slot:
|
|
28251
|
-
return (h(Host, { class:
|
|
28391
|
+
const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: ROW_HEADER_TYPE, parent, slot: HEADER_SLOT });
|
|
28392
|
+
return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({}, viewportScroll), h("revogr-header", Object.assign({}, viewportHeader)), dataViews)));
|
|
28252
28393
|
}
|
|
28253
28394
|
};
|
|
28254
28395
|
|
|
@@ -28600,7 +28741,7 @@ const RevogrViewportScroll$1 = class extends HTMLElement {
|
|
|
28600
28741
|
this.scrollViewport = createEvent(this, "scrollViewport", 3);
|
|
28601
28742
|
this.resizeViewport = createEvent(this, "resizeViewport", 7);
|
|
28602
28743
|
this.scrollchange = createEvent(this, "scrollchange", 7);
|
|
28603
|
-
this.scrollThrottling =
|
|
28744
|
+
this.scrollThrottling = 10;
|
|
28604
28745
|
/**
|
|
28605
28746
|
* Width of inner content
|
|
28606
28747
|
*/
|
|
@@ -28640,6 +28781,9 @@ const RevogrViewportScroll$1 = class extends HTMLElement {
|
|
|
28640
28781
|
}
|
|
28641
28782
|
return e;
|
|
28642
28783
|
}
|
|
28784
|
+
mousewheelVertical({ detail: e }) {
|
|
28785
|
+
this.verticalMouseWheel(e);
|
|
28786
|
+
}
|
|
28643
28787
|
connectedCallback() {
|
|
28644
28788
|
/**
|
|
28645
28789
|
* Bind scroll functions for farther usage
|
|
@@ -28801,7 +28945,7 @@ const RevogrViewportScroll$1 = class extends HTMLElement {
|
|
|
28801
28945
|
*/
|
|
28802
28946
|
onVerticalMouseWheel(type, delta, e) {
|
|
28803
28947
|
var _a;
|
|
28804
|
-
e.preventDefault();
|
|
28948
|
+
e.preventDefault && e.preventDefault();
|
|
28805
28949
|
const pos = this.verticalScroll.scrollTop + e[delta];
|
|
28806
28950
|
(_a = this.scrollService) === null || _a === void 0 ? void 0 : _a.scroll(pos, type, undefined, e[delta]);
|
|
28807
28951
|
this.latestScrollUpdate(type);
|
|
@@ -28814,7 +28958,7 @@ const RevogrViewportScroll$1 = class extends HTMLElement {
|
|
|
28814
28958
|
*/
|
|
28815
28959
|
onHorizontalMouseWheel(type, delta, e) {
|
|
28816
28960
|
var _a;
|
|
28817
|
-
e.preventDefault();
|
|
28961
|
+
e.preventDefault && e.preventDefault();
|
|
28818
28962
|
const pos = this.horizontalScroll.scrollLeft + e[delta];
|
|
28819
28963
|
(_a = this.scrollService) === null || _a === void 0 ? void 0 : _a.scroll(pos, type, undefined, e[delta]);
|
|
28820
28964
|
this.latestScrollUpdate(type);
|
|
@@ -28825,17 +28969,17 @@ const RevogrViewportScroll$1 = class extends HTMLElement {
|
|
|
28825
28969
|
|
|
28826
28970
|
const RevoGrid = /*@__PURE__*/proxyCustomElement(RevoGridComponent, [0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]]);
|
|
28827
28971
|
const RevogrClipboard = /*@__PURE__*/proxyCustomElement(Clipboard, [0,"revogr-clipboard",null,[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]);
|
|
28828
|
-
const RevogrData = /*@__PURE__*/proxyCustomElement(RevogrData$1, [0,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}]);
|
|
28972
|
+
const RevogrData = /*@__PURE__*/proxyCustomElement(RevogrData$1, [0,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[1]}]);
|
|
28829
28973
|
const RevogrEdit = /*@__PURE__*/proxyCustomElement(Edit, [0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}]);
|
|
28830
28974
|
const RevogrFilterPanel = /*@__PURE__*/proxyCustomElement(FilterPanel, [0,"revogr-filter-panel",{"uuid":[1537],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"changes":[32]},[[5,"mousedown","onMouseDown"]]]);
|
|
28831
28975
|
const RevogrFocus = /*@__PURE__*/proxyCustomElement(RevogrFocus$2, [0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}]);
|
|
28832
|
-
const RevogrHeader = /*@__PURE__*/proxyCustomElement(RevogrHeaderComponent, [0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}]);
|
|
28976
|
+
const RevogrHeader = /*@__PURE__*/proxyCustomElement(RevogrHeaderComponent, [0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1]}]);
|
|
28833
28977
|
const RevogrOrderEditor = /*@__PURE__*/proxyCustomElement(OrderEditor, [0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]]);
|
|
28834
28978
|
const RevogrOverlaySelection = /*@__PURE__*/proxyCustomElement(OverlaySelection, [4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]]);
|
|
28835
28979
|
const RevogrRowHeaders = /*@__PURE__*/proxyCustomElement(RevogrRowHeaders$1, [0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}]);
|
|
28836
28980
|
const RevogrScrollVirtual = /*@__PURE__*/proxyCustomElement(RevogrScrollVirtual$1, [0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16]}]);
|
|
28837
28981
|
const RevogrTempRange = /*@__PURE__*/proxyCustomElement(RevogrFocus$1, [0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}]);
|
|
28838
|
-
const RevogrViewportScroll = /*@__PURE__*/proxyCustomElement(RevogrViewportScroll$1, [4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"]}]);
|
|
28982
|
+
const RevogrViewportScroll = /*@__PURE__*/proxyCustomElement(RevogrViewportScroll$1, [4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"]},[[0,"mousewheel-vertical","mousewheelVertical"]]]);
|
|
28839
28983
|
const defineCustomElements = (opts) => {
|
|
28840
28984
|
if (typeof customElements !== 'undefined') {
|
|
28841
28985
|
[
|