UNPKG

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
/** * 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 */ "use strict"; 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;