UNPKG

devexpress-reporting

Version:

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

39 lines (38 loc) 1.77 kB
/** * DevExpress HTML/JS Reporting (designer\dataObjects\parameters\parameterExpressionAddon.js) * Version: 24.2.6 * Build date: Mar 18, 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 * as ko from 'knockout'; export class ParameterExpressionAddOn extends Disposable { constructor(_editor, _parameter) { super(); this._editor = _editor; this._parameter = _parameter; this.imageTemplateName = 'dx-objectdatasource-expression'; this._disposables.push(ko.computed(() => { if (this._parameter()) { const wrappedExpression = this._editor.value.peek(); const expressionValue = wrappedExpression && wrappedExpression.value && wrappedExpression.value.peek(); this._parameter().propertyExpressionMapper.getExpressionProperty(this._editor.name).showExpression(!!expressionValue); } })); this._disposables.push(this.isExpression = ko.pureComputed({ read: () => { if (this._parameter()) { return this._parameter().propertyExpressionMapper.getExpressionProperty(this._editor.name).showExpression(); } }, write: (value) => this._parameter() && this._parameter().propertyExpressionMapper.getExpressionProperty(this._editor.name).showExpression(value) })); this._disposables.push(this.disabled = ko.pureComputed({ read: () => ko.unwrap(_editor.disabled), })); } switchEditors() { this.isExpression(!this.isExpression()); } }