handsontable 0.0.0-next-d82e84a-20240117 → 0.0.0-next-4418964-20240119
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.
- package/3rdparty/walkontable/src/core/_base.js +12 -0
- package/3rdparty/walkontable/src/core/_base.mjs +12 -0
- package/3rdparty/walkontable/src/scroll.js +125 -98
- package/3rdparty/walkontable/src/scroll.mjs +127 -100
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +26 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +20 -0
- package/3rdparty/walkontable/src/table.js +2 -0
- package/3rdparty/walkontable/src/table.mjs +2 -0
- package/3rdparty/walkontable/src/viewport.js +9 -0
- package/3rdparty/walkontable/src/viewport.mjs +10 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/index.js +6 -0
- package/core/index.mjs +2 -1
- package/core/viewportScroll/index.js +65 -0
- package/core/viewportScroll/index.mjs +61 -0
- package/core/viewportScroll/scrollStrategies/columnHeaderScroll.js +20 -0
- package/core/viewportScroll/scrollStrategies/columnHeaderScroll.mjs +16 -0
- package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.js +14 -0
- package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.mjs +10 -0
- package/core/viewportScroll/scrollStrategies/multipleScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/multipleScroll.mjs +11 -0
- package/core/viewportScroll/scrollStrategies/noncontiguousScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/noncontiguousScroll.mjs +11 -0
- package/core/viewportScroll/scrollStrategies/rowHeaderScroll.js +20 -0
- package/core/viewportScroll/scrollStrategies/rowHeaderScroll.mjs +16 -0
- package/core/viewportScroll/scrollStrategies/singleScroll.js +46 -0
- package/core/viewportScroll/scrollStrategies/singleScroll.mjs +42 -0
- package/core.js +11 -52
- package/core.mjs +12 -53
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +1578 -1074
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +41 -41
- package/dist/handsontable.js +1580 -1076
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +25 -25
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/selection/mouseEventHandler.js +4 -0
- package/selection/mouseEventHandler.mjs +4 -0
- package/selection/selection.js +64 -5
- package/selection/selection.mjs +64 -5
- package/tableView.js +76 -0
- package/tableView.mjs +76 -0
@@ -1,39 +1,42 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
2
4
|
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
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
4
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
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
5
8
|
import { innerHeight, innerWidth, getScrollLeft, getScrollTop, offset } from "../../../helpers/dom/element.mjs";
|
6
9
|
/**
|
7
10
|
* @class Scroll
|
8
11
|
*/
|
12
|
+
var _getLastColumnIndex = /*#__PURE__*/new WeakSet();
|
13
|
+
var _getLastRowIndex = /*#__PURE__*/new WeakSet();
|
9
14
|
class Scroll {
|
10
15
|
/**
|
11
16
|
* @param {ScrollDao} dataAccessObject Tha data access object.
|
12
17
|
*/
|
13
18
|
constructor(dataAccessObject) {
|
14
19
|
/**
|
15
|
-
*
|
20
|
+
* Get last visible row based on virtual dom and how table is visible in browser window viewport.
|
16
21
|
*
|
17
|
-
* @
|
18
|
-
* @
|
22
|
+
* @param {number} lastRowIndex The last visible row index.
|
23
|
+
* @returns {number}
|
19
24
|
*/
|
20
|
-
|
25
|
+
_classPrivateMethodInitSpec(this, _getLastRowIndex);
|
21
26
|
/**
|
22
|
-
*
|
23
|
-
* (left or right) for a next horizontal scroll.
|
27
|
+
* Get last visible column based on virtual dom and how table is visible in browser window viewport.
|
24
28
|
*
|
25
|
-
* @
|
26
|
-
* @
|
29
|
+
* @param {number} lastColumnIndex The last visible column index.
|
30
|
+
* @returns {number}
|
27
31
|
*/
|
28
|
-
|
32
|
+
_classPrivateMethodInitSpec(this, _getLastColumnIndex);
|
29
33
|
/**
|
30
|
-
*
|
31
|
-
* (top or bottom) for a next vertical scroll.
|
34
|
+
* The data access object.
|
32
35
|
*
|
33
36
|
* @protected
|
34
|
-
* @type {
|
37
|
+
* @type {ScrollDao}
|
35
38
|
*/
|
36
|
-
_defineProperty(this, "
|
39
|
+
_defineProperty(this, "dataAccessObject", void 0);
|
37
40
|
this.dataAccessObject = dataAccessObject;
|
38
41
|
}
|
39
42
|
|
@@ -71,8 +74,6 @@ class Scroll {
|
|
71
74
|
if (!drawn || !Number.isInteger(column) || column < 0 || column > totalColumns) {
|
72
75
|
return false;
|
73
76
|
}
|
74
|
-
const firstVisibleColumn = this.getFirstVisibleColumn();
|
75
|
-
const lastVisibleColumn = this.getLastVisibleColumn();
|
76
77
|
const autoSnapping = snapToRight === undefined && snapToLeft === undefined;
|
77
78
|
const {
|
78
79
|
fixedColumnsStart,
|
@@ -84,20 +85,14 @@ class Scroll {
|
|
84
85
|
if (autoSnapping && column < fixedColumnsStart) {
|
85
86
|
return false;
|
86
87
|
}
|
87
|
-
let result = false;
|
88
88
|
column = this.dataAccessObject.wtSettings.getSetting('onBeforeViewportScrollHorizontally', column);
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
if (
|
93
|
-
result = inlineStartOverlay.scrollTo(column, autoSnapping ? column > this.lastScrolledColumnPos : snapToRight);
|
94
|
-
} else if (autoSnapping && (column < firstVisibleColumn || column > lastVisibleColumn) || !autoSnapping) {
|
89
|
+
const firstColumn = this.getFirstVisibleColumn();
|
90
|
+
const lastColumn = this.getLastVisibleColumn();
|
91
|
+
let result = false;
|
92
|
+
if (autoSnapping && (column < firstColumn || column > lastColumn) || !autoSnapping) {
|
95
93
|
// if there is at least one fully visible column determine the snapping direction based on
|
96
94
|
// that columns or by snapToRight/snapToLeft flags, if provided.
|
97
|
-
result = inlineStartOverlay.scrollTo(column, autoSnapping ? column
|
98
|
-
}
|
99
|
-
if (result) {
|
100
|
-
this.lastScrolledColumnPos = column;
|
95
|
+
result = inlineStartOverlay.scrollTo(column, autoSnapping ? column >= this.getLastPartiallyVisibleColumn() : snapToRight);
|
101
96
|
}
|
102
97
|
return result;
|
103
98
|
}
|
@@ -120,8 +115,6 @@ class Scroll {
|
|
120
115
|
if (!drawn || !Number.isInteger(row) || row < 0 || row > totalRows) {
|
121
116
|
return false;
|
122
117
|
}
|
123
|
-
const firstVisibleRow = this.getFirstVisibleRow();
|
124
|
-
const lastVisibleRow = this.getLastVisibleRow();
|
125
118
|
const autoSnapping = snapToTop === undefined && snapToBottom === undefined;
|
126
119
|
const {
|
127
120
|
fixedRowsBottom,
|
@@ -134,20 +127,14 @@ class Scroll {
|
|
134
127
|
if (autoSnapping && (row < fixedRowsTop || row > totalRows - fixedRowsBottom - 1)) {
|
135
128
|
return false;
|
136
129
|
}
|
137
|
-
let result = false;
|
138
130
|
row = this.dataAccessObject.wtSettings.getSetting('onBeforeViewportScrollVertically', row);
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
if (
|
143
|
-
result = topOverlay.scrollTo(row, autoSnapping ? row > this.lastScrolledRowPos : snapToBottom);
|
144
|
-
} else if (autoSnapping && (row < firstVisibleRow || row > lastVisibleRow) || !autoSnapping) {
|
131
|
+
const firstRow = this.getFirstVisibleRow();
|
132
|
+
const lastRow = this.getLastVisibleRow();
|
133
|
+
let result = false;
|
134
|
+
if (autoSnapping && (row < firstRow || row > lastRow) || !autoSnapping) {
|
145
135
|
// if there is at least one fully visible row determine the snapping direction based on
|
146
136
|
// that rows or by snapToTop/snapToBottom flags, if provided.
|
147
|
-
result = topOverlay.scrollTo(row, autoSnapping ? row
|
148
|
-
}
|
149
|
-
if (result) {
|
150
|
-
this.lastScrolledRowPos = row;
|
137
|
+
result = topOverlay.scrollTo(row, autoSnapping ? row >= this.getLastPartiallyVisibleRow() : snapToBottom);
|
151
138
|
}
|
152
139
|
return result;
|
153
140
|
}
|
@@ -167,33 +154,25 @@ class Scroll {
|
|
167
154
|
* @returns {number}
|
168
155
|
*/
|
169
156
|
getLastVisibleRow() {
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
// Return physical row - 1 (-2 because rangeEach gives row index + 1 - sumCellSizes requirements)
|
190
|
-
lastVisibleRow = row - 2;
|
191
|
-
break;
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
}
|
196
|
-
return lastVisibleRow;
|
157
|
+
return _classPrivateMethodGet(this, _getLastRowIndex, _getLastRowIndex2).call(this, this.dataAccessObject.wtTable.getLastVisibleRow());
|
158
|
+
}
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Get first partially visible row based on virtual dom and how table is visible in browser window viewport.
|
162
|
+
*
|
163
|
+
* @returns {number}
|
164
|
+
*/
|
165
|
+
getFirstPartiallyVisibleRow() {
|
166
|
+
return this.dataAccessObject.wtTable.getFirstPartiallyVisibleRow();
|
167
|
+
}
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Get last visible row based on virtual dom and how table is visible in browser window viewport.
|
171
|
+
*
|
172
|
+
* @returns {number}
|
173
|
+
*/
|
174
|
+
getLastPartiallyVisibleRow() {
|
175
|
+
return _classPrivateMethodGet(this, _getLastRowIndex, _getLastRowIndex2).call(this, this.dataAccessObject.wtTable.getLastPartiallyVisibleRow());
|
197
176
|
}
|
198
177
|
|
199
178
|
/**
|
@@ -211,44 +190,92 @@ class Scroll {
|
|
211
190
|
* @returns {number}
|
212
191
|
*/
|
213
192
|
getLastVisibleColumn() {
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
193
|
+
return _classPrivateMethodGet(this, _getLastColumnIndex, _getLastColumnIndex2).call(this, this.dataAccessObject.wtTable.getLastVisibleColumn());
|
194
|
+
}
|
195
|
+
|
196
|
+
/**
|
197
|
+
* Get first partially visible column based on virtual dom and how table is visible in browser window viewport.
|
198
|
+
*
|
199
|
+
* @returns {number}
|
200
|
+
*/
|
201
|
+
getFirstPartiallyVisibleColumn() {
|
202
|
+
return this.dataAccessObject.wtTable.getFirstPartiallyVisibleColumn();
|
203
|
+
}
|
204
|
+
|
205
|
+
/**
|
206
|
+
* Get last partially visible column based on virtual dom and how table is visible in browser window viewport.
|
207
|
+
*
|
208
|
+
* @returns {number}
|
209
|
+
*/
|
210
|
+
getLastPartiallyVisibleColumn() {
|
211
|
+
return _classPrivateMethodGet(this, _getLastColumnIndex, _getLastColumnIndex2).call(this, this.dataAccessObject.wtTable.getLastPartiallyVisibleColumn());
|
212
|
+
}
|
213
|
+
}
|
214
|
+
function _getLastColumnIndex2(lastColumnIndex) {
|
215
|
+
const {
|
216
|
+
wtSettings,
|
217
|
+
inlineStartOverlay,
|
218
|
+
wtTable,
|
219
|
+
wtViewport,
|
220
|
+
totalColumns,
|
221
|
+
rootWindow
|
222
|
+
} = this.dataAccessObject;
|
223
|
+
if (inlineStartOverlay.mainTableScrollableElement === rootWindow) {
|
224
|
+
const isRtl = wtSettings.getSetting('rtlMode');
|
225
|
+
let inlineStartRootElementOffset = null;
|
226
|
+
if (isRtl) {
|
227
|
+
const tableRect = wtTable.TABLE.getBoundingClientRect();
|
228
|
+
const rootDocument = this.dataAccessObject.rootWindow.document;
|
229
|
+
const docOffsetWidth = rootDocument.documentElement.offsetWidth;
|
230
|
+
inlineStartRootElementOffset = Math.abs(tableRect.right - docOffsetWidth);
|
231
|
+
} else {
|
232
|
+
const rootElementOffset = offset(wtTable.wtRootElement);
|
233
|
+
inlineStartRootElementOffset = rootElementOffset.left;
|
234
|
+
}
|
235
|
+
const windowScrollLeft = Math.abs(getScrollLeft(rootWindow, rootWindow));
|
236
|
+
|
237
|
+
// Only calculate lastColumnIndex when table didn't filled (from right) whole viewport space
|
238
|
+
if (inlineStartRootElementOffset > windowScrollLeft) {
|
239
|
+
const windowWidth = innerWidth(rootWindow);
|
240
|
+
let columnsWidth = wtViewport.getRowHeaderWidth();
|
241
|
+
for (let column = 1; column <= totalColumns; column++) {
|
242
|
+
columnsWidth += inlineStartOverlay.sumCellSizes(column - 1, column);
|
243
|
+
if (inlineStartRootElementOffset + columnsWidth - windowScrollLeft >= windowWidth) {
|
244
|
+
// Return physical column - 1 (-2 because rangeEach gives column index + 1 - sumCellSizes requirements)
|
245
|
+
lastColumnIndex = column - 2;
|
246
|
+
break;
|
247
|
+
}
|
234
248
|
}
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
249
|
+
}
|
250
|
+
}
|
251
|
+
return lastColumnIndex;
|
252
|
+
}
|
253
|
+
function _getLastRowIndex2(lastRowIndex) {
|
254
|
+
const {
|
255
|
+
topOverlay,
|
256
|
+
wtTable,
|
257
|
+
wtViewport,
|
258
|
+
totalRows,
|
259
|
+
rootWindow
|
260
|
+
} = this.dataAccessObject;
|
261
|
+
if (topOverlay.mainTableScrollableElement === rootWindow) {
|
262
|
+
const rootElementOffset = offset(wtTable.wtRootElement);
|
263
|
+
const windowScrollTop = getScrollTop(rootWindow, rootWindow);
|
264
|
+
|
265
|
+
// Only calculate lastRowIndex when table didn't filled (from bottom) whole viewport space
|
266
|
+
if (rootElementOffset.top > windowScrollTop) {
|
267
|
+
const windowHeight = innerHeight(rootWindow);
|
268
|
+
let rowsHeight = wtViewport.getColumnHeaderHeight();
|
269
|
+
for (let row = 1; row <= totalRows; row++) {
|
270
|
+
rowsHeight += topOverlay.sumCellSizes(row - 1, row);
|
271
|
+
if (rootElementOffset.top + rowsHeight - windowScrollTop >= windowHeight) {
|
272
|
+
// Return physical row - 1 (-2 because rangeEach gives row index + 1 - sumCellSizes requirements)
|
273
|
+
lastRowIndex = row - 2;
|
274
|
+
break;
|
248
275
|
}
|
249
276
|
}
|
250
277
|
}
|
251
|
-
return lastVisibleColumn;
|
252
278
|
}
|
279
|
+
return lastRowIndex;
|
253
280
|
}
|
254
281
|
export default Scroll;
|
@@ -39,6 +39,19 @@ const calculatedColumns = {
|
|
39
39
|
}
|
40
40
|
return startColumn;
|
41
41
|
},
|
42
|
+
/**
|
43
|
+
* Get the source index of the first column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
44
|
+
*
|
45
|
+
* @returns {number}
|
46
|
+
* @this Table
|
47
|
+
*/
|
48
|
+
getFirstPartiallyVisibleColumn() {
|
49
|
+
const startColumn = this.dataAccessObject.startColumnPartiallyVisible;
|
50
|
+
if (startColumn === null) {
|
51
|
+
return -1;
|
52
|
+
}
|
53
|
+
return startColumn;
|
54
|
+
},
|
42
55
|
/**
|
43
56
|
* Get the source index of the last rendered column. If no columns are rendered, returns an error code: -1.
|
44
57
|
*
|
@@ -65,6 +78,19 @@ const calculatedColumns = {
|
|
65
78
|
}
|
66
79
|
return endColumn;
|
67
80
|
},
|
81
|
+
/**
|
82
|
+
* Get the source index of the last column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
83
|
+
*
|
84
|
+
* @returns {number}
|
85
|
+
* @this Table
|
86
|
+
*/
|
87
|
+
getLastPartiallyVisibleColumn() {
|
88
|
+
const endColumn = this.dataAccessObject.endColumnPartiallyVisible;
|
89
|
+
if (endColumn === null) {
|
90
|
+
return -1;
|
91
|
+
}
|
92
|
+
return endColumn;
|
93
|
+
},
|
68
94
|
/**
|
69
95
|
* Get the number of rendered columns.
|
70
96
|
*
|
@@ -36,6 +36,19 @@ const calculatedColumns = {
|
|
36
36
|
}
|
37
37
|
return startColumn;
|
38
38
|
},
|
39
|
+
/**
|
40
|
+
* Get the source index of the first column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
41
|
+
*
|
42
|
+
* @returns {number}
|
43
|
+
* @this Table
|
44
|
+
*/
|
45
|
+
getFirstPartiallyVisibleColumn() {
|
46
|
+
const startColumn = this.dataAccessObject.startColumnPartiallyVisible;
|
47
|
+
if (startColumn === null) {
|
48
|
+
return -1;
|
49
|
+
}
|
50
|
+
return startColumn;
|
51
|
+
},
|
39
52
|
/**
|
40
53
|
* Get the source index of the last rendered column. If no columns are rendered, returns an error code: -1.
|
41
54
|
*
|
@@ -62,6 +75,19 @@ const calculatedColumns = {
|
|
62
75
|
}
|
63
76
|
return endColumn;
|
64
77
|
},
|
78
|
+
/**
|
79
|
+
* Get the source index of the last column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
80
|
+
*
|
81
|
+
* @returns {number}
|
82
|
+
* @this Table
|
83
|
+
*/
|
84
|
+
getLastPartiallyVisibleColumn() {
|
85
|
+
const endColumn = this.dataAccessObject.endColumnPartiallyVisible;
|
86
|
+
if (endColumn === null) {
|
87
|
+
return -1;
|
88
|
+
}
|
89
|
+
return endColumn;
|
90
|
+
},
|
65
91
|
/**
|
66
92
|
* Get the number of rendered columns.
|
67
93
|
*
|
@@ -39,6 +39,19 @@ const calculatedRows = {
|
|
39
39
|
}
|
40
40
|
return startRow;
|
41
41
|
},
|
42
|
+
/**
|
43
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
44
|
+
*
|
45
|
+
* @returns {number}
|
46
|
+
* @this Table
|
47
|
+
*/
|
48
|
+
getFirstPartiallyVisibleRow() {
|
49
|
+
const startRow = this.dataAccessObject.startRowPartiallyVisible;
|
50
|
+
if (startRow === null) {
|
51
|
+
return -1;
|
52
|
+
}
|
53
|
+
return startRow;
|
54
|
+
},
|
42
55
|
/**
|
43
56
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
44
57
|
*
|
@@ -65,6 +78,19 @@ const calculatedRows = {
|
|
65
78
|
}
|
66
79
|
return endRow;
|
67
80
|
},
|
81
|
+
/**
|
82
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
83
|
+
*
|
84
|
+
* @returns {number}
|
85
|
+
* @this Table
|
86
|
+
*/
|
87
|
+
getLastPartiallyVisibleRow() {
|
88
|
+
const endRow = this.dataAccessObject.endRowPartiallyVisible;
|
89
|
+
if (endRow === null) {
|
90
|
+
return -1;
|
91
|
+
}
|
92
|
+
return endRow;
|
93
|
+
},
|
68
94
|
/**
|
69
95
|
* Get the number of rendered rows.
|
70
96
|
*
|
@@ -36,6 +36,19 @@ const calculatedRows = {
|
|
36
36
|
}
|
37
37
|
return startRow;
|
38
38
|
},
|
39
|
+
/**
|
40
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
41
|
+
*
|
42
|
+
* @returns {number}
|
43
|
+
* @this Table
|
44
|
+
*/
|
45
|
+
getFirstPartiallyVisibleRow() {
|
46
|
+
const startRow = this.dataAccessObject.startRowPartiallyVisible;
|
47
|
+
if (startRow === null) {
|
48
|
+
return -1;
|
49
|
+
}
|
50
|
+
return startRow;
|
51
|
+
},
|
39
52
|
/**
|
40
53
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
41
54
|
*
|
@@ -62,6 +75,19 @@ const calculatedRows = {
|
|
62
75
|
}
|
63
76
|
return endRow;
|
64
77
|
},
|
78
|
+
/**
|
79
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
80
|
+
*
|
81
|
+
* @returns {number}
|
82
|
+
* @this Table
|
83
|
+
*/
|
84
|
+
getLastPartiallyVisibleRow() {
|
85
|
+
const endRow = this.dataAccessObject.endRowPartiallyVisible;
|
86
|
+
if (endRow === null) {
|
87
|
+
return -1;
|
88
|
+
}
|
89
|
+
return endRow;
|
90
|
+
},
|
65
91
|
/**
|
66
92
|
* Get the number of rendered rows.
|
67
93
|
*
|
@@ -36,6 +36,16 @@ const stickyColumnsStart = {
|
|
36
36
|
getFirstVisibleColumn() {
|
37
37
|
return this.getFirstRenderedColumn();
|
38
38
|
},
|
39
|
+
/**
|
40
|
+
* Get the source index of the first column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
41
|
+
* Assumes that all rendered columns are fully visible.
|
42
|
+
*
|
43
|
+
* @returns {number}
|
44
|
+
* @this Table
|
45
|
+
*/
|
46
|
+
getFirstPartiallyVisibleColumn() {
|
47
|
+
return this.getFirstRenderedColumn();
|
48
|
+
},
|
39
49
|
/**
|
40
50
|
* Get the source index of the last rendered column. If no columns are rendered, returns an error code: -1.
|
41
51
|
*
|
@@ -55,6 +65,16 @@ const stickyColumnsStart = {
|
|
55
65
|
getLastVisibleColumn() {
|
56
66
|
return this.getLastRenderedColumn();
|
57
67
|
},
|
68
|
+
/**
|
69
|
+
* Get the source index of the last column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
70
|
+
* Assumes that all rendered columns are fully visible.
|
71
|
+
*
|
72
|
+
* @returns {number}
|
73
|
+
* @this Table
|
74
|
+
*/
|
75
|
+
getLastPartiallyVisibleColumn() {
|
76
|
+
return this.getLastRenderedColumn();
|
77
|
+
},
|
58
78
|
/**
|
59
79
|
* Get the number of rendered columns.
|
60
80
|
*
|
@@ -33,6 +33,16 @@ const stickyColumnsStart = {
|
|
33
33
|
getFirstVisibleColumn() {
|
34
34
|
return this.getFirstRenderedColumn();
|
35
35
|
},
|
36
|
+
/**
|
37
|
+
* Get the source index of the first column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
38
|
+
* Assumes that all rendered columns are fully visible.
|
39
|
+
*
|
40
|
+
* @returns {number}
|
41
|
+
* @this Table
|
42
|
+
*/
|
43
|
+
getFirstPartiallyVisibleColumn() {
|
44
|
+
return this.getFirstRenderedColumn();
|
45
|
+
},
|
36
46
|
/**
|
37
47
|
* Get the source index of the last rendered column. If no columns are rendered, returns an error code: -1.
|
38
48
|
*
|
@@ -52,6 +62,16 @@ const stickyColumnsStart = {
|
|
52
62
|
getLastVisibleColumn() {
|
53
63
|
return this.getLastRenderedColumn();
|
54
64
|
},
|
65
|
+
/**
|
66
|
+
* Get the source index of the last column partially visible in the viewport. If no columns are partially visible, returns an error code: -1.
|
67
|
+
* Assumes that all rendered columns are fully visible.
|
68
|
+
*
|
69
|
+
* @returns {number}
|
70
|
+
* @this Table
|
71
|
+
*/
|
72
|
+
getLastPartiallyVisibleColumn() {
|
73
|
+
return this.getLastRenderedColumn();
|
74
|
+
},
|
55
75
|
/**
|
56
76
|
* Get the number of rendered columns.
|
57
77
|
*
|
@@ -41,6 +41,16 @@ const stickyRowsBottom = {
|
|
41
41
|
getFirstVisibleRow() {
|
42
42
|
return this.getFirstRenderedRow();
|
43
43
|
},
|
44
|
+
/**
|
45
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
46
|
+
* Assumes that all rendered rows are fully visible.
|
47
|
+
*
|
48
|
+
* @returns {number}
|
49
|
+
* @this Table
|
50
|
+
*/
|
51
|
+
getFirstPartiallyVisibleRow() {
|
52
|
+
return this.getFirstRenderedRow();
|
53
|
+
},
|
44
54
|
/**
|
45
55
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
46
56
|
*
|
@@ -60,6 +70,16 @@ const stickyRowsBottom = {
|
|
60
70
|
getLastVisibleRow() {
|
61
71
|
return this.getLastRenderedRow();
|
62
72
|
},
|
73
|
+
/**
|
74
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
75
|
+
* Assumes that all rendered rows are fully visible.
|
76
|
+
*
|
77
|
+
* @returns {number}
|
78
|
+
* @this Table
|
79
|
+
*/
|
80
|
+
getLastPartiallyVisibleRow() {
|
81
|
+
return this.getLastRenderedRow();
|
82
|
+
},
|
63
83
|
/**
|
64
84
|
* Get the number of rendered rows.
|
65
85
|
*
|
@@ -38,6 +38,16 @@ const stickyRowsBottom = {
|
|
38
38
|
getFirstVisibleRow() {
|
39
39
|
return this.getFirstRenderedRow();
|
40
40
|
},
|
41
|
+
/**
|
42
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
43
|
+
* Assumes that all rendered rows are fully visible.
|
44
|
+
*
|
45
|
+
* @returns {number}
|
46
|
+
* @this Table
|
47
|
+
*/
|
48
|
+
getFirstPartiallyVisibleRow() {
|
49
|
+
return this.getFirstRenderedRow();
|
50
|
+
},
|
41
51
|
/**
|
42
52
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
43
53
|
*
|
@@ -57,6 +67,16 @@ const stickyRowsBottom = {
|
|
57
67
|
getLastVisibleRow() {
|
58
68
|
return this.getLastRenderedRow();
|
59
69
|
},
|
70
|
+
/**
|
71
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
72
|
+
* Assumes that all rendered rows are fully visible.
|
73
|
+
*
|
74
|
+
* @returns {number}
|
75
|
+
* @this Table
|
76
|
+
*/
|
77
|
+
getLastPartiallyVisibleRow() {
|
78
|
+
return this.getLastRenderedRow();
|
79
|
+
},
|
60
80
|
/**
|
61
81
|
* Get the number of rendered rows.
|
62
82
|
*
|
@@ -36,6 +36,16 @@ const stickyRowsTop = {
|
|
36
36
|
getFirstVisibleRow() {
|
37
37
|
return this.getFirstRenderedRow();
|
38
38
|
},
|
39
|
+
/**
|
40
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
41
|
+
* Assumes that all rendered rows are fully visible.
|
42
|
+
*
|
43
|
+
* @returns {number}
|
44
|
+
* @this Table
|
45
|
+
*/
|
46
|
+
getFirstPartiallyVisibleRow() {
|
47
|
+
return this.getFirstRenderedRow();
|
48
|
+
},
|
39
49
|
/**
|
40
50
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
41
51
|
*
|
@@ -55,6 +65,16 @@ const stickyRowsTop = {
|
|
55
65
|
getLastVisibleRow() {
|
56
66
|
return this.getLastRenderedRow();
|
57
67
|
},
|
68
|
+
/**
|
69
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
70
|
+
* Assumes that all rendered rows are fully visible.
|
71
|
+
*
|
72
|
+
* @returns {number}
|
73
|
+
* @this Table
|
74
|
+
*/
|
75
|
+
getLastPartiallyVisibleRow() {
|
76
|
+
return this.getLastRenderedRow();
|
77
|
+
},
|
58
78
|
/**
|
59
79
|
* Get the number of rendered rows.
|
60
80
|
*
|
@@ -33,6 +33,16 @@ const stickyRowsTop = {
|
|
33
33
|
getFirstVisibleRow() {
|
34
34
|
return this.getFirstRenderedRow();
|
35
35
|
},
|
36
|
+
/**
|
37
|
+
* Get the source index of the first row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
38
|
+
* Assumes that all rendered rows are fully visible.
|
39
|
+
*
|
40
|
+
* @returns {number}
|
41
|
+
* @this Table
|
42
|
+
*/
|
43
|
+
getFirstPartiallyVisibleRow() {
|
44
|
+
return this.getFirstRenderedRow();
|
45
|
+
},
|
36
46
|
/**
|
37
47
|
* Get the source index of the last rendered row. If no rows are rendered, returns an error code: -1.
|
38
48
|
*
|
@@ -52,6 +62,16 @@ const stickyRowsTop = {
|
|
52
62
|
getLastVisibleRow() {
|
53
63
|
return this.getLastRenderedRow();
|
54
64
|
},
|
65
|
+
/**
|
66
|
+
* Get the source index of the last row partially visible in the viewport. If no rows are partially visible, returns an error code: -1.
|
67
|
+
* Assumes that all rendered rows are fully visible.
|
68
|
+
*
|
69
|
+
* @returns {number}
|
70
|
+
* @this Table
|
71
|
+
*/
|
72
|
+
getLastPartiallyVisibleRow() {
|
73
|
+
return this.getLastRenderedRow();
|
74
|
+
},
|
55
75
|
/**
|
56
76
|
* Get the number of rendered rows.
|
57
77
|
*
|