handsontable 0.0.0-next-3d099da-20231208 → 0.0.0-next-51d3397-20231211

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (129) hide show
  1. package/3rdparty/walkontable/src/calculator/index.js +11 -6
  2. package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
  3. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
  4. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
  5. package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
  6. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
  7. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -122
  8. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +2 -124
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +2 -3
  11. package/3rdparty/walkontable/src/core/_base.js +0 -12
  12. package/3rdparty/walkontable/src/core/_base.mjs +0 -12
  13. package/3rdparty/walkontable/src/core/core.js +0 -2
  14. package/3rdparty/walkontable/src/core/core.mjs +0 -2
  15. package/3rdparty/walkontable/src/facade/core.js +0 -9
  16. package/3rdparty/walkontable/src/facade/core.mjs +0 -9
  17. package/3rdparty/walkontable/src/index.js +3 -4
  18. package/3rdparty/walkontable/src/index.mjs +1 -2
  19. package/3rdparty/walkontable/src/overlays.js +0 -3
  20. package/3rdparty/walkontable/src/overlays.mjs +0 -4
  21. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
  22. package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
  23. package/3rdparty/walkontable/src/renderer/rows.js +4 -3
  24. package/3rdparty/walkontable/src/renderer/rows.mjs +4 -3
  25. package/3rdparty/walkontable/src/selection/manager.js +0 -1
  26. package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
  27. package/3rdparty/walkontable/src/settings.js +3 -0
  28. package/3rdparty/walkontable/src/settings.mjs +2 -0
  29. package/3rdparty/walkontable/src/table.js +0 -1
  30. package/3rdparty/walkontable/src/table.mjs +0 -1
  31. package/3rdparty/walkontable/src/utils/column.js +27 -12
  32. package/3rdparty/walkontable/src/utils/column.mjs +27 -12
  33. package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
  34. package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
  35. package/3rdparty/walkontable/src/viewport.js +22 -17
  36. package/3rdparty/walkontable/src/viewport.mjs +23 -18
  37. package/base.js +4 -2
  38. package/base.mjs +2 -2
  39. package/core/focusCatcher/index.js +44 -6
  40. package/core/focusCatcher/index.mjs +44 -6
  41. package/core.js +0 -11
  42. package/core.mjs +0 -11
  43. package/dataMap/dataMap.js +1 -0
  44. package/dataMap/metaManager/metaSchema.js +28 -2
  45. package/dataMap/metaManager/metaSchema.mjs +28 -2
  46. package/dataMap/metaManager/mods/extendMetaProperties.js +12 -0
  47. package/dataMap/metaManager/mods/extendMetaProperties.mjs +12 -0
  48. package/dist/handsontable.css +2 -2
  49. package/dist/handsontable.full.css +3 -3
  50. package/dist/handsontable.full.js +3979 -5577
  51. package/dist/handsontable.full.min.css +3 -3
  52. package/dist/handsontable.full.min.js +66 -71
  53. package/dist/handsontable.js +3058 -4305
  54. package/dist/handsontable.min.css +2 -2
  55. package/dist/handsontable.min.js +35 -39
  56. package/editorManager.js +3 -4
  57. package/editorManager.mjs +3 -4
  58. package/editors/autocompleteEditor/autocompleteEditor.js +0 -2
  59. package/editors/autocompleteEditor/autocompleteEditor.mjs +0 -2
  60. package/editors/dateEditor/dateEditor.d.ts +1 -1
  61. package/editors/dateEditor/dateEditor.js +4 -1
  62. package/editors/dateEditor/dateEditor.mjs +4 -1
  63. package/editors/handsontableEditor/handsontableEditor.js +0 -1
  64. package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
  65. package/editors/textEditor/textEditor.js +0 -4
  66. package/editors/textEditor/textEditor.mjs +0 -4
  67. package/helpers/browser.js +5 -2
  68. package/helpers/browser.mjs +5 -2
  69. package/helpers/feature.js +10 -0
  70. package/helpers/feature.mjs +9 -0
  71. package/helpers/mixed.js +1 -1
  72. package/helpers/mixed.mjs +1 -1
  73. package/package.json +3 -4
  74. package/pluginHooks.d.ts +6 -29
  75. package/pluginHooks.js +65 -123
  76. package/pluginHooks.mjs +62 -122
  77. package/plugins/copyPaste/clipboardData.js +18 -0
  78. package/plugins/copyPaste/clipboardData.mjs +14 -0
  79. package/plugins/copyPaste/copyPaste.js +129 -51
  80. package/plugins/copyPaste/copyPaste.mjs +132 -54
  81. package/plugins/copyPaste/copyableRanges.js +43 -7
  82. package/plugins/copyPaste/copyableRanges.mjs +42 -7
  83. package/plugins/copyPaste/pasteEvent.mjs +1 -1
  84. package/plugins/customBorders/customBorders.js +0 -5
  85. package/plugins/customBorders/customBorders.mjs +0 -5
  86. package/plugins/customBorders/utils.js +0 -1
  87. package/plugins/customBorders/utils.mjs +0 -1
  88. package/plugins/filters/ui/radioInput.js +1 -1
  89. package/plugins/filters/ui/radioInput.mjs +1 -1
  90. package/plugins/formulas/formulas.js +0 -2
  91. package/plugins/formulas/formulas.mjs +0 -2
  92. package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
  93. package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
  94. package/plugins/manualColumnResize/manualColumnResize.js +0 -1
  95. package/plugins/manualColumnResize/manualColumnResize.mjs +0 -1
  96. package/plugins/mergeCells/mergeCells.js +1 -127
  97. package/plugins/mergeCells/mergeCells.mjs +1 -127
  98. package/plugins/nestedHeaders/nestedHeaders.js +41 -87
  99. package/plugins/nestedHeaders/nestedHeaders.mjs +42 -88
  100. package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
  101. package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
  102. package/plugins/undoRedo/undoRedo.js +0 -2
  103. package/plugins/undoRedo/undoRedo.mjs +0 -2
  104. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
  105. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
  106. package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
  107. package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
  108. package/selection/highlight/highlight.js +0 -1
  109. package/selection/highlight/highlight.mjs +0 -1
  110. package/selection/index.js +1 -3
  111. package/selection/index.mjs +2 -2
  112. package/selection/utils.js +0 -34
  113. package/selection/utils.mjs +0 -33
  114. package/settings.d.ts +2 -1
  115. package/tableView.js +1 -2
  116. package/tableView.mjs +1 -2
  117. package/translations/indexMapper.js +2 -1
  118. package/utils/parseTable.js +84 -538
  119. package/utils/parseTable.mjs +83 -534
  120. package/validators/timeValidator/timeValidator.js +0 -1
  121. package/validators/timeValidator/timeValidator.mjs +0 -1
  122. package/plugins/copyPaste/clipboardData/clipboardData.js +0 -588
  123. package/plugins/copyPaste/clipboardData/clipboardData.mjs +0 -584
  124. package/plugins/copyPaste/clipboardData/copyClipboardData.js +0 -69
  125. package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +0 -65
  126. package/plugins/copyPaste/clipboardData/index.js +0 -9
  127. package/plugins/copyPaste/clipboardData/index.mjs +0 -4
  128. package/plugins/copyPaste/clipboardData/pasteClipboardData.js +0 -81
  129. package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +0 -77
