handsontable 12.3.1 → 12.3.2-next-bcef33c-20230315
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +31 -9
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +31 -9
- package/3rdparty/walkontable/src/calculator/viewportRows.js +21 -6
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +21 -6
- package/3rdparty/walkontable/src/core/_base.js +19 -20
- package/3rdparty/walkontable/src/core/_base.mjs +19 -20
- package/3rdparty/walkontable/src/scroll.js +14 -3
- package/3rdparty/walkontable/src/scroll.mjs +14 -3
- package/3rdparty/walkontable/src/table.js +4 -2
- package/3rdparty/walkontable/src/table.mjs +4 -2
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/viewport.js +11 -14
- package/3rdparty/walkontable/src/viewport.mjs +11 -14
- package/CHANGELOG.md +7 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +32 -21
- package/core.mjs +32 -21
- package/dataMap/metaManager/metaSchema.js +9 -9
- package/dataMap/metaManager/metaSchema.mjs +9 -9
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +4631 -3987
- package/dist/handsontable.full.min.css +8 -8
- package/dist/handsontable.full.min.js +241 -227
- package/dist/handsontable.js +2753 -2435
- package/dist/handsontable.min.css +7 -7
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +1 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
- package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-CN.mjs +3 -3
- package/languages/all.js +1 -1
- package/languages/index.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-CN.mjs +3 -3
- package/package.json +12 -13
- package/plugins/base/base.js +9 -10
- package/plugins/base/base.mjs +9 -10
- package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
- package/plugins/copyPaste/copyPaste.js +92 -16
- package/plugins/copyPaste/copyPaste.mjs +92 -16
- package/plugins/copyPaste/copyableRanges.js +14 -8
- package/plugins/copyPaste/copyableRanges.mjs +14 -8
- package/plugins/customBorders/customBorders.js +6 -7
- package/plugins/customBorders/customBorders.mjs +6 -7
- package/plugins/filters/filters.js +0 -8
- package/plugins/filters/filters.mjs +0 -8
- package/plugins/formulas/formulas.js +34 -7
- package/plugins/formulas/formulas.mjs +34 -7
- package/plugins/hiddenColumns/hiddenColumns.js +12 -7
- package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
- package/plugins/hiddenRows/hiddenRows.js +12 -7
- package/plugins/hiddenRows/hiddenRows.mjs +12 -7
- package/plugins/nestedHeaders/nestedHeaders.js +26 -7
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
- package/plugins/nestedHeaders/stateManager/index.js +18 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
- package/translations/changesObservable/observer.js +7 -0
- package/translations/changesObservable/observer.mjs +7 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
@@ -303,13 +303,10 @@ var Viewport = /*#__PURE__*/function () {
|
|
303
303
|
height = this.getViewportHeight();
|
304
304
|
}
|
305
305
|
var pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
|
306
|
-
if (pos < 0) {
|
307
|
-
pos = 0;
|
308
|
-
}
|
309
306
|
var fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
310
307
|
var fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
|
311
308
|
var totalRows = wtSettings.getSetting('totalRows');
|
312
|
-
if (fixedRowsTop) {
|
309
|
+
if (fixedRowsTop && pos >= 0) {
|
313
310
|
fixedRowsHeight = this.dataAccessObject.topOverlay.sumCellSizes(0, fixedRowsTop);
|
314
311
|
pos += fixedRowsHeight;
|
315
312
|
height -= fixedRowsHeight;
|
@@ -354,11 +351,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
354
351
|
var width = this.getViewportWidth();
|
355
352
|
var pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
|
356
353
|
this.columnHeaderHeight = NaN;
|
357
|
-
if (pos < 0) {
|
358
|
-
pos = 0;
|
359
|
-
}
|
360
354
|
var fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
361
|
-
if (fixedColumnsStart) {
|
355
|
+
if (fixedColumnsStart && pos >= 0) {
|
362
356
|
var fixedColumnsWidth = this.dataAccessObject.inlineStartOverlay.sumCellSizes(0, fixedColumnsStart);
|
363
357
|
pos += fixedColumnsWidth;
|
364
358
|
width -= fixedColumnsWidth;
|
@@ -368,7 +362,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
368
362
|
}
|
369
363
|
return new _calculator.ViewportColumnsCalculator({
|
370
364
|
viewportSize: width,
|
371
|
-
scrollOffset:
|
365
|
+
scrollOffset: pos,
|
372
366
|
totalItems: wtSettings.getSetting('totalColumns'),
|
373
367
|
itemSizeFn: function itemSizeFn(sourceCol) {
|
374
368
|
return wtTable.getColumnWidth(sourceCol);
|
@@ -378,7 +372,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
378
372
|
stretchMode: wtSettings.getSetting('stretchH'),
|
379
373
|
stretchingItemWidthFn: function stretchingItemWidthFn(stretchedWidth, column) {
|
380
374
|
return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
|
381
|
-
}
|
375
|
+
},
|
376
|
+
inlineStartOffset: this.dataAccessObject.inlineStartParentOffset
|
382
377
|
});
|
383
378
|
}
|
384
379
|
|
@@ -438,11 +433,12 @@ var Viewport = /*#__PURE__*/function () {
|
|
438
433
|
return false;
|
439
434
|
}
|
440
435
|
var startRow = proposedRowsVisibleCalculator.startRow,
|
441
|
-
endRow = proposedRowsVisibleCalculator.endRow
|
436
|
+
endRow = proposedRowsVisibleCalculator.endRow,
|
437
|
+
isVisibleInTrimmingContainer = proposedRowsVisibleCalculator.isVisibleInTrimmingContainer;
|
442
438
|
|
443
439
|
// if there are no fully visible rows at all, return false
|
444
440
|
if (startRow === null && endRow === null) {
|
445
|
-
return
|
441
|
+
return !isVisibleInTrimmingContainer;
|
446
442
|
}
|
447
443
|
var _this$rowsRenderCalcu = this.rowsRenderCalculator,
|
448
444
|
renderedStartRow = _this$rowsRenderCalcu.startRow,
|
@@ -470,11 +466,12 @@ var Viewport = /*#__PURE__*/function () {
|
|
470
466
|
return false;
|
471
467
|
}
|
472
468
|
var startColumn = proposedColumnsVisibleCalculator.startColumn,
|
473
|
-
endColumn = proposedColumnsVisibleCalculator.endColumn
|
469
|
+
endColumn = proposedColumnsVisibleCalculator.endColumn,
|
470
|
+
isVisibleInTrimmingContainer = proposedColumnsVisibleCalculator.isVisibleInTrimmingContainer;
|
474
471
|
|
475
472
|
// if there are no fully visible columns at all, return false
|
476
473
|
if (startColumn === null && endColumn === null) {
|
477
|
-
return
|
474
|
+
return !isVisibleInTrimmingContainer;
|
478
475
|
}
|
479
476
|
var _this$columnsRenderCa = this.columnsRenderCalculator,
|
480
477
|
renderedStartColumn = _this$columnsRenderCa.startColumn,
|
@@ -299,13 +299,10 @@ var Viewport = /*#__PURE__*/function () {
|
|
299
299
|
height = this.getViewportHeight();
|
300
300
|
}
|
301
301
|
var pos = this.dataAccessObject.topScrollPosition - this.dataAccessObject.topParentOffset;
|
302
|
-
if (pos < 0) {
|
303
|
-
pos = 0;
|
304
|
-
}
|
305
302
|
var fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
306
303
|
var fixedRowsBottom = wtSettings.getSetting('fixedRowsBottom');
|
307
304
|
var totalRows = wtSettings.getSetting('totalRows');
|
308
|
-
if (fixedRowsTop) {
|
305
|
+
if (fixedRowsTop && pos >= 0) {
|
309
306
|
fixedRowsHeight = this.dataAccessObject.topOverlay.sumCellSizes(0, fixedRowsTop);
|
310
307
|
pos += fixedRowsHeight;
|
311
308
|
height -= fixedRowsHeight;
|
@@ -350,11 +347,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
350
347
|
var width = this.getViewportWidth();
|
351
348
|
var pos = Math.abs(this.dataAccessObject.inlineStartScrollPosition) - this.dataAccessObject.inlineStartParentOffset;
|
352
349
|
this.columnHeaderHeight = NaN;
|
353
|
-
if (pos < 0) {
|
354
|
-
pos = 0;
|
355
|
-
}
|
356
350
|
var fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
357
|
-
if (fixedColumnsStart) {
|
351
|
+
if (fixedColumnsStart && pos >= 0) {
|
358
352
|
var fixedColumnsWidth = this.dataAccessObject.inlineStartOverlay.sumCellSizes(0, fixedColumnsStart);
|
359
353
|
pos += fixedColumnsWidth;
|
360
354
|
width -= fixedColumnsWidth;
|
@@ -364,7 +358,7 @@ var Viewport = /*#__PURE__*/function () {
|
|
364
358
|
}
|
365
359
|
return new ViewportColumnsCalculator({
|
366
360
|
viewportSize: width,
|
367
|
-
scrollOffset:
|
361
|
+
scrollOffset: pos,
|
368
362
|
totalItems: wtSettings.getSetting('totalColumns'),
|
369
363
|
itemSizeFn: function itemSizeFn(sourceCol) {
|
370
364
|
return wtTable.getColumnWidth(sourceCol);
|
@@ -374,7 +368,8 @@ var Viewport = /*#__PURE__*/function () {
|
|
374
368
|
stretchMode: wtSettings.getSetting('stretchH'),
|
375
369
|
stretchingItemWidthFn: function stretchingItemWidthFn(stretchedWidth, column) {
|
376
370
|
return wtSettings.getSetting('onBeforeStretchingColumnWidth', stretchedWidth, column);
|
377
|
-
}
|
371
|
+
},
|
372
|
+
inlineStartOffset: this.dataAccessObject.inlineStartParentOffset
|
378
373
|
});
|
379
374
|
}
|
380
375
|
|
@@ -434,11 +429,12 @@ var Viewport = /*#__PURE__*/function () {
|
|
434
429
|
return false;
|
435
430
|
}
|
436
431
|
var startRow = proposedRowsVisibleCalculator.startRow,
|
437
|
-
endRow = proposedRowsVisibleCalculator.endRow
|
432
|
+
endRow = proposedRowsVisibleCalculator.endRow,
|
433
|
+
isVisibleInTrimmingContainer = proposedRowsVisibleCalculator.isVisibleInTrimmingContainer;
|
438
434
|
|
439
435
|
// if there are no fully visible rows at all, return false
|
440
436
|
if (startRow === null && endRow === null) {
|
441
|
-
return
|
437
|
+
return !isVisibleInTrimmingContainer;
|
442
438
|
}
|
443
439
|
var _this$rowsRenderCalcu = this.rowsRenderCalculator,
|
444
440
|
renderedStartRow = _this$rowsRenderCalcu.startRow,
|
@@ -466,11 +462,12 @@ var Viewport = /*#__PURE__*/function () {
|
|
466
462
|
return false;
|
467
463
|
}
|
468
464
|
var startColumn = proposedColumnsVisibleCalculator.startColumn,
|
469
|
-
endColumn = proposedColumnsVisibleCalculator.endColumn
|
465
|
+
endColumn = proposedColumnsVisibleCalculator.endColumn,
|
466
|
+
isVisibleInTrimmingContainer = proposedColumnsVisibleCalculator.isVisibleInTrimmingContainer;
|
470
467
|
|
471
468
|
// if there are no fully visible columns at all, return false
|
472
469
|
if (startColumn === null && endColumn === null) {
|
473
|
-
return
|
470
|
+
return !isVisibleInTrimmingContainer;
|
474
471
|
}
|
475
472
|
var _this$columnsRenderCa = this.columnsRenderCalculator,
|
476
473
|
renderedStartColumn = _this$columnsRenderCa.startColumn,
|
package/CHANGELOG.md
CHANGED
@@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
9
9
|
|
10
10
|
<!-- UNVERSIONED -->
|
11
11
|
|
12
|
+
## [12.3.2] - 2023-03-22
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
- Fixed a problem with the checkboxes from the filtering dropdown resetting their state after scrolling the table out of the viewport by preventing the table from triggering a 'full' render every time it was outside the viewport + Fixed an issue where clicking on a cell in some specific configurations of the RTL mode would scroll the table sideways. [#10206](https://github.com/handsontable/handsontable/pull/10206)
|
16
|
+
- Using `getDataAtCol` and `getDataAtProp` for dataset with large number of rows won't break the table [#9772](https://github.com/handsontable/handsontable/issues/9772)
|
17
|
+
- React: Removed deprecated React method from the wrapper. [#10263](https://github.com/handsontable/handsontable/pull/10263)
|
18
|
+
|
12
19
|
## [12.3.1] - 2023-02-06
|
13
20
|
|
14
21
|
### Added
|
package/base.js
CHANGED
@@ -46,8 +46,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
46
46
|
Handsontable.CellCoords = _src.CellCoords;
|
47
47
|
Handsontable.CellRange = _src.CellRange;
|
48
48
|
Handsontable.packageName = 'handsontable';
|
49
|
-
Handsontable.buildDate = "
|
50
|
-
Handsontable.version = "12.3.
|
49
|
+
Handsontable.buildDate = "15/03/2023 11:33:58";
|
50
|
+
Handsontable.version = "12.3.2-next-bcef33c-20230315";
|
51
51
|
Handsontable.languages = {
|
52
52
|
dictionaryKeys: _registry.dictionaryKeys,
|
53
53
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
package/base.mjs
CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
|
|
35
35
|
Handsontable.CellCoords = CellCoords;
|
36
36
|
Handsontable.CellRange = CellRange;
|
37
37
|
Handsontable.packageName = 'handsontable';
|
38
|
-
Handsontable.buildDate = "
|
39
|
-
Handsontable.version = "12.3.
|
38
|
+
Handsontable.buildDate = "15/03/2023 11:34:14";
|
39
|
+
Handsontable.version = "12.3.2-next-bcef33c-20230315";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys: dictionaryKeys,
|
42
42
|
getLanguageDictionary: getLanguageDictionary,
|
package/core.js
CHANGED
@@ -2750,8 +2750,14 @@ function Core(rootElement, userSettings) {
|
|
2750
2750
|
* @returns {Array} Array of cell values.
|
2751
2751
|
*/
|
2752
2752
|
this.getDataAtCol = function (column) {
|
2753
|
-
var
|
2754
|
-
|
2753
|
+
var columnData = [];
|
2754
|
+
var dataByRows = datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER);
|
2755
|
+
for (var i = 0; i < dataByRows.length; i += 1) {
|
2756
|
+
for (var j = 0; j < dataByRows[i].length; j += 1) {
|
2757
|
+
columnData.push(dataByRows[i][j]);
|
2758
|
+
}
|
2759
|
+
}
|
2760
|
+
return columnData;
|
2755
2761
|
};
|
2756
2762
|
|
2757
2763
|
/**
|
@@ -2765,9 +2771,14 @@ function Core(rootElement, userSettings) {
|
|
2765
2771
|
*/
|
2766
2772
|
// TODO: Getting data from `datamap` should work on visual indexes.
|
2767
2773
|
this.getDataAtProp = function (prop) {
|
2768
|
-
var
|
2769
|
-
var
|
2770
|
-
|
2774
|
+
var columnData = [];
|
2775
|
+
var dataByRows = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
|
2776
|
+
for (var i = 0; i < dataByRows.length; i += 1) {
|
2777
|
+
for (var j = 0; j < dataByRows[i].length; j += 1) {
|
2778
|
+
columnData.push(dataByRows[i][j]);
|
2779
|
+
}
|
2780
|
+
}
|
2781
|
+
return columnData;
|
2771
2782
|
};
|
2772
2783
|
|
2773
2784
|
/**
|
@@ -2852,21 +2863,21 @@ function Core(rootElement, userSettings) {
|
|
2852
2863
|
var isThereAnySetSourceListener = this.hasHook('afterSetSourceDataAtCell');
|
2853
2864
|
var changesForHook = [];
|
2854
2865
|
if (isThereAnySetSourceListener) {
|
2855
|
-
(0, _array.arrayEach)(input, function (
|
2856
|
-
var
|
2857
|
-
changeRow =
|
2858
|
-
changeProp =
|
2859
|
-
changeValue =
|
2866
|
+
(0, _array.arrayEach)(input, function (_ref13) {
|
2867
|
+
var _ref14 = _slicedToArray(_ref13, 3),
|
2868
|
+
changeRow = _ref14[0],
|
2869
|
+
changeProp = _ref14[1],
|
2870
|
+
changeValue = _ref14[2];
|
2860
2871
|
changesForHook.push([changeRow, changeProp, dataSource.getAtCell(changeRow, changeProp),
|
2861
2872
|
// The previous value.
|
2862
2873
|
changeValue]);
|
2863
2874
|
});
|
2864
2875
|
}
|
2865
|
-
(0, _array.arrayEach)(input, function (
|
2866
|
-
var
|
2867
|
-
changeRow =
|
2868
|
-
changeProp =
|
2869
|
-
changeValue =
|
2876
|
+
(0, _array.arrayEach)(input, function (_ref15) {
|
2877
|
+
var _ref16 = _slicedToArray(_ref15, 3),
|
2878
|
+
changeRow = _ref16[0],
|
2879
|
+
changeProp = _ref16[1],
|
2880
|
+
changeValue = _ref16[2];
|
2870
2881
|
dataSource.setAtCell(changeRow, changeProp, changeValue);
|
2871
2882
|
});
|
2872
2883
|
if (isThereAnySetSourceListener) {
|
@@ -2985,9 +2996,9 @@ function Core(rootElement, userSettings) {
|
|
2985
2996
|
* @fires Hooks#afterRemoveCellMeta
|
2986
2997
|
*/
|
2987
2998
|
this.removeCellMeta = function (row, column, key) {
|
2988
|
-
var
|
2989
|
-
physicalRow =
|
2990
|
-
physicalColumn =
|
2999
|
+
var _ref17 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
|
3000
|
+
physicalRow = _ref17[0],
|
3001
|
+
physicalColumn = _ref17[1];
|
2991
3002
|
var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
|
2992
3003
|
var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
|
2993
3004
|
if (hookResult !== false) {
|
@@ -4067,9 +4078,9 @@ function Core(rootElement, userSettings) {
|
|
4067
4078
|
instance.batchExecution(function () {
|
4068
4079
|
instance.rowIndexMapper.unregisterAll();
|
4069
4080
|
instance.columnIndexMapper.unregisterAll();
|
4070
|
-
pluginsRegistry.getItems().forEach(function (
|
4071
|
-
var
|
4072
|
-
plugin =
|
4081
|
+
pluginsRegistry.getItems().forEach(function (_ref18) {
|
4082
|
+
var _ref19 = _slicedToArray(_ref18, 2),
|
4083
|
+
plugin = _ref19[1];
|
4073
4084
|
plugin.destroy();
|
4074
4085
|
});
|
4075
4086
|
pluginsRegistry.clear();
|
package/core.mjs
CHANGED
@@ -2745,8 +2745,14 @@ export default function Core(rootElement, userSettings) {
|
|
2745
2745
|
* @returns {Array} Array of cell values.
|
2746
2746
|
*/
|
2747
2747
|
this.getDataAtCol = function (column) {
|
2748
|
-
var
|
2749
|
-
|
2748
|
+
var columnData = [];
|
2749
|
+
var dataByRows = datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER);
|
2750
|
+
for (var i = 0; i < dataByRows.length; i += 1) {
|
2751
|
+
for (var j = 0; j < dataByRows[i].length; j += 1) {
|
2752
|
+
columnData.push(dataByRows[i][j]);
|
2753
|
+
}
|
2754
|
+
}
|
2755
|
+
return columnData;
|
2750
2756
|
};
|
2751
2757
|
|
2752
2758
|
/**
|
@@ -2760,9 +2766,14 @@ export default function Core(rootElement, userSettings) {
|
|
2760
2766
|
*/
|
2761
2767
|
// TODO: Getting data from `datamap` should work on visual indexes.
|
2762
2768
|
this.getDataAtProp = function (prop) {
|
2763
|
-
var
|
2764
|
-
var
|
2765
|
-
|
2769
|
+
var columnData = [];
|
2770
|
+
var dataByRows = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
|
2771
|
+
for (var i = 0; i < dataByRows.length; i += 1) {
|
2772
|
+
for (var j = 0; j < dataByRows[i].length; j += 1) {
|
2773
|
+
columnData.push(dataByRows[i][j]);
|
2774
|
+
}
|
2775
|
+
}
|
2776
|
+
return columnData;
|
2766
2777
|
};
|
2767
2778
|
|
2768
2779
|
/**
|
@@ -2847,21 +2858,21 @@ export default function Core(rootElement, userSettings) {
|
|
2847
2858
|
var isThereAnySetSourceListener = this.hasHook('afterSetSourceDataAtCell');
|
2848
2859
|
var changesForHook = [];
|
2849
2860
|
if (isThereAnySetSourceListener) {
|
2850
|
-
arrayEach(input, function (
|
2851
|
-
var
|
2852
|
-
changeRow =
|
2853
|
-
changeProp =
|
2854
|
-
changeValue =
|
2861
|
+
arrayEach(input, function (_ref13) {
|
2862
|
+
var _ref14 = _slicedToArray(_ref13, 3),
|
2863
|
+
changeRow = _ref14[0],
|
2864
|
+
changeProp = _ref14[1],
|
2865
|
+
changeValue = _ref14[2];
|
2855
2866
|
changesForHook.push([changeRow, changeProp, dataSource.getAtCell(changeRow, changeProp),
|
2856
2867
|
// The previous value.
|
2857
2868
|
changeValue]);
|
2858
2869
|
});
|
2859
2870
|
}
|
2860
|
-
arrayEach(input, function (
|
2861
|
-
var
|
2862
|
-
changeRow =
|
2863
|
-
changeProp =
|
2864
|
-
changeValue =
|
2871
|
+
arrayEach(input, function (_ref15) {
|
2872
|
+
var _ref16 = _slicedToArray(_ref15, 3),
|
2873
|
+
changeRow = _ref16[0],
|
2874
|
+
changeProp = _ref16[1],
|
2875
|
+
changeValue = _ref16[2];
|
2865
2876
|
dataSource.setAtCell(changeRow, changeProp, changeValue);
|
2866
2877
|
});
|
2867
2878
|
if (isThereAnySetSourceListener) {
|
@@ -2980,9 +2991,9 @@ export default function Core(rootElement, userSettings) {
|
|
2980
2991
|
* @fires Hooks#afterRemoveCellMeta
|
2981
2992
|
*/
|
2982
2993
|
this.removeCellMeta = function (row, column, key) {
|
2983
|
-
var
|
2984
|
-
physicalRow =
|
2985
|
-
physicalColumn =
|
2994
|
+
var _ref17 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
|
2995
|
+
physicalRow = _ref17[0],
|
2996
|
+
physicalColumn = _ref17[1];
|
2986
2997
|
var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
|
2987
2998
|
var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
|
2988
2999
|
if (hookResult !== false) {
|
@@ -4062,9 +4073,9 @@ export default function Core(rootElement, userSettings) {
|
|
4062
4073
|
instance.batchExecution(function () {
|
4063
4074
|
instance.rowIndexMapper.unregisterAll();
|
4064
4075
|
instance.columnIndexMapper.unregisterAll();
|
4065
|
-
pluginsRegistry.getItems().forEach(function (
|
4066
|
-
var
|
4067
|
-
plugin =
|
4076
|
+
pluginsRegistry.getItems().forEach(function (_ref18) {
|
4077
|
+
var _ref19 = _slicedToArray(_ref18, 2),
|
4078
|
+
plugin = _ref19[1];
|
4068
4079
|
plugin.destroy();
|
4069
4080
|
});
|
4070
4081
|
pluginsRegistry.clear();
|
@@ -826,10 +826,10 @@ var _default = function _default() {
|
|
826
826
|
*
|
827
827
|
* | Option | Possible settings |
|
828
828
|
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
829
|
-
* | `indicator` | `true`: Display
|
829
|
+
* | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
|
830
830
|
* | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
|
831
831
|
* | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
|
832
|
-
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/
|
832
|
+
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
|
833
833
|
*
|
834
834
|
* If you set the `columnSorting` option to an object,
|
835
835
|
* you can also sort individual columns at Handsontable's initialization.
|
@@ -842,8 +842,8 @@ var _default = function _default() {
|
|
842
842
|
* | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
|
843
843
|
*
|
844
844
|
* Read more:
|
845
|
-
* - [
|
846
|
-
* - [
|
845
|
+
* - [Rows sorting](@/guides/rows/rows-sorting.md)
|
846
|
+
* - [Rows sorting: Custom compare functions](@/guides/rows/rows-sorting.md#add-a-custom-comparator)
|
847
847
|
* - [`multiColumnSorting`](#multiColumnSorting)
|
848
848
|
*
|
849
849
|
* @memberof Options#
|
@@ -860,7 +860,7 @@ var _default = function _default() {
|
|
860
860
|
* columnSorting: {
|
861
861
|
* // sort empty cells as well
|
862
862
|
* sortEmptyCells: true,
|
863
|
-
* // display
|
863
|
+
* // display the arrow icon in the column header
|
864
864
|
* indicator: true,
|
865
865
|
* // disable clicking on the column header to sort the column
|
866
866
|
* headerAction: false,
|
@@ -3049,10 +3049,10 @@ var _default = function _default() {
|
|
3049
3049
|
*
|
3050
3050
|
* | Option | Possible settings |
|
3051
3051
|
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
3052
|
-
* | `indicator` | `true`: Display
|
3052
|
+
* | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
|
3053
3053
|
* | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
|
3054
3054
|
* | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
|
3055
|
-
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/
|
3055
|
+
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
|
3056
3056
|
*
|
3057
3057
|
* If you set the `multiColumnSorting` option to an object,
|
3058
3058
|
* you can also sort individual columns at Handsontable's initialization.
|
@@ -3065,7 +3065,7 @@ var _default = function _default() {
|
|
3065
3065
|
* | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
|
3066
3066
|
*
|
3067
3067
|
* Read more:
|
3068
|
-
* - [
|
3068
|
+
* - [Rows sorting](@/guides/rows/rows-sorting.md)
|
3069
3069
|
* - [`columnSorting`](#columnSorting)
|
3070
3070
|
*
|
3071
3071
|
* @memberof Options#
|
@@ -3082,7 +3082,7 @@ var _default = function _default() {
|
|
3082
3082
|
* multiColumnSorting: {
|
3083
3083
|
* // sort empty cells as well
|
3084
3084
|
* sortEmptyCells: true,
|
3085
|
-
* // display
|
3085
|
+
* // display the arrow icon in the column header
|
3086
3086
|
* indicator: true,
|
3087
3087
|
* // disable clicking on the column header to sort the column
|
3088
3088
|
* headerAction: false,
|
@@ -822,10 +822,10 @@ export default (function () {
|
|
822
822
|
*
|
823
823
|
* | Option | Possible settings |
|
824
824
|
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
825
|
-
* | `indicator` | `true`: Display
|
825
|
+
* | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
|
826
826
|
* | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
|
827
827
|
* | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
|
828
|
-
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/
|
828
|
+
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
|
829
829
|
*
|
830
830
|
* If you set the `columnSorting` option to an object,
|
831
831
|
* you can also sort individual columns at Handsontable's initialization.
|
@@ -838,8 +838,8 @@ export default (function () {
|
|
838
838
|
* | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
|
839
839
|
*
|
840
840
|
* Read more:
|
841
|
-
* - [
|
842
|
-
* - [
|
841
|
+
* - [Rows sorting](@/guides/rows/rows-sorting.md)
|
842
|
+
* - [Rows sorting: Custom compare functions](@/guides/rows/rows-sorting.md#add-a-custom-comparator)
|
843
843
|
* - [`multiColumnSorting`](#multiColumnSorting)
|
844
844
|
*
|
845
845
|
* @memberof Options#
|
@@ -856,7 +856,7 @@ export default (function () {
|
|
856
856
|
* columnSorting: {
|
857
857
|
* // sort empty cells as well
|
858
858
|
* sortEmptyCells: true,
|
859
|
-
* // display
|
859
|
+
* // display the arrow icon in the column header
|
860
860
|
* indicator: true,
|
861
861
|
* // disable clicking on the column header to sort the column
|
862
862
|
* headerAction: false,
|
@@ -3045,10 +3045,10 @@ export default (function () {
|
|
3045
3045
|
*
|
3046
3046
|
* | Option | Possible settings |
|
3047
3047
|
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
3048
|
-
* | `indicator` | `true`: Display
|
3048
|
+
* | `indicator` | `true`: Display the arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
|
3049
3049
|
* | `headerAction` | `true`: Enable clicking on the column header to sort the column<br>`false`: Disable clicking on the column header to sort the column |
|
3050
3050
|
* | `sortEmptyCells` | `true`: Sort empty cells as well<br>`false`: Place empty cells at the end |
|
3051
|
-
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/
|
3051
|
+
* | `compareFunctionFactory` | A [custom compare function](@/guides/rows/rows-sorting.md#add-a-custom-comparator) |
|
3052
3052
|
*
|
3053
3053
|
* If you set the `multiColumnSorting` option to an object,
|
3054
3054
|
* you can also sort individual columns at Handsontable's initialization.
|
@@ -3061,7 +3061,7 @@ export default (function () {
|
|
3061
3061
|
* | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
|
3062
3062
|
*
|
3063
3063
|
* Read more:
|
3064
|
-
* - [
|
3064
|
+
* - [Rows sorting](@/guides/rows/rows-sorting.md)
|
3065
3065
|
* - [`columnSorting`](#columnSorting)
|
3066
3066
|
*
|
3067
3067
|
* @memberof Options#
|
@@ -3078,7 +3078,7 @@ export default (function () {
|
|
3078
3078
|
* multiColumnSorting: {
|
3079
3079
|
* // sort empty cells as well
|
3080
3080
|
* sortEmptyCells: true,
|
3081
|
-
* // display
|
3081
|
+
* // display the arrow icon in the column header
|
3082
3082
|
* indicator: true,
|
3083
3083
|
* // disable clicking on the column header to sort the column
|
3084
3084
|
* headerAction: false,
|
package/dist/handsontable.css
CHANGED
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 12.3.
|
29
|
-
* Release date:
|
28
|
+
* Version: 12.3.2-next-bcef33c-20230315
|
29
|
+
* Release date: 22/03/2023 (built at 15/03/2023 11:34:29)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 12.3.
|
29
|
-
* Release date:
|
28
|
+
* Version: 12.3.2-next-bcef33c-20230315
|
29
|
+
* Release date: 22/03/2023 (built at 15/03/2023 11:34:29)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|