handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
27 lines (26 loc) • 797 B
JavaScript
exports.__esModule = true;
exports.noncontiguousScrollStrategy = noncontiguousScrollStrategy;
var _utils = require("../utils");
/**
* Scroll strategy for non-contiguous selections.
*
* @param {Core} hot Handsontable instance.
* @returns {function(): function(CellCoords): void}
*/
function noncontiguousScrollStrategy(hot) {
return cellCoords => {
const scrollTargetCalc = (0, _utils.createScrollTargetCalculator)(hot);
const targetScroll = {
row: scrollTargetCalc.getComputedRowTarget(cellCoords),
col: scrollTargetCalc.getComputedColumnTarget(cellCoords)
};
hot.scrollViewportTo(targetScroll, () => {
const {
row,
col
} = targetScroll;
(0, _utils.scrollWindowToCell)(hot.getCell(row, col, true));
});
};
}
;