@@ -2,18 +2,23 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _exportNames = {
5
+ RenderAllColumnsCalculator: true,
6
+ RenderAllRowsCalculator: true,
5
7
  ViewportColumnsCalculator: true,
6
8
  ViewportRowsCalculator: true
7
9
  };
8
- var _viewportColumns = _interopRequireDefault(require("./viewportColumns"));
9
- exports.ViewportColumnsCalculator = _viewportColumns.default;
10
- var _viewportRows = _interopRequireDefault(require("./viewportRows"));
11
- exports.ViewportRowsCalculator = _viewportRows.default;
10
+ var _renderAllColumns = require("./renderAllColumns");
11
+ exports.RenderAllColumnsCalculator = _renderAllColumns.RenderAllColumnsCalculator;
12
+ var _renderAllRows = require("./renderAllRows");
13
+ exports.RenderAllRowsCalculator = _renderAllRows.RenderAllRowsCalculator;
14
+ var _viewportColumns = require("./viewportColumns");
15
+ exports.ViewportColumnsCalculator = _viewportColumns.ViewportColumnsCalculator;
16
+ var _viewportRows = require("./viewportRows");
17
+ exports.ViewportRowsCalculator = _viewportRows.ViewportRowsCalculator;
12
18
  var _constants = require("./constants");
