UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

40 lines (39 loc) 1.42 kB
/** * DevExpress HTML/JS Reporting (viewer\internal\_utils.js) * Version: 24.2.6 * Build date: Mar 18, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { previewDefaultResolution } from '../settings'; import { DxDeferred } from '@devexpress/analytics-core/analytics-internal-native'; export function getCurrentResolution(zoom) { return Math.floor((zoom || 1) * previewDefaultResolution()); } export function getImageBase64(url) { const deferred = new DxDeferred(); const background = new Image(); background.src = url; background.crossOrigin = 'anonymous'; background.onload = () => { const canvas = document.createElement('canvas'); canvas.width = background.width; canvas.height = background.height; canvas.getContext('2d').drawImage(background, 0, 0); try { deferred.resolve(canvas.toDataURL()); } catch (e) { deferred.reject(e); } }; return deferred.promise(); } export function getEnumValues(enumType) { return Object.keys(enumType).filter(key => !isNaN(Number(enumType[key]))); } export function safelyRunWindowOpen(url, target = '_blank') { const newWindow = window.open(url, target); target === '_blank' && newWindow && (newWindow.opener = newWindow); return newWindow; }