handsontable 0.0.0-next-31297ac-20231204 → 0.0.0-next-d76be4f-20231206

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 (46) 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/index.js +3 -4
  12. package/3rdparty/walkontable/src/index.mjs +1 -2
  13. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
  14. package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
  15. package/3rdparty/walkontable/src/renderer/rows.js +4 -3
  16. package/3rdparty/walkontable/src/renderer/rows.mjs +4 -3
  17. package/3rdparty/walkontable/src/settings.js +2 -0
  18. package/3rdparty/walkontable/src/settings.mjs +2 -0
  19. package/3rdparty/walkontable/src/utils/column.js +27 -12
  20. package/3rdparty/walkontable/src/utils/column.mjs +27 -12
  21. package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
  22. package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
  23. package/3rdparty/walkontable/src/viewport.js +22 -17
  24. package/3rdparty/walkontable/src/viewport.mjs +23 -18
  25. package/base.js +2 -2
  26. package/base.mjs +2 -2
  27. package/core/focusCatcher/index.js +34 -4
  28. package/core/focusCatcher/index.mjs +34 -4
  29. package/dataMap/metaManager/metaSchema.js +28 -2
  30. package/dataMap/metaManager/metaSchema.mjs +28 -2
  31. package/dataMap/metaManager/mods/extendMetaProperties.js +12 -0
  32. package/dataMap/metaManager/mods/extendMetaProperties.mjs +12 -0
  33. package/dist/handsontable.css +2 -2
  34. package/dist/handsontable.full.css +2 -2
  35. package/dist/handsontable.full.js +1960 -1646
  36. package/dist/handsontable.full.min.css +2 -2
  37. package/dist/handsontable.full.min.js +70 -67
  38. package/dist/handsontable.js +1962 -1648
  39. package/dist/handsontable.min.css +2 -2
  40. package/dist/handsontable.min.js +27 -24
  41. package/helpers/mixed.js +1 -1
  42. package/helpers/mixed.mjs +1 -1
  43. package/package.json +1 -1
  44. package/settings.d.ts +1 -0
  45. package/tableView.js +1 -0
  46. package/tableView.mjs +1 -0
@@ -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
+ }
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- var _viewportColumns = _interopRequireDefault(require("./calculator/viewportColumns"));
5
- exports.ViewportColumnsCalculator = _viewportColumns.default;
6
- var _viewportRows = _interopRequireDefault(require("./calculator/viewportRows"));
7
- exports.ViewportRowsCalculator = _viewportRows.default;
4
+ var _calculator = require("./calculator");
5
+ exports.ViewportColumnsCalculator = _calculator.ViewportColumnsCalculator;
6
+ exports.ViewportRowsCalculator = _calculator.ViewportRowsCalculator;
8
7
  var _coords = _interopRequireDefault(require("./cell/coords"));
9
8
  exports.CellCoords = _coords.default;
10
9
  var _range = _interopRequireDefault(require("./cell/range"));
@@ -1,5 +1,4 @@
1
- import ViewportColumnsCalculator from "./calculator/viewportColumns.mjs";
2
- import ViewportRowsCalculator from "./calculator/viewportRows.mjs";
1
+ import { ViewportColumnsCalculator, ViewportRowsCalculator } from "./calculator/index.mjs";
3
2
  import CellCoords from "./cell/coords.mjs";
4
3
  import CellRange from "./cell/range.mjs";
5
4
  import Walkontable from "./facade/core.mjs";
@@ -2,8 +2,12 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _base = _interopRequireDefault(require("./_base"));
5
+ var _console = require("./../../../../helpers/console");
6
+ var _templateLiteralTag = require("./../../../../helpers/templateLiteralTag");
5
7
  var _element = require("./../../../../helpers/dom/element");
6
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ let performanceWarningAppeared = false;
10
+
7
11
  /**
8
12
  * Colgroup renderer responsible for managing (inserting, tracking, rendering) COL elements.
9
13
  *
@@ -49,6 +53,12 @@ class ColGroupRenderer extends _base.default {
49
53
  columnsToRender,
50
54
  rowHeadersCount
51
55
  } = this.table;
56
+ if (!performanceWarningAppeared && columnsToRender > 1000) {
57
+ performanceWarningAppeared = true;
58
+ (0, _console.warn)((0, _templateLiteralTag.toSingleLine)`Performance tip: Handsontable rendered more than 1000 visible columns.\x20
59
+ Consider limiting the number of rendered columns by specifying the table width and/or\x20
60
+ turning off the "renderAllColumns" option.`);
61
+ }
52
62
 
53
63
  // Render column nodes for row headers
54
64
  for (let visibleColumnIndex = 0; visibleColumnIndex < rowHeadersCount; visibleColumnIndex++) {
@@ -1,5 +1,9 @@
1
1
  import BaseRenderer from "./_base.mjs";
2
+ import { warn } from "./../../../../helpers/console.mjs";
3
+ import { toSingleLine } from "./../../../../helpers/templateLiteralTag.mjs";
2
4
  import { addClass } from "./../../../../helpers/dom/element.mjs";
5
+ let performanceWarningAppeared = false;
6
+
3
7
  /**
4
8
  * Colgroup renderer responsible for managing (inserting, tracking, rendering) COL elements.
5
9
  *
@@ -45,6 +49,12 @@ export default class ColGroupRenderer extends BaseRenderer {
45
49
  columnsToRender,
46
50
  rowHeadersCount
47
51
  } = this.table;
52
+ if (!performanceWarningAppeared && columnsToRender > 1000) {
53
+ performanceWarningAppeared = true;
54
+ warn(toSingleLine`Performance tip: Handsontable rendered more than 1000 visible columns.\x20
55
+ Consider limiting the number of rendered columns by specifying the table width and/or\x20
56
+ turning off the "renderAllColumns" option.`);
57
+ }
48
58
 
49
59
  // Render column nodes for row headers
50
60
  for (let visibleColumnIndex = 0; visibleColumnIndex < rowHeadersCount; visibleColumnIndex++) {
@@ -2,10 +2,10 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
+ var _base = _interopRequireDefault(require("./_base"));
5
6
  var _console = require("./../../../../helpers/console");
6
7
  var _templateLiteralTag = require("./../../../../helpers/templateLiteralTag");
7
8
  var _orderView = require("./../utils/orderView");
8
- var _base = _interopRequireDefault(require("./_base"));
9
9
  var _element = require("../../../../helpers/dom/element");
10
10
  var _a11y = require("../../../../helpers/a11y");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -57,8 +57,9 @@ class RowsRenderer extends _base.default {
57
57
  } = this.table;
58
58
  if (!performanceWarningAppeared && rowsToRender > 1000) {
59
59
  performanceWarningAppeared = true;
60
- (0, _console.warn)((0, _templateLiteralTag.toSingleLine)`Performance tip: Handsontable rendered more than 1000 visible rows. Consider limiting\x20
61
- the number of rendered rows by specifying the table height and/or turning off the "renderAllRows" option.`);
60
+ (0, _console.warn)((0, _templateLiteralTag.toSingleLine)`Performance tip: Handsontable rendered more than 1000 visible rows.\x20
61
+ Consider limiting the number of rendered rows by specifying the table height and/or\x20
62
+ turning off the "renderAllRows" option.`);
62
63
  }
63
64
  if (this.table.isAriaEnabled()) {
64
65
  (0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_ROWGROUP)()]);