devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
29 lines (27 loc) • 1.08 kB
JavaScript
/**
* DevExtreme (cjs/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js)
* Version: 22.1.9
* Build date: Tue Apr 18 2023
*
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.getMemoizeScrollTo = getMemoizeScrollTo;
function getMemoizeScrollTo(getScrollableInstance) {
var instance = getScrollableInstance();
var lastParams = {};
return function(params) {
var force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;
var normalizedParams = {
top: void 0 !== params.top ? Math.ceil(params.top) : void 0,
left: void 0 !== params.left ? Math.ceil(params.left) : void 0
};
var isSameParams = normalizedParams.top === lastParams.top && normalizedParams.left === lastParams.left;
if (!force && isSameParams) {
return
}
lastParams = normalizedParams;
instance.scrollTo(params)
}
}