handsontable 0.0.0-next-9891faa-20240822 → 0.0.0-next-0306a1a-20240826

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 (97) hide show
  1. package/3rdparty/walkontable/src/calculator/constants.js +26 -0
  2. package/3rdparty/walkontable/src/calculator/constants.mjs +23 -0
  3. package/3rdparty/walkontable/src/calculator/index.js +17 -18
  4. package/3rdparty/walkontable/src/calculator/index.mjs +6 -11
  5. package/3rdparty/walkontable/src/calculator/{calculationType/renderedAllColumns.js → renderAllColumns.js} +9 -32
  6. package/3rdparty/walkontable/src/calculator/{calculationType/renderedAllColumns.mjs → renderAllColumns.mjs} +8 -31
  7. package/3rdparty/walkontable/src/calculator/{calculationType/renderedAllRows.js → renderAllRows.js} +9 -32
  8. package/3rdparty/walkontable/src/calculator/{calculationType/renderedAllRows.mjs → renderAllRows.mjs} +8 -31
  9. package/3rdparty/walkontable/src/calculator/viewportColumns.js +145 -51
  10. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +145 -51
  11. package/3rdparty/walkontable/src/calculator/viewportRows.js +141 -59
  12. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +141 -59
  13. package/3rdparty/walkontable/src/index.js +0 -2
  14. package/3rdparty/walkontable/src/index.mjs +2 -2
  15. package/3rdparty/walkontable/src/table.js +11 -5
  16. package/3rdparty/walkontable/src/table.mjs +11 -5
  17. package/3rdparty/walkontable/src/utils/column.js +1 -2
  18. package/3rdparty/walkontable/src/utils/column.mjs +1 -2
  19. package/3rdparty/walkontable/src/utils/columnStretching.js +19 -10
  20. package/3rdparty/walkontable/src/utils/columnStretching.mjs +19 -10
  21. package/3rdparty/walkontable/src/viewport.js +46 -35
  22. package/3rdparty/walkontable/src/viewport.mjs +47 -36
  23. package/CHANGELOG.md +0 -27
  24. package/base.js +2 -2
  25. package/base.mjs +2 -2
  26. package/core.d.ts +2 -1
  27. package/core.js +1 -1
  28. package/core.mjs +2 -2
  29. package/dataMap/metaManager/metaSchema.js +6 -5
  30. package/dataMap/metaManager/metaSchema.mjs +6 -5
  31. package/dist/handsontable.css +20 -32
  32. package/dist/handsontable.full.css +20 -32
  33. package/dist/handsontable.full.js +2085 -2703
  34. package/dist/handsontable.full.min.css +5 -5
  35. package/dist/handsontable.full.min.js +148 -148
  36. package/dist/handsontable.js +2086 -2704
  37. package/dist/handsontable.min.css +4 -4
  38. package/dist/handsontable.min.js +14 -14
  39. package/editors/autocompleteEditor/autocompleteEditor.d.ts +1 -1
  40. package/helpers/a11y.js +0 -2
  41. package/helpers/a11y.mjs +0 -1
  42. package/helpers/mixed.js +2 -2
  43. package/helpers/mixed.mjs +2 -2
  44. package/package.json +1 -1
  45. package/pluginHooks.js +1 -0
  46. package/pluginHooks.mjs +1 -0
  47. package/plugins/autoColumnSize/autoColumnSize.js +1 -1
  48. package/plugins/autoColumnSize/autoColumnSize.mjs +2 -2
  49. package/plugins/autoRowSize/autoRowSize.js +2 -1
  50. package/plugins/autoRowSize/autoRowSize.mjs +2 -1
  51. package/plugins/columnSorting/columnSorting.js +1 -10
  52. package/plugins/columnSorting/columnSorting.mjs +1 -10
  53. package/plugins/contextMenu/menu/menuItemRenderer.js +4 -3
  54. package/plugins/contextMenu/menu/menuItemRenderer.mjs +6 -5
  55. package/plugins/contextMenu/menu/positioner.js +12 -4
  56. package/plugins/contextMenu/menu/positioner.mjs +12 -4
  57. package/plugins/contextMenu/menu/utils.js +0 -11
  58. package/plugins/contextMenu/menu/utils.mjs +0 -10
  59. package/plugins/contextMenu/predefinedItems/alignment.js +49 -67
  60. package/plugins/contextMenu/predefinedItems/alignment.mjs +50 -68
  61. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -11
  62. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -11
  63. package/plugins/contextMenu/utils.js +0 -26
  64. package/plugins/contextMenu/utils.mjs +0 -24
  65. package/plugins/copyPaste/copyPaste.js +14 -14
  66. package/plugins/copyPaste/copyPaste.mjs +14 -14
  67. package/plugins/dropdownMenu/dropdownMenu.js +4 -10
  68. package/plugins/dropdownMenu/dropdownMenu.mjs +4 -10
  69. package/plugins/filters/component/condition.js +1 -6
  70. package/plugins/filters/component/condition.mjs +1 -6
  71. package/plugins/filters/component/value.js +1 -6
  72. package/plugins/filters/component/value.mjs +1 -6
  73. package/plugins/filters/conditionCollection.d.ts +3 -4
  74. package/plugins/filters/ui/multipleSelect.js +9 -7
  75. package/plugins/filters/ui/multipleSelect.mjs +9 -7
  76. package/plugins/manualRowResize/manualRowResize.js +1 -1
  77. package/plugins/manualRowResize/manualRowResize.mjs +2 -2
  78. package/plugins/mergeCells/cellsCollection.js +9 -11
  79. package/plugins/mergeCells/cellsCollection.mjs +10 -12
  80. package/shortcuts/utils.js +1 -3
  81. package/shortcuts/utils.mjs +1 -3
  82. package/utils/ghostTable.js +9 -11
  83. package/utils/ghostTable.mjs +10 -12
  84. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.js +0 -126
  85. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.mjs +0 -122
  86. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.js +0 -119
  87. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.mjs +0 -115
  88. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.js +0 -125
  89. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.mjs +0 -121
  90. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.js +0 -118
  91. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.mjs +0 -114
  92. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +0 -37
  93. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +0 -33
  94. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +0 -37
  95. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +0 -33
  96. package/3rdparty/walkontable/src/calculator/viewportBase.js +0 -92
  97. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +0 -88
