devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
49 lines (48 loc) • 4.49 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (chart\components\models\_dataFilter.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 { DotnetTypes, createGlobalModuleVariableFunc, getLocalization } from '@devexpress/analytics-core/analytics-internal';
import { ModelSerializer } from '@devexpress/analytics-core/analytics-utils';
import { editorTemplates } from '@devexpress/analytics-core/analytics-widgets';
import * as ko from 'knockout';
import { editorTemplates as chartEditorTemplates } from '../../internal/_editorTemplates';
export const dataFilterSerializationsInfo = [
{ propertyName: 'columnName', displayName: 'Column Name', editor: ko.bindingHandlers['displayNameExtender'] ? editorTemplates.getEditor('field') : chartEditorTemplates.getEditor('fieldChart'), modelName: '@ColumnNameSerializable', localizationId: 'DevExpress.XtraCharts.DataFilter.ColumnName' },
{
propertyName: 'dataType', displayName: 'Data Type', defaultVal: DotnetTypes.SystemString, editor: editorTemplates.getEditor('combobox'), modelName: '@DataTypeSerializable',
valuesArray: [{ value: DotnetTypes.SystemBoolean, displayValue: DotnetTypes.SystemBoolean }, { value: DotnetTypes.SystemByte, displayValue: DotnetTypes.SystemByte }, { value: DotnetTypes.SystemChar, displayValue: DotnetTypes.SystemChar }, { value: DotnetTypes.SystemDateTime, displayValue: DotnetTypes.SystemDateTime }, { value: DotnetTypes.SystemDecimal, displayValue: DotnetTypes.SystemDecimal }, { value: DotnetTypes.SystemDouble, displayValue: DotnetTypes.SystemDouble }, { value: DotnetTypes.SystemGuid, displayValue: DotnetTypes.SystemGuid }, { value: DotnetTypes.SystemInt16, displayValue: DotnetTypes.SystemInt16 }, { value: DotnetTypes.SystemInt32, displayValue: DotnetTypes.SystemInt32 }, { value: DotnetTypes.SystemInt64, displayValue: DotnetTypes.SystemInt64 }, { value: DotnetTypes.SystemSByte, displayValue: DotnetTypes.SystemSByte }, { value: DotnetTypes.SystemSingle, displayValue: DotnetTypes.SystemSingle }, { value: DotnetTypes.SystemString, displayValue: DotnetTypes.SystemString }, { value: DotnetTypes.SystemTimeSpan, displayValue: DotnetTypes.SystemTimeSpan }, { value: DotnetTypes.SystemUInt16, displayValue: DotnetTypes.SystemUInt16 }, { value: DotnetTypes.SystemUInt32, displayValue: DotnetTypes.SystemUInt32 }, { value: DotnetTypes.SystemUInt64, displayValue: DotnetTypes.SystemUInt64 }],
localizationId: 'DevExpress.XtraCharts.DataFilter.DataType'
},
{
propertyName: 'condition', displayName: 'Condition', defaultVal: 'Equal', editor: editorTemplates.getEditor('combobox'), modelName: '@Condition',
valuesArray: [{ value: 'Equal', displayValue: 'Equal', localizationId: 'DevExpress.XtraCharts.DataFilterCondition.Equal' }, { value: 'GreaterThan', displayValue: 'GreaterThan' }, { value: 'GreaterThanOrEqual', displayValue: 'GreaterThanOrEqual' }, { value: 'LessThan', displayValue: 'LessThan' }, { value: 'LessThanOrEqual', displayValue: 'LessThanOrEqual' }, { value: 'NotEqual', displayValue: 'NotEqual' }],
localizationId: 'DevExpress.XtraReports.UI.FormattingRule.Condition'
},
{ propertyName: 'value', displayName: 'Value', editor: editorTemplates.getEditor('text'), modelName: '@InvariantValueSerializable', localizationId: 'AnalyticsCoreStringId.FilterEditor_Operand_Type_Value' }
];
export class DataFilterModel {
static createNew() {
return new (DefaultDataFilterModel())({}, new ModelSerializer());
}
getInfo() {
return dataFilterSerializationsInfo;
}
constructor(model, serializer) {
this.columnName = ko.observable('');
serializer = serializer || new ModelSerializer();
serializer.deserialize(this, model);
this.name = ko.pureComputed(() => {
return !!this.columnName() ? this.columnName() : getLocalization('DataFilter', 'ChartStringId.DefaultDataFilterName');
});
}
}
export const DefaultDataFilterModel = createGlobalModuleVariableFunc(DataFilterModel);
const dataFilters = {
modelName: 'DataFilters', displayName: 'Data Filters', propertyName: 'dataFilters',
editor: editorTemplates.getEditor('commonCollection'), array: true, addHandler: DataFilterModel.createNew, template: '#dxrd-collectionItemWithAccordion',
localizationId: 'DevExpress.XtraCharts.SeriesBase.DataFilters'
};