handsontable 12.3.3 → 12.4.0-next-ddbea0c-20230512

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. package/3rdparty/walkontable/src/cell/coords.js +13 -16
  2. package/3rdparty/walkontable/src/cell/coords.mjs +13 -16
  3. package/3rdparty/walkontable/src/cell/range.js +25 -29
  4. package/3rdparty/walkontable/src/cell/range.mjs +24 -28
  5. package/3rdparty/walkontable/src/core/_base.js +16 -20
  6. package/3rdparty/walkontable/src/core/_base.mjs +16 -20
  7. package/3rdparty/walkontable/src/event.js +4 -0
  8. package/3rdparty/walkontable/src/event.mjs +4 -0
  9. package/3rdparty/walkontable/src/overlay/_base.js +6 -7
  10. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
  11. package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
  13. package/3rdparty/walkontable/src/overlay/top.js +6 -7
  14. package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
  15. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
  16. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
  17. package/3rdparty/walkontable/src/overlays.js +55 -64
  18. package/3rdparty/walkontable/src/overlays.mjs +55 -64
  19. package/3rdparty/walkontable/src/scroll.js +20 -23
  20. package/3rdparty/walkontable/src/scroll.mjs +20 -23
  21. package/3rdparty/walkontable/src/settings.js +13 -15
  22. package/3rdparty/walkontable/src/settings.mjs +13 -15
  23. package/3rdparty/walkontable/src/table.js +22 -26
  24. package/3rdparty/walkontable/src/table.mjs +22 -26
  25. package/CHANGELOG.md +14 -0
  26. package/base.js +2 -4
  27. package/base.mjs +2 -2
  28. package/core.js +23 -6
  29. package/core.mjs +23 -6
  30. package/dataMap/dataSource.js +5 -5
  31. package/dataMap/dataSource.mjs +5 -5
  32. package/dataMap/metaManager/metaSchema.js +9 -7
  33. package/dataMap/metaManager/metaSchema.mjs +9 -7
  34. package/dist/handsontable.css +2 -2
  35. package/dist/handsontable.full.css +2 -2
  36. package/dist/handsontable.full.js +7364 -5992
  37. package/dist/handsontable.full.min.css +2 -2
  38. package/dist/handsontable.full.min.js +256 -234
  39. package/dist/handsontable.js +4326 -3275
  40. package/dist/handsontable.min.css +2 -2
  41. package/dist/handsontable.min.js +11 -3
  42. package/dist/languages/all.js +133 -0
  43. package/dist/languages/ar-AR.js +7 -0
  44. package/dist/languages/cs-CZ.js +7 -0
  45. package/dist/languages/de-CH.js +7 -0
  46. package/dist/languages/de-DE.js +7 -0
  47. package/dist/languages/en-US.js +7 -0
  48. package/dist/languages/es-MX.js +7 -0
  49. package/dist/languages/fr-FR.js +7 -0
  50. package/dist/languages/it-IT.js +7 -0
  51. package/dist/languages/ja-JP.js +7 -0
  52. package/dist/languages/ko-KR.js +7 -0
  53. package/dist/languages/lv-LV.js +7 -0
  54. package/dist/languages/nb-NO.js +7 -0
  55. package/dist/languages/nl-NL.js +7 -0
  56. package/dist/languages/pl-PL.js +7 -0
  57. package/dist/languages/pt-BR.js +7 -0
  58. package/dist/languages/ru-RU.js +7 -0
  59. package/dist/languages/sr-SP.js +7 -0
  60. package/dist/languages/zh-CN.js +7 -0
  61. package/dist/languages/zh-TW.js +7 -0
  62. package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
  63. package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
  64. package/helpers/mixed.js +2 -2
  65. package/helpers/mixed.mjs +2 -2
  66. package/i18n/languages/ar-AR.js +7 -1
  67. package/i18n/languages/cs-CZ.js +7 -1
  68. package/i18n/languages/de-CH.js +7 -1
  69. package/i18n/languages/de-DE.js +7 -1
  70. package/i18n/languages/en-US.js +7 -1
  71. package/i18n/languages/es-MX.js +7 -1
  72. package/i18n/languages/fr-FR.js +7 -1
  73. package/i18n/languages/it-IT.js +7 -1
  74. package/i18n/languages/ja-JP.js +7 -1
  75. package/i18n/languages/ko-KR.js +7 -1
  76. package/i18n/languages/lv-LV.js +7 -1
  77. package/i18n/languages/nb-NO.js +7 -1
  78. package/i18n/languages/nl-NL.js +7 -1
  79. package/i18n/languages/pl-PL.js +7 -1
  80. package/i18n/languages/pt-BR.js +7 -1
  81. package/i18n/languages/ru-RU.js +7 -1
  82. package/i18n/languages/sr-SP.js +7 -1
  83. package/i18n/languages/zh-CN.js +7 -1
  84. package/i18n/languages/zh-TW.js +7 -1
  85. package/languages/all.js +133 -0
  86. package/languages/ar-AR.js +7 -0
  87. package/languages/cs-CZ.js +7 -0
  88. package/languages/de-CH.js +7 -0
  89. package/languages/de-DE.js +7 -0
  90. package/languages/en-US.js +7 -0
  91. package/languages/es-MX.js +7 -0
  92. package/languages/fr-FR.js +7 -0
  93. package/languages/index.js +133 -0
  94. package/languages/it-IT.js +7 -0
  95. package/languages/ja-JP.js +7 -0
  96. package/languages/ko-KR.js +7 -0
  97. package/languages/lv-LV.js +7 -0
  98. package/languages/nb-NO.js +7 -0
  99. package/languages/nl-NL.js +7 -0
  100. package/languages/pl-PL.js +7 -0
  101. package/languages/pt-BR.js +7 -0
  102. package/languages/ru-RU.js +7 -0
  103. package/languages/sr-SP.js +7 -0
  104. package/languages/zh-CN.js +7 -0
  105. package/languages/zh-TW.js +7 -0
  106. package/package.json +3 -2
  107. package/pluginHooks.js +16 -6
  108. package/pluginHooks.mjs +15 -3
  109. package/plugins/autoRowSize/autoRowSize.js +2 -2
  110. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  111. package/plugins/base/base.js +9 -10
  112. package/plugins/base/base.mjs +9 -10
  113. package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
  114. package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
  115. package/plugins/copyPaste/copyPaste.js +92 -16
  116. package/plugins/copyPaste/copyPaste.mjs +92 -16
  117. package/plugins/copyPaste/copyableRanges.js +39 -39
  118. package/plugins/copyPaste/copyableRanges.mjs +32 -32
  119. package/plugins/customBorders/customBorders.d.ts +2 -0
  120. package/plugins/customBorders/customBorders.js +6 -7
  121. package/plugins/customBorders/customBorders.mjs +6 -7
  122. package/plugins/filters/filters.js +5 -0
  123. package/plugins/filters/filters.mjs +5 -0
  124. package/plugins/formulas/engine/register.js +9 -0
  125. package/plugins/formulas/engine/register.mjs +13 -4
  126. package/plugins/formulas/engine/settings.js +18 -3
  127. package/plugins/formulas/engine/settings.mjs +16 -3
  128. package/plugins/formulas/formulas.js +308 -162
  129. package/plugins/formulas/formulas.mjs +308 -163
  130. package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
  131. package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
  132. package/plugins/formulas/indexSyncer/index.js +225 -0
  133. package/plugins/formulas/indexSyncer/index.mjs +219 -0
  134. package/plugins/formulas/utils.js +81 -0
  135. package/plugins/formulas/utils.mjs +74 -0
  136. package/plugins/hiddenColumns/hiddenColumns.js +12 -7
  137. package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
  138. package/plugins/hiddenRows/hiddenRows.js +12 -7
  139. package/plugins/hiddenRows/hiddenRows.mjs +12 -7
  140. package/plugins/manualRowMove/manualRowMove.js +26 -11
  141. package/plugins/manualRowMove/manualRowMove.mjs +27 -12
  142. package/plugins/nestedHeaders/nestedHeaders.js +26 -7
  143. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
  144. package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
  145. package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
  146. package/plugins/nestedHeaders/stateManager/index.js +21 -3
  147. package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
  148. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
  149. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
  150. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
  151. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
  152. package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
  153. package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
  154. package/plugins/registry.js +3 -1
  155. package/plugins/undoRedo/undoRedo.js +0 -1
  156. package/plugins/undoRedo/undoRedo.mjs +0 -1
  157. package/selection/highlight/visualSelection.js +5 -6
  158. package/selection/highlight/visualSelection.mjs +5 -6
  159. package/tableView.js +62 -72
  160. package/tableView.mjs +62 -72
  161. package/translations/changesObservable/observable.js +41 -46
  162. package/translations/changesObservable/observable.mjs +36 -41
  163. package/translations/changesObservable/observer.js +8 -1
  164. package/translations/changesObservable/observer.mjs +7 -0
  165. package/translations/indexMapper.js +21 -0
  166. package/translations/indexMapper.mjs +21 -0
  167. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
  168. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
  169. package/utils/dataStructures/tree.js +15 -18
  170. package/utils/dataStructures/tree.mjs +15 -18
  171. package/utils/parseTable.js +5 -1
  172. package/utils/parseTable.mjs +5 -1
