UNPKG

devexpress-reporting

Version:

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

49 lines (48 loc) 3.18 kB
/** * DevExpress HTML/JS Reporting (common\exportOptions\options\pdfPasswordSecurityOptions.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 { createPasswordSerializationInfo } from '@devexpress/analytics-core/analytics-internal-native'; import { editorTemplates } from '@devexpress/analytics-core/analytics-widgets-native'; import { PdfPermissionsOptions } from './pdfPermissionsOptions'; import { BaseRenderingMultiplatformModel } from '@devexpress/analytics-core/analytics-serializer-native'; export class PdfPasswordSecurityOptions extends BaseRenderingMultiplatformModel { static from(model, serializer) { return new PdfPasswordSecurityOptions(model || {}, serializer); } static toJson(value, serializer, refs) { return serializer.serialize(value, pdfExportPasswordSecurityOptionsSerializationInfo, refs); } getInfo() { return pdfExportPasswordSecurityOptionsSerializationInfo; } isPropertyDisabled(name) { if (!(this.permissionsPassword && this._get('permissionsPassword'))) { if (name === 'permissionsOptions') return true; if (name === pdfEncryptionLevel.propertyName) return !(this.openPassword && this._get('openPassword')); return false; } } hasSensitiveData() { return !!(this.openPassword && this._get('openPassword') || this.permissionsPassword && this._get('permissionsPassword')); } } export const pdfEncryptionLevel = { propertyName: 'encryptionLevel', modelName: '@EncryptionLevel', displayName: 'Encryption Level', localizationId: 'DevExpress.XtraPrinting.PdfPasswordSecurityOptions.EncryptionLevel', defaultVal: 'AES128', editor: editorTemplates.getEditor('combobox'), valuesArray: [ { value: 'ARC4', displayValue: 'ARC4', localizationId: 'DevExpress.XtraPrinting.PdfEncryptionLevel.ARC4' }, { value: 'AES128', displayValue: 'AES128', localizationId: 'DevExpress.XtraPrinting.PdfEncryptionLevel.AES128' }, { value: 'AES256', displayValue: 'AES256', localizationId: 'DevExpress.XtraPrinting.PdfEncryptionLevel.AES256' }, ] }; export const pdfExportPasswordSecurityOptionsSerializationInfo = [ createPasswordSerializationInfo({ propertyName: 'openPassword', modelName: '@OpenPassword', displayName: 'Open Password', localizationId: 'DevExpress.XtraPrinting.PdfPasswordSecurityOptions.OpenPassword', defaultVal: '' }), pdfEncryptionLevel, createPasswordSerializationInfo({ propertyName: 'permissionsPassword', modelName: '@PermissionsPassword', displayName: 'Permissions Password', localizationId: 'DevExpress.XtraPrinting.PdfPasswordSecurityOptions.PermissionsPassword', defaultVal: '' }), { propertyName: 'permissionsOptions', modelName: 'PermissionsOptions', displayName: 'Pdf Permissions Options', localizationId: 'DevExpress.XtraPrinting.PdfPermissionsOptions', from: PdfPermissionsOptions.from, toJsonObject: PdfPermissionsOptions.toJson, editor: editorTemplates.getEditor('objecteditor') } ];