handsontable 0.0.0-next-dc185b9-20230124 → 0.0.0-next-48db208-20230202
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +291 -292
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +33 -33
- package/dist/handsontable.js +229 -230
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/mergeCells/calculations/autofill.js +3 -0
- package/plugins/mergeCells/calculations/autofill.mjs +3 -0
- package/plugins/mergeCells/mergeCells.js +73 -77
- package/plugins/mergeCells/mergeCells.mjs +73 -77
package/helpers/mixed.js
CHANGED
@@ -152,7 +152,7 @@ var domMessages = {
|
|
152
152
|
function _injectProductInfo(key, element) {
|
153
153
|
var hasValidType = !isEmpty(key);
|
154
154
|
var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
155
|
-
var hotVersion = "0.0.0-next-
|
155
|
+
var hotVersion = "0.0.0-next-48db208-20230202";
|
156
156
|
var keyValidityDate;
|
157
157
|
var consoleMessageState = 'invalid';
|
158
158
|
var domMessageState = 'invalid';
|
package/helpers/mixed.mjs
CHANGED
@@ -142,7 +142,7 @@ var domMessages = {
|
|
142
142
|
export function _injectProductInfo(key, element) {
|
143
143
|
var hasValidType = !isEmpty(key);
|
144
144
|
var isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
145
|
-
var hotVersion = "0.0.0-next-
|
145
|
+
var hotVersion = "0.0.0-next-48db208-20230202";
|
146
146
|
var keyValidityDate;
|
147
147
|
var consoleMessageState = 'invalid';
|
148
148
|
var domMessageState = 'invalid';
|
package/package.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"url": "https://github.com/handsontable/handsontable/issues"
|
11
11
|
},
|
12
12
|
"author": "Handsoncode <hello@handsontable.com>",
|
13
|
-
"version": "0.0.0-next-
|
13
|
+
"version": "0.0.0-next-48db208-20230202",
|
14
14
|
"main": "index",
|
15
15
|
"module": "index.mjs",
|
16
16
|
"jsnext:main": "index.mjs",
|
@@ -392,6 +392,9 @@ var AutofillCalculations = /*#__PURE__*/function () {
|
|
392
392
|
} while (inBounds(current, fillOffset));
|
393
393
|
this.currentFillData = null;
|
394
394
|
this.plugin.hot.render();
|
395
|
+
if (foundMergedCells.length > 0) {
|
396
|
+
this.plugin.ifChromeForceRepaint();
|
397
|
+
}
|
395
398
|
}
|
396
399
|
|
397
400
|
/**
|
@@ -388,6 +388,9 @@ var AutofillCalculations = /*#__PURE__*/function () {
|
|
388
388
|
} while (inBounds(current, fillOffset));
|
389
389
|
this.currentFillData = null;
|
390
390
|
this.plugin.hot.render();
|
391
|
+
if (foundMergedCells.length > 0) {
|
392
|
+
this.plugin.ifChromeForceRepaint();
|
393
|
+
}
|
391
394
|
}
|
392
395
|
|
393
396
|
/**
|
@@ -12,8 +12,8 @@ require("core-js/modules/es.symbol.js");
|
|
12
12
|
require("core-js/modules/es.symbol.description.js");
|
13
13
|
require("core-js/modules/es.number.constructor.js");
|
14
14
|
require("core-js/modules/es.symbol.iterator.js");
|
15
|
-
require("core-js/modules/es.array.slice.js");
|
16
15
|
require("core-js/modules/es.array.from.js");
|
16
|
+
require("core-js/modules/es.array.slice.js");
|
17
17
|
exports.__esModule = true;
|
18
18
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MergeCells = void 0;
|
19
19
|
require("core-js/modules/es.array.iterator.js");
|
@@ -21,15 +21,14 @@ require("core-js/modules/es.object.to-string.js");
|
|
21
21
|
require("core-js/modules/es.string.iterator.js");
|
22
22
|
require("core-js/modules/es.weak-map.js");
|
23
23
|
require("core-js/modules/web.dom-collections.iterator.js");
|
24
|
-
require("core-js/modules/es.array.includes.js");
|
25
|
-
require("core-js/modules/es.string.includes.js");
|
26
|
-
require("core-js/modules/es.weak-set.js");
|
27
24
|
require("core-js/modules/web.dom-collections.for-each.js");
|
28
25
|
require("core-js/modules/es.set.js");
|
29
26
|
require("core-js/modules/es.array.map.js");
|
30
27
|
require("core-js/modules/es.function.name.js");
|
31
28
|
require("core-js/modules/es.regexp.exec.js");
|
32
29
|
require("core-js/modules/es.string.replace.js");
|
30
|
+
require("core-js/modules/es.array.includes.js");
|
31
|
+
require("core-js/modules/es.string.includes.js");
|
33
32
|
var _base = require("../base");
|
34
33
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
35
34
|
var _cellsCollection = _interopRequireDefault(require("./cellsCollection"));
|
@@ -45,16 +44,16 @@ var _utils = require("./utils");
|
|
45
44
|
var _element = require("../../helpers/dom/element");
|
46
45
|
var _browser = require("../../helpers/browser");
|
47
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
48
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
49
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
48
51
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
49
52
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
53
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
50
54
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
51
55
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
52
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
53
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
54
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
55
56
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
56
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
57
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
58
57
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
59
58
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
60
59
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -69,9 +68,6 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
|
|
69
68
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
70
69
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
71
70
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
72
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
73
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
74
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
75
71
|
_pluginHooks.default.getSingleton().register('beforeMergeCells');
|
76
72
|
_pluginHooks.default.getSingleton().register('afterMergeCells');
|
77
73
|
_pluginHooks.default.getSingleton().register('beforeUnmergeCells');
|
@@ -120,7 +116,6 @@ var SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
120
116
|
* ```
|
121
117
|
* :::
|
122
118
|
*/
|
123
|
-
var _ifChromeForceRepaint = /*#__PURE__*/new WeakSet();
|
124
119
|
var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
125
120
|
_inherits(MergeCells, _BasePlugin);
|
126
121
|
var _super = _createSuper(MergeCells);
|
@@ -128,7 +123,6 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
128
123
|
var _this;
|
129
124
|
_classCallCheck(this, MergeCells);
|
130
125
|
_this = _super.call(this, hotInstance);
|
131
|
-
_classPrivateMethodInitSpec(_assertThisInitialized(_this), _ifChromeForceRepaint);
|
132
126
|
privatePool.set(_assertThisInitialized(_this), {
|
133
127
|
lastDesiredCoords: null
|
134
128
|
});
|
@@ -297,8 +291,48 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
297
291
|
* @private
|
298
292
|
*/
|
299
293
|
}, {
|
300
|
-
key: "
|
301
|
-
value:
|
294
|
+
key: "ifChromeForceRepaint",
|
295
|
+
value: function ifChromeForceRepaint() {
|
296
|
+
var _this3 = this;
|
297
|
+
if (!(0, _browser.isChrome)()) {
|
298
|
+
return;
|
299
|
+
}
|
300
|
+
var rowsToRefresh = [];
|
301
|
+
var rowIndexesToRefresh = [];
|
302
|
+
this.mergedCellsCollection.mergedCells.forEach(function (mergedCell) {
|
303
|
+
var row = mergedCell.row,
|
304
|
+
rowspan = mergedCell.rowspan;
|
305
|
+
for (var r = row + 1; r < row + rowspan; r++) {
|
306
|
+
rowIndexesToRefresh.push(r);
|
307
|
+
}
|
308
|
+
});
|
309
|
+
|
310
|
+
// Remove duplicates
|
311
|
+
rowIndexesToRefresh = _toConsumableArray(new Set(rowIndexesToRefresh));
|
312
|
+
rowIndexesToRefresh.forEach(function (rowIndex) {
|
313
|
+
var renderableRowIndex = _this3.hot.rowIndexMapper.getRenderableFromVisualIndex(rowIndex);
|
314
|
+
_this3.hot.view._wt.wtOverlays.getOverlays(true).map(function (overlay) {
|
315
|
+
return (overlay === null || overlay === void 0 ? void 0 : overlay.name) === 'master' ? overlay : overlay.clone.wtTable;
|
316
|
+
}).forEach(function (wtTableRef) {
|
317
|
+
var rowToRefresh = wtTableRef.getRow(renderableRowIndex);
|
318
|
+
if (rowToRefresh) {
|
319
|
+
// Modify the TR's `background` property to later modify it asynchronously.
|
320
|
+
// The background color is getting modified only with the alpha, so the change should not be visible (and is
|
321
|
+
// covered by the TDs' background color).
|
322
|
+
rowToRefresh.style.background = (0, _element.getStyle)(rowToRefresh, 'backgroundColor').replace(')', ', 0.99)');
|
323
|
+
rowsToRefresh.push(rowToRefresh);
|
324
|
+
}
|
325
|
+
});
|
326
|
+
});
|
327
|
+
|
328
|
+
// Asynchronously revert the TRs' `background` property to force a fresh repaint.
|
329
|
+
this.hot._registerTimeout(function () {
|
330
|
+
rowsToRefresh.forEach(function (rowElement) {
|
331
|
+
rowElement.style.background = (0, _element.getStyle)(rowElement, 'backgroundColor').replace(', 0.99)', ')');
|
332
|
+
});
|
333
|
+
}, 1);
|
334
|
+
}
|
335
|
+
|
302
336
|
/**
|
303
337
|
* Validates a single setting object, represented by a single merged cell information object.
|
304
338
|
*
|
@@ -306,7 +340,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
306
340
|
* @param {object} setting An object with `row`, `col`, `rowspan` and `colspan` properties.
|
307
341
|
* @returns {boolean}
|
308
342
|
*/
|
309
|
-
|
343
|
+
}, {
|
344
|
+
key: "validateSetting",
|
345
|
+
value: function validateSetting(setting) {
|
310
346
|
var valid = true;
|
311
347
|
if (!setting) {
|
312
348
|
return false;
|
@@ -336,19 +372,19 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
336
372
|
}, {
|
337
373
|
key: "generateFromSettings",
|
338
374
|
value: function generateFromSettings(settings) {
|
339
|
-
var
|
375
|
+
var _this4 = this;
|
340
376
|
if (Array.isArray(settings)) {
|
341
377
|
var populatedNulls = [];
|
342
378
|
(0, _array.arrayEach)(settings, function (setting) {
|
343
|
-
if (!
|
379
|
+
if (!_this4.validateSetting(setting)) {
|
344
380
|
return;
|
345
381
|
}
|
346
|
-
var highlight =
|
347
|
-
var rangeEnd =
|
348
|
-
var mergeRange =
|
382
|
+
var highlight = _this4.hot._createCellCoords(setting.row, setting.col);
|
383
|
+
var rangeEnd = _this4.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
384
|
+
var mergeRange = _this4.hot._createCellRange(highlight, highlight, rangeEnd);
|
349
385
|
|
350
386
|
// Merging without data population.
|
351
|
-
|
387
|
+
_this4.mergeRange(mergeRange, true, true);
|
352
388
|
(0, _number.rangeEach)(setting.row, setting.row + setting.rowspan - 1, function (rowIndex) {
|
353
389
|
(0, _number.rangeEach)(setting.col, setting.col + setting.colspan - 1, function (columnIndex) {
|
354
390
|
// Not resetting a cell representing a merge area's value.
|
@@ -464,7 +500,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
464
500
|
}, {
|
465
501
|
key: "mergeRange",
|
466
502
|
value: function mergeRange(cellRange) {
|
467
|
-
var
|
503
|
+
var _this5 = this;
|
468
504
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
469
505
|
var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
470
506
|
var topStart = cellRange.getTopStartCorner();
|
@@ -488,9 +524,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
488
524
|
clearedData[i] = [];
|
489
525
|
}
|
490
526
|
if (i === 0 && j === 0) {
|
491
|
-
clearedValue =
|
527
|
+
clearedValue = _this5.hot.getSourceDataAtCell(_this5.hot.toPhysicalRow(mergeParent.row), _this5.hot.toPhysicalColumn(mergeParent.col));
|
492
528
|
} else {
|
493
|
-
|
529
|
+
_this5.hot.setCellMeta(mergeParent.row + i, mergeParent.col + j, 'hidden', true);
|
494
530
|
}
|
495
531
|
clearedData[i][j] = clearedValue;
|
496
532
|
});
|
@@ -504,7 +540,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
504
540
|
this.hot.populateFromArray(mergeParent.row, mergeParent.col, clearedData, void 0, void 0, this.pluginName);
|
505
541
|
}
|
506
542
|
if (!auto) {
|
507
|
-
|
543
|
+
this.ifChromeForceRepaint();
|
508
544
|
}
|
509
545
|
this.hot.runHooks('afterMergeCells', cellRange, mergeParent, auto);
|
510
546
|
return populationInfo;
|
@@ -525,7 +561,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
525
561
|
}, {
|
526
562
|
key: "unmergeRange",
|
527
563
|
value: function unmergeRange(cellRange) {
|
528
|
-
var
|
564
|
+
var _this6 = this;
|
529
565
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
530
566
|
var mergedCells = this.mergedCellsCollection.getWithinRange(cellRange);
|
531
567
|
if (!mergedCells) {
|
@@ -533,13 +569,13 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
533
569
|
}
|
534
570
|
this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
|
535
571
|
(0, _array.arrayEach)(mergedCells, function (currentCollection) {
|
536
|
-
|
572
|
+
_this6.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
|
537
573
|
(0, _number.rangeEach)(0, currentCollection.rowspan - 1, function (i) {
|
538
574
|
(0, _number.rangeEach)(0, currentCollection.colspan - 1, function (j) {
|
539
|
-
|
575
|
+
_this6.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
|
540
576
|
});
|
541
577
|
});
|
542
|
-
|
578
|
+
_this6.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
|
543
579
|
});
|
544
580
|
this.hot.runHooks('afterUnmergeCells', cellRange, auto);
|
545
581
|
this.hot.render();
|
@@ -619,14 +655,14 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
619
655
|
}, {
|
620
656
|
key: "registerShortcuts",
|
621
657
|
value: function registerShortcuts() {
|
622
|
-
var
|
658
|
+
var _this7 = this;
|
623
659
|
var shortcutManager = this.hot.getShortcutManager();
|
624
660
|
var gridContext = shortcutManager.getContext('grid');
|
625
661
|
gridContext.addShortcut({
|
626
662
|
keys: [['Control', 'm']],
|
627
663
|
callback: function callback() {
|
628
|
-
|
629
|
-
|
664
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
665
|
+
_this7.hot.render();
|
630
666
|
},
|
631
667
|
runOnlyIf: function runOnlyIf(event) {
|
632
668
|
return !event.altKey;
|
@@ -747,7 +783,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
747
783
|
}, {
|
748
784
|
key: "onModifyTransformEnd",
|
749
785
|
value: function onModifyTransformEnd(delta) {
|
750
|
-
var
|
786
|
+
var _this8 = this;
|
751
787
|
var currentSelectionRange = this.hot.getSelectedRangeLast();
|
752
788
|
var newDelta = (0, _object.clone)(delta);
|
753
789
|
var newSelectionRange = this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, delta);
|
@@ -757,7 +793,7 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
757
793
|
tempDelta = (0, _object.clone)(newDelta);
|
758
794
|
this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
|
759
795
|
(0, _array.arrayEach)(mergedCellsWithinRange, function (mergedCell) {
|
760
|
-
|
796
|
+
_this8.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
|
761
797
|
});
|
762
798
|
} while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
|
763
799
|
delta.row = newDelta.row;
|
@@ -1329,44 +1365,4 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1329
1365
|
}]);
|
1330
1366
|
return MergeCells;
|
1331
1367
|
}(_base.BasePlugin);
|
1332
|
-
exports.MergeCells = MergeCells;
|
1333
|
-
function _ifChromeForceRepaint2() {
|
1334
|
-
var _this8 = this;
|
1335
|
-
if (!(0, _browser.isChrome)()) {
|
1336
|
-
return;
|
1337
|
-
}
|
1338
|
-
var rowsToRefresh = [];
|
1339
|
-
var rowIndexesToRefresh = [];
|
1340
|
-
this.mergedCellsCollection.mergedCells.forEach(function (mergedCell) {
|
1341
|
-
var row = mergedCell.row,
|
1342
|
-
rowspan = mergedCell.rowspan;
|
1343
|
-
for (var r = row + 1; r < row + rowspan; r++) {
|
1344
|
-
rowIndexesToRefresh.push(r);
|
1345
|
-
}
|
1346
|
-
});
|
1347
|
-
|
1348
|
-
// Remove duplicates
|
1349
|
-
rowIndexesToRefresh = _toConsumableArray(new Set(rowIndexesToRefresh));
|
1350
|
-
rowIndexesToRefresh.forEach(function (rowIndex) {
|
1351
|
-
var renderableRowIndex = _this8.hot.rowIndexMapper.getRenderableFromVisualIndex(rowIndex);
|
1352
|
-
_this8.hot.view._wt.wtOverlays.getOverlays(true).map(function (overlay) {
|
1353
|
-
return (overlay === null || overlay === void 0 ? void 0 : overlay.name) === 'master' ? overlay : overlay.clone.wtTable;
|
1354
|
-
}).forEach(function (wtTableRef) {
|
1355
|
-
var rowToRefresh = wtTableRef.getRow(renderableRowIndex);
|
1356
|
-
if (rowToRefresh) {
|
1357
|
-
// Modify the TR's `background` property to later modify it asynchronously.
|
1358
|
-
// The background color is getting modified only with the alpha, so the change should not be visible (and is
|
1359
|
-
// covered by the TDs' background color).
|
1360
|
-
rowToRefresh.style.background = (0, _element.getStyle)(rowToRefresh, 'backgroundColor').replace(')', ', 0.99)');
|
1361
|
-
rowsToRefresh.push(rowToRefresh);
|
1362
|
-
}
|
1363
|
-
});
|
1364
|
-
});
|
1365
|
-
|
1366
|
-
// Asynchronously revert the TRs' `background` property to force a fresh repaint.
|
1367
|
-
this.hot._registerTimeout(function () {
|
1368
|
-
rowsToRefresh.forEach(function (rowElement) {
|
1369
|
-
rowElement.style.background = (0, _element.getStyle)(rowElement, 'backgroundColor').replace(', 0.99)', ')');
|
1370
|
-
});
|
1371
|
-
}, 1);
|
1372
|
-
}
|
1368
|
+
exports.MergeCells = MergeCells;
|
@@ -1,14 +1,14 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
5
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
2
6
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
3
7
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
8
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
9
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
5
10
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
6
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
7
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
8
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
9
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
10
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
11
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
12
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
13
13
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
14
14
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -23,23 +23,19 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
|
|
23
23
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
24
24
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
25
25
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
26
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
27
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
28
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
29
26
|
import "core-js/modules/es.array.iterator.js";
|
30
27
|
import "core-js/modules/es.object.to-string.js";
|
31
28
|
import "core-js/modules/es.string.iterator.js";
|
32
29
|
import "core-js/modules/es.weak-map.js";
|
33
30
|
import "core-js/modules/web.dom-collections.iterator.js";
|
34
|
-
import "core-js/modules/es.array.includes.js";
|
35
|
-
import "core-js/modules/es.string.includes.js";
|
36
|
-
import "core-js/modules/es.weak-set.js";
|
37
31
|
import "core-js/modules/web.dom-collections.for-each.js";
|
38
32
|
import "core-js/modules/es.set.js";
|
39
33
|
import "core-js/modules/es.array.map.js";
|
40
34
|
import "core-js/modules/es.function.name.js";
|
41
35
|
import "core-js/modules/es.regexp.exec.js";
|
42
36
|
import "core-js/modules/es.string.replace.js";
|
37
|
+
import "core-js/modules/es.array.includes.js";
|
38
|
+
import "core-js/modules/es.string.includes.js";
|
43
39
|
import "core-js/modules/es.object.set-prototype-of.js";
|
44
40
|
import "core-js/modules/es.object.get-prototype-of.js";
|
45
41
|
import "core-js/modules/es.reflect.construct.js";
|
@@ -51,8 +47,8 @@ import "core-js/modules/es.symbol.js";
|
|
51
47
|
import "core-js/modules/es.symbol.description.js";
|
52
48
|
import "core-js/modules/es.number.constructor.js";
|
53
49
|
import "core-js/modules/es.symbol.iterator.js";
|
54
|
-
import "core-js/modules/es.array.slice.js";
|
55
50
|
import "core-js/modules/es.array.from.js";
|
51
|
+
import "core-js/modules/es.array.slice.js";
|
56
52
|
import { BasePlugin } from "../base/index.mjs";
|
57
53
|
import Hooks from "../../pluginHooks.mjs";
|
58
54
|
import MergedCellsCollection from "./cellsCollection.mjs";
|
@@ -113,7 +109,6 @@ var SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
113
109
|
* ```
|
114
110
|
* :::
|
115
111
|
*/
|
116
|
-
var _ifChromeForceRepaint = /*#__PURE__*/new WeakSet();
|
117
112
|
export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
118
113
|
_inherits(MergeCells, _BasePlugin);
|
119
114
|
var _super = _createSuper(MergeCells);
|
@@ -121,7 +116,6 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
121
116
|
var _this;
|
122
117
|
_classCallCheck(this, MergeCells);
|
123
118
|
_this = _super.call(this, hotInstance);
|
124
|
-
_classPrivateMethodInitSpec(_assertThisInitialized(_this), _ifChromeForceRepaint);
|
125
119
|
privatePool.set(_assertThisInitialized(_this), {
|
126
120
|
lastDesiredCoords: null
|
127
121
|
});
|
@@ -290,8 +284,48 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
290
284
|
* @private
|
291
285
|
*/
|
292
286
|
}, {
|
293
|
-
key: "
|
294
|
-
value:
|
287
|
+
key: "ifChromeForceRepaint",
|
288
|
+
value: function ifChromeForceRepaint() {
|
289
|
+
var _this3 = this;
|
290
|
+
if (!isChrome()) {
|
291
|
+
return;
|
292
|
+
}
|
293
|
+
var rowsToRefresh = [];
|
294
|
+
var rowIndexesToRefresh = [];
|
295
|
+
this.mergedCellsCollection.mergedCells.forEach(function (mergedCell) {
|
296
|
+
var row = mergedCell.row,
|
297
|
+
rowspan = mergedCell.rowspan;
|
298
|
+
for (var r = row + 1; r < row + rowspan; r++) {
|
299
|
+
rowIndexesToRefresh.push(r);
|
300
|
+
}
|
301
|
+
});
|
302
|
+
|
303
|
+
// Remove duplicates
|
304
|
+
rowIndexesToRefresh = _toConsumableArray(new Set(rowIndexesToRefresh));
|
305
|
+
rowIndexesToRefresh.forEach(function (rowIndex) {
|
306
|
+
var renderableRowIndex = _this3.hot.rowIndexMapper.getRenderableFromVisualIndex(rowIndex);
|
307
|
+
_this3.hot.view._wt.wtOverlays.getOverlays(true).map(function (overlay) {
|
308
|
+
return (overlay === null || overlay === void 0 ? void 0 : overlay.name) === 'master' ? overlay : overlay.clone.wtTable;
|
309
|
+
}).forEach(function (wtTableRef) {
|
310
|
+
var rowToRefresh = wtTableRef.getRow(renderableRowIndex);
|
311
|
+
if (rowToRefresh) {
|
312
|
+
// Modify the TR's `background` property to later modify it asynchronously.
|
313
|
+
// The background color is getting modified only with the alpha, so the change should not be visible (and is
|
314
|
+
// covered by the TDs' background color).
|
315
|
+
rowToRefresh.style.background = getStyle(rowToRefresh, 'backgroundColor').replace(')', ', 0.99)');
|
316
|
+
rowsToRefresh.push(rowToRefresh);
|
317
|
+
}
|
318
|
+
});
|
319
|
+
});
|
320
|
+
|
321
|
+
// Asynchronously revert the TRs' `background` property to force a fresh repaint.
|
322
|
+
this.hot._registerTimeout(function () {
|
323
|
+
rowsToRefresh.forEach(function (rowElement) {
|
324
|
+
rowElement.style.background = getStyle(rowElement, 'backgroundColor').replace(', 0.99)', ')');
|
325
|
+
});
|
326
|
+
}, 1);
|
327
|
+
}
|
328
|
+
|
295
329
|
/**
|
296
330
|
* Validates a single setting object, represented by a single merged cell information object.
|
297
331
|
*
|
@@ -299,7 +333,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
299
333
|
* @param {object} setting An object with `row`, `col`, `rowspan` and `colspan` properties.
|
300
334
|
* @returns {boolean}
|
301
335
|
*/
|
302
|
-
|
336
|
+
}, {
|
337
|
+
key: "validateSetting",
|
338
|
+
value: function validateSetting(setting) {
|
303
339
|
var valid = true;
|
304
340
|
if (!setting) {
|
305
341
|
return false;
|
@@ -329,19 +365,19 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
329
365
|
}, {
|
330
366
|
key: "generateFromSettings",
|
331
367
|
value: function generateFromSettings(settings) {
|
332
|
-
var
|
368
|
+
var _this4 = this;
|
333
369
|
if (Array.isArray(settings)) {
|
334
370
|
var populatedNulls = [];
|
335
371
|
arrayEach(settings, function (setting) {
|
336
|
-
if (!
|
372
|
+
if (!_this4.validateSetting(setting)) {
|
337
373
|
return;
|
338
374
|
}
|
339
|
-
var highlight =
|
340
|
-
var rangeEnd =
|
341
|
-
var mergeRange =
|
375
|
+
var highlight = _this4.hot._createCellCoords(setting.row, setting.col);
|
376
|
+
var rangeEnd = _this4.hot._createCellCoords(setting.row + setting.rowspan - 1, setting.col + setting.colspan - 1);
|
377
|
+
var mergeRange = _this4.hot._createCellRange(highlight, highlight, rangeEnd);
|
342
378
|
|
343
379
|
// Merging without data population.
|
344
|
-
|
380
|
+
_this4.mergeRange(mergeRange, true, true);
|
345
381
|
rangeEach(setting.row, setting.row + setting.rowspan - 1, function (rowIndex) {
|
346
382
|
rangeEach(setting.col, setting.col + setting.colspan - 1, function (columnIndex) {
|
347
383
|
// Not resetting a cell representing a merge area's value.
|
@@ -457,7 +493,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
457
493
|
}, {
|
458
494
|
key: "mergeRange",
|
459
495
|
value: function mergeRange(cellRange) {
|
460
|
-
var
|
496
|
+
var _this5 = this;
|
461
497
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
462
498
|
var preventPopulation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
463
499
|
var topStart = cellRange.getTopStartCorner();
|
@@ -481,9 +517,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
481
517
|
clearedData[i] = [];
|
482
518
|
}
|
483
519
|
if (i === 0 && j === 0) {
|
484
|
-
clearedValue =
|
520
|
+
clearedValue = _this5.hot.getSourceDataAtCell(_this5.hot.toPhysicalRow(mergeParent.row), _this5.hot.toPhysicalColumn(mergeParent.col));
|
485
521
|
} else {
|
486
|
-
|
522
|
+
_this5.hot.setCellMeta(mergeParent.row + i, mergeParent.col + j, 'hidden', true);
|
487
523
|
}
|
488
524
|
clearedData[i][j] = clearedValue;
|
489
525
|
});
|
@@ -497,7 +533,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
497
533
|
this.hot.populateFromArray(mergeParent.row, mergeParent.col, clearedData, void 0, void 0, this.pluginName);
|
498
534
|
}
|
499
535
|
if (!auto) {
|
500
|
-
|
536
|
+
this.ifChromeForceRepaint();
|
501
537
|
}
|
502
538
|
this.hot.runHooks('afterMergeCells', cellRange, mergeParent, auto);
|
503
539
|
return populationInfo;
|
@@ -518,7 +554,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
518
554
|
}, {
|
519
555
|
key: "unmergeRange",
|
520
556
|
value: function unmergeRange(cellRange) {
|
521
|
-
var
|
557
|
+
var _this6 = this;
|
522
558
|
var auto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
523
559
|
var mergedCells = this.mergedCellsCollection.getWithinRange(cellRange);
|
524
560
|
if (!mergedCells) {
|
@@ -526,13 +562,13 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
526
562
|
}
|
527
563
|
this.hot.runHooks('beforeUnmergeCells', cellRange, auto);
|
528
564
|
arrayEach(mergedCells, function (currentCollection) {
|
529
|
-
|
565
|
+
_this6.mergedCellsCollection.remove(currentCollection.row, currentCollection.col);
|
530
566
|
rangeEach(0, currentCollection.rowspan - 1, function (i) {
|
531
567
|
rangeEach(0, currentCollection.colspan - 1, function (j) {
|
532
|
-
|
568
|
+
_this6.hot.removeCellMeta(currentCollection.row + i, currentCollection.col + j, 'hidden');
|
533
569
|
});
|
534
570
|
});
|
535
|
-
|
571
|
+
_this6.hot.removeCellMeta(currentCollection.row, currentCollection.col, 'spanned');
|
536
572
|
});
|
537
573
|
this.hot.runHooks('afterUnmergeCells', cellRange, auto);
|
538
574
|
this.hot.render();
|
@@ -612,14 +648,14 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
612
648
|
}, {
|
613
649
|
key: "registerShortcuts",
|
614
650
|
value: function registerShortcuts() {
|
615
|
-
var
|
651
|
+
var _this7 = this;
|
616
652
|
var shortcutManager = this.hot.getShortcutManager();
|
617
653
|
var gridContext = shortcutManager.getContext('grid');
|
618
654
|
gridContext.addShortcut({
|
619
655
|
keys: [['Control', 'm']],
|
620
656
|
callback: function callback() {
|
621
|
-
|
622
|
-
|
657
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
658
|
+
_this7.hot.render();
|
623
659
|
},
|
624
660
|
runOnlyIf: function runOnlyIf(event) {
|
625
661
|
return !event.altKey;
|
@@ -740,7 +776,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
740
776
|
}, {
|
741
777
|
key: "onModifyTransformEnd",
|
742
778
|
value: function onModifyTransformEnd(delta) {
|
743
|
-
var
|
779
|
+
var _this8 = this;
|
744
780
|
var currentSelectionRange = this.hot.getSelectedRangeLast();
|
745
781
|
var newDelta = clone(delta);
|
746
782
|
var newSelectionRange = this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, delta);
|
@@ -750,7 +786,7 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
750
786
|
tempDelta = clone(newDelta);
|
751
787
|
this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
|
752
788
|
arrayEach(mergedCellsWithinRange, function (mergedCell) {
|
753
|
-
|
789
|
+
_this8.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
|
754
790
|
});
|
755
791
|
} while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
|
756
792
|
delta.row = newDelta.row;
|
@@ -1321,44 +1357,4 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1321
1357
|
}
|
1322
1358
|
}]);
|
1323
1359
|
return MergeCells;
|
1324
|
-
}(BasePlugin);
|
1325
|
-
function _ifChromeForceRepaint2() {
|
1326
|
-
var _this8 = this;
|
1327
|
-
if (!isChrome()) {
|
1328
|
-
return;
|
1329
|
-
}
|
1330
|
-
var rowsToRefresh = [];
|
1331
|
-
var rowIndexesToRefresh = [];
|
1332
|
-
this.mergedCellsCollection.mergedCells.forEach(function (mergedCell) {
|
1333
|
-
var row = mergedCell.row,
|
1334
|
-
rowspan = mergedCell.rowspan;
|
1335
|
-
for (var r = row + 1; r < row + rowspan; r++) {
|
1336
|
-
rowIndexesToRefresh.push(r);
|
1337
|
-
}
|
1338
|
-
});
|
1339
|
-
|
1340
|
-
// Remove duplicates
|
1341
|
-
rowIndexesToRefresh = _toConsumableArray(new Set(rowIndexesToRefresh));
|
1342
|
-
rowIndexesToRefresh.forEach(function (rowIndex) {
|
1343
|
-
var renderableRowIndex = _this8.hot.rowIndexMapper.getRenderableFromVisualIndex(rowIndex);
|
1344
|
-
_this8.hot.view._wt.wtOverlays.getOverlays(true).map(function (overlay) {
|
1345
|
-
return (overlay === null || overlay === void 0 ? void 0 : overlay.name) === 'master' ? overlay : overlay.clone.wtTable;
|
1346
|
-
}).forEach(function (wtTableRef) {
|
1347
|
-
var rowToRefresh = wtTableRef.getRow(renderableRowIndex);
|
1348
|
-
if (rowToRefresh) {
|
1349
|
-
// Modify the TR's `background` property to later modify it asynchronously.
|
1350
|
-
// The background color is getting modified only with the alpha, so the change should not be visible (and is
|
1351
|
-
// covered by the TDs' background color).
|
1352
|
-
rowToRefresh.style.background = getStyle(rowToRefresh, 'backgroundColor').replace(')', ', 0.99)');
|
1353
|
-
rowsToRefresh.push(rowToRefresh);
|
1354
|
-
}
|
1355
|
-
});
|
1356
|
-
});
|
1357
|
-
|
1358
|
-
// Asynchronously revert the TRs' `background` property to force a fresh repaint.
|
1359
|
-
this.hot._registerTimeout(function () {
|
1360
|
-
rowsToRefresh.forEach(function (rowElement) {
|
1361
|
-
rowElement.style.background = getStyle(rowElement, 'backgroundColor').replace(', 0.99)', ')');
|
1362
|
-
});
|
1363
|
-
}, 1);
|
1364
|
-
}
|
1360
|
+
}(BasePlugin);
|