UNPKG

devexpress-reporting

Version:

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

63 lines (62 loc) 2.65 kB
/** * DevExpress HTML/JS Reporting (designer\dataObjects\objectStorage.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 { Disposable } from '@devexpress/analytics-core/analytics-utils'; import { ObjectStorageItem } from './objectStorageItem'; import { DynamicListLookUpSettings, StaticListLookUpSettings } from './parameters/lookupSettings'; import { RangeEndParameter, RangeParametersSettings, RangeStartParameter } from './parameters/rangeSettings'; export class ObjectsStorage extends Disposable { constructor(objects, dsHelperProvider) { super(); this.objects = objects; this.dsHelperProvider = dsHelperProvider; } findType(content) { const objectStorages = this.objects().filter((item) => { return item instanceof ObjectStorageItem; }); const result = objectStorages.filter((item) => { return !!item.type && item.type() === 'System.Type' && item.content() === content; }); return result.length === 0 ? null : result[0]; } getType(type) { let typeObject = this.findType(type); if (!typeObject) { typeObject = new ObjectStorageItem({ '@Content': type, '@Type': 'System.Type' }, this.dsHelperProvider); this.objects.push(typeObject); } return typeObject; } addValue() { const newValueRef = new ObjectStorageItem({ '@Content': '' }, this.dsHelperProvider); this.objects.push(newValueRef); return newValueRef; } createStaticLookUpSetting() { const lookUpObject = new StaticListLookUpSettings({}, this.dsHelperProvider); this.objects.push(lookUpObject); return lookUpObject; } createDynamicLookUpSetting() { const lookUpObject = new DynamicListLookUpSettings({}, this.dsHelperProvider); this.objects.push(lookUpObject); return lookUpObject; } createRangeSetting() { const rangeSettingsObject = new RangeParametersSettings({}, this.dsHelperProvider); this.objects.push(rangeSettingsObject); const startParameter = new RangeStartParameter({}, this.dsHelperProvider); rangeSettingsObject.startParameter(startParameter); this.objects.push(startParameter); const endParameter = new RangeEndParameter({}, this.dsHelperProvider); rangeSettingsObject.endParameter(endParameter); this.objects.push(endParameter); return rangeSettingsObject; } }