devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
37 lines (34 loc) • 1.26 kB
JavaScript
/**
* DevExtreme (renovation/ui/scroll_view/utils/subscribe_to_resize.js)
* Version: 21.2.4
* Build date: Mon Dec 06 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.subscribeToResize = subscribeToResize;
var _resize_observer = _interopRequireDefault(require("../../../../core/resize_observer"));
var _window = require("../../../../core/utils/window");
var _frame = require("../../../../animation/frame");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function subscribeToResize(element, handler) {
if ((0, _window.hasWindow)() && element) {
var resizeAnimationFrameID = -1;
_resize_observer.default.observe(element, (function(_ref) {
var target = _ref.target;
resizeAnimationFrameID = (0, _frame.requestAnimationFrame)((function() {
handler(target)
}))
}));
return function() {
(0, _frame.cancelAnimationFrame)(resizeAnimationFrameID);
_resize_observer.default.unobserve(element)
}
}
return
}