UNPKG

devexpress-reporting

Version:

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

78 lines (77 loc) 3.43 kB
/** * DevExpress HTML/JS Reporting (viewer\internal\_previewModel.js) * Version: 24.2.7 * Build date: Apr 29, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { ToolbarKeyboardHelper } from '@devexpress/analytics-core/analytics-internal-native'; import { createViewModelGenerator } from '@devexpress/analytics-core/analytics-serializer-native'; import { PreviewDisposableModelBase } from './_previewModelBase'; export class PreviewDisposableModel extends PreviewDisposableModelBase { constructor(options) { super(options, 'dx-report-viewer'); this.exportModel = options.exportModel; this.searchModel = options.searchModel; this._disposables.push(options.exportModel); this._disposables.push(options.searchModel); } createViewModel() { const viewModel = createViewModelGenerator(super.createViewModel()) .generateProperty('reportPreview', this.reportPreview.getViewModel()) .generateProperty('exportHandler', this.reportPreview.exportHandler.getViewModel()) .getViewModel(); return viewModel; } _addDisposable(object) { this._disposables.push(object); } Print(pageIndex) { this.reportPreview.printDocument(pageIndex); } ExportTo(format, inlineResult) { if (!this.reportPreview.exportDisabled) { this.reportPreview.exportDocumentTo(format || 'pdf', inlineResult); } } GetCurrentPageIndex() { return this.reportPreview.pageIndex; } GoToPage(pageIndex) { this.reportPreview.goToPage(pageIndex); } StartBuild() { this.parametersModel && this.parametersModel.submit(); } PerformCustomDocumentOperation(customData, hideMessageFromUser) { return this.reportPreview.customDocumentOperation(customData, hideMessageFromUser); } } export class PreviewModel extends PreviewDisposableModel { createViewModel() { return createViewModelGenerator(super.createViewModel()) .generateProperty('reportPreview', this.reportPreview.getViewModel()) .generateProperty('accessibilityCompliant', this.accessibilityCompliant) .generateProperty('toolBar', createViewModelGenerator() .generateProperty('actionLists', this.actionLists.getViewModel()) .generateProperty('canSwitchToDesigner', this.reportPreview.canSwitchToDesigner) .generateProperty('keyboardHelper', this.keyboardHelper) .getViewModel()) .generateProperty('breadcrumb', this.breadcrumb.getViewModel()) .generateProperty('tabPanel', this.tabPanel.getViewModel()) .getViewModel(); } constructor(options) { super(options); this.documentMapModel = options.documentMapModel; this.tabPanel = options.tabPanel; this.actionLists = options.actionLists; this.accessibilityCompliant = options.accessibilityCompliant; this.breadcrumb = options.breadcrumb; this._disposables.push(options.documentMapModel); this._disposables.push(options.tabPanel); this._disposables.push(options.actionLists); this.keyboardHelper = new ToolbarKeyboardHelper(this.actionLists.toolbarItems); this._disposables.push(this.keyboardHelper); } }