devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
43 lines (42 loc) • 2.67 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (chart\components\models\_stripLimit.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 { SerializableModel } from '@devexpress/analytics-core/analytics-elements';
import { extend } from '@devexpress/analytics-core/analytics-internal';
import { parseBool } from '@devexpress/analytics-core/analytics-utils';
import { editorTemplates } from '@devexpress/analytics-core/analytics-widgets';
import * as ko from 'knockout';
import { axisValue, axisValueSerializable } from '../../internal/meta/_axis';
import { tag } from '../../internal/meta/_common';
export class StripLimitViewModel extends SerializableModel {
static from(model, serializer) {
return new StripLimitViewModel(model || {}, serializer);
}
static toJson(value, serializer, refs) {
value._axisValue(value.enabled() ? value.axisValue() : null);
return serializer.serialize(value, undefined, refs);
}
constructor(model, serializer, info) {
super(model, serializer, info || stripLimitSerializationsInfo);
this.axisValue = ko.observable(this._axisValue());
this.getInfo = () => {
if (!this.enabled()) {
const newInfo = extend(true, [], stripLimitSerializationsInfo);
const axisValueProperty = newInfo.filter((info) => { return info.propertyName === 'axisValue'; })[0];
axisValueProperty.visible = false;
return newInfo;
}
return stripLimitSerializationsInfo;
};
}
getExpressionProperties() {
return ['AxisValue'];
}
}
const stripLimitEnable = { propertyName: 'enabled', modelName: '@Enabled', displayName: 'Enabled', defaultVal: true, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraCharts.StripLimit.Enabled' };
export const stripLimitSerializationsInfo = [axisValueSerializable, axisValue, stripLimitEnable, tag];
export const stripMinLimitInfo = { propertyName: 'minLimit', modelName: 'MinLimit', displayName: 'Min Limit', from: StripLimitViewModel.from, toJsonObject: StripLimitViewModel.toJson, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.Strip.MinLimit' }, stripMaxLimitInfo = { propertyName: 'maxLimit', modelName: 'MaxLimit', displayName: 'Max Limit', from: StripLimitViewModel.from, toJsonObject: StripLimitViewModel.toJson, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.Strip.MaxLimit' };