handsontable 12.3.1-next-42b5538-20230203 → 12.3.2-next-bcef33c-20230315
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/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 = "03/
|
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 = "03/
|
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
|