mirror of
https://github.com/wu736139669/ASHEBShop-h5.git
synced 2026-10-07 19:26:23 +00:00
49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = defaultOverscanIndicesGetter;
|
|
var SCROLL_DIRECTION_BACKWARD = exports.SCROLL_DIRECTION_BACKWARD = -1;
|
|
var SCROLL_DIRECTION_FORWARD = exports.SCROLL_DIRECTION_FORWARD = 1;
|
|
|
|
var SCROLL_DIRECTION_HORIZONTAL = exports.SCROLL_DIRECTION_HORIZONTAL = 'horizontal';
|
|
var SCROLL_DIRECTION_VERTICAL = exports.SCROLL_DIRECTION_VERTICAL = 'vertical';
|
|
/**
|
|
* Calculates the number of cells to overscan before and after a specified range.
|
|
* This function ensures that overscanning doesn't exceed the available cells.
|
|
*
|
|
* @param direction One of SCROLL_DIRECTION_HORIZONTAL or SCROLL_DIRECTION_VERTICAL
|
|
* @param cellCount Number of rows or columns in the current axis
|
|
* @param scrollDirection One of SCROLL_DIRECTION_BACKWARD or SCROLL_DIRECTION_FORWARD
|
|
* @param overscanCellsCount Maximum number of cells to over-render in either direction
|
|
* @param startIndex Begin of range of visible cells
|
|
* @param stopIndex End of range of visible cells
|
|
*/
|
|
function defaultOverscanIndicesGetter(_ref) {
|
|
var direction = _ref.direction,
|
|
cellCount = _ref.cellCount,
|
|
overscanCellsCount = _ref.overscanCellsCount,
|
|
scrollDirection = _ref.scrollDirection,
|
|
startIndex = _ref.startIndex,
|
|
stopIndex = _ref.stopIndex;
|
|
|
|
var overscanStartIndex = void 0;
|
|
var overscanStopIndex = void 0;
|
|
|
|
switch (scrollDirection) {
|
|
case SCROLL_DIRECTION_FORWARD:
|
|
overscanStartIndex = startIndex;
|
|
overscanStopIndex = stopIndex + overscanCellsCount;
|
|
break;
|
|
case SCROLL_DIRECTION_BACKWARD:
|
|
overscanStartIndex = startIndex - overscanCellsCount;
|
|
overscanStopIndex = stopIndex;
|
|
break;
|
|
}
|
|
|
|
return {
|
|
overscanStartIndex: Math.max(0, overscanStartIndex),
|
|
overscanStopIndex: Math.min(cellCount - 1, overscanStopIndex)
|
|
};
|
|
} |