devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
39 lines (38 loc) • 1.89 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (viewer\internal\_progressBarUtils.js)
* Version: 20.2.13
* Build date: Apr 10, 2023
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
var _sizeUtils_1 = require("./_sizeUtils");
var ko = require("knockout");
var $ = require("jquery");
function getUpdateProgressBarCallback(progressBarSettings, designerModel, reportPreview, rootElement, $window) {
if ($window === void 0) { $window = $(window); }
var keepProgressBarVisible = !progressBarSettings || progressBarSettings.keepOnVisibleArea !== false;
var position = _sizeUtils_1.stringToPosition(progressBarSettings && progressBarSettings.position);
reportPreview.progressBar.setPosition(position);
if (!keepProgressBarVisible)
return $.noop;
var $root = $(rootElement);
var $progress = $root.find('.dxrd-preview-progress');
var updateProgressBarPosition = _sizeUtils_1.getUpdatePreviewElementPositionCallback($progress, $root, $window, '.dxrd-preview-progress', position);
designerModel._addDisposable(reportPreview.progressBar.visible.subscribe(function (isVisible) {
isVisible && updateProgressBarPosition(rootElement);
}));
var wrappedUpdateProgressPosition = function () {
if (reportPreview.progressBar && ko.unwrap(reportPreview.progressBar.visible))
updateProgressBarPosition(rootElement);
};
window.addEventListener('scroll', wrappedUpdateProgressPosition);
designerModel._addDisposable({
dispose: function () {
window.removeEventListener('scroll', wrappedUpdateProgressPosition);
}
});
return wrappedUpdateProgressPosition;
}
exports.getUpdateProgressBarCallback = getUpdateProgressBarCallback;