devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
32 lines (30 loc) • 1.13 kB
JavaScript
/**
* DevExtreme (cjs/__internal/core/utils/scroll.js)
* Version: 24.2.7
* Build date: Mon Apr 28 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getMemoizeScrollTo = getMemoizeScrollTo;
function getMemoizeScrollTo(getScrollableInstance) {
const instance = getScrollableInstance();
let lastParams = {};
return function(params) {
let force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;
const normalizedParams = {
top: void 0 !== params.top ? Math.ceil(params.top) : void 0,
left: void 0 !== params.left ? Math.ceil(params.left) : void 0
};
const isSameParams = normalizedParams.top === lastParams.top && normalizedParams.left === lastParams.left;
if (!force && isSameParams) {
return
}
lastParams = normalizedParams;
instance.scrollTo(params)
}
}