axui-datagrid
Version:
DataGrid, DataSheet for React
35 lines (34 loc) • 1.41 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const getScrollPosition_1 = require("./getScrollPosition");
const getAvailScrollLeft = (colIndex, { frozenColumnIndex, sColIndex, frozenPanelWidth, colGroup, eColIndex, verticalScrollerWidth, rightPanelWidth, scrollContentWidth, scrollContentHeight, scrollContentContainerWidth, scrollContentContainerHeight, scrollTop, scrollLeft, }) => {
let _scrollLeft = undefined;
if (frozenColumnIndex > colIndex) {
return;
}
if (sColIndex >= colIndex - frozenColumnIndex) {
_scrollLeft = -colGroup[colIndex]._sx + frozenPanelWidth;
}
else if (eColIndex <= colIndex - frozenColumnIndex) {
// 끝점 계산
_scrollLeft =
scrollContentContainerWidth -
colGroup[colIndex]._ex +
frozenPanelWidth -
verticalScrollerWidth -
rightPanelWidth;
}
if (typeof _scrollLeft !== 'undefined') {
_scrollLeft = getScrollPosition_1.default(_scrollLeft, scrollTop, {
scrollWidth: scrollContentWidth,
scrollHeight: scrollContentHeight,
clientWidth: scrollContentContainerWidth,
clientHeight: scrollContentContainerHeight,
}).scrollLeft;
}
else {
_scrollLeft = scrollLeft;
}
return _scrollLeft;
};
exports.default = getAvailScrollLeft;
;