handsontable 12.3.1 → 12.3.2-next-e75de58-20230322

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.
Files changed (72) hide show
  1. package/3rdparty/walkontable/src/calculator/viewportColumns.js +31 -9
  2. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +31 -9
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +21 -6
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +21 -6
  5. package/3rdparty/walkontable/src/core/_base.js +19 -20
  6. package/3rdparty/walkontable/src/core/_base.mjs +19 -20
  7. package/3rdparty/walkontable/src/scroll.js +14 -3
  8. package/3rdparty/walkontable/src/scroll.mjs +14 -3
  9. package/3rdparty/walkontable/src/table.js +4 -2
  10. package/3rdparty/walkontable/src/table.mjs +4 -2
  11. package/3rdparty/walkontable/src/types.js +1 -0
  12. package/3rdparty/walkontable/src/types.mjs +1 -0
  13. package/3rdparty/walkontable/src/viewport.js +11 -14
  14. package/3rdparty/walkontable/src/viewport.mjs +11 -14
  15. package/CHANGELOG.md +1156 -494
  16. package/base.js +2 -2
  17. package/base.mjs +2 -2
  18. package/core.js +32 -21
  19. package/core.mjs +32 -21
  20. package/dataMap/metaManager/metaSchema.js +9 -9
  21. package/dataMap/metaManager/metaSchema.mjs +9 -9
  22. package/dist/handsontable.css +2 -2
  23. package/dist/handsontable.full.css +2 -2
  24. package/dist/handsontable.full.js +4631 -3987
  25. package/dist/handsontable.full.min.css +8 -8
  26. package/dist/handsontable.full.min.js +241 -227
  27. package/dist/handsontable.js +2753 -2435
  28. package/dist/handsontable.min.css +7 -7
  29. package/dist/handsontable.min.js +3 -3
  30. package/dist/languages/all.js +1 -1
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/zh-CN.js +1 -1
  33. package/dist/languages/zh-CN.min.js +1 -1
  34. package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
  35. package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
  36. package/helpers/mixed.js +2 -2
  37. package/helpers/mixed.mjs +2 -2
  38. package/i18n/languages/zh-CN.js +1 -1
  39. package/i18n/languages/zh-CN.mjs +3 -3
  40. package/languages/all.js +1 -1
  41. package/languages/index.js +1 -1
  42. package/languages/zh-CN.js +1 -1
  43. package/languages/zh-CN.mjs +3 -3
  44. package/package.json +12 -13
  45. package/plugins/base/base.js +9 -10
  46. package/plugins/base/base.mjs +9 -10
  47. package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
  48. package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
  49. package/plugins/copyPaste/copyPaste.js +92 -16
  50. package/plugins/copyPaste/copyPaste.mjs +92 -16
  51. package/plugins/copyPaste/copyableRanges.js +14 -8
  52. package/plugins/copyPaste/copyableRanges.mjs +14 -8
  53. package/plugins/customBorders/customBorders.js +6 -7
  54. package/plugins/customBorders/customBorders.mjs +6 -7
  55. package/plugins/filters/filters.js +0 -8
  56. package/plugins/filters/filters.mjs +0 -8
  57. package/plugins/formulas/formulas.js +34 -7
  58. package/plugins/formulas/formulas.mjs +34 -7
  59. package/plugins/hiddenColumns/hiddenColumns.js +12 -7
  60. package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
  61. package/plugins/hiddenRows/hiddenRows.js +12 -7
  62. package/plugins/hiddenRows/hiddenRows.mjs +12 -7
  63. package/plugins/nestedHeaders/nestedHeaders.js +26 -7
  64. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
  65. package/plugins/nestedHeaders/stateManager/index.js +18 -0
  66. package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
  67. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
  68. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
  69. package/translations/changesObservable/observer.js +7 -0
  70. package/translations/changesObservable/observer.mjs +7 -0
  71. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
  72. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
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 = "06/02/2023 12:34:53";
50
- Handsontable.version = "12.3.1";
49
+ Handsontable.buildDate = "22/03/2023 11:52:55";
50
+ Handsontable.version = "12.3.2-next-e75de58-20230322";
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 = "06/02/2023 12:34:58";
39
- Handsontable.version = "12.3.1";
38
+ Handsontable.buildDate = "22/03/2023 11:53:11";
39
+ Handsontable.version = "12.3.2-next-e75de58-20230322";
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 _ref13;
2754
- return (_ref13 = []).concat.apply(_ref13, _toConsumableArray(datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER)));
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 _ref14;
2769
- var range = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2770
- return (_ref14 = []).concat.apply(_ref14, _toConsumableArray(range));
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 (_ref15) {
2856
- var _ref16 = _slicedToArray(_ref15, 3),
2857
- changeRow = _ref16[0],
2858
- changeProp = _ref16[1],
2859
- changeValue = _ref16[2];
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 (_ref17) {
2866
- var _ref18 = _slicedToArray(_ref17, 3),
2867
- changeRow = _ref18[0],
2868
- changeProp = _ref18[1],
2869
- changeValue = _ref18[2];
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 _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
2989
- physicalRow = _ref19[0],
2990
- physicalColumn = _ref19[1];
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 (_ref20) {
4071
- var _ref21 = _slicedToArray(_ref20, 2),
4072
- plugin = _ref21[1];
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 _ref13;
2749
- return (_ref13 = []).concat.apply(_ref13, _toConsumableArray(datamap.getRange(instance._createCellCoords(0, column), instance._createCellCoords(tableMeta.data.length - 1, column), datamap.DESTINATION_RENDERER)));
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 _ref14;
2764
- var range = datamap.getRange(instance._createCellCoords(0, datamap.propToCol(prop)), instance._createCellCoords(tableMeta.data.length - 1, datamap.propToCol(prop)), datamap.DESTINATION_RENDERER);
2765
- return (_ref14 = []).concat.apply(_ref14, _toConsumableArray(range));
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 (_ref15) {
2851
- var _ref16 = _slicedToArray(_ref15, 3),
2852
- changeRow = _ref16[0],
2853
- changeProp = _ref16[1],
2854
- changeValue = _ref16[2];
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 (_ref17) {
2861
- var _ref18 = _slicedToArray(_ref17, 3),
2862
- changeRow = _ref18[0],
2863
- changeProp = _ref18[1],
2864
- changeValue = _ref18[2];
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 _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
2984
- physicalRow = _ref19[0],
2985
- physicalColumn = _ref19[1];
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 (_ref20) {
4066
- var _ref21 = _slicedToArray(_ref20, 2),
4067
- plugin = _ref21[1];
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 an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
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/row-sorting.md#custom-compare-functions) |
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
- * - [Row sorting](@/guides/rows/row-sorting.md)
846
- * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
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 an arrow icon in the column header
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 an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
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/row-sorting.md#custom-compare-functions) |
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
- * - [Row sorting](@/guides/rows/row-sorting.md)
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 an arrow icon in the column header
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 an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
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/row-sorting.md#custom-compare-functions) |
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
- * - [Row sorting](@/guides/rows/row-sorting.md)
842
- * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
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 an arrow icon in the column header
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 an arrow icon in the column header, to indicate a sortable column<br>`false`: Don't display the arrow icon in the column header |
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/row-sorting.md#custom-compare-functions) |
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
- * - [Row sorting](@/guides/rows/row-sorting.md)
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 an arrow icon in the column header
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,
@@ -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.1
29
- * Release date: 06/02/2023 (built at 06/02/2023 12:35:03)
28
+ * Version: 12.3.2-next-e75de58-20230322
29
+ * Release date: 22/03/2023 (built at 22/03/2023 11:53:25)
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.1
29
- * Release date: 06/02/2023 (built at 06/02/2023 12:35:03)
28
+ * Version: 12.3.2-next-e75de58-20230322
29
+ * Release date: 22/03/2023 (built at 22/03/2023 11:53:25)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles