UNPKG

devexpress-reporting

Version:

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

42 lines (41 loc) 1.86 kB
/** * DevExpress HTML/JS Reporting (designer\services\_aiService.js) * Version: 25.2.3 * Build date: Dec 15, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { DxDeferred, sendRequest } from '@devexpress/analytics-core/analytics-internal'; import { PrepareRequestArgs } from '@devexpress/analytics-core/analytics-utils'; import { DataBindingMode, HandlerUri } from '../utils/settings'; import { ReportPreviewService } from './_reportPreviewService'; import { PreviewRequestWrapper } from '../../viewer/internal/_previewRequestWrapper'; export class ReportAIService { static localize(strings, language) { return sendRequest(HandlerUri(), 'localize', PrepareRequestArgs({ strings, language }), PreviewRequestWrapper.getProcessErrorCallback()); } static initializePreviewWithFakeData(report) { const args = { ...ReportPreviewService._getInitializePreviewArgs(report), dataBindingMode: DataBindingMode(), }; return sendRequest(HandlerUri(), 'initializePreviewWithFakeData', PrepareRequestArgs(args), PreviewRequestWrapper.getProcessErrorCallback()); } } export class ReportPreviewServiceHelper { initializePreview(report, useAI = false) { this.initializeDeferred?.reject(); const deferred = new DxDeferred(); const promise = useAI ? ReportAIService.initializePreviewWithFakeData(report) : ReportPreviewService.initializePreview(report); this.initializeDeferred = deferred; promise.done((result) => { deferred.resolve(result); }).fail((error) => { deferred.reject(error); }).always(() => { this.initializeDeferred = null; }); return deferred.promise(); } }