13
19
  Object.keys(_constants).forEach(function (key) {
14
20
  if (key === "default" || key === "__esModule") return;
15
21
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
22
  if (key in exports && exports[key] === _constants[key]) return;
17
23
  exports[key] = _constants[key];
18
- });
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ });
@@ -1,4 +1,6 @@
1
- import ViewportColumnsCalculator from "./viewportColumns.mjs";
2
- import ViewportRowsCalculator from "./viewportRows.mjs";
1
+ import { RenderAllColumnsCalculator } from "./renderAllColumns.mjs";
2
+ import { RenderAllRowsCalculator } from "./renderAllRows.mjs";
3
+ import { ViewportColumnsCalculator } from "./viewportColumns.mjs";
4
+ import { ViewportRowsCalculator } from "./viewportRows.mjs";
3
5
  export * from "./constants.mjs";
4
- export { ViewportColumnsCalculator, ViewportRowsCalculator };
6
+ export { RenderAllColumnsCalculator, RenderAllRowsCalculator, ViewportColumnsCalculator, ViewportRowsCalculator };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ /**
9
+ * @typedef {object} RenderAllColumnsCalculatorOptions
10
+ * @property {number} totalColumns Total number of columns.
11
+ */
12
+ /**
13
+ * Holds all calculations needed to perform rendering of the all columns.
14
+ *
15
+ * @class RenderAllColumnsCalculator
16
+ */
17
+ class RenderAllColumnsCalculator {
18
+ /**
19
+ * @param {RenderAllColumnsCalculatorOptions} options Object with all options specified for column viewport calculation.
20
+ */
21
+ constructor(options) {
22
+ /**
23
+ * Number of rendered/visible columns.
24
+ *
25
+ * @type {number}
26
+ */
27
+ _defineProperty(this, "count", 0);
28
+ /**
29
+ * Index of the first rendered/visible column.
30
+ *
31
+ * @type {number}
32
+ */
33
+ _defineProperty(this, "startColumn", 0);
34
+ /**
35
+ * Index of the last rendered/visible column.
36
+ *
37
+ * @type {number}
38
+ */
39
+ _defineProperty(this, "endColumn", 0);
40
+ /**
41
+ * Position of the first rendered/visible column (in px).
42
+ *
43
+ * @type {number}
44
+ */
45
+ _defineProperty(this, "startPosition", 0);
46
+ this.count = options.totalColumns;
47
+ this.endColumn = this.count - 1;
48
+ }
49
+ }
50
+ exports.RenderAllColumnsCalculator = RenderAllColumnsCalculator;
@@ -0,0 +1,46 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ /**
6
+ * @typedef {object} RenderAllColumnsCalculatorOptions
7
+ * @property {number} totalColumns Total number of columns.
8
+ */
9
+ /**
10
+ * Holds all calculations needed to perform rendering of the all columns.
11
+ *
12
+ * @class RenderAllColumnsCalculator
13
+ */
14
+ export class RenderAllColumnsCalculator {
15
+ /**
16
+ * @param {RenderAllColumnsCalculatorOptions} options Object with all options specified for column viewport calculation.
17
+ */
18
+ constructor(options) {
19
+ /**
20
+ * Number of rendered/visible columns.
21
+ *
22
+ * @type {number}
23
+ */
24
+ _defineProperty(this, "count", 0);
25
+ /**
26
+ * Index of the first rendered/visible column.
27
+ *
28
+ * @type {number}
29
+ */
30
+ _defineProperty(this, "startColumn", 0);
31
+ /**
32
+ * Index of the last rendered/visible column.
33
+ *
34
+ * @type {number}
35
+ */
36
+ _defineProperty(this, "endColumn", 0);
37
+ /**
38
+ * Position of the first rendered/visible column (in px).
39
+ *
40
+ * @type {number}
41
+ */
42
+ _defineProperty(this, "startPosition", 0);
43
+ this.count = options.totalColumns;
44
+ this.endColumn = this.count - 1;
45
+ }
46
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ /**
9
+ * @typedef {object} RenderAllRowsCalculatorOptions
10
+ * @property {number} totalRows Total number of rows.
11
+ */
12
+ /**
13
+ * Holds all calculations needed to perform rendering of the all rows.
14
+ *
15
+ * @class RenderAllRowsCalculator
16
+ */
17
+ class RenderAllRowsCalculator {
18
+ /**
19
+ * @param {RenderAllRowsCalculatorOptions} options Object with all options specified for row viewport calculation.
20
+ */
21
+ constructor(options) {
22
+ /**
23
+ * Number of rendered/visible rows.
24
+ *
25
+ * @type {number}
26
+ */
27
+ _defineProperty(this, "count", 0);
28
+ /**
29
+ * Index of the first rendered/visible row.
30
+ *
31
+ * @type {number}
32
+ */
33
+ _defineProperty(this, "startRow", 0);
34
+ /**
35
+ * Index of the last rendered/visible row.
36
+ *
37
+ * @type {number}
38
+ */
39
+ _defineProperty(this, "endRow", 0);
40
+ /**
41
+ * Position of the first rendered/visible row (in px).
42
+ *
43
+ * @type {number}
44
+ */
45
+ _defineProperty(this, "startPosition", 0);
46
+ this.count = options.totalRows;
47
+ this.endRow = this.count - 1;
48
+ }
49
+ }
50
+ exports.RenderAllRowsCalculator = RenderAllRowsCalculator;
@@ -0,0 +1,46 @@
1
+ import "core-js/modules/es.error.cause.js";
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ /**
6
+ * @typedef {object} RenderAllRowsCalculatorOptions
7
+ * @property {number} totalRows Total number of rows.
8
+ */
9
+ /**
10
+ * Holds all calculations needed to perform rendering of the all rows.
11
+ *
12
+ * @class RenderAllRowsCalculator
13
+ */
14
+ export class RenderAllRowsCalculator {
15
+ /**
16
+ * @param {RenderAllRowsCalculatorOptions} options Object with all options specified for row viewport calculation.
17
+ */
18
+ constructor(options) {
19
+ /**
20
+ * Number of rendered/visible rows.
21
+ *
22
+ * @type {number}
23
+ */
24
+ _defineProperty(this, "count", 0);
25
+ /**
26
+ * Index of the first rendered/visible row.
27
+ *
28
+ * @type {number}
29
+ */
30
+ _defineProperty(this, "startRow", 0);
31
+ /**
32
+ * Index of the last rendered/visible row.
33
+ *
34
+ * @type {number}
35
+ */
36
+ _defineProperty(this, "endRow", 0);
37
+ /**
38
+ * Position of the first rendered/visible row (in px).
39
+ *
40
+ * @type {number}
41
+ */
42
+ _defineProperty(this, "startPosition", 0);
43
+ this.count = options.totalRows;
44
+ this.endRow = this.count - 1;
45
+ }
46
+ }
@@ -34,7 +34,6 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
34
34
  *
35
35
  * @class ViewportColumnsCalculator
36
36
  */
37
- var _totalTargetWidth = /*#__PURE__*/new WeakMap();
38
37
  var _options = /*#__PURE__*/new WeakMap();
39
38
  class ViewportColumnsCalculator {
40
39
  /**
@@ -81,29 +80,6 @@ class ViewportColumnsCalculator {
81
80
  * @type {boolean}
82
81
  */
83
82
  _defineProperty(this, "isVisibleInTrimmingContainer", false);
84
- /**
85
- * @type {number}
86
- */
87
- _defineProperty(this, "stretchAllRatio", 0);
88
- /**
89
- * @type {number}
90
- */
91
- _defineProperty(this, "stretchLastWidth", 0);
92
- /**
93
- * @type {number}
94
- */
95
- _classPrivateFieldInitSpec(this, _totalTargetWidth, {
96
- writable: true,
97
- value: 0
98
- });
99
- /**
100
- * @type {boolean}
101
- */
102
- _defineProperty(this, "needVerifyLastColumnWidth", true);
103
- /**
104
- * @type {number[]}
105
- */
106
- _defineProperty(this, "stretchAllColumnsWidth", []);
107
83
  /**
108
84
  * The calculator options.
109
85
  *
@@ -114,9 +90,6 @@ class ViewportColumnsCalculator {
114
90
  value: void 0
115
91
  });
116
92
  _classPrivateFieldSet(this, _options, options);
117
- if (typeof _classPrivateFieldGet(this, _options).stretchingColumnWidthFn !== 'function') {
118
- _classPrivateFieldGet(this, _options).stretchingColumnWidthFn = width => width;
119
- }
120
93
  this.calculate();
121
94
  }
122
95
 
@@ -205,100 +178,6 @@ class ViewportColumnsCalculator {
205
178
  }
206
179
  }
207
180
 
208
- /**
209
- * Recalculate columns stretching.
210
- *
211
- * @param {number} totalWidth The total width of the table.
212
- */
213
- refreshStretching(totalWidth) {
214
- if (_classPrivateFieldGet(this, _options).stretchMode === 'none') {
215
- return;
216
- }
217
- let totalColumnsWidth = totalWidth;
218
- _classPrivateFieldSet(this, _totalTargetWidth, totalColumnsWidth);
219
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
220
- let sumAll = 0;
221
- for (let i = 0; i < totalColumns; i++) {
222
- const columnWidth = this._getColumnWidth(i);
223
- const permanentColumnWidth = _classPrivateFieldGet(this, _options).stretchingColumnWidthFn(undefined, i);
224
- if (typeof permanentColumnWidth === 'number') {
225
- totalColumnsWidth -= permanentColumnWidth;
226
- } else {
227
- sumAll += columnWidth;
228
- }
229
- }
230
- const remainingSize = totalColumnsWidth - sumAll;
231
- if (_classPrivateFieldGet(this, _options).stretchMode === 'all' && remainingSize > 0) {
232
- this.stretchAllRatio = totalColumnsWidth / sumAll;
233
- this.stretchAllColumnsWidth = [];
234
- this.needVerifyLastColumnWidth = true;
235
- } else if (_classPrivateFieldGet(this, _options).stretchMode === 'last' && totalColumnsWidth !== Infinity) {
236
- const columnWidth = this._getColumnWidth(totalColumns - 1);
237
- const lastColumnWidth = remainingSize + columnWidth;
238
- this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
239
- }
240
- }
241
-
242
- /**
243
- * Get stretched column width based on stretchH (all or last) setting passed in handsontable instance.
244
- *
245
- * @param {number} column The visual column index.
246
- * @param {number} baseWidth The default column width.
247
- * @returns {number|null}
248
- */
249
- getStretchedColumnWidth(column, baseWidth) {
250
- let result = null;
251
- if (_classPrivateFieldGet(this, _options).stretchMode === 'all' && this.stretchAllRatio !== 0) {
252
- result = this._getStretchedAllColumnWidth(column, baseWidth);
253
- } else if (_classPrivateFieldGet(this, _options).stretchMode === 'last' && this.stretchLastWidth !== 0) {
254
- result = this._getStretchedLastColumnWidth(column);
255
- }
256
- return result;
257
- }
258
-
259
- /**
260
- * @param {number} column The visual column index.
261
- * @param {number} baseWidth The default column width.
262
- * @returns {number}
263
- * @private
264
- */
265
- _getStretchedAllColumnWidth(column, baseWidth) {
266
- let sumRatioWidth = 0;
267
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
268
- if (!this.stretchAllColumnsWidth[column]) {
269
- const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
270
- const newStretchedWidth = _classPrivateFieldGet(this, _options).stretchingColumnWidthFn(stretchedWidth, column);
271
- if (newStretchedWidth === undefined) {
272
- this.stretchAllColumnsWidth[column] = stretchedWidth;
273
- } else {
274
- this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
275
- }
276
- }
277
- if (this.stretchAllColumnsWidth.length === totalColumns && this.needVerifyLastColumnWidth) {
278
- this.needVerifyLastColumnWidth = false;
279
- for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
280
- sumRatioWidth += this.stretchAllColumnsWidth[i];
281
- }
282
- if (sumRatioWidth !== _classPrivateFieldGet(this, _totalTargetWidth)) {
283
- this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(this, _totalTargetWidth) - sumRatioWidth;
284
- }
285
- }
286
- return this.stretchAllColumnsWidth[column];
287
- }
288
-
289
- /**
290
- * @param {number} column The visual column index.
291
- * @returns {number|null}
292
- * @private
293
- */
294
- _getStretchedLastColumnWidth(column) {
295
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
296
- if (column === totalColumns - 1) {
297
- return this.stretchLastWidth;
298
- }
299
- return null;
300
- }
301
-
302
181
  /**
303
182
  * @param {number} column The visual column index.
304
183
  * @returns {number}
@@ -312,4 +191,4 @@ class ViewportColumnsCalculator {
312
191
  return width;
313
192
  }
314
193
  }
315
- var _default = exports.default = ViewportColumnsCalculator;
194
+ exports.ViewportColumnsCalculator = ViewportColumnsCalculator;
@@ -31,9 +31,8 @@ import { RENDER_TYPE, FULLY_VISIBLE_TYPE } from "./constants.mjs";
31
31
  *
32
32
  * @class ViewportColumnsCalculator
33
33
  */
34
- var _totalTargetWidth = /*#__PURE__*/new WeakMap();
35
34
  var _options = /*#__PURE__*/new WeakMap();
36
- class ViewportColumnsCalculator {
35
+ export class ViewportColumnsCalculator {
37
36
  /**
38
37
  * Default column width.
39
38
  *
@@ -78,29 +77,6 @@ class ViewportColumnsCalculator {
78
77
  * @type {boolean}
79
78
  */
80
79
  _defineProperty(this, "isVisibleInTrimmingContainer", false);
81
- /**
82
- * @type {number}
83
- */
84
- _defineProperty(this, "stretchAllRatio", 0);
85
- /**
86
- * @type {number}
87
- */
88
- _defineProperty(this, "stretchLastWidth", 0);
89
- /**
90
- * @type {number}
91
- */
92
- _classPrivateFieldInitSpec(this, _totalTargetWidth, {
93
- writable: true,
94
- value: 0
95
- });
96
- /**
97
- * @type {boolean}
98
- */
99
- _defineProperty(this, "needVerifyLastColumnWidth", true);
100
- /**
101
- * @type {number[]}
102
- */
103
- _defineProperty(this, "stretchAllColumnsWidth", []);
104
80
  /**
105
81
  * The calculator options.
106
82
  *
@@ -111,9 +87,6 @@ class ViewportColumnsCalculator {
111
87
  value: void 0
112
88
  });
113
89
  _classPrivateFieldSet(this, _options, options);
114
- if (typeof _classPrivateFieldGet(this, _options).stretchingColumnWidthFn !== 'function') {
115
- _classPrivateFieldGet(this, _options).stretchingColumnWidthFn = width => width;
116
- }
117
90
  this.calculate();
118
91
  }
119
92
 
@@ -202,100 +175,6 @@ class ViewportColumnsCalculator {
202
175
  }
203
176
  }
204
177
 
205
- /**
206
- * Recalculate columns stretching.
207
- *
208
- * @param {number} totalWidth The total width of the table.
209
- */
210
- refreshStretching(totalWidth) {
211
- if (_classPrivateFieldGet(this, _options).stretchMode === 'none') {
212
- return;
213
- }
214
- let totalColumnsWidth = totalWidth;
215
- _classPrivateFieldSet(this, _totalTargetWidth, totalColumnsWidth);
216
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
217
- let sumAll = 0;
218
- for (let i = 0; i < totalColumns; i++) {
219
- const columnWidth = this._getColumnWidth(i);
220
- const permanentColumnWidth = _classPrivateFieldGet(this, _options).stretchingColumnWidthFn(undefined, i);
221
- if (typeof permanentColumnWidth === 'number') {
222
- totalColumnsWidth -= permanentColumnWidth;
223
- } else {
224
- sumAll += columnWidth;
225
- }
226
- }
227
- const remainingSize = totalColumnsWidth - sumAll;
228
- if (_classPrivateFieldGet(this, _options).stretchMode === 'all' && remainingSize > 0) {
229
- this.stretchAllRatio = totalColumnsWidth / sumAll;
230
- this.stretchAllColumnsWidth = [];
231
- this.needVerifyLastColumnWidth = true;
232
- } else if (_classPrivateFieldGet(this, _options).stretchMode === 'last' && totalColumnsWidth !== Infinity) {
233
- const columnWidth = this._getColumnWidth(totalColumns - 1);
234
- const lastColumnWidth = remainingSize + columnWidth;
235
- this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
236
- }
237
- }
238
-
239
- /**
240
- * Get stretched column width based on stretchH (all or last) setting passed in handsontable instance.
241
- *
242
- * @param {number} column The visual column index.
243
- * @param {number} baseWidth The default column width.
244
- * @returns {number|null}
245
- */
246
- getStretchedColumnWidth(column, baseWidth) {
247
- let result = null;
248
- if (_classPrivateFieldGet(this, _options).stretchMode === 'all' && this.stretchAllRatio !== 0) {
249
- result = this._getStretchedAllColumnWidth(column, baseWidth);
250
- } else if (_classPrivateFieldGet(this, _options).stretchMode === 'last' && this.stretchLastWidth !== 0) {
251
- result = this._getStretchedLastColumnWidth(column);
252
- }
253
- return result;
254
- }
255
-
256
- /**
257
- * @param {number} column The visual column index.
258
- * @param {number} baseWidth The default column width.
259
- * @returns {number}
260
- * @private
261
- */
262
- _getStretchedAllColumnWidth(column, baseWidth) {
263
- let sumRatioWidth = 0;
264
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
265
- if (!this.stretchAllColumnsWidth[column]) {
266
- const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
267
- const newStretchedWidth = _classPrivateFieldGet(this, _options).stretchingColumnWidthFn(stretchedWidth, column);
268
- if (newStretchedWidth === undefined) {
269
- this.stretchAllColumnsWidth[column] = stretchedWidth;
270
- } else {
271
- this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
272
- }
273
- }
274
- if (this.stretchAllColumnsWidth.length === totalColumns && this.needVerifyLastColumnWidth) {
275
- this.needVerifyLastColumnWidth = false;
276
- for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
277
- sumRatioWidth += this.stretchAllColumnsWidth[i];
278
- }
279
- if (sumRatioWidth !== _classPrivateFieldGet(this, _totalTargetWidth)) {
280
- this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(this, _totalTargetWidth) - sumRatioWidth;
281
- }
282
- }
283
- return this.stretchAllColumnsWidth[column];
284
- }
285
-
286
- /**
287
- * @param {number} column The visual column index.
288
- * @returns {number|null}
289
- * @private
290
- */
291
- _getStretchedLastColumnWidth(column) {
292
- const totalColumns = _classPrivateFieldGet(this, _options).totalColumns;
293
- if (column === totalColumns - 1) {
294
- return this.stretchLastWidth;
295
- }
296
- return null;
297
- }
298
-
299
178
  /**
300
179
  * @param {number} column The visual column index.
301
180
  * @returns {number}
@@ -308,5 +187,4 @@ class ViewportColumnsCalculator {
308
187
  }
309
188
  return width;
310
189
  }
311
- }
312
- export default ViewportColumnsCalculator;
190
+ }
@@ -181,4 +181,4 @@ class ViewportRowsCalculator {
181
181
  }
182
182
  }
183
183
  }
184
- var _default = exports.default = ViewportRowsCalculator;
184
+ exports.ViewportRowsCalculator = ViewportRowsCalculator;
@@ -29,7 +29,7 @@ import { RENDER_TYPE, FULLY_VISIBLE_TYPE } from "./constants.mjs";
29
29
  * @class ViewportRowsCalculator
30
30
  */
31
31
  var _options = /*#__PURE__*/new WeakMap();
32
- class ViewportRowsCalculator {
32
+ export class ViewportRowsCalculator {
33
33
  /**
34
34
  * Default row height.
35
35
  *
@@ -177,5 +177,4 @@ class ViewportRowsCalculator {
177
177
  this.count = this.endRow - this.startRow + 1;
178
178
  }
179
179
  }
180
- }
181
- export default ViewportRowsCalculator;
180
+ }
@@ -234,30 +234,24 @@ class CoreAbstract {
234
234
  get drawn() {
235
235
  return wot.drawn; // TODO refactoring: consider about injecting `isDrawn` function : ()=>return wot.drawn. (it'll enables remove dao layer)
236
236
  },
237
-
238
237
  get topOverlay() {
239
238
  return wot.wtOverlays.topOverlay; // TODO refactoring: move outside dao, use IOC
240
239
  },
241
-
242
240
  get inlineStartOverlay() {
243
241
  return wot.wtOverlays.inlineStartOverlay; // TODO refactoring: move outside dao, use IOC
244
242
  },
245
-
246
243
  get wtTable() {
247
244
  return wot.wtTable; // TODO refactoring: move outside dao, use IOC
248
245
  },
249
-
250
246
  get wtViewport() {
251
247
  return wot.wtViewport; // TODO refactoring: move outside dao, use IOC
252
248
  },
253
-
254
249
  get wtSettings() {
255
250
  return wot.wtSettings;
256
251
  },
257
252
  get rootWindow() {
258
253
  return wot.domBindings.rootWindow; // TODO refactoring: move outside dao
259
254
  },
260
-
261
255
  // TODO refactoring, consider about using injecting wtSettings into scroll (it'll enables remove dao layer)
262
256
  get totalRows() {
263
257
  return wot.wtSettings.getSetting('totalRows');
@@ -293,26 +287,21 @@ class CoreAbstract {
293
287
  get parentTableOffset() {
294
288
  return wot.cloneSource.wtTable.tableOffset; // TODO rethink: cloneSource exists only in Clone type.
295
289
  },
296
-
297
290
  get cloneSource() {
298
291
  return wot.cloneSource; // TODO rethink: cloneSource exists only in Clone type.
299
292
  },
300
-
301
293
  get workspaceWidth() {
302
294
  return wot.wtViewport.getWorkspaceWidth();
303
295
  },
304
296
  get wtViewport() {
305
297
  return wot.wtViewport; // TODO refactoring: move outside dao, use IOC
306
298
  },
307
-
308
299
  get wtOverlays() {
309
300
  return wot.wtOverlays; // TODO refactoring: move outside dao, use IOC
310
301
  },
311
-
312
302
  get selectionManager() {
313
303
  return wot.selectionManager; // TODO refactoring: move outside dao, use IOC
314
304
  },
315
-
316
305
  get drawn() {
317
306
  return wot.drawn;
318
307
  },
@@ -323,7 +312,6 @@ class CoreAbstract {
323
312
  get wtTable() {
324
313
  return wot.wtTable; // TODO refactoring: it provides itself
325
314
  },
326
-
327
315
  get startColumnRendered() {
328
316
  return wot.wtViewport.columnsRenderCalculator.startColumn;
329
317
  },