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
JavaScript
/**
* 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]);
}
}