@@ -119,17 +119,43 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
119
119
  args[_key] = arguments[_key];
120
120
  }
121
121
  _this = _super.call.apply(_super, [this].concat(args));
122
+ /**
123
+ * The state manager for the nested headers.
124
+ *
125
+ * @private
126
+ * @type {StateManager}
127
+ */
122
128
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _stateManager, {
123
129
  writable: true,
124
130
  value: new _stateManager2.default()
125
131
  });
132
+ /**
133
+ * The instance of the ChangesObservable class that allows track the changes that happens in the
134
+ * column indexes.
135
+ *
136
+ * @private
137
+ * @type {ChangesObservable}
138
+ */
126
139
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _hidingIndexMapObserver, {
127
140
  writable: true,
128
141
  value: null
129
142
  });
143
+ /**
144
+ * Custom helper for getting widths of the nested headers.
145
+ *
146
+ * @private
147
+ * @type {GhostTable}
148
+ */
149
+ // @TODO This should be changed after refactor handsontable/utils/ghostTable.
130
150
  _defineProperty(_assertThisInitialized(_this), "ghostTable", new _ghostTable.default(_this.hot, function (row, column) {
131
151
  return _this.getHeaderSettings(row, column);
132
152
  }));
153
+ /**
154
+ * The flag which determines that the nested header settings contains overlapping headers
155
+ * configuration.
156
+ *
157
+ * @type {boolean}
158
+ */
133
159
  _defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