@@ -1,115 +0,0 @@
1
- import "core-js/modules/es.error.cause.js";
2
- import "core-js/modules/es.array.at.js";
3
- import "core-js/modules/es.string.at-alternative.js";
4
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /**
8
- * @class FullyVisibleRowsCalculationType
9
- */
10
- export class FullyVisibleRowsCalculationType {
11
- constructor() {
12
- /**
13
- * Total number of fully visible rows in the viewport.
14
- *
15
- * @type {number}
16
- */
17
- _defineProperty(this, "count", 0);
18
- /**
19
- * The row index of the first fully visible row in the viewport.
20
- *
21
- * @type {number|null}
22
- */
23
- _defineProperty(this, "startRow", null);
24
- /**
25
- * The row index of the last fully visible row in the viewport.
26
- *
27
- * @type {number|null}
28
- */
29
- _defineProperty(this, "endRow", null);
30
- /**
31
- * Position of the first fully visible row (in px).
32
- *
33
- * @type {number|null}
34
- */
35
- _defineProperty(this, "startPosition", null);
36
- /**
37
- * Determines if the viewport is visible in the trimming container.
38
- *
39
- * @type {boolean}
40
- */
41
- _defineProperty(this, "isVisibleInTrimmingContainer", false);
42
- }
43
- /**
44
- * Initializes the calculation.
45
- */
46
- initialize() {}
47
-
48
- /**
49
- * Processes the row.
50
- *
51
- * @param {number} row The row index.
52
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
53
- */
54
- process(row, viewportCalculator) {
55
- const {
56
- totalCalculatedHeight,
57
- zeroBasedScrollOffset,
58
- innerViewportHeight,
59
- rowHeight
60
- } = viewportCalculator;
61
- if (totalCalculatedHeight >= zeroBasedScrollOffset && totalCalculatedHeight + rowHeight <= innerViewportHeight) {
62
- if (this.startRow === null) {
63
- this.startRow = row;
64
- }
65
- this.endRow = row;
66
- }
67
- }
68
-
69
- /**
70
- * Finalizes the calculation.
71
- *
72
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
73
- */
74
- finalize(viewportCalculator) {
75
- var _startPositions$this$;
76
- const {
77
- scrollOffset,
78
- viewportHeight,
79
- horizontalScrollbarHeight,
80
- totalRows,
81
- needReverse,
82
- startPositions,
83
- rowHeight
84
- } = viewportCalculator;
85
-
86
- // If the estimation has reached the last row and there is still some space available in the viewport,
87
- // we need to render in reverse in order to fill the whole viewport with rows
88
- if (this.endRow === totalRows - 1 && needReverse) {
89
- this.startRow = this.endRow;
90
- while (this.startRow > 0) {
91
- const calculatedViewportHeight = startPositions[this.endRow] + rowHeight - startPositions[this.startRow - 1];
92
- if (calculatedViewportHeight <= viewportHeight - horizontalScrollbarHeight) {
93
- this.startRow -= 1;
94
- }
95
- if (calculatedViewportHeight >= viewportHeight - horizontalScrollbarHeight) {
96
- break;
97
- }
98
- }
99
- }
100
- this.startPosition = (_startPositions$this$ = startPositions[this.startRow]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
101
- const mostBottomScrollOffset = scrollOffset + viewportHeight - horizontalScrollbarHeight;
102
- const topRowOffset = this.startRow === null ? 0 : viewportCalculator.getRowHeight(this.startRow);
103
- if (mostBottomScrollOffset < topRowOffset || scrollOffset > startPositions.at(-1)) {
104
- this.isVisibleInTrimmingContainer = false;
105
- } else {
106
- this.isVisibleInTrimmingContainer = true;
107
- }
108
- if (totalRows < this.endRow) {
109
- this.endRow = totalRows - 1;
110
- }
111
- if (this.startRow !== null) {
112
- this.count = this.endRow - this.startRow + 1;
113
- }
114
- }
115
- }
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- require("core-js/modules/es.array.at.js");
6
- require("core-js/modules/es.string.at-alternative.js");
7
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- /**
11
- * @class PartiallyVisibleColumnsCalculationType
12
- */
13
- class PartiallyVisibleColumnsCalculationType {
14
- constructor() {
15
- /**
16
- * Total number of partially visible columns in the viewport.
17
- *
18
- * @type {number}
19
- */
20
- _defineProperty(this, "count", 0);
21
- /**
22
- * The column index of the first partially visible column in the viewport.
23
- *
24
- * @type {number|null}
25
- */
26
- _defineProperty(this, "startColumn", null);
27
- /**
28
- * The column index of the last partially visible column in the viewport.
29
- *
30
- * @type {number|null}
31
- */
32
- _defineProperty(this, "endColumn", null);
33
- /**
34
- * Position of the first partially visible column (in px).
35
- *
36
- * @type {number|null}
37
- */
38
- _defineProperty(this, "startPosition", null);
39
- /**
40
- * Determines if the viewport is visible in the trimming container.
41
- *
42
- * @type {boolean}
43
- */
44
- _defineProperty(this, "isVisibleInTrimmingContainer", false);
45
- }
46
- /**
47
- * Initializes the calculation.
48
- */
49
- initialize() {}
50
-
51
- /**
52
- * Processes the column.
53
- *
54
- * @param {number} column The column index.
55
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
56
- */
57
- process(column, viewportCalculator) {
58
- const {
59
- totalCalculatedWidth,
60
- zeroBasedScrollOffset,
61
- viewportWidth
62
- } = viewportCalculator;
63
- if (totalCalculatedWidth <= zeroBasedScrollOffset) {
64
- this.startColumn = column;
65
- }
66
- const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
67
- if (totalCalculatedWidth >= zeroBasedScrollOffset && totalCalculatedWidth <= zeroBasedScrollOffset + compensatedViewportWidth) {
68
- if (this.startColumn === null || this.startColumn === undefined) {
69
- this.startColumn = column;
70
- }
71
- }
72
- this.endColumn = column;
73
- }
74
-
75
- /**
76
- * Finalizes the calculation.
77
- *
78
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
79
- */
80
- finalize(viewportCalculator) {
81
- var _startPositions$this$;
82
- const {
83
- scrollOffset,
84
- viewportWidth,
85
- inlineStartOffset,
86
- zeroBasedScrollOffset,
87
- totalColumns,
88
- needReverse,
89
- startPositions,
90
- columnWidth
91
- } = viewportCalculator;
92
-
93
- // If the estimation has reached the last column and there is still some space available in the viewport,
94
- // we need to render in reverse in order to fill the whole viewport with columns
95
- if (this.endColumn === totalColumns - 1 && needReverse) {
96
- this.startColumn = this.endColumn;
97
- while (this.startColumn > 0) {
98
- const calculatedViewportWidth = startPositions[this.endColumn] + columnWidth - startPositions[this.startColumn - 1];
99
- this.startColumn -= 1;
100
- if (calculatedViewportWidth > viewportWidth) {
101
- break;
102
- }
103
- }
104
- }
105
- this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
106
- const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
107
- const mostRightScrollOffset = scrollOffset + viewportWidth - compensatedViewportWidth;
108
- if (
109
- // the table is to the left of the viewport
110
- mostRightScrollOffset < -1 * inlineStartOffset || scrollOffset > startPositions.at(-1) + columnWidth ||
111
- // the table is to the right of the viewport
112
- -1 * scrollOffset - viewportWidth > 0) {
113
- this.isVisibleInTrimmingContainer = false;
114
- } else {
115
- this.isVisibleInTrimmingContainer = true;
116
- }
117
- if (totalColumns < this.endColumn) {
118
- this.endColumn = totalColumns - 1;
119
- }
120
- if (this.startColumn !== null) {
121
- this.count = this.endColumn - this.startColumn + 1;
122
- }
123
- }
124
- }
125
- exports.PartiallyVisibleColumnsCalculationType = PartiallyVisibleColumnsCalculationType;
@@ -1,121 +0,0 @@
1
- import "core-js/modules/es.error.cause.js";
2
- import "core-js/modules/es.array.at.js";
3
- import "core-js/modules/es.string.at-alternative.js";
4
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /**
8
- * @class PartiallyVisibleColumnsCalculationType
9
- */
10
- export class PartiallyVisibleColumnsCalculationType {
11
- constructor() {
12
- /**
13
- * Total number of partially visible columns in the viewport.
14
- *
15
- * @type {number}
16
- */
17
- _defineProperty(this, "count", 0);
18
- /**
19
- * The column index of the first partially visible column in the viewport.
20
- *
21
- * @type {number|null}
22
- */
23
- _defineProperty(this, "startColumn", null);
24
- /**
25
- * The column index of the last partially visible column in the viewport.
26
- *
27
- * @type {number|null}
28
- */
29
- _defineProperty(this, "endColumn", null);
30
- /**
31
- * Position of the first partially visible column (in px).
32
- *
33
- * @type {number|null}
34
- */
35
- _defineProperty(this, "startPosition", null);
36
- /**
37
- * Determines if the viewport is visible in the trimming container.
38
- *
39
- * @type {boolean}
40
- */
41
- _defineProperty(this, "isVisibleInTrimmingContainer", false);
42
- }
43
- /**
44
- * Initializes the calculation.
45
- */
46
- initialize() {}
47
-
48
- /**
49
- * Processes the column.
50
- *
51
- * @param {number} column The column index.
52
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
53
- */
54
- process(column, viewportCalculator) {
55
- const {
56
- totalCalculatedWidth,
57
- zeroBasedScrollOffset,
58
- viewportWidth
59
- } = viewportCalculator;
60
- if (totalCalculatedWidth <= zeroBasedScrollOffset) {
61
- this.startColumn = column;
62
- }
63
- const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
64
- if (totalCalculatedWidth >= zeroBasedScrollOffset && totalCalculatedWidth <= zeroBasedScrollOffset + compensatedViewportWidth) {
65
- if (this.startColumn === null || this.startColumn === undefined) {
66
- this.startColumn = column;
67
- }
68
- }
69
- this.endColumn = column;
70
- }
71
-
72
- /**
73
- * Finalizes the calculation.
74
- *
75
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
76
- */
77
- finalize(viewportCalculator) {
78
- var _startPositions$this$;
79
- const {
80
- scrollOffset,
81
- viewportWidth,
82
- inlineStartOffset,
83
- zeroBasedScrollOffset,
84
- totalColumns,
85
- needReverse,
86
- startPositions,
87
- columnWidth
88
- } = viewportCalculator;
89
-
90
- // If the estimation has reached the last column and there is still some space available in the viewport,
91
- // we need to render in reverse in order to fill the whole viewport with columns
92
- if (this.endColumn === totalColumns - 1 && needReverse) {
93
- this.startColumn = this.endColumn;
94
- while (this.startColumn > 0) {
95
- const calculatedViewportWidth = startPositions[this.endColumn] + columnWidth - startPositions[this.startColumn - 1];
96
- this.startColumn -= 1;
97
- if (calculatedViewportWidth > viewportWidth) {
98
- break;
99
- }
100
- }
101
- }
102
- this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
103
- const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
104
- const mostRightScrollOffset = scrollOffset + viewportWidth - compensatedViewportWidth;
105
- if (
106
- // the table is to the left of the viewport
107
- mostRightScrollOffset < -1 * inlineStartOffset || scrollOffset > startPositions.at(-1) + columnWidth ||
108
- // the table is to the right of the viewport
109
- -1 * scrollOffset - viewportWidth > 0) {
110
- this.isVisibleInTrimmingContainer = false;
111
- } else {
112
- this.isVisibleInTrimmingContainer = true;
113
- }
114
- if (totalColumns < this.endColumn) {
115
- this.endColumn = totalColumns - 1;
116
- }
117
- if (this.startColumn !== null) {
118
- this.count = this.endColumn - this.startColumn + 1;
119
- }
120
- }
121
- }
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- require("core-js/modules/es.array.at.js");
6
- require("core-js/modules/es.string.at-alternative.js");
7
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- /**
11
- * @class PartiallyVisibleRowsCalculationType
12
- */
13
- class PartiallyVisibleRowsCalculationType {
14
- constructor() {
15
- /**
16
- * Total number of partially visible rows in the viewport.
17
- *
18
- * @type {number}
19
- */
20
- _defineProperty(this, "count", 0);
21
- /**
22
- * The row index of the first partially visible row in the viewport.
23
- *
24
- * @type {number|null}
25
- */
26
- _defineProperty(this, "startRow", null);
27
- /**
28
- * The row index of the last partially visible row in the viewport.
29
- *
30
- * @type {number|null}
31
- */
32
- _defineProperty(this, "endRow", null);
33
- /**
34
- * Position of the first partially visible row (in px).
35
- *
36
- * @type {number|null}
37
- */
38
- _defineProperty(this, "startPosition", null);
39
- /**
40
- * Determines if the viewport is visible in the trimming container.
41
- *
42
- * @type {boolean}
43
- */
44
- _defineProperty(this, "isVisibleInTrimmingContainer", false);
45
- }
46
- /**
47
- * Initializes the calculation.
48
- */
49
- initialize() {}
50
-
51
- /**
52
- * Processes the row.
53
- *
54
- * @param {number} row The row index.
55
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
56
- */
57
- process(row, viewportCalculator) {
58
- const {
59
- totalCalculatedHeight,
60
- zeroBasedScrollOffset,
61
- innerViewportHeight
62
- } = viewportCalculator;
63
- if (totalCalculatedHeight <= zeroBasedScrollOffset) {
64
- this.startRow = row;
65
- }
66
- if (totalCalculatedHeight >= zeroBasedScrollOffset && totalCalculatedHeight <= innerViewportHeight) {
67
- if (this.startRow === null) {
68
- this.startRow = row;
69
- }
70
- }
71
- this.endRow = row;
72
- }
73
-
74
- /**
75
- * Finalizes the calculation.
76
- *
77
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
78
- */
79
- finalize(viewportCalculator) {
80
- var _startPositions$this$;
81
- const {
82
- scrollOffset,
83
- viewportHeight,
84
- horizontalScrollbarHeight,
85
- totalRows,
86
- needReverse,
87
- startPositions,
88
- rowHeight
89
- } = viewportCalculator;
90
-
91
- // If the estimation has reached the last row and there is still some space available in the viewport,
92
- // we need to render in reverse in order to fill the whole viewport with rows
93
- if (this.endRow === totalRows - 1 && needReverse) {
94
- this.startRow = this.endRow;
95
- while (this.startRow > 0) {
96
- const calculatedViewportHeight = startPositions[this.endRow] + rowHeight - startPositions[this.startRow - 1];
97
- this.startRow -= 1;
98
- if (calculatedViewportHeight >= viewportHeight - horizontalScrollbarHeight) {
99
- break;
100
- }
101
- }
102
- }
103
- this.startPosition = (_startPositions$this$ = startPositions[this.startRow]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
104
- const mostBottomScrollOffset = scrollOffset + viewportHeight - horizontalScrollbarHeight;
105
- if (mostBottomScrollOffset < 0 || scrollOffset > startPositions.at(-1) + rowHeight) {
106
- this.isVisibleInTrimmingContainer = false;
107
- } else {
108
- this.isVisibleInTrimmingContainer = true;
109
- }
110
- if (totalRows < this.endRow) {
111
- this.endRow = totalRows - 1;
112
- }
113
- if (this.startRow !== null) {
114
- this.count = this.endRow - this.startRow + 1;
115
- }
116
- }
117
- }
118
- exports.PartiallyVisibleRowsCalculationType = PartiallyVisibleRowsCalculationType;
@@ -1,114 +0,0 @@
1
- import "core-js/modules/es.error.cause.js";
2
- import "core-js/modules/es.array.at.js";
3
- import "core-js/modules/es.string.at-alternative.js";
4
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /**
8
- * @class PartiallyVisibleRowsCalculationType
9
- */
10
- export class PartiallyVisibleRowsCalculationType {
11
- constructor() {
12
- /**
13
- * Total number of partially visible rows in the viewport.
14
- *
15
- * @type {number}
16
- */
17
- _defineProperty(this, "count", 0);
18
- /**
19
- * The row index of the first partially visible row in the viewport.
20
- *
21
- * @type {number|null}
22
- */
23
- _defineProperty(this, "startRow", null);
24
- /**
25
- * The row index of the last partially visible row in the viewport.
26
- *
27
- * @type {number|null}
28
- */
29
- _defineProperty(this, "endRow", null);
30
- /**
31
- * Position of the first partially visible row (in px).
32
- *
33
- * @type {number|null}
34
- */
35
- _defineProperty(this, "startPosition", null);
36
- /**
37
- * Determines if the viewport is visible in the trimming container.
38
- *
39
- * @type {boolean}
40
- */
41
- _defineProperty(this, "isVisibleInTrimmingContainer", false);
42
- }
43
- /**
44
- * Initializes the calculation.
45
- */
46
- initialize() {}
47
-
48
- /**
49
- * Processes the row.
50
- *
51
- * @param {number} row The row index.
52
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
53
- */
54
- process(row, viewportCalculator) {
55
- const {
56
- totalCalculatedHeight,
57
- zeroBasedScrollOffset,
58
- innerViewportHeight
59
- } = viewportCalculator;
60
- if (totalCalculatedHeight <= zeroBasedScrollOffset) {
61
- this.startRow = row;
62
- }
63
- if (totalCalculatedHeight >= zeroBasedScrollOffset && totalCalculatedHeight <= innerViewportHeight) {
64
- if (this.startRow === null) {
65
- this.startRow = row;
66
- }
67
- }
68
- this.endRow = row;
69
- }
70
-
71
- /**
72
- * Finalizes the calculation.
73
- *
74
- * @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
75
- */
76
- finalize(viewportCalculator) {
77
- var _startPositions$this$;
78
- const {
79
- scrollOffset,
80
- viewportHeight,
81
- horizontalScrollbarHeight,
82
- totalRows,
83
- needReverse,
84
- startPositions,
85
- rowHeight
86
- } = viewportCalculator;
87
-
88
- // If the estimation has reached the last row and there is still some space available in the viewport,
89
- // we need to render in reverse in order to fill the whole viewport with rows
90
- if (this.endRow === totalRows - 1 && needReverse) {
91
- this.startRow = this.endRow;
92
- while (this.startRow > 0) {
93
- const calculatedViewportHeight = startPositions[this.endRow] + rowHeight - startPositions[this.startRow - 1];
94
- this.startRow -= 1;
95
- if (calculatedViewportHeight >= viewportHeight - horizontalScrollbarHeight) {
96
- break;
97
- }
98
- }
99
- }
100
- this.startPosition = (_startPositions$this$ = startPositions[this.startRow]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
101
- const mostBottomScrollOffset = scrollOffset + viewportHeight - horizontalScrollbarHeight;
102
- if (mostBottomScrollOffset < 0 || scrollOffset > startPositions.at(-1) + rowHeight) {
103
- this.isVisibleInTrimmingContainer = false;
104
- } else {
105
- this.isVisibleInTrimmingContainer = true;
106
- }
107
- if (totalRows < this.endRow) {
108
- this.endRow = totalRows - 1;
109
- }
110
- if (this.startRow !== null) {
111
- this.count = this.endRow - this.startRow + 1;
112
- }
113
- }
114
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- var _partiallyVisibleColumns = require("./partiallyVisibleColumns");
5
- /**
6
- * @class RenderedColumnsCalculationType
7
- */
8
- class RenderedColumnsCalculationType extends _partiallyVisibleColumns.PartiallyVisibleColumnsCalculationType {
9
- /**
10
- * Finalizes the calculation.
11
- *
12
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
13
- */
14
- finalize(viewportCalculator) {
15
- var _startPositions$this$;
16
- super.finalize(viewportCalculator);
17
- const {
18
- overrideFn,
19
- totalColumns,
20
- startPositions
21
- } = viewportCalculator;
22
- if (this.startColumn !== null && typeof overrideFn === 'function') {
23
- overrideFn(this);
24
- }
25
- if (this.startColumn < 0) {
26
- this.startColumn = 0;
27
- }
28
- this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
29
- if (totalColumns < this.endColumn) {
30
- this.endColumn = totalColumns - 1;
31
- }
32
- if (this.startColumn !== null) {
33
- this.count = this.endColumn - this.startColumn + 1;
34
- }
35
- }
36
- }
37
- exports.RenderedColumnsCalculationType = RenderedColumnsCalculationType;
@@ -1,33 +0,0 @@
1
- import { PartiallyVisibleColumnsCalculationType } from "./partiallyVisibleColumns.mjs";
2
- /**
3
- * @class RenderedColumnsCalculationType
4
- */
5
- export class RenderedColumnsCalculationType extends PartiallyVisibleColumnsCalculationType {
6
- /**
7
- * Finalizes the calculation.
8
- *
9
- * @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
10
- */
11
- finalize(viewportCalculator) {
12
- var _startPositions$this$;
13
- super.finalize(viewportCalculator);
14
- const {
15
- overrideFn,
16
- totalColumns,
17
- startPositions
18
- } = viewportCalculator;
19
- if (this.startColumn !== null && typeof overrideFn === 'function') {
20
- overrideFn(this);
21
- }
22
- if (this.startColumn < 0) {
23
- this.startColumn = 0;
24
- }
25
- this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
26
- if (totalColumns < this.endColumn) {
27
- this.endColumn = totalColumns - 1;
28
- }
29
- if (this.startColumn !== null) {
30
- this.count = this.endColumn - this.startColumn + 1;
31
- }
32
- }
33
- }