devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
112 lines (111 loc) • 4.33 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (common\utils\_utils.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 ko = require("knockout");
var analytics_widgets_internal_1 = require("@devexpress/analytics-core/analytics-widgets-internal");
var analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
exports.cultureInfo = {};
exports.generateGuid = function () {
var getNewQuartet = function (i) {
return Math.floor((1 + Math.random()) * Math.pow(0x10000, i)).toString(16).substring(1);
};
return getNewQuartet(2) + '-' + getNewQuartet(1) + '-' + getNewQuartet(1) + '-' + getNewQuartet(1) + '-' + getNewQuartet(3);
};
var commonBlur = HTMLElement.prototype.blur;
var fullscreenEventsList = ['fullscreenchange', 'mozfullscreenchange', 'webkitfullscreenchange', 'MSFullscreenChange'];
function createFullscreenComputed(element, parent) {
var _fullscreen = ko.observable(false);
var func = function () {
var isFullscreen = document.fullscreen || !!document['msFullscreenElement'] || !!document['webkitFullscreenElement'];
if (element['msRequestFullscreen']) {
HTMLElement.prototype.blur = isFullscreen ? function () {
try {
commonBlur.apply(this);
}
catch (e) {
document.body.blur();
}
} : commonBlur;
}
_fullscreen(isFullscreen);
};
var fullscreen = ko.computed({
read: function () { return _fullscreen(); },
write: function (newVal) {
_fullscreen(newVal);
toggleFullscreen(element, newVal);
}
});
addFullscreenListener(document, func);
parent._disposables.push({
dispose: function () {
removeFullscreenListener(document, func);
commonBlur = null;
func = null;
}
}, fullscreen);
return fullscreen;
}
exports.createFullscreenComputed = createFullscreenComputed;
function processZoomFactor(accessibilityCompliant) {
if (!accessibilityCompliant)
return;
var defaultFontSize = 16;
var zoomFactor = (parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('font-size')) || defaultFontSize) / defaultFontSize;
if (zoomFactor !== analytics_internal_1.accessibilityFontSizeZoomFactor()) {
analytics_widgets_internal_1.propertiesGridEditorsPaddingLeft(zoomFactor * analytics_widgets_internal_1.propertiesGridEditorsPaddingLeft());
analytics_internal_1.accessibilityFontSizeZoomFactor(zoomFactor);
}
}
exports.processZoomFactor = processZoomFactor;
function addFullscreenListener(element, func) {
fullscreenEventsList.forEach(function (eventName) {
element.addEventListener(eventName, func);
});
}
function removeFullscreenListener(element, func) {
fullscreenEventsList.forEach(function (eventName) {
element.removeEventListener(eventName, func);
});
}
function showFullscreen(element) {
if (element.requestFullscreen)
element.requestFullscreen();
else if (element['mozRequestFullScreen'])
element['mozRequestFullScreen']();
else if (element['webkitRequestFullscreen'])
element['webkitRequestFullscreen']();
else if (element['msRequestFullscreen']) {
element['msRequestFullscreen']();
}
}
function exitFullscreen() {
if (document.exitFullscreen)
document.exitFullscreen();
else if (document['mozCancelFullScreen'])
document['mozCancelFullScreen']();
else if (document['webkitExitFullscreen'])
document['webkitExitFullscreen']();
else if (document['msExitFullscreen']) {
HTMLElement.prototype.blur = commonBlur;
document['msExitFullscreen']();
}
}
function toggleFullscreen(element, value) {
if (!element)
return;
if (value)
showFullscreen(element);
else
exitFullscreen();
}
function transformNewLineCharacters(value) {
return value.replace(/(\r\n|\n|\r)/g, '\r\n');
}
exports.transformNewLineCharacters = transformNewLineCharacters;