UNPKG

devexpress-reporting

Version:

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

62 lines (61 loc) 2.73 kB
/** * DevExpress HTML/JS Reporting (designer\dataObjects\objectStorageItem.js) * Version: 25.1.3 * Build date: Jun 26, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { SerializableModel } from '@devexpress/analytics-core/analytics-elements'; import { DotnetTypes, cutRefs, extend } from '@devexpress/analytics-core/analytics-internal'; import { Disposable, ModelSerializer } from '@devexpress/analytics-core/analytics-utils'; import { parameterLookUpSettingsSerializationInfo } from './metadata/parameters/parameter'; import { collectionDataSourceCriteria } from '../controls/metadata/properties/metadata'; export class ObjectItem extends Disposable { dispose() { super.dispose(); this.dsHelperProvider = null; } getInfo() { return [{ propertyName: 'objectType', modelName: '@ObjectType' }]; } afterDeserialization(model, serializer) { cutRefs(model); } preInitProperties(model, dsHelperProvider, serializer) { } constructor(model, dsHelperProvider, serializer) { super(); this.dsHelperProvider = dsHelperProvider; this.preInitProperties(model, dsHelperProvider, serializer); serializer = serializer || new ModelSerializer(); serializer.deserialize(this, model); this.afterDeserialization(model, serializer); } } export class ObjectStorageItem extends ObjectItem { _getInfo() { const propertyToDeserialize = [ { propertyName: 'content', modelName: '@Content' }, { propertyName: 'type', modelName: '@Type' }, { propertyName: 'name', modelName: '@Name', defaultVal: '' }, collectionDataSourceCriteria ]; return super.getInfo().concat(propertyToDeserialize); } preInitProperties(model) { this.getInfo = (model && model['@Base64']) ? () => { return this._getInfo().concat({ propertyName: 'base64', modelName: '@Base64' }); } : () => { return this._getInfo(); }; } constructor(model, dsHelperProvider, serializer) { super(extend({ '@ObjectType': 'DevExpress.XtraReports.Serialization.ObjectStorageInfo' }, model), dsHelperProvider, serializer); } isEmpty() { return this.type && this.type() === DotnetTypes.SystemDateTime && this.content && (this.content() === undefined || this.content() === null); } } export class ObjectStorageParameter extends SerializableModel { constructor(model, serializer) { super(model, serializer, [{ propertyName: '_type', modelName: '@Type', link: true }, parameterLookUpSettingsSerializationInfo]); } }