134
160
  return _this;
135
161
  }
@@ -761,13 +787,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
761
787
  get: function get() {
762
788
  return PLUGIN_PRIORITY;
763
789
  }
764
-
765
- /**
766
- * The state manager for the nested headers.
767
- *
768
- * @private
769
- * @type {StateManager}
770
- */
771
790
  }]);
772
791
  return NestedHeaders;
773
792
  }(_base.BasePlugin);
@@ -112,17 +112,43 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
112
112
  args[_key] = arguments[_key];
113
113
  }
114
114
  _this = _super.call.apply(_super, [this].concat(args));
115
+ /**
116
+ * The state manager for the nested headers.
117
+ *
118
+ * @private
119
+ * @type {StateManager}
120
+ */
115
121
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _stateManager, {
116
122
  writable: true,
117
123
  value: new StateManager()
118
124
  });
125
+ /**
126
+ * The instance of the ChangesObservable class that allows track the changes that happens in the
127
+ * column indexes.
128
+ *
129
+ * @private
130
+ * @type {ChangesObservable}
131
+ */
119
132
  _classPrivateFieldInitSpec(_assertThisInitialized(_this), _hidingIndexMapObserver, {
120
133
  writable: true,
121
134
  value: null
122
135
  });
136
+ /**
137
+ * Custom helper for getting widths of the nested headers.
138
+ *
139
+ * @private
140
+ * @type {GhostTable}
141
+ */
142
+ // @TODO This should be changed after refactor handsontable/utils/ghostTable.
123
143
  _defineProperty(_assertThisInitialized(_this), "ghostTable", new GhostTable(_this.hot, function (row, column) {
124
144
  return _this.getHeaderSettings(row, column);
125
145
  }));
