devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
53 lines (52 loc) • 2.68 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (viewer\exportOptions\pdfExportOptionsPreview.js)
* Version: 26.1.3
* Build date: Jun 16, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { PdfExportOptions } from '../../common/exportOptions/pdfExportOptions';
import { viewerEditorTemplates } from '../widgets/editorTemplates';
import { mutable } from '@devexpress/analytics-core/analytics-serializer-native';
import { pdfSignatureOptionsInfo } from './pdfSignatureOptionsPreview';
export class PdfExportOptionsPreview extends PdfExportOptions {
getInfo() {
return [
{ propertyName: 'signature', defaultVal: null, editor: viewerEditorTemplates.signatures, displayName: 'Signature', localizationId: 'PreviewStringId.EditingFieldEditors_Signature', valueStore: this._signatures },
pdfSignatureOptionsInfo,
...super.getInfo()
];
}
isPropertyVisible(name) {
if (name === 'signature' || name === 'signatureOptions') {
return this._signatures.length > 0;
}
return true;
}
onPropertyChanged(args) {
if (args.propertyName === 'signature') {
const signatureInfo = this._signatures.find(sig => sig.key === args.newValue);
if (!signatureInfo) {
return;
}
const signatureInfoFields = (signatureInfo.fields || []).reduce((acc, field) => ({ ...acc, [field.key]: field.value }), {});
this.signatureOptions.reason = signatureInfoFields.reason;
this.signatureOptions.location = signatureInfoFields.location;
this.signatureOptions.contactInfo = signatureInfoFields.contactInfo;
this.signatureOptions.accessibleDescription = signatureInfo.accessibleDescription;
}
}
constructor(model, serializer, _signatures) {
super(model, serializer);
this._signatures = _signatures;
}
}
__decorate([
mutable(undefined)
], PdfExportOptionsPreview.prototype, "signature", void 0);