UNPKG

devexpress-reporting

Version:

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

108 lines (107 loc) 5.44 kB
/** * DevExpress HTML/JS Reporting (designer\widgets\reportExpressionEditor.js) * Version: 20.2.13 * Build date: Apr 10, 2023 * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var analytics_utils_1 = require("@devexpress/analytics-core/analytics-utils"); var ko = require("knockout"); var analytics_widgets_internal_1 = require("@devexpress/analytics-core/analytics-widgets-internal"); var analytics_widgets_1 = require("@devexpress/analytics-core/analytics-widgets"); var _addVariablesToExpressionEditor_1 = require("../internal/_addVariablesToExpressionEditor"); var ReportExpressionEditorAdapter = (function (_super) { __extends(ReportExpressionEditorAdapter, _super); function ReportExpressionEditorAdapter(values, value) { var _this = _super.call(this) || this; _this.values = values; _this.value = value; _this.popupVisible = ko.observable(false); return _this; } ReportExpressionEditorAdapter.prototype.patchOptions = function (reportExplorerProvider) { var _this = this; if (!this.value()) { return false; } else { if (!this.value()['customizeCategories']) this.value()['customizeCategories'] = function (sender, groups, onClick) { groups.splice(0, 0, _this._createReportItems(reportExplorerProvider, onClick)); if (_this.values() && _this.values().length > 0) { groups.splice(2, 0, _this._createValuesTab()); } _addVariablesToExpressionEditor_1.addVariablesToExpressionEditor(groups, _this.value().eventName === 'PrintOnPage' ? function (items) { items.push({ text: 'Arguments.PageIndex', val: '[Arguments.PageIndex]', descriptionStringId: 'ReportStringId.ExpressionEditor_Description_Arguments_PageIndex' }); items.push({ text: 'Arguments.PageCount', val: '[Arguments.PageCount]', descriptionStringId: 'ReportStringId.ExpressionEditor_Description_Arguments_PageCount' }); return items; } : undefined); }; return true; } }; ReportExpressionEditorAdapter.prototype._createReportItems = function (reportExplorerProvider, onClick) { var item = { displayName: analytics_utils_1.getLocalization('Report Items', 'ReportStringId.ExpressionEditor_ItemInfo_ReportItems'), content: { showDescription: false, isSelected: ko.observable(false), data: { fields: { itemsProvider: reportExplorerProvider, expandRootItems: true, selectedPath: ko.observable(''), templateName: 'dx-ee-treelist-item', treeListController: new analytics_widgets_internal_1.ExpressionEditorTreeListController('', function (item, element) { onClick('[' + ['ReportItems', item.text].join('.') + ']'); }) } }, name: 'dx-expressioneditor-fields' } }; return item; }; ReportExpressionEditorAdapter.prototype._createValuesTab = function () { var items = this.values().map(function (item) { var display = item.value || item; return { text: "'" + display + "'", displayName: display }; }); return analytics_widgets_internal_1.createExpressionEditorCollectionToolOptions(items, 'Values', 'ReportStringId.ExpressionEditor_ItemInfo_Values', false); }; return ReportExpressionEditorAdapter; }(analytics_utils_1.Disposable)); exports.ReportExpressionEditorAdapter = ReportExpressionEditorAdapter; var ReportExpressionEditor = (function (_super) { __extends(ReportExpressionEditor, _super); function ReportExpressionEditor(modelPropertyInfo, level, parentDisabled, textToSearch) { var _this = _super.call(this, modelPropertyInfo, level, parentDisabled, textToSearch) || this; _this.popupVisible = ko.observable(false); return _this; } ReportExpressionEditor.prototype.patchOptions = function (reportExplorerProvider) { if (!this._adapter) { this._adapter = new ReportExpressionEditorAdapter(this.values, this.value); this._disposables.push(this._adapter); } return this._adapter.patchOptions(reportExplorerProvider); }; return ReportExpressionEditor; }(analytics_widgets_1.Editor)); exports.ReportExpressionEditor = ReportExpressionEditor;