146
+ /**
147
+ * The flag which determines that the nested header settings contains overlapping headers
148
+ * configuration.
149
+ *
150
+ * @type {boolean}
151
+ */
126
152
  _defineProperty(_assertThisInitialized(_this), "detectedOverlappedHeaders", false);
127
153
  return _this;
128
154
  }
@@ -754,13 +780,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
754
780
  get: function get() {
755
781
  return PLUGIN_PRIORITY;
756
782
  }
757
-
758
- /**
759
- * The state manager for the nested headers.
760
- *
761
- * @private
762
- * @type {StateManager}
763
- */
764
783
  }]);
765
784
  return NestedHeaders;
766
785
  }(BasePlugin);
@@ -48,9 +48,6 @@ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) {
48
48
  function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
49
49
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
50
50
  function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
51
- var _rootNodes = /*#__PURE__*/new WeakMap();
52
- var _rootsIndex = /*#__PURE__*/new WeakMap();
53
- var _sourceSettings = /*#__PURE__*/new WeakMap();
54
51
  /* eslint-disable jsdoc/require-description-complete-sentence */
55
52
  /**
56
53
  * @private
@@ -87,40 +84,40 @@ var _sourceSettings = /*#__PURE__*/new WeakMap();
87
84
  *
88
85
  */
89
86
  /* eslint-enable jsdoc/require-description-complete-sentence */
87
+ var _rootNodes = /*#__PURE__*/new WeakMap();
88
+ var _rootsIndex = /*#__PURE__*/new WeakMap();
89
+ var _sourceSettings = /*#__PURE__*/new WeakMap();
90
90
  var HeadersTree = /*#__PURE__*/function () {
91
- /**
92
- * The collection of nested headers settings structured into trees. The root trees are stored
93
- * under the visual column index.
94
- *
95
- * @private
96
- * @type {Map<number, TreeNode>}
97
- */
98
-
99
- /**
100
- * A map that translates the visual column indexes that intersect the range
101
- * defined by the header colspan width to the root index.
102
- *
103
- * @private
104
- * @type {Map<number, number>}
105
- */
106
-
107
- /**
108
- * The instance of the SourceSettings class.
109
- *
110
- * @private
111
- * @type {SourceSettings}
112
- */
113
-
114
91
  function HeadersTree(sourceSettings) {
115
92
  _classCallCheck(this, HeadersTree);
93
+ /**
94
+ * The collection of nested headers settings structured into trees. The root trees are stored
95
+ * under the visual column index.
96
+ *
97
+ * @private
98
+ * @type {Map<number, TreeNode>}
99
+ */
116
100
  _classPrivateFieldInitSpec(this, _rootNodes, {
117
101
  writable: true,
118
102
  value: new Map()
119
103
  });
104
+ /**
105
+ * A map that translates the visual column indexes that intersect the range
106
+ * defined by the header colspan width to the root index.
107
+ *
108
+ * @private
109
+ * @type {Map<number, number>}
110
+ */
120
111
  _classPrivateFieldInitSpec(this, _rootsIndex, {
121
112
  writable: true,
122
113
  value: new Map()
123
114
  });
115
+ /**
116
+ * The instance of the SourceSettings class.
117
+ *
118
+ * @private
119
+ * @type {SourceSettings}
120
+ */
124
121
  _classPrivateFieldInitSpec(this, _sourceSettings, {
125
122
  writable: true,
126
123
  value: null
@@ -83,39 +83,36 @@ var _rootNodes = /*#__PURE__*/new WeakMap();
83
83
  var _rootsIndex = /*#__PURE__*/new WeakMap();
84
84
  var _sourceSettings = /*#__PURE__*/new WeakMap();
85
85
  var HeadersTree = /*#__PURE__*/function () {
86
- /**
87
- * The collection of nested headers settings structured into trees. The root trees are stored
88
- * under the visual column index.
89
- *
90
- * @private
91
- * @type {Map<number, TreeNode>}
92
- */
93
-
94
- /**
95
- * A map that translates the visual column indexes that intersect the range
96
- * defined by the header colspan width to the root index.
97
- *
98
- * @private
99
- * @type {Map<number, number>}
100
- */
101
-
102
- /**
103
- * The instance of the SourceSettings class.
104
- *
105
- * @private
106
- * @type {SourceSettings}
107
- */
108
-
109
86
  function HeadersTree(sourceSettings) {
110
87
  _classCallCheck(this, HeadersTree);
88
+ /**
89
+ * The collection of nested headers settings structured into trees. The root trees are stored
90
+ * under the visual column index.
91
+ *
92
+ * @private
93
+ * @type {Map<number, TreeNode>}
94
+ */
111
95
  _classPrivateFieldInitSpec(this, _rootNodes, {
112
96
  writable: true,
113
97
  value: new Map()
114
98
  });
99
+ /**
100
+ * A map that translates the visual column indexes that intersect the range
101
+ * defined by the header colspan width to the root index.
102
+ *
103
+ * @private
104
+ * @type {Map<number, number>}
105
+ */
115
106
  _classPrivateFieldInitSpec(this, _rootsIndex, {
116
107
  writable: true,
117
108
  value: new Map()
118
109
  });
110
+ /**
111
+ * The instance of the SourceSettings class.
112
+ *
113
+ * @private
114
+ * @type {SourceSettings}
115
+ */
119
116
  _classPrivateFieldInitSpec(this, _sourceSettings, {
120
117
  writable: true,
121
118
  value: null
@@ -45,9 +45,6 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
45
45
  function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
46
46
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
47
47
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
48
- var _sourceSettings = /*#__PURE__*/new WeakMap();
49
- var _headersTree = /*#__PURE__*/new WeakMap();
50
- var _stateMatrix = /*#__PURE__*/new WeakMap();
51
48
  /**
52
49
  * The state manager is a source of truth for nested headers configuration.
53
50
  * The state generation process is divided into three stages.
@@ -76,17 +73,38 @@ var _stateMatrix = /*#__PURE__*/new WeakMap();
76
73
  *
77
74
  * @class StateManager
78
75
  */
76
+ var _sourceSettings = /*#__PURE__*/new WeakMap();
77
+ var _headersTree = /*#__PURE__*/new WeakMap();
78
+ var _stateMatrix = /*#__PURE__*/new WeakMap();
79
79
  var StateManager = /*#__PURE__*/function () {
80
80
  function StateManager() {
81
81
  _classCallCheck(this, StateManager);
82
+ /**
83
+ * The instance of the source settings class.
84
+ *
85
+ * @private
86
+ * @type {SourceSettings}
87
+ */
82
88
  _classPrivateFieldInitSpec(this, _sourceSettings, {
83
89
  writable: true,
84
90
  value: new _sourceSettings2.default()
85
91
  });
92
+ /**
93
+ * The instance of the headers tree. The tree is generated after setting new configuration data.
94
+ *
95
+ * @private
96
+ * @type {HeadersTree}
97
+ */
86
98
  _classPrivateFieldInitSpec(this, _headersTree, {
87
99
  writable: true,
88
100
  value: new _headersTree2.default(_classPrivateFieldGet(this, _sourceSettings))
89
101
  });
102
+ /**
103
+ * Cached matrix which is generated from the tree structure.
104
+ *
105
+ * @private
106
+ * @type {Array[]}
107
+ */
90
108
  _classPrivateFieldInitSpec(this, _stateMatrix, {
91
109
  writable: true,
92
110
  value: [[]]
@@ -74,14 +74,32 @@ var _stateMatrix = /*#__PURE__*/new WeakMap();
74
74
  var StateManager = /*#__PURE__*/function () {
75
75
  function StateManager() {
76
76
  _classCallCheck(this, StateManager);
77
+ /**
78
+ * The instance of the source settings class.
79
+ *
80
+ * @private
81
+ * @type {SourceSettings}
82
+ */
77
83
  _classPrivateFieldInitSpec(this, _sourceSettings, {
78
84
  writable: true,
79
85
  value: new SourceSettings()
80
86
  });
87
+ /**
88
+ * The instance of the headers tree. The tree is generated after setting new configuration data.
89
+ *
90
+ * @private
91
+ * @type {HeadersTree}
92
+ */
81
93
  _classPrivateFieldInitSpec(this, _headersTree, {
82
94
  writable: true,
83
95
  value: new HeadersTree(_classPrivateFieldGet(this, _sourceSettings))
84
96
  });
97
+ /**
98
+ * Cached matrix which is generated from the tree structure.
99
+ *
100
+ * @private
101
+ * @type {Array[]}
102
+ */
85
103
  _classPrivateFieldInitSpec(this, _stateMatrix, {
86
104
  writable: true,
87
105
  value: [[]]
@@ -10,6 +10,7 @@ require("core-js/modules/es.string.includes.js");
10
10
  var _array = require("../../../helpers/array");
11
11
  var _utils = require("./utils");
12
12
  var _excluded = ["crossHiddenColumns"];
13
+ /* eslint-disable jsdoc/require-description-complete-sentence */
13
14
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
15
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
16
  /**
@@ -24,7 +24,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
24
24
  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); }
25
25
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
26
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
- 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; }
27
+ 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; } /* eslint-disable jsdoc/require-description-complete-sentence */
28
28
  /**
29
29
  * A function that normalizes user-defined settings into one predictable
30
30
  * structure. Currently, the developer can declare nested headers by passing
@@ -63,14 +63,33 @@ var _columnsLimit = /*#__PURE__*/new WeakMap();
63
63
  var SourceSettings = /*#__PURE__*/function () {
64
64
  function SourceSettings() {
65
65
  _classCallCheck(this, SourceSettings);
66
+ /**
67
+ * The normalized source data (normalized user-defined settings for nested headers).
68
+ *
69
+ * @private
70
+ * @type {Array[]}
71
+ */
66
72
  _classPrivateFieldInitSpec(this, _data, {
67
73
  writable: true,
68
74
  value: []
69
75
  });
76
+ /**
77
+ * The total length of the nested header layers.
78
+ *
79
+ * @private
80
+ * @type {number}
81
+ */
70
82
  _classPrivateFieldInitSpec(this, _dataLength, {
71
83
  writable: true,
72
84
  value: 0
73
85
  });
86
+ /**
87
+ * Columns count limit value trims source settings to that value. If columns
88
+ * count limit intersects nested header, the header's colspan value is reduced
89
+ * to keep the whole structure stable (trimmed precisely where the limit is set).
90
+ *
91
+ * @type {number}
92
+ */
74
93
  _classPrivateFieldInitSpec(this, _columnsLimit, {
75
94
  writable: true,
76
95
  value: Infinity
@@ -58,14 +58,33 @@ var _columnsLimit = /*#__PURE__*/new WeakMap();
58
58
  var SourceSettings = /*#__PURE__*/function () {
59
59
  function SourceSettings() {
60
60
  _classCallCheck(this, SourceSettings);
61
+ /**
62
+ * The normalized source data (normalized user-defined settings for nested headers).
63
+ *
64
+ * @private
65
+ * @type {Array[]}
66
+ */
61
67
  _classPrivateFieldInitSpec(this, _data, {
62
68
  writable: true,
63
69
  value: []
64
70
  });
71
+ /**
72
+ * The total length of the nested header layers.
73
+ *
74
+ * @private
75
+ * @type {number}
76
+ */
65
77
  _classPrivateFieldInitSpec(this, _dataLength, {
66
78
  writable: true,
67
79
  value: 0
68
80
  });
81
+ /**
82
+ * Columns count limit value trims source settings to that value. If columns
83
+ * count limit intersects nested header, the header's colspan value is reduced
84
+ * to keep the whole structure stable (trimmed precisely where the limit is set).
85
+ *
86
+ * @type {number}
87
+ */
69
88
  _classPrivateFieldInitSpec(this, _columnsLimit, {
70
89
  writable: true,
71
90
  value: Infinity
@@ -29,47 +29,42 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
29
29
  * @private
30
30
  */
31
31
  var GhostTable = /*#__PURE__*/function () {
32
- /**
33
- * Reference to the Handsontable instance.
34
- *
35
- * @private
36
- * @type {Handsontable}
37
- */
38
-
39
- /**
40
- * The function for retrieving the nested headers settings.
41
- *
42
- * @private
43
- * @type {Function}
44
- */
45
-
46
- /**
47
- * The value that holds information about the number of the nested header layers (header rows).
48
- *
49
- * @private
50
- * @type {number}
51
- */
52
-
53
- /**
54
- * Temporary element created to get minimal headers widths.
55
- *
56
- * @private
57
- * @type {*}
58
- */
59
-
60
- /**
61
- * PhysicalIndexToValueMap to keep and track of the columns' widths.
62
- *
63
- * @private
64
- * @type {PhysicalIndexToValueMap}
65
- */
66
-
67
32
  function GhostTable(hot, nestedHeaderSettingsGetter) {
68
33
  _classCallCheck(this, GhostTable);
34
+ /**
35
+ * Reference to the Handsontable instance.
36
+ *
37
+ * @private
38
+ * @type {Handsontable}
39
+ */
69
40
  _defineProperty(this, "hot", void 0);
41
+ /**
42
+ * The function for retrieving the nested headers settings.
43
+ *
44
+ * @private
45
+ * @type {Function}
46
+ */
70
47
  _defineProperty(this, "nestedHeaderSettingsGetter", void 0);
48
+ /**
49
+ * The value that holds information about the number of the nested header layers (header rows).
50
+ *
51
+ * @private
52
+ * @type {number}
53
+ */
71
54
  _defineProperty(this, "layersCount", 0);
55
+ /**
56
+ * Temporary element created to get minimal headers widths.
57
+ *
58
+ * @private
59
+ * @type {*}
60
+ */
72
61
  _defineProperty(this, "container", void 0);
62
+ /**
63
+ * PhysicalIndexToValueMap to keep and track of the columns' widths.
64
+ *
65
+ * @private
66
+ * @type {PhysicalIndexToValueMap}
67
+ */
73
68
  _defineProperty(this, "widthsMap", void 0);
74
69
  this.hot = hot;
75
70
  this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
@@ -25,47 +25,42 @@ import { fastInnerHTML } from "../../../helpers/dom/element.mjs";
25
25
  * @private
26
26
  */
27
27
  var GhostTable = /*#__PURE__*/function () {
28
- /**
29
- * Reference to the Handsontable instance.
30
- *
31
- * @private
32
- * @type {Handsontable}
33
- */
34
-
35
- /**
36
- * The function for retrieving the nested headers settings.
37
- *
38
- * @private
39
- * @type {Function}
40
- */
41
-
42
- /**
43
- * The value that holds information about the number of the nested header layers (header rows).
44
- *
45
- * @private
46
- * @type {number}
47
- */
48
-
49
- /**
50
- * Temporary element created to get minimal headers widths.
51
- *
52
- * @private
53
- * @type {*}
54
- */
55
-
56
- /**
57
- * PhysicalIndexToValueMap to keep and track of the columns' widths.
58
- *
59
- * @private
60
- * @type {PhysicalIndexToValueMap}
61
- */
62
-
63
28
  function GhostTable(hot, nestedHeaderSettingsGetter) {
64
29
  _classCallCheck(this, GhostTable);
30
+ /**
31
+ * Reference to the Handsontable instance.
32
+ *
33
+ * @private
34
+ * @type {Handsontable}
35
+ */
65
36
  _defineProperty(this, "hot", void 0);
37
+ /**
38
+ * The function for retrieving the nested headers settings.
39
+ *
40
+ * @private
41
+ * @type {Function}
42
+ */
66
43
  _defineProperty(this, "nestedHeaderSettingsGetter", void 0);
44
+ /**
45
+ * The value that holds information about the number of the nested header layers (header rows).
46
+ *
47
+ * @private
48
+ * @type {number}
49
+ */
67
50
  _defineProperty(this, "layersCount", 0);
51
+ /**
52
+ * Temporary element created to get minimal headers widths.
53
+ *
54
+ * @private
55
+ * @type {*}
56
+ */
68
57
  _defineProperty(this, "container", void 0);
58
+ /**
59
+ * PhysicalIndexToValueMap to keep and track of the columns' widths.
60
+ *
61
+ * @private
62
+ * @type {PhysicalIndexToValueMap}
63
+ */
69
64
  _defineProperty(this, "widthsMap", void 0);
70
65
  this.hot = hot;
71
66
  this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
@@ -30,7 +30,9 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
30
30
  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); }
31
31
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
32
32
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
- 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; }
33
+ 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; } /**
34
+ * Utility to register plugins and common namespace for keeping the reference to all plugins classes.
35
+ */
34
36
  var ERROR_PLUGIN_REGISTERED = function ERROR_PLUGIN_REGISTERED(pluginName) {
35
37
  return "There is already registered \"".concat(pluginName, "\" plugin.");
36
38
  };
@@ -591,7 +591,6 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
591
591
  });
592
592
  });
593
593
  instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
594
- instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
595
594
  if (typeof this.headers !== 'undefined') {
596
595
  (0, _array.arrayEach)(sortedHeaders, function (headerData, columnIndex) {
597
596
  instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
@@ -585,7 +585,6 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
585
585
  });
586
586
  });
587
587
  instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
588
- instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
589
588
  if (typeof this.headers !== 'undefined') {
590
589
  arrayEach(sortedHeaders, function (headerData, columnIndex) {
591
590
  instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
@@ -37,16 +37,15 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
37
37
  var VisualSelection = /*#__PURE__*/function (_Selection) {
38
38
  _inherits(VisualSelection, _Selection);
39
39
  var _super = _createSuper(VisualSelection);
40
- /**
41
- * Range of selection visually. Visual representation may have representation in a rendered selection.
42
- *
43
- * @type {null|CellRange}
44
- */
45
-
46
40
  function VisualSelection(settings, visualCellRange) {
47
41
  var _this;
48
42
  _classCallCheck(this, VisualSelection);
49
43
  _this = _super.call(this, settings, null);
44
+ /**
45
+ * Range of selection visually. Visual representation may have representation in a rendered selection.
46
+ *
47
+ * @type {null|CellRange}
48
+ */
50
49
  _defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
51
50
  _this.visualCellRange = visualCellRange || null;
52
51
  _this.commit();
@@ -33,16 +33,15 @@ import { Selection } from "./../../3rdparty/walkontable/src/index.mjs";
33
33
  var VisualSelection = /*#__PURE__*/function (_Selection) {
34
34
  _inherits(VisualSelection, _Selection);
35
35
  var _super = _createSuper(VisualSelection);
36
- /**
37
- * Range of selection visually. Visual representation may have representation in a rendered selection.
38
- *
39
- * @type {null|CellRange}
40
- */
41
-
42
36
  function VisualSelection(settings, visualCellRange) {
43
37
  var _this;
44
38
  _classCallCheck(this, VisualSelection);
45
39
  _this = _super.call(this, settings, null);
40
+ /**
41
+ * Range of selection visually. Visual representation may have representation in a rendered selection.
42
+ *
43
+ * @type {null|CellRange}
44
+ */
46
45
  _defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
47
46
  _this.visualCellRange = visualCellRange || null;
48
47
  _this.commit();